物联网平台中用户终端安全通信的方法

文档序号:7856467阅读:185来源:国知局
专利名称:物联网平台中用户终端安全通信的方法
技术领域
本发明涉及一种特别用于物联网平台中多元异构的用户终端与平台服务器之间安全通信的实现方案,属于通信安全领域。
背景技术
物联网,被称为是继计算机、互联网之后的世界信息产业革命的第三次浪潮,是目前通信领域最热门的研究方向之一,其发展的势头迅猛。可以预见,在不久的将来,无处不在的“物联网”通信时代就要到来。其应用理念使得人与人、物与物,人与物之间能够进行信息的交互,它将深刻地影响和改变人们的生产、生活。它已经被广泛地应用在交通、物 流、家居、电网、环保、农业、国防军事等各个领域,然而,这种通信方式给人类生活带来便利的同时也引入了新的安全问题。物联网是互联网的延伸,其核心仍旧是互联网。但是在物联网中,终端设备的数量以及种类将呈现几何数量级的增长,终端的种类既有移动终端包括手机(普通手机、android手机、IOS手机等)、PDA、平板电脑,也有传统意义的个人电脑终端,庞大的多元异构的终端对互联网的承载能力提出了考验。用户的终端通过访问物联网平台服务器与接入传感设备进行交互,能够方便快捷的从目标数据中心获取自己想要的信息,但同时恶意攻击者也会因此获取信息。甚至,获取用户的隐私信息,从而对用户造成可能的伤害。因此,这就需要加强物联网的安全强度,形成一套强大的安全体系,防止数据被恶意用户窃取。安全是物联网必须考虑的重要问题,一方面,不希望未认证的用户自由访问网络,另一方面,也不想使攻击者潜入网络破坏正常的网络操作。鉴于上述问题,物联网将是在一个海量的多元异构的终端之间的通信,这就需要这些差异化的终端设备之间的通信必须有一个严格的标准规范,它们之间必须传递双方都能识别解析的数据包结构。结合ASN. I抽象语法标记语言,可以实现通信双方是标准规范的数据包结构。同时,针对物联网的安全需求与应用的特点,一种安全、快速、开销小、时延也小的物联网用户终端与平台服务器之间的通信方法成为了必然。

