苏艳 黄锟锟
华南理工大学广州学院电子信息工程系,广州 510800
短信端到端保密通信系统研究
苏艳 黄锟锟
华南理工大学广州学院电子信息工程系,广州 510800
本文针对GSM网络的安全漏洞,手机用户短消息交互面临着信息被窃取的威胁,提出了一种端到端的短消息保密通信解决方案。然后阐述该方案的安全性,并介绍了该解决方案的系统的功能特性和系统的层次架构,并基于Windows Mo手bile机平台进行系统实现。
短信保密;信息安全;智能手机
随着移动通信的迅猛发展,短信业务已成为人们使用手机的基本业务。除了使用短信进行日常沟通外,个别敏感业务也是基于短信业务进行。如通过短信进行银行账户查询,进行电子交易等,在这些应用中会涉及用户的隐私信息。由于在GSM网络中,短信都是明文传输,只要对通信链路进行监听,就可以获得用户的通信内容[1]。目前此类监听设备有很多,进行监听已不是技术难度高的工作。这也对短信通信内容的安全性提出了挑战。
目前互联网上流传一些“短信加密”软件,经过测试发现,该功能仅仅是对短消息的内容的每个字节加上固定的数值。通过分析明文和密文,即可发现所采用的算法。分析出加密算法后,可以在中途窃取密文,很容易还原出明文。这种无可靠理论支持的“伪解决方案”根本无法应用于高安全需求中。还有一些加密软件,采用了高强度的对称加密算法,但使用时,须通过非安全通道(电话、QQ、邮件等方式)告知对方加解密密钥。若可盗取该加解密信息的密钥,同样可以破解短消息内容。
针对上述情况,本文基于智能手机提出一种端到端的短信保密方案,引入自动密钥协商机制,保证共享密钥传输的安全性;采用AES算法进行消息加密,保证信息保密性;短信保留在加密数据库中。三重保护,保证短消息的安全性。
2.1 系统加密传输方式
本文采用的系统加密传输方式如图1,在进行信息交互之前,通信双方通过非对称密码算法Diffie-Hellman算法[2]进行密钥协商,仅传输生成密钥的参数,其中Diffie-Hellman算法保证了即使在空中接口截取密钥参数也无法计算出共享密钥。通信双方在获取生成密钥的参数后,在本地进行运算生成共享密钥并保存在本地。在后续的短消息信息交互中,采用对称密码算法AES[3]。手机发送端使用该共享密钥对信息加密,形成密文,并在移动网络中传输。到达手机接收方,使用相应的共享密钥进行信息解密,还原出明文,从而实现端到端的短信保密的目的。
图1 端到端短消息保密通信模型
2.2 系统加密方式安全分析
综合运用Diffie-Hellman算法和AES算法进行保密通信,是非常安全的[4]。首先AES加解密算法对密钥的选择没有任何限制,能有效抵抗目前已知的攻击算法的攻击。而Diffie-Hellman算法除了可以提供密钥协商功能之外,还可以提供保密性服务和一定程度的身份鉴别功能。假设A和B进行通信,因为只有A和B知道这个密钥K的值,其他用户都无法获知该值,从而不能解密报文,这样便保证了机密性;接收方A知道只有用户B才能用这个密钥生成这个报文,从而保证了身份鉴别的功能。
下面对AES所用的密钥的有效期进行分析。最安全的方法是每次使用之后立即销毁,但在短消息保密通信中,却不可行,除了时间消耗大方面的因素外,短消息的交互不具备实时性,无法实时的协商密钥;而且每条短消息的大小有限制,在有限的传输空间里,再附加上进行Diffie-Hellman密钥协商所需的公共数据,留给用户数据的空间就太小了。所以本方案中,共享密钥则需首先自动协商,然后保存在本地。进行短消息通信的时候,只需在传送加密后的数据即可,不需要附带Diffie-Hellman协商密钥所需的信息。当然,为了避免短消息因共享密钥泄露而被窃取的危险,需要经常更换短消息密钥。
由于短消息默认是存放在SIM卡内的,为了获取更高的安全性,这里需要将加密短信存放在另外的一个存储空间。在本系统中,存放在移动嵌入数据库SQL CE中。
2.3 加密方案实现
本方案的设计及实现是在智能手机平台上进行的,所以要受智能手机平台软硬件支持和限制。测试平台采用了索爱 M1i智能手机,内置Windows M o b i l e 6.5.3Professional操作系统,使用频率为600MHz的处理器,拥有256MB RAM以及512MB FlashROM。该机拥有较快的处理速度,可以处理加密解密信息所需的大量的运算。开发环境为Visual Studio2008,该工具集成了移动项目的开发、测试、部署的一整套解决方案;由于需要保存系统本地配置信息,采用了数据库SQL Server CE 3.5,该数据库是SQL Server 的移动开发版本;由于SIM卡容量有限,收到的短信也放入数据库。
按照层次结构划分,本方案的实现可以分为操作系统/驱动程序层和保密服务层。如图2。操作系统/驱动程序层屏蔽了硬件细节,对应用层软件提供统一的接口,使保密服务层的实现与具体硬件无关;保密服务层工作在操作系统/驱动程序之上,主要包括了连接、密钥交换协议、短信保密处理,是系统的关键。用户界面开发以及保密服务层正是本系统的工作内容。
图2 系统框架图
在系统实现过程中,根据敏捷软件开发的思想,严格按照设定的平台软件模块划分进行模块化实现,划分为加密解密模块、数据操作模块、短信操作模块、UI模块。实现的界面如图3所示。具体如下列模块:
1)加密/解密模块
对系统需求采用模块分解的办法,对短信保密模块进一步细化,从中抽取出短信保密的公共模块:加密/解密模块。
2)数据操作模块
数据库操作类,用于数据持久化操作,用于保存系统配置信息、用户收到短消息以及短信密钥。
3)UI模块
提供用户操作图形界面,调用上述各个模块提供的对外接口,实现短信保密功能。
4)短信操作模块
包括短信拦截和发送功能。
图3 系统功能界面图
本文提出并实现了一种端到端的短信保密通信解决方案,该方案基于Windows Mobile智能手机开发,易于部署,并有较强可移植性,具有较高的现实意义和市场价值。
[1]谢亮,汪海航,谭成翔.安全短消息应用系统方案研究.计算机安全. 2007.830-32
[2]徐恒, 陈恭亮, 杨福祥. 密钥交换中中间人攻击的防范[J]. 信息安全与通信保密. 2009年02期: 91
[3]赵勇. Rijndael算法的结构与安全性分析[J].四川文理学院学报(自然科学).Sep.2008, Vol. 18No.5: 41-42
[4][美]Willianm Stall;ings刘玉珍, 王丽娜, 傅建明,等译. 密码编码学与网络安全-原理与实践[M](第三版).北京: 电子工业出版社.2004: 103-22
TN929.5
A
10.3969/j.issn.1001-8972.2011.12.053
苏艳(1983-),女,助教,硕士研究生, 研究方向:移动通信与天线。