一种基于可信链传递的3g消息安全收发方法

文档序号:7744666阅读:171来源:国知局
专利名称:一种基于可信链传递的3g消息安全收发方法
技术领域
本发明属于信息安全技术领域,提出一种基于可信链传递的消息发送方法,为一种基于可信链传递的3G消息安全收发方法,对通信双方发送接收的邮件和短信进行加密, 实现安全传输。
背景技术
随着互联网技术的高速发展,网络通讯的安全问题也成为近些年来的研究热点。 对于无线通信系统来说,信息通过电波在空间无线信道传输,面临最大的安全威胁就是在传输过程中信息可能会被第三方截获。因此,信息的发送和接收端的安全措施就显得尤为重要,此款3G消息安全收发终端来满足用户的需求。由于无线传输信道是开放的,用户无法保证信道不被窃听,所以不能依靠信道的安全来保护信息。为了确保信息安全,假设入侵者可以截获信道中传输的内容,但只要在发送端发送时就传送加密后的密文信息,即使第三方截获得到信道中内容也无法得到明文信息。通常的安全通信模型如图1所示,发送端和接收端持有相同的密钥,用于加密和解密信息,第三方可以接收到信息但是没有密钥就无法解密获取明文信息。这种模式下,密钥更新越快,保密就越可靠,同时,密钥的分配与更新需要在另外一条安全通道中进行。这需要占用额外的资源,有时甚至需要靠人工传递密钥,在安全性上也有不可靠之处。上述传统的安全通信模型要求可靠通道及时安全传递会话密钥,否则,则会导致目的接收方也无法解密得到明文,这样的通信是没有意义的。另外上述模型对中间人攻击和重放攻击也没有很好的解决方法。

