阅读更多

0顶
1踩

编程语言

如果你还在使用基于早期信号标准的GSM手机,那么你最好在打电话时更警惕一点。因为据一位通信专家表示,这种GSM系统中用于防止通话信号被窃听的传统加密技术存在非常多的安全漏洞,而这位专家最近便计划“戳破这层窗户纸”。

 
Karsten Nohl是H4RDW4RE安全公司的首席研究员,他目前正计划破解全球用户超过30亿人的GSM手机信号系统的加密机制.此前曾有人成功破解了GSM网 络中所使用的这种A5/1加密技术,不过破解者并没有将其研究结果公开发布。不过身为德国“混乱电脑俱乐部”(Chaos Computer Club (CCC))成员之一的弗吉尼亚电脑博士生Karsten Nohl,则对外公布了一项计划,他准备在今年年底前自行破解这套加密技术,并会把他的研究结果在互联网上公开。

每一部GSM手机网络中的电话机都拥有一个独特的解密密匙。每次发起通话时,GSM网络会根据手机上的这个解密密匙来生成一个新的通话密匙,并使用这个通话密匙来为通话进行加密和解密,这次Karsten Nohl准备破解的密匙则正是这种通话密匙。

为了完成破解工作,这位科学家开发了一款开源软件,这种软件可以安装在那些有意参加破解计划的志愿者机器上,共同对这套A5/1加密系统进行破解.而最终 计算出来的密码本信息以及计算用的密码表则将通过点对点方式与外界共享。因此任何一位参与志愿计算活动的用户机器上都不可能包含所有的密码本信息,这样外 界要想让这款程序及其有关的计算结果从互联网上绝迹恐怕是一件不可能的事情。

据Karsten Nohl表示,这项计划的目标并不是要对现有的GSM网络进行破坏,而是想让人们意识到在现有GSM加密系统中长期存在的漏洞,并推动行业厂商尽快使用更高级的GSM A5/3加密技术,或者干脆开发出一套新的加密电话系统。

从技术角度上看,Nohl这次采用的破解方法与2008年一个安全组织The Hacker's Choice (THC)所使用的破解方法基本相同,不过Nohl这次的破解方案则应用了一些新的增强型技术。

这次的A5/1破解计划的目标是要将容量为128000TB的A5/1密码表(需要单台PC计算10万年才能破解),压缩为容量 2000-3000TB容量的数据,在80台左右数量的计算机的帮助下,可以在三个月内完成破解工作。为了在短期内完成破解工作,破解计划需要使用到一些 特殊计算设备,比如Nvidia公司支持CUDA技术的显卡,以及Xilinx公司的FPGA产品等。

长久以来,人们一直在尝试破解GSM系统的加密系统,自上世纪90年代起,学术圈便开始了类似的尝试,后来不少公司也加入到这个行列中去。其中有些公司现 在甚至已经开始为一些政府情报部门有偿提供破解GSM加密系统的技术。不过目前为止,在市场上大范围公开出售这种破解技术仍属非法行为,但不可避免地会有 一些经过非法渠道获得这种破解技术的团体。

因此在许多专家看来,Nohl的这次破解行动与其说是一次创举,不如说是一种善意的提醒更为恰当。不过专家们也担心如果破解结果真的公开发布,那么很多黑客会马上利用破解结果开发出通用的破解系统。