发明内容
技术问题本发明的目的是提供一种物联网平台中用户终端安全通信的方法,主要是利用抽象语法标记语言ASN. I结合安全的加解密及认证的算法,建立了一个安全的物联网通信体系模型,不仅为物联网中不同编程语言、不同操作系统以及不同种类的计算机及硬件环境之间的认证互连互通,提供一种标准的数据包的结构,使得认证及交互双方能够识别。同时,引进了一种更为高效的安全机制,使物联网中不同实体安全快速可靠地通信,其数据传输过程中资源开销和时延都得到了显著的改善。技术方案本发明的物联网平台中用户终端安全通信的方法利用抽象语法标记语言ASN. I的描述结合经典的加密安全算法,一方面保障了物联网中多元异构的终端用户与物联网平台服务器之间安全的通信,而且解决了终端与物联网平台服务器之间身份认证的难题,同时用户终端与物联网平台之间的通信采用了基于等级划分的加解密策略,从而使客户端与服务器之间可以快速、安全的通信;
1)物联网中大量多元异构的终端用户以标准的数据包与物联网平台服务器之间进行通信,此数据包独立于任何的硬件系统环境,不会因为应用环境的不同而引起二义性的解释;这样,利用ASN. I的特点,解决了物联网中跨平台通信的难题;
2)根据用户权限的安全等级,采用不同的加解密策略;加密的策略分为无安全模式、ACL模式、机密性完整性模式、认证模式;加密的算法为对称密钥密码体制,数据加密标准DES、3DES、国际数据加密算法IDEA、高级加密标准AES ;非对称密码体制,基于大素数分解的RSA体制;这样可以在不减少用户请求的业务数据的安全性的前提下,降低不必要的资
源开销,减少时延,实现安全快速的加解密;
该方法具体为
1)用户的注册过程服务器端首先将产生随机数存放到数据库中并加密发送其副本到客户端,客户端将首先解密得到随机数后,再将用户名、密码的摘要(Hashl (psw))、密码经两次不同的摘要算法后的签名(Ska (Hash2 (Hashl (psw))))以及随机数的摘要,经加密及ASN. I的编码后发送到服务器端,服务器端完成本地解码、解密后,得到随机数的摘要以及密码经两次不同的摘要算法后的签名(Ska (Hash2 (Hashl (psw)))),服务器首先匹配此随机数的摘要与本地数据库的随机数按照与客户端相同的摘要算法后的摘要值,如果不同,提示用户注册不成功;如果成功,进入下一步,服务器再利用客户端的公钥解签名得到密码经两次不同摘要算法后的散列值Hash2 (Hashl (psw))。然后,服务器端将得到的密码的摘要(Hashl(Psw))跟客户端第二次的密码的摘要算法相同的算法进行一次摘要运算得到Hash2 (Hashl (psw))’,将此值与上述解签名后的摘要值进行匹配运算;如果不相同,说明密码在传输过程中已经被篡改,如果相同,将拿到的密码摘要存入数据库,用来下次用户请求登录时的匹配验证,同时,给该用户分配相应的安全等级;
其中,Hashl、Hash2是哈希Hash算法,psw是用户的密码,Hashl (psw)是用户密码的散列值,Hash2 (Hashl (psw))是密码经两次不同摘要算法后的散列值,SKa是客户端的私有密钥,Ska(Hash2 (Hashl (psw)))是客户端对用户密码的两次摘要后的数字签名,数字签名用来验证客户端的身份;
2)用户的登陆过程服务器端首先将产生随机数存放到数据库中并加密发送其副本到客户端,客户端将首先解密得到随机数后,再将用户名、密码的摘要(Hashl(Psw))以及随机数的摘要,经不同于用户注册时的加密算法加密及ASN. I的编码后发送到服务器端;服务器端完成本地解码、解密后,得到随机数的摘要以及密码的摘要(Hashl (psw)),服务器首先匹配此随机数的摘要与本地数据库的随机数按照与客户端相同的摘要算法后的摘要值;如果不同,提示用户非法;如果成功,进入下一步,服务器再利用客户端的公钥解签名得到密码经摘要算法后的散列值(Hashl (psw)),然后,服务器端将根据此用户名查找对应的密码的摘要值,将此值与上述解签名后的摘要值进行匹配运算,如果不相同,用户登陆不成功,如果相同,登陆成功,服务器将返回客户端该用户所属的安全等级;
3)用户的通信过程服务器端首先将产生随机数存放到数据库中并加密发送其副本到客户端,客户端将首先解密得到随机数后,再将请求消息、请求消息摘要的签名SKa(HashI (message))以及随机数的摘要,根据用户所属的安全等级采用不同等级的加密方法及ASN. I的编码后发送到服务器端;服务器端完成本地解码、解密后,得到随机数的摘要以及请求消息摘要的签名SKa (Hashl (message)),服务器首先匹配此随机数的摘要与本地数据库的随机数按照与客户端相同的摘要算法后的摘要值,如果不同,提示用户非法;如果成功,进入下一步,服务器再利用客户端的公钥解签名得到请求消息经摘要算法后的散列值(Hashl (message)),然后,服务器端将客户端传送过来的请求消息摘要与跟客户端相同的摘要算法计算出其散列值Hashl (message)’,将该值与上述解签名后的消息散列值进行匹配,如果匹配不成功,则说明请求消息已经被篡改,服务器端将丢弃此数据包,要求客户端重新传送,若匹配成功,则消息验证成功,将请求消息交给平台服务器的消息处理模块进行下一步的处理。
有益效果本发明保障了物联网中多元异构的终端用户与物联网平台服务器之间以一种标准的数据包格式进行通信,而且,提出了一种结合ASN. I的分级的安全加密思想,保障了通信的安全可靠,同时降低了开销,减少了时延。本发明所描述的物联网的应用场景为客户端通过网络访问远端平台服务器请求访问和调用不同地方的传感设备所采集的感知数据。由远端传感器采集的实时数据存放在服务器的感知数据库中,客户端用户可以在远·端对这些数据进行访问和调用,请求的信息就是基于ASN. I的标准的信息数据包,而服务器响应客户端请求的信息也会ASN. I的标准的信息数据包形式返回给客户端。