发明内容
本发明要解决的问题是目前的无线信道安全通信依赖收发双方的密钥同步更新,并且需要占用额外的通信资源来传输密钥,要求可靠通道及时安全传递会话密钥,消息传输的安全性和可靠性无法保证。本发明的技术方案为一种基于可信链传递的3G消息安全收发方法,所述可信链为消息收发链路,以可信平台模块TPM为可信链的起点,消息发送端设有消息发送应用程序,接收端设有消息接收应用程序,发送端的接收端均设有TPM和3G模块,消息通过3G方式由发送端传输至接收端;发送端上电后,TPM对发送端进行系统上电检查,对消息发送应用程序启动完整性与安全性检查,待发送消息由消息发送应用程序自动计算HASH码,所述 HASH码附在明文之后,与明文一起作为发送消息,采用基于身份加密IBE技术,根据接收端的ID计算接收端公钥,同时由AES加密算法对发送消息进行加密,并用所述公钥加密AES 加密算法中使用的会话密钥,加密后的会话密钥附加在发送消息的密文之后,得到E(KPU, Ks) I I hash (m) I |E(KS,m| Τ)的密文形式,通过发送端的3G模块发送,接收端的消息接收应用程序调用接收端的3G模块资源进行消息的透明接收,并根据接收端自身ID对应的IBE 私钥解密AES加密算法的会话密钥,然后利用会话密钥对发送消息的密文解密,根据解密出的明文和HASH码对比检验消息完整性,最终实现可信链的完整传递与消息的透明安全收发。进一步的,在发送消息后添加时间戳,时间戳与发送消息一起进行加密发送。本发明传输的消息为邮件或短信,接收端ID对应为邮件地址或手机号码。为了解决现有无线通信的安全传输问题,本发明方法可以安全收发短信和邮件的 3G消息,相比较于传统移动信息发送方法,其安全性体现在两个方面(1)利用了面向移动网络的统一安全防护技术,通过可信平台模块TPM来确保消息收发终端自身的安全性;(2) 利用基于身份的加密技术IBE (Identity Based Encryption)加密会话密钥,而该密钥用于 AES方法对消息进行加密,IBE加密算法不需要密钥分配中心或证书,很适合短信、邮件等无法进行双向认证的消息形式。本发明是对TPM和IBE、AES加解密算法等已有技术的在消息收发领域的创新应用。针对每个模块本发明都有独特的设计。简单的说,在利用TPM可信模块检测发送端和接收端的安全性中,本发明利用已有的可信平台模块TPM,对允许认可的应用软件进行摘要提取,得到其HASH码,并将此HASH码锁存至TPM模块当中,这样每次上电运行时,只要本发明通过对比提取的软件HASH值与已存HASH值,便可得知软件是否被修改过,确保了收发终端自身的安全性。对于传送信息的加密,本发明没有采用传统的同步简单公钥私钥加密方法,而是采用了一种基于身份验证的IBE算法加密信息,这样可以避免密钥分配的操作,从而提升信息的安全性。在密文传送技术方面,本发明采用MC703结合AT指令来实现短信密文的传送;邮件密文传送时,主要实现Mail Transfer Agent (MTA)和Mail User Agent (MUA).由于kndmail的配置非常复杂,本发明使用MSMTP和MUTT来代替它实现MTA 的功能,这两部分有开源的代码,经过交叉编译后,为上层的MUA提供调用的接口,便完成了邮件的收发。最后为了方便用户,本发明设计了个性化的用户友好型应用界面,自动过滤掉非白名单用户发来的消息以及短时期内接收到的重复消息。本发明在已有的可信平台模块TPM的基础上进行了创新,充分利用硬件底层可信模块TPM给本发明提供的丰富的安全的资源来实现上层应用的安全保密效果。可以看出由于用于加密的资源来自于终端设备中的可信模块TPM,而终端自身拥有上电自检的功能,保证了源端自身的安全,从而进一保证了所提供资源的安全性。由于本发明的终端同时具备收发功能,所以接收终端的构架与发送端完全相同。 接收消息的过程中终端也要进行上电自检操作,唯一的不同是接收过程对信息的处理利用了 IBE解密信息。本发明的有益效果本发明用于邮件和短信等消息的发送接收,具有良好的功能特性1)实时性使用基于身份的IBE加密算法进行会话密钥的加密,利用目的接收端身份作为IBE公钥,而会话密钥本身随机产生,无需事先进行另外一个通道上密钥的分配,也不需要事先进行繁琐的多次交互双向认证,从而增加了实时性;2)安全性由于接收端的身份ID是唯一的,可以防止中间人攻击,在发送消息后添加时间戳则可以抵抗重放攻击;3) 本发明加解密算法采用IBE、AES,会话密钥生成模块可以根据应用场景定制,加解密速度取决于加解密实现方式,算法、随机数获得以及加解密的实现都可以根据需要进行选择调整, 加大了该安全收发方法的开放性。