这种破解系统除了需要包含能截取GSM无线信号的硬件设备之外,还需要包含能连接到上文所述的最终破解出来的,分布在全球各台破解机器中的密码本的软件,并使用软件将截取的信号与密码本进行比对,以便得出解密后的内容。
0
1
评论 共 0 条 请登录后发表评论

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • C C++ iphlpapi 获得本机所有网卡的IP和MAC地址信息

    使用iphlpapi获得本机IP与MAC地址信息,网上找的都不全,这里给个全的,内附测试程序。

  • C++ 通过WMI接口设置/获取网卡信息(DHCP、IP、MASK、GW)

    【代码】C++ 通过WMI接口设置/获取网卡信息(DHCP、IP、MASK、GW)

  • VC++获取IPV6等网卡信息

    一开始使用的是GetAdaptersInfo,不过只能获取IPV4的信息。网上一顿搜索之后发现需要用GetAdaptersAddresses。

  • [机器码] 获取 MAC 地址的几种方法

    Netbios #include <windows.h> #pragma comment(lib, "Netapi32.lib") namespace { bool GetAdapterInfo(int adapterNum, std::string& macOUT) { NCB Ncb; memset(&Ncb, 0, sizeof(Ncb)); Ncb.ncb_command = NCBRESET; // 重置网卡,以便我们可以查询 Ncb.ncb_lana_nu

  • VC++获取网卡MAC、硬盘序列号、CPU ID、BIOS编号

    《VC++获取网卡MAC、硬盘序列号、CPU ID、BIOS编号》是一篇word文档,其中包含了vc代码,感兴趣的读者可以自己下载测试这些代码!

  • VC获得正在使用的网卡的MAC地址

    PIP_ADAPTER_INFO pAdapterInfo; PIP_ADAPTER_INFO pAdapter = NULL; DWORD dwRetVal = 0; UINT i; /* variables used to print DHCP time info */ struct tm newtime; char buffer[32]; errno_...

  • 如何用VC++开发读取网卡MAC地址的程序

    在实际的应用系统中,我们往往会需要在程序运行时获取当前机器的网卡的MAC地址,以便作为某种标识之用,如控制程序的合法性等。下文就如何用Microsoft Visual C++ 6.0开发这样的程序演示如何实现其要点。

  • VC++ 获取本机MAC地址列表

    方法一: #include <windows.h> #include <wincon.h> #include <stdio.h> #include <nb30.h> #define MACSESION 6 #pragma warning( disable : 4996 ) #pragma comment(lib,"Netapi32.li...

  • VC 获取网卡信息

    #include "stdafx.h" #include #include #include #pragma comment (lib, "Iphlpapi") #pragma comment (lib, "ws2_32") int main(int argc, char* argv[]) { PIP_ADAPTER_INFO pIpAdaptTab = NULL; ULO

  • VC获取网卡MAC

    <br />//方法一<br /> <br />CString   PrintMACaddress(unsigned char MACData[])<br />{<br />CString mac;<br />char MAC[40]={0};<br />sprintf(MAC,"XXXXXX", MACData[0], MACData[1], MACData[2], MACData[3], MACData[4], MACData[5]);<br />mac=MAC;<br />return mac;<br

  • C++之获取网卡物理地址(MAC)

    // ConsoleApplication1.cpp : 定义控制台应用程序的入口点。 #include "stdafx.h" #include   //该头文件定义了Socket编程的功能   #include    //该头文件支持HTTP请求   #include     //该头文件定义了Windows的所有数据基本型态   #include       //该头

  • 网卡MAC读取(VC++)实现

    网卡MAC读取实现程序,可运行,写得很详细!适合学习课程适合的应用 !

  • 转载:VC 获取物理网卡的MAC地址

    文章来源:https://blog.csdn.net/kingepoch/article/details/24108653获取网卡的MAC地址的方法很多,如:Netbios,SNMP,GetAdaptersInfo等。经过测试发现 Netbios 方法在网线拔出的情况下获取不到MAC,而 SNMP方法有时会获取多个重复的网卡的MAC,试来试去还是 GetAdaptersInfo方法比较好,网线拔出...

  • VC 获取物理网卡的MAC地址

    获取网卡的MAC地址的方法很多,如:Netbios,SNMP,GetAdaptersInfo等。经过测试发现 Netbios 方法在网线拔出的情况下获取不到MAC,而 SNMP方法有时会获取多个重复的网卡的MAC,试来试去还是 GetAdaptersInfo方法比较好,网线拔出的情况下可以获取MAC,而且很准确,不会重复获取网卡。 GetAdaptersInfo 方法也不是十全十美,也存在些问

  • vc 获取本机网卡真实mac地址

    #include &quot;stdafx.h&quot; #include &amp;lt;stdlib.h&amp;gt; #include &amp;lt;stdio.h&amp;gt; #include &amp;lt;string.h&amp;gt; #include &amp;lt;windows.h&amp;gt; #include &amp;lt;WinIoCtl.h&amp;gt; #include &quot;macid.h&quot; #include &amp;lt;intrin.

  • VC之获取计算机网卡mac地址

    网卡的物理地址即mac地址全球唯一,占用六个字节。(正规厂家的网卡mac地址全球唯一,盖因有统一的委员会进行分配,一般前3个字节为生产厂商ID,后三个字节为产品子ID.mac地址一般烧写在网卡的prom中,上电后读入网络协议芯片的mac地址寄存器中。笔者曾开发了一个基于单片机的远程测控系统,采用C8051F120和RTL8019as实现,当然委员会不可能给笔者分配一个mac,哥们便将其定为01-0

  • 修改IP、DNS、MAC工具VC源码实现

    实验室IP和MAC绑定,而且经常来回于各个实验室和宿舍,频繁的地址切换,带来了相当的烦恼。想做这样一个工具是很久以前的想法,可到现在都没有做;没有行动的想法都是空谈,抱着锻炼自己行动力的决心,完成了这个小工具。 一.工具介绍     工具界面展示:          本工具主要功能:     (1)能够找出所有的网卡适配器,并显示适配器的IP、MAC等信息     (2)能够修改IP、

  • 取得系统中网卡MAC地址的方法(二)

    有需求才有创造,有了问题才会想着去解决,那么我这里的获取MAC地址的第4种方法也是在这种情况下产生的。因为公司有一个服务器产品,要写一个注册模块,而注册模块需要获取硬件信息,而硬件信息有很多,可以是硬盘序列号,CPU序列号,和网卡MAC,我首先使用的是硬盘序列号,因为GOOGLE一下一大堆,我要感谢所有这些无私奉献自己智慧结晶的可爱的人。很快地写完一个注册模块,经过几个PC机,笔记本的测试,一

  • vc获取mac地址(无线网卡和有线网卡)

    vc获取mac地址(无线网卡和有线网卡)

Global site tag (gtag.js) - Google Analytics