图I是此发明的应用场景图,
图2是用户注册的安全模型框图,
图3是用户登陆的安全模型框图,
图4是用户通信的安全模型框图。
具体实施例方式计算机网络不仅仅是同构系统之间的通信,更主要的是异构系统之间的通信。物联网中,多元异构的终端设备成倍增长,这种异构系统之间的通信需求将更为突出。为了保障多个制造商设备之间的通信,ASN. I作为一种标准的对象定义语言和编码规则使之成为可能。本发明就是充分利用ASN. I的这种优势,保障了差异化的用户终端与平台服务器之间的通信。本发明结合ASN. I跨平台的特点,并且,在用户与物联网平台服务器之间通信时,根据用户的权限,采用不同的加解密以及认证的算法,加密的算法可以分为无安全模式、ACL模式、机密性完整性模式、认证模式。建立了基于等级划分的安全通信模型。这样,不仅保障了通信的安全,又有效地降低了开销,减少了时延。安全通信的方法具体如下
I、注册模式
1)客户端向平台服务器请求注册
2)服务器首先产生一个随机数R,然后用客户端的公钥以非对称加密算法RSA加密发送到客户端。RSA算法是一种公开密钥密码体制,即是一种非对称的加解密算法,加密和解密采用不同的密钥。RSA算法可以同时用来加密和数字签名。RSA的安全性依赖于大数分解,由于进行的都是大数计算,使得RSA最快的情况也比DES慢上100倍,速度一直是RSA的缺陷。一般来说只用于少量数据的加密。3)客户端首先用自己的私有密钥对接收到的信息解密,得到随机数R。然后,利用散列函数随机数R散列成固定长度的数字摘要Hash3 (R)。哈希Hash算法是把任意长度的输入,通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,而不可能从散列值来唯一的确定输入值。密码学上的Hash又被称为“消息摘要(message digest) ”,就是要求能方便的将“消息”进行“摘要”,但在“摘要”中无法得到比“摘要”本身更多的关于“消息”的信息。这体现了哈希Hash算法的单向、不可逆的特点。4)客户端利用散列函数将用户的密码psw散列成固定长度的数字摘要Hashl (psw)。接着,客户端将利用散列函数将密码的摘要Hashl (psw),散列成固定长度的数字摘要 Hash2 (Hashl (psw))。5)客户端用自己的私有密钥对此数字摘要Hash2(Hashl(psw))进行加密,形成数字签名 SKa (Hash2 (Hashl (psw)))。数字签名(Digital Signature)技术是不对称加密算法的典型应用。数字签名的应用过程是,数据源发送方使用自己的私钥对数据校验和或其他与数据内容有关的变量进行加密处理,完成对数据的合法“签名”,数据接收方则利用对方的公钥来解读收到的“数字签名”,并将解读结果用于对数据完整性的检验,以确认签名的合法性。只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。6)客户端将用户的用户名username,用户密码的摘要Hashl (psw),密码两次不同摘要后的数字签名SKa (Hash2 (Hashl (psw)))以及随机数的摘要Hash3 (R),经加密,再经过ASN. I的编码,生成十六进制的标准的字符串数据包,发送到服务器端。ASN. I (Abstract Syntax Notation one)是一套标准,是描述数据的表示、编码、传输、解码的灵活的记法。它提供了一套正式、无歧义和精确的规则以描述独立于特定计算机硬件的对象结构、编程语言或它在应用程序中如何表示等因素。ASN. I的基本编码规则(BER),采用TLV的编码,即对消息头(Tag)、消息长度(L ength)、消息体(Value)的编码。将ASN. I所描述的信息编码成十六进制的字符串。7)服务器端首先将收到的字符串进行ASN. I本地解码。解码是编码的逆运算,是将十六进制的字符串还原为原来信息的过程。8)服务器端将收到的解码信息解密,得到用户名username,密码的摘要Hash I (p sw),密码两次不同摘要后的数字签名SKa (Hash2 (Hash I (psw)))以及随机数的摘要 Hash3(R)。解密时加密的逆过程,加密采用什么样的算法,解密时要用同样的算法解密。9)服务器用客户端的公钥PKa解签名,得到密码经过两次不同摘要后的散列值Hash2 (Hashl (psw))。然后,服务器端将利用客户端第二次的摘要算法Hash2 (),来散列一下密码的摘要Hashl (psw),即得出Hash2 (Hashl (psw)) ’,将此值与上述两次不同摘要后的散列值Hash2 (Hashl (psw))进行匹配,如果匹配成功,说明密码在网络传输过程中没有被修改,进入步骤10。否则,密码已经做了修改,此请求就不予通过。此步骤中采用了密码的摘要值的匹配运算,此方法利用了哈希Hash算法的单向性的特点,即只能将消息散列成摘要值,而且此摘要值是唯一确定的,不能将摘要值还原成原来的消息。摘要值可以用来校验报文的完整性。可以用来判定密码在传输过程中有没有被篡改。10)服务器将与此用户对应的存放在数据库中的随机数取出利用与客户端相同的摘要算法,将随机数散列成固定长度的数值,将此值与客户端传送过来的随机数摘要进行匹配。若匹配不成功,则是非法用户,若成功,随机数在传输过程中,没有被修改,进入步骤11。11)服务器判断上述匹配都同时都成功后,将此用户名与其对应的密码的摘要Hashl(psw)存入本地数据库的用户信息表中,用作验证用户的登陆,同时,给此用户分配相应的安全等级。然后,返回给客户端注册成功。否则,返回注册失败。
上述过程中,服务器端用客户端的公钥解签名是完成了对客户端用户的身份验证。密码是以摘要的形式在网络上传输,因为摘要哈希HashO运算是单向的,不可逆的,即使密文被截取后也不会还原出用户的密码,保障了密码在网络上传输的安全性。服务器端进只要行密码摘要的匹配运算,即完成对密码摘要报文的认证。随机数摘要的验证是为了防止密文被第三方截取后的重放攻击。只有上述所有属性被验证成功后,客户端才能成功注册。2、登陆模式
1)客户端向平台服务器请求登陆
2)服务器首先也产生一个随机数R,然后用客户端的公钥以非对称加密算法RSA加密发送到客户端。为了区别于用户注册过程的RSA算法,也是为了提高系统的安全,可以采用其他算法来代替此RSA算法。3)客户端首先用自己的私有密钥对接收到的信息解密,得到随机数R。然后,利用散列函数随机数R散列成固定长度的数字摘要Hash2 (R)。4)客户端将用户输入的密码,散列成固定长度的数字摘要Hashl (psw),然后,客户端用自己的私有密钥对此数字摘要Hashl(Psw)进行加密,形成数字签名SKa(Hashl(psw))。5)客户端将用户的用户名username,用户密码摘要的签名SKa(Hashl (psw))以及随机数的摘要Hash3(R),经加密,再经过ASN. I的编码,生成十六进制的标准的字符串数据包,发送到服务器端。在用户注册时,在服务器端的数据库中,存放着与用户名对应的密码的摘要,即用户的密码在网络上传输之前就经过处理,变成了其摘要值,防止了用户的密码以明文的形式在网络上传输。在用户登录时,只需匹配用户的用户名和密码的摘要即可。为了保障系统的安全,在用户登陆时的加密方法以及加密密钥跟上述用户注册的加密方法及加密密钥要不同。6)服务器端首先将收到的字符串进行ASN. I本地解码。7)服务器端将收到的解码信息解密,得到用户名username,密码的摘要Hashl (psw)以及随机数的摘要Hash3 (R)。8)服务器将与此用户对应的存放在数据库中的随机数取出利用与客户端相同的摘要算法,将随机数散列成固定长度的数值,将此值与客户端传送过来的随机数摘要进行匹配。若匹配不成功,则是非法用户,若成功,随机数在传输过程中,没有被修改,则进入步骤9。9)服务器用客户端的公钥PKa解签名,得到密码的散列值Hashl (psw)。在本地数据库中查找与此用户名对应的密码摘要,与上述密码的散列值Hashl (psw)进行匹配,如果不相同,登录失败,则提示用户密码错误。如果相同,则用户登陆成功,服务器端将返回客户端该用户所属的安全等级。上述过程中,只有用户的用户名、密码、随机数同时都通过匹配验证后,才允许该用户成功登陆平台服务器。其中,只要有一个匹配失败,则不允许其登陆平台服务器,则提示用户出现错误,重新登录。
·
3、通信模式
1)客户端向平台服务器请求业务
2)服务器首先也产生一个随机数R,然后用客户端的公钥以非对称加密算法RSA(为了安全,此加密算法也可以是其它算法)加密发送到客户端。3)客户端首先用自己的私有密钥对接收到的信息解密,得到随机数R。然后,利用散列函数随机数R散列成固定长度的数字摘要Hash2 (R)。4)客户端将利用散列函数将用户发送给服务器的明文消息message,散列成固定长度的数字摘要Hashl (message)。然后,用自己的私有密钥对此数字摘要Hashl (message)进行加密,形成数字签名SKa (Hashl (message))。5)客户端将用户要发送的明文消息message,明文消息数字摘要的签名SKa(Hashl (message))以及随机数的摘要Hash2 (R),根据用户所属的安全等级,采用不同的加密算法加密,再经过ASN. I的编码,生成十六进制的标准的字符串数据包,发送到服务器端。6)服务器端首先将收到的字符串进行ASN. I本地解码。7)服务器端将收到的解码信息根据用户的安全等级选择相对应的解密算法解密,得到用户请求的明文消息message,消息摘要的数字签名SKa(Hashl (message))以及随机数的摘要Hash2(R)。8)服务器将与此用户对应的存放在数据库中的随机数取出利用与客户端相同的摘要算法,将随机数散列成固定长度的数值,将此值与客户端传送过来的随机数摘要进行匹配。若匹配不成功,则是非法用户,若成功,随机数在传输过程中,没有被修改,进入步骤9。此步骤中,就是利用了哈希Hash算法,可以用来检验报文完整性的特点。目前大量使用的散列算法有 MD5 (Message Digest 5)和 SHA (Secure Hash Algorithm), SHA 比 MD5更安全,但是计算起来却比MD5要慢些。新的一个版本SHA-I也已经制定出来了。9)服务器端再利用客户端的公钥PKa解签名,得到消息的摘要Hashl (message)。然后,服务器端利用客户端将消息生成消息摘要的算法,将接收到的消息进行摘要散列运算,即得到消息的摘要Hashl (message) ’,将此摘要值与解签名后的摘要值进行匹配。若匹配不成功,则服务器丢弃此数据包,请求客户端重新传送一次;若匹配成功,说明传送过来的消息,没有被修改,则将消息传送给平台服务器的消息处理模块进行下一步的处理。上述的通信过程中,服务器端用客户端的公钥解签名是完成了对客户端用户的身份验证,防止客户端的抵赖性。服务器端进行消息摘要的匹配运算,即完成对消息摘要报文的认证。认证通过,则可以说明消息没有被篡改,否则,消息已经被篡改过,服务器端则丢弃此报文,请求客户端重新传送。随机数摘要的验证是为了防止密文被第三方截取后的重放攻击。物联网平台中用户终端安全通信的方法适用于附图I的应用场景,即物联网中的客户终端请求平台服务器以及平台服务器响应客户端的过程。客户端与平台服务器之间是以一种自定义规范的数据包进行通信,方便了通信双方互连互通以及对信息的识别。物联网平台中用户终端安全通信的方法,具体实施方式
如附图2、3、4,分为用户终端的注册过程、登陆过程、通信过程。I、用户的注册过程
I)客户端向服务器请求注册新的用户,服务器端立即产生随机数,并加密传送到客户端,客户端经解密得到随机数后,将此随机数Hash散列成固定长度的摘要值。2)客户端利用散列函数将用户的密码psw散列成固定长度的数字摘要Hashl (psw)。接着,客户端将利用散列函数将密码的摘要Hashl (psw),散列成固定长度的数字摘要Hash2 (Hashl (psw))。客户端用自己的私有密钥对此数字摘要Hash2 (Hashl (psw))进行数字签名,生成SKa (Hash2 (Hashl (psw)))。3)客户端将用户的用户名username,用户密码的摘要Hashl (psw),密码两次不同摘要后的数字签名SKa (Hash2 (Hashl (psw)))以及随机数的摘要Hash3 (R),经加密,再经过ASN. I的编码,发送到服务器端。4)服务器端首先将收到的字符串进行ASN. I本地解码。接着将解码后的信息进行解密,得到用户名username,密码的摘要Hashl (psw),密码两次不同摘要后的数字签名SKa (Hash2 (Hashl (psw)))以及随机数的摘要 Hash3 (R)。5)服务器将与此用户对应的存放在数据库中的随机数取出利用与客户端相同的摘要算法,将随机数散列成固定长度的数值,将此值与客户端传送过来的随机数摘要进行匹配。若匹配不成功,则是非法用户,若成功,随机数在传输过程中,没有被修改,进入步骤6。6)服务器用客户端的公钥PKa解签名,得到密码经过两次不同摘要后的散列值Hash2 (Hashl (psw))。然后,服务器端将利用客户端第二次的摘要算法Hash2 (),来散列一下密码的摘要Hashl (psw),即得出Hash2 (Hashl (psw)) ’,将此值与上述两次不同摘要后的散列值Hash2 (Hashl (psw))进行匹配,如果匹配成功,说明密码在网络传输过程中没有被修改。否则,密码已经做了修改,此请求就不予通过。7)服务器判断上述匹配都同时都成功后,才将此用户名与其对应的密码摘要Hashl(psw)存入本地数据库的用户信息表中,用作验证用户的登陆,同时,为该用户分配相应的安全等级。然后,返回给客户端注册成功。否则,返回注册失败。2、用户的登陆过程
I)客户端向平台服务器请求登陆,服务器首先也产生一个随机数并加密传送到客户端,客户端经解密得到随机数后,将此随机数Hash散列成固定长度的摘要值。2)客户端将用户输入的密码,散列成固定长度的数字摘要Hashl (psw),然后,客户端用自己的私有密钥对此数字摘要Hashl (psw)进行数字签名,生成SKa(Hashl (psw))。3)客户端将用户的用户名username,用户密码摘要的签名SKa(Hashl (psw))以及随机数的摘要,经不同于用户注册的加密方法加密,再经过ASN. I的编码,发送到服务器端。4)服务器端首先将收到的字符串进行ASN. I本地解码,再将收到的解码信息解密,得到用户名username,密码的摘要Hashl (psw)以及随机数的摘要。5)服务器将与此用户对应的存放在数据库中的随机数取出利用与客户端相同的摘要算法,将随机数散列成固定长度的数值,将此值与客户端传送过来的随机数摘要进行匹配。若匹配不成功,则是非法用户,若成功,随机数在传输过程中,没有被修改,则进入步 骤6。6)服务器用客户端的公钥PKa解签名,得到密码的散列值Hashl (psw)。在本地数据库中查找与此用户名对应的密码摘要,与上述密码的散列值Hashl (psw)进行匹配,如果相同,则用户登陆成功,返回给客户端此用户所属的安全等级。3、用户的通信过程
I)客户端向平台服务器请求业务,服务器首先也产生一个随机数并加密传送到客户端,客户端经解密得到随机数后,将此随机数Hash散列成固定长度的摘要值。2)客户端将利用散列函数将用户发送给服务器的明文消息message,散列成固定长度的数字摘要Hashl (message)。然后,用自己的私有密钥对此数字摘要Hashl (message)进行数字签名,生成SKa (Hashl (message))。3)客户端将用户要发送的明文消息message,明文消息的数字摘要Hashl (message)以及随机数的摘要,根据用户所属的安全等级,采用不同的加密算法加密,再经过ASN. I的编码,发送到服务器端。4)服务器端首先将收到的字符串进行ASN. I本地解码。再将收到的解码信息解密,得到用户请求的明文消息message,消息摘要的数字签名SKa(Hashl (message))以及随机数的摘要。5)服务器将与此用户对应的存放在数据库中的随机数取出利用与客户端相同的摘要算法,将随机数散列成固定长度的数值,将此值与客户端传送过来的随机数摘要进行匹配。若匹配不成功,则是非法用户,若成功,随机数在传输过程中,没有被修改,则进入步骤6。6)服务器端再利用客户端的公钥PKa解签名,得到消息的摘要Hashl (message)。然后,服务器端利用客户端将消息生成消息摘要的算法,将接收到的消息进行摘要散列运算,即得到消息的摘要Hashl (message) ’,将此摘要值与解签名后的摘要值进行匹配。若匹配不成功,则服务器丢弃此数据包,请求客户端重新传送一次;若匹配成功,说明传送过来的消息,没有被修改。然后,将此请求消息交给平台服务器的消息处理模块进行下一步的处理。
权利要求
1.一种物联网平台中用户终端安全通信的方法,其特征在于该方法利用抽象语法标记语言ASN. I的描述结合经典的加密安全算法, 1)用户的注册过程服务器端首先将产生随机数存放到数据库中并加密发送其副本到客户端,客户端将首先解密得到随机数后,再将用户名、密码的摘要(Hashl (psw))、密码经两次不同的摘要算法后的签名(Ska (Hash2 (HashI (psw))))以及随机数的摘要,经加密及ASN. I的编码后发送到服务器端,服务器端完成本地解码、解密后,得到随机数的摘要以及密码经两次不同的摘要算法后的签名(Ska (Hash2 (Hashl (psw)))),服务器首先匹配此随机数的摘要与本地数据库的随机数按照与客户端相同的摘要算法后的摘要值,如果不同,提示用户注册不成功;如果成功,进入下一步,服务器再利用客户端的公钥解签名得到密码经两次不同摘要算法后的散列值Hash2 (Hashl (psw));然后,服务器端将得到的密码的摘要(Hashl(Psw))跟客户端第二次的密码的摘要算法相同的算法进行一次摘要运算得到Hash2 (Hashl (psw))’,将此值与上述解签名后的摘要值进行匹配运算;如果不相同,说明密码在传输过程中已经被篡改,如果相同,将拿到的密码摘要存入数据库,用来下次用户请求登录时的匹配验证,同时,给该用户分配相应的安全等级; 其中,Hashl、Hash2是哈希Hash算法,psw是用户的密码,Hashl (psw)是用户密码的散列值,Hash2 (Hashl (psw))是密码经两次不同摘要算法后的散列值,SKa是客户端的私有密钥,Ska(Hash2 (Hashl (psw)))是客户端对用户密码的两次摘要后的数字签名,数字签名用来验证客户端的身份; 2)用户的登陆过程服务器端首先将产生随机数存放到数据库中并加密发送其副本到客户端,客户端将首先解密得到随机数后,再将用户名、密码的摘要(Hashl(Psw))以及随机数的摘要,经不同于用户注册时的加密算法加密及ASN. I的编码后发送到服务器端;服务器端完成本地解码、解密后,得到随机数的摘要以及密码的摘要(Hashl (psw)),服务器首先匹配此随机数的摘要与本地数据库的随机数按照与客户端相同的摘要算法后的摘要值;如果不同,提示用户非法;如果成功,进入下一步,服务器再利用客户端的公钥解签名得到密码经摘要算法后的散列值(Hashl (psw)),然后,服务器端将根据此用户名查找对应的密码的摘要值,将此值与上述解签名后的摘要值进行匹配运算,如果不相同,用户登陆不成功,如果相同,登陆成功,服务器将返回客户端该用户所属的安全等级; 3)用户的通信过程服务器端首先将产生随机数存放到数据库中并加密发送其副本到客户端,客户端将首先解密得到随机数后,再将请求消息、请求消息摘要的签名SKa(Hashl (message))以及随机数的摘要,根据用户所属的安全等级采用不同等级的加密方法及ASN. I的编码后发送到服务器端;服务器端完成本地解码、解密后,得到随机数的摘要以及请求消息摘要的签名SKa (Hashl (message)),服务器首先匹配此随机数的摘要与本地数据库的随机数按照与客户端相同的摘要算法后的摘要值,如果不同,提示用户非法;如果成功,进入下一步,服务器再利用客户端的公钥解签名得到请求消息经摘要算法后的散列值(Hashl (message)),然后,服务器端将客户端传送过来的请求消息摘要与跟客户端相同的摘要算法计算出其散列值Hashl (message)’,将该值与上述解签名后的消息散列值进行匹配,如果匹配不成功,则说明请求消息已经被篡改,服务器端将丢弃此数据包,要求客户端重新传送,若匹配成功,则消息验证成功,将请求消息交给平台服务器的消息处理模块进行下一步的处理。
全文摘要
本发明涉及一种物联网平台中用户终端安全通信的方法,特别是用于物联网平台中多元异构的用户终端与平台服务器之间安全通信的实现方案,主要是利用抽象语法标记语言ASN.1结合安全的加解密及认证的算法,建立了一个安全的物联网通信体系模型,不仅为物联网中不同编程语言、不同操作系统以及不同种类的计算机及硬件环境之间的认证互连互通,提供一种标准的数据包的结构,使得认证及交互双方能够识别。同时,引进了一种更为高效的安全机制,使物联网中不同实体安全快速可靠地通信,其数据传输过程中资源开销和时延都得到了显著的改善。
文档编号H04L29/06GK102780698SQ201210256498
公开日2012年11月14日 申请日期2012年7月24日 优先权日2012年7月24日
发明者于永军, 孙林慧, 胡海峰 申请人:南京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1