图1是传统安全通信模型。图2是本发明终端系统结构图。图3是本发明终端可信机制的体系结构。图4是本发明方法的流程图。图5是本发明应用程序校验具体调用过程。图6是本发明实施例的本地软件验证协议。图7是本发明的系统模型。图8是本发明集成化的底层硬件图。
具体实施例方式本发明利用TPM模块进行应用程序的检验,对用户需要发送消息进行加密,然后通过3G模块发送,接收方将消息解密并根据解密是否成功等状态有选择的将消息呈现给接受者。本发明所包含的具体模块及工作步骤如下整个方法的流程图如图4所示,下面详细介绍各个流程的具体步骤1. TMP体系结构与程序检验终端可信机制的设计如图3所示,该图表示的是当可信操作系统内核通过验证并正常启动后的系统结构。图3中四个功能框分别为TPM模块(TPM)、内核空间(Kernel Space)、用户空间 (user space)禾口月艮务器(server)。内核空间(Kernel Space)中包括数据(Data),程序(programs),内核代码 (kernel code)。与用户空间交互的是为安全应用的字符驱动(char driver for security application)。与TPM模块交互的是tpm驱动(TPM driver),两者之间通过USB驱动(USB driver)实现。同时通过完整性认证控制模块(IVCM),调用SyS_execve ()函数控制用户空间中的应用程序(applications)。用户空间(User Space)中的套接字接口(socketinterface)和服务器中的安全服务提供者(SSP)进行通信,SSP又通过互联网(Internet)和安全软件提供商(SWP)进行
ififn。图3中的可信机制体系主要由TPM模块、内核空间、用户空间和服务器四个部分组成。TPM通过USB与移动终端进行硬件连接。内核空间即对应于可信操作系统内核,包括 TPM驱动,面向安全服务应用程序的字符型驱动和负责校验应用程序安全性的功能代码。用户空间中则包含其它大量用户程序,以及负责控制和触发安全协议流程并与SSP服务器通讯的安全服务应用程序。内核空间和用户空间共同组成了移动终端应用环境。当系统完整性校验通过后,系统控制权转交给Linux内核,即可信链传递到操作系统。操作系统将通过安全模块进行可信控制。在逐步启动动态服务程序和应用程序的过程中,安全模块对每个程序的启动都会按图4的流程对运行程序代码进行度量。上图中虚线框内代表传统未修改的Linux内核,TPM即为可信硬件模块, Measurement Agent可以理解为相关驱动等。指针箭头代表程序的流程,即当一个应用程序要启动时,首先要由可信验证模块计算运行代码的散列码,然后由代理程序通过TPM比较其与证书记录是否相符。TPM同时利用PCR记录比较结果,便于以后生成安全报告。实现以上功能的关键在于图中完整性检查htegrity Challenge步骤的触发,显然不安全的软件不会主动向操作系统申请对自身的检查。所以需要在Linux内核中添加启动检查的硬性机制,要求所有程序再被启动之前都必须经过检查。在Linux系统中sys execve系统调用执行一个新的程序。而在具体实现时,可信验证模块可以有两种方法插入来验证应用程序合法性。一种是直接修改系统调用内核代码,另一种是通过Linux已有的安全机制通过Linux安全模块LSM(Linux Security Modules)的钩子函数来实现。修改系统调用代码来验证应用程序合法性的方法如下process, c文件是一些基本的Iinux编程中对于进程操作的具体实现,如产生子进程,执行子进程等。在内核源程序中,sys_exeCVe实现在process, c源文件中,且由于系统调用的实现过程和硬件有关,所以不同架构下的SyS_exeCVe实现会有一些区别。但其主要功能都是进行用户空间传递信息的翻译和检查。在检查无误后,SyS_exeCVe会调用do_execve方法, 执行具体的应用程序启动所需要做的工作步骤。而do_execve方法是与硬件架构无关的, 所以应该在该方法内插入保障可信链传递的部分代码。在do_eXeCVe方法中,系统会再次检查启动程序文件的合法性和权限等。然后再实现新程序的资源分配和引导启动等功能。而完整性验证代码即应该插入在do_eXeCVe默认进行的文件格式和权限检查之后,而在资源分配之前的位置。调用shal算法代码对欲启动应用程序进行完整性计算,do_shal方法会将计算结果通过TPM driver传递给TPM进行安全性检查,然后返回检查结果。若返回安全即不干涉程序的正常启动,否则在开始为该应用程序分配地址空间和内存资源之前抛出错误,从而终止了该程序的启动过程。整个验证中各方法的调用过程见图5所示,这样就完成了对所有应用程序启动前的校验和控制其是否能够启动的功能。应用程序发出执行新程序的请求(execute new program request)接着以子程序调用的方式逐级调用,检验应用程序的完整性,最终返回是否允许应用程序执行的回答。 (New program running or not).图6是本地软件验证协议。内核(kernel)先向TPM模块发出密钥检查请求,TPM 返回密钥检查响应,内核再把该响应转述给终端(MT).终端内部验证软件合法性。①内核kernel捕捉到软件启动,阻止其运行,获取软件文件名soft, name,并对该软件做HASH得到软件HASH值soft. HASH,将其封包。Kernel发送软件验证信息给TPM KT_S0FT_CHK_HEAD | soft, hash②TPM收到内核Kernel的软件验证信息,根据软件HASH值soft. HASH在数据库中对该软件进行验证查询。若验证通过,TPM生成验证结果flag_SOft。TPM发送软件验证结果给Kernel TK_S0FT_CHK_REZ|flag_soft
③内核Kernel收到TPM的软件验证结果,若验证结果为安全,则内核Kernel允许该软件运行,否则禁止该软件启动。内核Kernel发送软件验证结果给MT
KM_S0FT_CHK_REZ|soft, name|flag_soft正是由于TPM能够提供如此丰富的安全资源,所以本发明充分利用其本地软件检测功能完成终端自检,利用其产生的随机数等资源进一步完成基于身份的IBE算法加密信肩、ο2.消息的加解密参数建立是IBE算法实现的重要过程,该算法过程分为四个部分,分别是setup, extract, encrypt, decrypt。分别负责系统参数的建立,密钥提取,明文加密,密文解密功能。下面首先说明IBE技术,此处描述本发明中IBE方法的实现步骤,与具体消息无关,各参数、标号均为IBE技术中的标准数学名词或用语,为公知技术。Step 1 选择素数P,找一条满WDH安全假设的超奇异椭圆曲线E/GF (P),E/GF (ρ) 的g阶子群G,G的生成元P,双线性映射e。St印2 随机取s e Z*q ,计算 Ppub = sp。Step3 选择散列函数 Hl {0,1} * — E/GF (ρ),H2 :GF (ρ2) — {0,1}η,明文空间为M = {0,1}η,密文空间为C = E/GF(p) X {0,1}η。输出系统公共参数为
π = {ρ, e, η, P, Ppub,H\,H2} s e Ζ:为主密钥 Master Key。Extract 对给定的字符串Id e {0,1}*生成密钥St印4 计算 Qld = Hl (Id) e E/GF (ρ)。St印5 取密钥为 Kld = (Qld)s。Encrypt 对原文m e M和公钥Id进行加密乂印6 计算 Qld = Hl (Id) e E/GF (ρ)。乂印7:随机取,加密的密文为c =<ri5 ,m H2、g'ld、>,其中gld=e(Qld,Ppub)(,GF(p2)0Decrypt 设c = <U, V>为密文进行解密St印8 应用密钥 Kld e E/GF(p),计算原文^ = 70//2(^0^,^/))。以邮件的收发为例1)、发送端的TPM使用安全哈希算法SHA-I生成明文m的HASH码,附在明文后面;2)、发送端的TPM随机生成一个AES密钥Ks作为会话密钥,使用该会话密钥进行 AES加密算法,加密明文与HASH码,得到发送消息的密文;3)、采用IBE技术,发送端根据接收端邮件地址计算出接收端公钥Kpu,然后用公钥 Kpu加密会话密钥Ks,并将加密后的会话密钥附在发送消息的密文后面,在发送消息后添加时间戳,时间戳T与发送消息一起进行加密发送,得到E (Kpu,Ks) I ι hash (m) | |E(Ks,m| Τ)的密文形式;4)jfE(Kpu,Ks) I hash(m) | E(Ks,m| Τ)通过 3G 方式发送出去;
5)、接收端接收消息后,根据自身ID对应的IBE私钥Kpr解出会话密钥Ks,然后利用会话密钥Ks解密出明文m和附在明文后的HASH码,检验HASH无误则接收,否则删除邮件;上述邮件的发送与接收中,使用msmtp与mutt联合搭建邮件客户端。上面的邮件发送与接收方案使用IBE作为公钥加密方案,并利用公钥分配传统密钥,实现了通常所需的保密、完整、抗抵赖等功能,尤为值得注意的是,上述方案是真正一次一密的方案,会话密钥每次随机产生并有对方公钥加密。而当出现私钥丢失时可以再生成一个新私钥,而不会像现有技术那样,一旦密钥丢失,会导致目的接收方也无法解密得到明文,因此本发明是一种十分有希望的邮件加密方案。3.信息无线收发技术邮件收发实现方案主要实现Mail Transfer Agent (MTA)禾Π Mail User Agent (MUA).由于 kndmail 的配置非常复杂,本发明使用MSMTP和MUTT来代替它实现MTA的功能,这两部分有开源的代码,经过交叉编译后,为上层的MUA提供调用的接口,便完成了邮件的收发。在上层用Qtopia开发的MUA中,利用fork()函数创造收发的新进程。上述的短信和邮件的底层收发和高层应用通过文件方式实现。以短信为例,上层的应用程序将用户输入的号码和短信内容分别存放到特定的文件中,经过IBE加密后,得到加密的短信内容,同样存储到文件中。在底层收发模块中,只要从这些文件中读取出号码和加密后的内容,补充到需要发送的AT指令中。短信收发实现方案在硬件中,ARM9与3G模块MC703通过硬件提供的Uart接口相连。此时串口通信只需三根线即可,即T)(D、RXD和地线。ARM做为控制器,向3G模块发送AT指令以控制其完成发送短信操作。一般情况下本发明都会在使用时,首先发送AT,得到OK响应,保证连接已经完全建立。具体步骤为1、设置短信存储器及其短信接收上报的机制。2、发送收件人的号码和短信内容。3、得到短信发送成功返回的标志。接收短信具体步骤为1、根据设定的短信接收上报的机制,得到对应的新短信到来时的提示。2、发送读取短信的命令。3、读取短信内容,存储后将其从存储容器中删除。实现代码如下(粗体字表示3G 模块的响应) AT+CPMS =,,ME,,,,,ME,,,,,ME,, // 选择短信存贮器OKAT+CNMI = 1,1,0,1,0//设置短信接收上报的机制OKAT'HCMGS =" telephone number" //发送收件人的号码> message content//发送短信内容
Ox1AOK^HCMGSS:31 Il短信发送成功接收短信时+CMTI:"ME",0 H收到新的短信息时提示+CMTI,//短信会自动存储AT~HCMGR = O//读取相对应序号的短信
权利要求
1.一种基于可信链传递的3G消息安全收发方法,其特征是所述可信链为消息收发链路,以可信平台模块TPM为可信链的起点,消息发送端设有消息发送应用程序,接收端设有消息接收应用程序,发送端的接收端均设有TPM和3G模块,消息通过3G方式由发送端传输至接收端;发送端上电后,TPM对发送端进行系统上电检查,对消息发送应用程序启动完整性与安全性检查,消息明文由消息发送应用程序自动计算HASH码,所述HASH码附在明文之后,与明文一起作为发送消息,采用基于身份加密IBE技术,根据接收端的ID计算接收端公钥,同时由AES加密算法对发送消息进行加密,并用所述公钥加密AES加密算法中使用的会话密钥,加密后的会话密钥附加在发送消息的密文之后,得到E(KPU,Ks) I I hash (m) | |E(KS, ml |T)的密文形式,通过发送端的3G模块发送,接收端的消息接收应用程序调用接收端的 3G模块资源进行消息的透明接收,并根据接收端自身ID对应的IBE私钥解密AES加密算法的会话密钥,然后利用会话密钥对发送消息的密文解密,根据解密出的明文和HASH码对比检验消息完整性,最终实现可信链的完整传递与消息的透明安全收发。
2.根据权利要求1所述的一种基于可信链传递的3G消息安全收发方法,其特征是在发送消息后添加时间戳,时间戳与发送消息一起进行加密发送。
3.根据权利要求1或2所述的一种基于可信链传递的3G消息安全收发方法,其特征是传输的消息为邮件或短信,接收端ID对应为邮件地址或手机号码。
全文摘要
一种基于可信链传递的3G消息安全收发方法,利用可信链概念实现从操作系统到应用程序,并最终到收发的消息的安全,而可信链的开始则是底层的硬件资源TPM模块;使用IBE与AES加解密方法相结合的技术实现消息的加解密,首先生成消息的HASH码,然后随机生成会话密钥对附加了HASH码地消息进行AES加密,并使用IBE方法根据接收方ID加密会话密钥;每次发送消息都随机生成会话密钥,所以不考虑数字证书的使用。本发明具有良好的功能特性包括实时性、安全性和良好的开放性。
文档编号H04W12/04GK102271333SQ20111022538
公开日2011年12月7日 申请日期2011年8月8日 优先权日2011年8月8日
发明者刘宏马, 沈雨祥, 胡爱群 申请人:东南大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1