CN102780698A - 物联网平台中用户终端安全通信的方法 - Google Patents
物联网平台中用户终端安全通信的方法 Download PDFInfo
- Publication number
- CN102780698A CN102780698A CN2012102564989A CN201210256498A CN102780698A CN 102780698 A CN102780698 A CN 102780698A CN 2012102564989 A CN2012102564989 A CN 2012102564989A CN 201210256498 A CN201210256498 A CN 201210256498A CN 102780698 A CN102780698 A CN 102780698A
- Authority
- CN
- China
- Prior art keywords
- client
- user
- random number
- hash1
- psw
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明涉及一种物联网平台中用户终端安全通信的方法,特别是用于物联网平台中多元异构的用户终端与平台服务器之间安全通信的实现方案,主要是利用抽象语法标记语言ASN.1结合安全的加解密及认证的算法,建立了一个安全的物联网通信体系模型,不仅为物联网中不同编程语言、不同操作***以及不同种类的计算机及硬件环境之间的认证互连互通,提供一种标准的数据包的结构,使得认证及交互双方能够识别。同时,引进了一种更为高效的安全机制,使物联网中不同实体安全快速可靠地通信,其数据传输过程中资源开销和时延都得到了显著的改善。
Description
技术领域
本发明涉及一种特别用于物联网平台中多元异构的用户终端与平台服务器之间安全通信的实现方案,属于通信安全领域。
背景技术
物联网, 被称为是继计算机、互联网之后的世界信息产业革命的第三次浪潮,是目前通信领域最热门的研究方向之一,其发展的势头迅猛。可以预见,在不久的将来,无处不在的“物联网”通信时代就要到来。其应用理念使得人与人、物与物,人与物之间能够进行信息的交互,它将深刻地影响和改变人们的生产、生活。 它已经被广泛地应用在交通、物流、家居、电网、环保、农业、国防军事等各个领域,然而,这种通信方式给人类生活带来便利的同时也引入了新的安全问题。
物联网是互联网的延伸,其核心仍旧是互联网。但是在物联网中,终端设备的数量以及种类将呈现几何数量级的增长,终端的种类既有移动终端包括手机(普通手机、android手机、IOS手机等)、PDA、平板电脑,也有传统意义的个人电脑终端,庞大的多元异构的终端对互联网的承载能力提出了考验。用户的终端通过访问物联网平台服务器与接入传感设备进行交互,能够方便快捷的从目标数据中心获取自己想要的信息,但同时恶意攻击者也会因此获取信息。甚至,获取用户的隐私信息,从而对用户造成可能的伤害。因此,这就需要加强物联网的安全强度,形成一套强大的安全体系,防止数据被恶意用户窃取。安全是物联网必须考虑的重要问题,一方面,不希望未认证的用户自由访问网络,另一方面,也不想使攻击者潜入网络破坏正常的网络操作。
鉴于上述问题,物联网将是在一个海量的多元异构的终端之间的通信,这就需要这些差异化的终端设备之间的通信必须有一个严格的标准规范,它们之间必须传递双方都能识别解析的数据包结构。结合ASN.1抽象语法标记语言,可以实现通信双方是标准规范的数据包结构。同时,针对物联网的安全需求与应用的特点,一种安全、快速、开销小、时延也小的物联网用户终端与平台服务器之间的通信方法成为了必然。
发明内容
技术问题:本发明的目的是提供一种物联网平台中用户终端安全通信的方法
,主要是利用抽象语法标记语言ASN.1结合安全的加解密及认证的算法,建立了一个安全的物联网通信体系模型,不仅为物联网中不同编程语言、不同操作***以及不同种类的计算机及硬件环境之间的认证互连互通,提供一种标准的数据包的结构,使得认证及交互双方能够识别。同时,引进了一种更为高效的安全机制,使物联网中不同实体安全快速可靠地通信,其数据传输过程中资源开销和时延都得到了显著的改善。
技术方案:本发明的物联网平台中用户终端安全通信的方法利用抽象语法标记语言ASN.1的描述结合经典的加密安全算法,一方面保障了物联网中多元异构的终端用户与物联网平台服务器之间安全的通信,而且解决了终端与物联网平台服务器之间身份认证的难题,同时用户终端与物联网平台之间的通信采用了基于等级划分的加解密策略,从而使客户端与服务器之间可以快速、安全的通信;
1) 物联网中大量多元异构的终端用户以标准的数据包与物联网平台服务器之间进行通信,此数据包独立于任何的硬件***环境, 不会因为应用环境的不同而引起二义性的解释;这样,利用ASN.1的特点,解决了物联网中跨平台通信的难题;
2) 根据用户权限的安全等级,采用不同的加解密策略;加密的策略分为无安全模式、ACL模式、机密性完整性模式、认证模式;加密的算法为:对称密钥密码体制,数据加密标准DES、3DES、国际数据加密算法IDEA、高级加密标准AES;非对称密码体制,基于大素数分解的RSA体制;这样可以在不减少用户请求的业务数据的安全性的前提下,降低不必要的资源开销,减少时延,实现安全快速的加解密;
该方法具体为:
1) 用户的注册过程:服务器端首先将产生随机数存放到数据库中并加密发送其副本到客户端,客户端将首先解密得到随机数后,再将用户名、密码的摘要(Hash1(psw))、密码经两次不同的摘要算法后的签名(Ska(Hash2(Hash1(psw))))以及随机数的摘要,经加密及ASN.1的编码后发送到服务器端,服务器端完成本地解码、解密后,得到随机数的摘要以及密码经两次不同的摘要算法后的签名(Ska(Hash2(Hash1(psw)))),服务器首先匹配此随机数的摘要与本地数据库的随机数按照与客户端相同的摘要算法后的摘要值,如果不同,提示用户注册不成功;如果成功,进入下一步,服务器再利用客户端的公钥解签名得到密码经两次不同摘要算法后的散列值Hash2(Hash1(psw))。然后,服务器端将得到的密码的摘要(Hash1(psw))跟客户端第二次的密码的摘要算法相同的算法进行一次摘要运算得到Hash2(Hash1(psw))’,将此值与上述解签名后的摘要值进行匹配运算;如果不相同,说明密码在传输过程中已经被篡改,如果相同,将拿到的密码摘要存入数据库,用来下次用户请求登录时的匹配验证,同时,给该用户分配相应的安全等级;
其中,Hash1、Hash2是哈希Hash算法,psw是用户的密码,Hash1(psw)是用户密码的散列值,Hash2(Hash1(psw))是密码经两次不同摘要算法后的散列值,SKa是客户端的私有密钥,Ska(Hash2(Hash1(psw)))是客户端对用户密码的两次摘要后的数字签名,数字签名用来验证客户端的身份;
2) 用户的登陆过程:服务器端首先将产生随机数存放到数据库中并加密发送其副本到客户端,客户端将首先解密得到随机数后,再将用户名、密码的摘要(Hash1(psw))以及随机数的摘要,经不同于用户注册时的加密算法加密及ASN.1的编码后发送到服务器端;服务器端完成本地解码、解密后,得到随机数的摘要以及密码的摘要(Hash1(psw)),服务器首先匹配此随机数的摘要与本地数据库的随机数按照与客户端相同的摘要算法后的摘要值;如果不同,提示用户非法;如果成功,进入下一步,服务器再利用客户端的公钥解签名得到密码经摘要算法后的散列值 (Hash1(psw)),然后,服务器端将根据此用户名查找对应的密码的摘要值,将此值与上述解签名后的摘要值进行匹配运算,如果不相同,用户登陆不成功,如果相同,登陆成功,服务器将返回客户端该用户所属的安全等级;
3)用户的通信过程:服务器端首先将产生随机数存放到数据库中并加密发送其副本到客户端,客户端将首先解密得到随机数后,再将请求消息、请求消息摘要的签名SKa(Hash1(message))以及随机数的摘要,根据用户所属的安全等级采用不同等级的加密方法及ASN.1的编码后发送到服务器端;服务器端完成本地解码、解密后,得到随机数的摘要以及请求消息摘要的签名SKa(Hash1(message)),服务器首先匹配此随机数的摘要与本地数据库的随机数按照与客户端相同的摘要算法后的摘要值,如果不同,提示用户非法;如果成功,进入下一步,服务器再利用客户端的公钥解签名得到请求消息经摘要算法后的散列值 (Hash1(message)),然后,服务器端将客户端传送过来的请求消息摘要与跟客户端相同的摘要算法计算出其散列值Hash1(message)’,将该值与上述解签名后的消息散列值进行匹配,如果匹配不成功,则说明请求消息已经被篡改,服务器端将丢弃此数据包,要求客户端重新传送,若匹配成功,则消息验证成功,将请求消息交给平台服务器的消息处理模块进行下一步的处理。
有益效果:本发明保障了物联网中多元异构的终端用户与物联网平台服务器之间以一种标准的数据包格式进行通信,而且,提出了一种结合ASN.1的分级的安全加密思想,保障了通信的安全可靠,同时降低了开销,减少了时延。本发明所描述的物联网的应用场景为:客户端通过网络访问远端平台服务器请求访问和调用不同地方的传感设备所采集的感知数据。由远端传感器采集的实时数据存放在服务器的感知数据库中,客户端用户可以在远端对这些数据进行访问和调用,请求的信息就是基于ASN.1的标准的信息数据包,而服务器响应客户端请求的信息也会ASN.1的标准的信息数据包形式返回给客户端。
附图说明
图1 是此发明的应用场景图,
图2 是用户注册的安全模型框图,
图3 是用户登陆的安全模型框图,
图4 是用户通信的安全模型框图。
具体实施方式
计算机网络不仅仅是同构***之间的通信,更主要的是异构***之间的通信。物联网中,多元异构的终端设备成倍增长,这种异构***之间的通信需求将更为突出。为了保障多个制造商设备之间的通信,ASN.1作为一种标准的对象定义语言和编码规则使之成为可能。本发明就是充分利用ASN.1的这种优势,保障了差异化的用户终端与平台服务器之间的通信。
本发明结合ASN.1跨平台的特点,并且,在用户与物联网平台服务器之间通信时,根据用户的权限,采用不同的加解密以及认证的算法,加密的算法可以分为无安全模式、ACL模式、机密性完整性模式、认证模式。建立了基于等级划分的安全通信模型。这样,不仅保障了通信的安全,又有效地降低了开销,减少了时延。安全通信的方法具体如下:
1、注册模式
1) 客户端向平台服务器请求注册
2) 服务器首先产生一个随机数R,然后用客户端的公钥以非对称加密算法RSA加密发送到客户端。
RSA算法是一种公开密钥密码体制,即是一种非对称的加解密算法,加密和解密采用不同的密钥。RSA算法可以同时用来加密和数字签名。RSA的安全性依赖于大数分解,由于进行的都是大数计算,使得RSA最快的情况也比DES慢上100倍,速度一直是RSA的缺陷。一般来说只用于少量数据的加密。
3) 客户端首先用自己的私有密钥对接收到的信息解密,得到随机数R。然后,利用散列函数随机数R散列成固定长度的数字摘要Hash3(R)。
哈希Hash算法是把任意长度的输入,通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,而不可能从散列值来唯一的确定输入值。密码学上的 Hash 又被称为:“消息摘要(message digest)”,就是要求能方便的将“消息”进行“摘要”,但在“摘要”中无法得到比“摘要”本身更多的关于“消息”的信息。这体现了哈希Hash算法的单向、不可逆的特点。
4) 客户端利用散列函数将用户的密码psw散列成固定长度的数字摘要Hash1(psw)。接着,客户端将利用散列函数将密码的摘要Hash1(psw),散列成固定长度的数字摘要Hash2(Hash1(psw))。
5) 客户端用自己的私有密钥对此数字摘要Hash2(Hash1(psw))进行加密,形成数字签名SKa(Hash2(Hash1(psw)))。
数字签名(Digital Signature)技术是不对称加密算法的典型应用。数字签名的应用过程是,数据源发送方使用自己的私钥对数据校验和或其他与数据内容有关的变量进行加密处理,完成对数据的合法“签名”,数据接收方则利用对方的公钥来解读收到的“数字签名”,并将解读结果用于对数据完整性的检验,以确认签名的合法性。只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。
6) 客户端将用户的用户名username,用户密码的摘要Hash1(psw),密码两次不同摘要后的数字签名SKa(Hash2(Hash1(psw)))以及随机数的摘要Hash3(R),经加密,再经过ASN.1的编码,生成十六进制的标准的字符串数据包,发送到服务器端。
ASN.1(Abstract Syntax Notation one) 是一套标准,是描述数据的表示、编码、传输、解码的灵活的记法。它提供了一套正式、无歧义和精确的规则以描述独立于特定计算机硬件的对象结构、编程语言或它在应用程序中如何表示等因素。ASN.1的基本编码规则(BER),采用TLV的编码,即对消息头(Tag)、消息长度(L ength)、消息体(Value)的编码。将ASN.1所描述的信息编码成十六进制的字符串。
7) 服务器端首先将收到的字符串进行ASN.1本地解码。
解码是编码的逆运算,是将十六进制的字符串还原为原来信息的过程。
8) 服务器端将收到的解码信息解密,得到用户名username,密码的摘要Hash1(psw),密码两次不同摘要后的数字签名SKa(Hash2(Hash1(psw)))以及随机数的摘要Hash3(R)。
解密时加密的逆过程,加密采用什么样的算法,解密时要用同样的算法解密。
9) 服务器用客户端的公钥PKa解签名,得到密码经过两次不同摘要后的散列值Hash2(Hash1(psw))。然后,服务器端将利用客户端第二次的摘要算法Hash2(),来散列一下密码的摘要Hash1(psw),即得出Hash2(Hash1(psw))’,将此值与上述两次不同摘要后的散列值Hash2(Hash1(psw))进行匹配,如果匹配成功,说明密码在网络传输过程中没有被修改,进入步骤10。否则,密码已经做了修改,此请求就不予通过。
此步骤中采用了密码的摘要值的匹配运算,此方法利用了哈希Hash算法的单向性的特点,即只能将消息散列成摘要值,而且此摘要值是唯一确定的,不能将摘要值还原成原来的消息。摘要值可以用来校验报文的完整性。可以用来判定密码在传输过程中有没有被篡改。
10) 服务器将与此用户对应的存放在数据库中的随机数取出利用与客户端相同的摘要算法,将随机数散列成固定长度的数值,将此值与客户端传送过来的随机数摘要进行匹配。若匹配不成功,则是非法用户,若成功,随机数在传输过程中,没有被修改,进入步骤11。
11) 服务器判断上述匹配都同时都成功后,将此用户名与其对应的密码的摘要Hash1(psw)存入本地数据库的用户信息表中,用作验证用户的登陆,同时,给此用户分配相应的安全等级。然后,返回给客户端注册成功。否则,返回注册失败。
上述过程中,服务器端用客户端的公钥解签名是完成了对客户端用户的身份验证。密码是以摘要的形式在网络上传输,因为摘要哈希Hash()运算是单向的,不可逆的,即使密文被截取后也不会还原出用户的密码,保障了密码在网络上传输的安全性。服务器端进只要行密码摘要的匹配运算,即完成对密码摘要报文的认证。随机数摘要的验证是为了防止密文被第三方截取后的重放攻击。只有上述所有属性被验证成功后,客户端才能成功注册。
2、登陆模式
1) 客户端向平台服务器请求登陆
2) 服务器首先也产生一个随机数R,然后用客户端的公钥以非对称加密算法RSA加密发送到客户端。
为了区别于用户注册过程的RSA算法,也是为了提高***的安全,可以采用其他算法来代替此RSA算法。
3) 客户端首先用自己的私有密钥对接收到的信息解密,得到随机数R。然后,利用散列函数随机数R散列成固定长度的数字摘要Hash2(R)。
4) 客户端将用户输入的密码,散列成固定长度的数字摘要Hash1(psw), 然后,客户端用自己的私有密钥对此数字摘要Hash1(psw)进行加密,形成数字签名SKa(Hash1(psw))。
5) 客户端将用户的用户名username,用户密码摘要的签名SKa(Hash1(psw))以及随机数的摘要Hash3(R) ,经加密,再经过ASN.1的编码,生成十六进制的标准的字符串数据包,发送到服务器端。
在用户注册时,在服务器端的数据库中,存放着与用户名对应的密码的摘要,即用户的密码在网络上传输之前就经过处理,变成了其摘要值,防止了用户的密码以明文的形式在网络上传输。在用户登录时,只需匹配用户的用户名和密码的摘要即可。
为了保障***的安全,在用户登陆时的加密方法以及加密密钥跟上述用户注册的加密方法及加密密钥要不同。
6) 服务器端首先将收到的字符串进行ASN.1本地解码。
7) 服务器端将收到的解码信息解密,得到用户名username,密码的摘要Hash1(psw)以及随机数的摘要Hash3(R)。
8) 服务器将与此用户对应的存放在数据库中的随机数取出利用与客户端相同的摘要算法,将随机数散列成固定长度的数值,将此值与客户端传送过来的随机数摘要进行匹配。若匹配不成功,则是非法用户,若成功,随机数在传输过程中,没有被修改,则进入步骤9。
9) 服务器用客户端的公钥PKa解签名,得到密码的散列值 Hash1(psw)。在本地数据库中查找与此用户名对应的密码摘要,与上述密码的散列值Hash1(psw)进行匹配,如果不相同,登录失败,则提示用户密码错误。如果相同,则用户登陆成功,服务器端将返回客户端该用户所属的安全等级。
上述过程中,只有用户的用户名、密码、随机数同时都通过匹配验证后,才允许该用户成功登陆平台服务器。其中,只要有一个匹配失败,则不允许其登陆平台服务器,则提示用户出现错误,重新登录。
3、通信模式
1) 客户端向平台服务器请求业务
2) 服务器首先也产生一个随机数R,然后用客户端的公钥以非对称加密算法RSA(为了安全,此加密算法也可以是其它算法)加密发送到客户端。
3) 客户端首先用自己的私有密钥对接收到的信息解密,得到随机数R。然后,利用散列函数随机数R散列成固定长度的数字摘要Hash2(R)。
4) 客户端将利用散列函数将用户发送给服务器的明文消息message,散列成固定长度的数字摘要Hash1(message)。然后,用自己的私有密钥对此数字摘要Hash1(message)进行加密,形成数字签名SKa(Hash1(message))。
5) 客户端将用户要发送的明文消息message,明文消息数字摘要的签名SKa(Hash1(message))以及随机数的摘要Hash2(R),根据用户所属的安全等级,采用不同的加密算法加密,再经过ASN.1的编码,生成十六进制的标准的字符串数据包,发送到服务器端。
6) 服务器端首先将收到的字符串进行ASN.1本地解码。
7)服务器端将收到的解码信息根据用户的安全等级选择相对应的解密算法解密,得到用户请求的明文消息message,消息摘要的数字签名SKa(Hash1(message))以及随机数的摘要Hash2(R)。
8) 服务器将与此用户对应的存放在数据库中的随机数取出利用与客户端相同的摘要算法,将随机数散列成固定长度的数值,将此值与客户端传送过来的随机数摘要进行匹配。若匹配不成功,则是非法用户,若成功,随机数在传输过程中,没有被修改,进入步骤9。
此步骤中,就是利用了哈希Hash算法,可以用来检验报文完整性的特点。目前大量使用的散列算法有MD5(Message Digest 5)和SHA(Secure Hash Algorithm),SHA比MD5更安全,但是计算起来却比MD5要慢些。新的一个版本SHA-1也已经制定出来了。
9) 服务器端再利用客户端的公钥PKa解签名,得到消息的摘要Hash1(message)。然后,服务器端利用客户端将消息生成消息摘要的算法,将接收到的消息进行摘要散列运算,即得到消息的摘要Hash1(message)’,将此摘要值与解签名后的摘要值进行匹配。若匹配不成功,则服务器丢弃此数据包,请求客户端重新传送一次;若匹配成功,说明传送过来的消息,没有被修改,则将消息传送给平台服务器的消息处理模块进行下一步的处理。
上述的通信过程中,服务器端用客户端的公钥解签名是完成了对客户端用户的身份验证,防止客户端的抵赖性。服务器端进行消息摘要的匹配运算,即完成对消息摘要报文的认证。认证通过,则可以说明消息没有被篡改,否则,消息已经被篡改过,服务器端则丢弃此报文,请求客户端重新传送。随机数摘要的验证是为了防止密文被第三方截取后的重放攻击。
物联网平台中用户终端安全通信的方法适用于附图1的应用场景,即物联网中的客户终端请求平台服务器以及平台服务器响应客户端的过程。客户端与平台服务器之间是以一种自定义规范的数据包进行通信,方便了通信双方互连互通以及对信息的识别。
物联网平台中用户终端安全通信的方法,具体实施方式如附图2、3、4,分为用户终端的注册过程、登陆过程、通信过程。
1、用户的注册过程
1) 客户端向服务器请求注册新的用户,服务器端立即产生随机数,并加密传送到客户端,客户端经解密得到随机数后,将此随机数Hash散列成固定长度的摘要值。
2) 客户端利用散列函数将用户的密码psw散列成固定长度的数字摘要Hash1(psw)。接着,客户端将利用散列函数将密码的摘要Hash1(psw),散列成固定长度的数字摘要Hash2(Hash1(psw))。客户端用自己的私有密钥对此数字摘要Hash2(Hash1(psw))进行数字签名,生成SKa(Hash2(Hash1(psw)))。
3) 客户端将用户的用户名username,用户密码的摘要Hash1(psw),密码两次不同摘要后的数字签名SKa(Hash2(Hash1(psw)))以及随机数的摘要Hash3(R),经加密,再经过ASN.1的编码,发送到服务器端。
4) 服务器端首先将收到的字符串进行ASN.1本地解码。接着将解码后的信息进行解密,得到用户名username,密码的摘要Hash1(psw),密码两次不同摘要后的数字签名SKa(Hash2(Hash1(psw)))以及随机数的摘要Hash3(R)。
5) 服务器将与此用户对应的存放在数据库中的随机数取出利用与客户端相同的摘要算法,将随机数散列成固定长度的数值,将此值与客户端传送过来的随机数摘要进行匹配。若匹配不成功,则是非法用户,若成功,随机数在传输过程中,没有被修改,进入步骤6。
6) 服务器用客户端的公钥PKa解签名,得到密码经过两次不同摘要后的散列值Hash2(Hash1(psw))。然后,服务器端将利用客户端第二次的摘要算法Hash2(),来散列一下密码的摘要Hash1(psw),即得出Hash2(Hash1(psw))’,将此值与上述两次不同摘要后的散列值Hash2(Hash1(psw))进行匹配,如果匹配成功,说明密码在网络传输过程中没有被修改。否则,密码已经做了修改,此请求就不予通过。
7) 服务器判断上述匹配都同时都成功后,才将此用户名与其对应的密码摘要Hash1(psw)存入本地数据库的用户信息表中,用作验证用户的登陆,同时,为该用户分配相应的安全等级。然后,返回给客户端注册成功。否则,返回注册失败。
2、用户的登陆过程
1) 客户端向平台服务器请求登陆,服务器首先也产生一个随机数并加密传送到客户端,客户端经解密得到随机数后,将此随机数Hash散列成固定长度的摘要值。
2) 客户端将用户输入的密码,散列成固定长度的数字摘要Hash1(psw), 然后,客户端用自己的私有密钥对此数字摘要Hash1(psw)进行数字签名,生成SKa(Hash1(psw))。
3) 客户端将用户的用户名username,用户密码摘要的签名SKa(Hash1(psw))以及随机数的摘要,经不同于用户注册的加密方法加密,再经过ASN.1的编码,发送到服务器端。
4) 服务器端首先将收到的字符串进行ASN.1本地解码,再将收到的解码信息解密,得到用户名username,密码的摘要Hash1(psw)以及随机数的摘要。
5) 服务器将与此用户对应的存放在数据库中的随机数取出利用与客户端相同的摘要算法,将随机数散列成固定长度的数值,将此值与客户端传送过来的随机数摘要进行匹配。若匹配不成功,则是非法用户,若成功,随机数在传输过程中,没有被修改,则进入步骤6。
6) 服务器用客户端的公钥PKa解签名,得到密码的散列值 Hash1(psw)。在本地数据库中查找与此用户名对应的密码摘要,与上述密码的散列值Hash1(psw)进行匹配,如果相同,则用户登陆成功,返回给客户端此用户所属的安全等级。
3、用户的通信过程
1) 客户端向平台服务器请求业务,服务器首先也产生一个随机数并加密传送到客户端,客户端经解密得到随机数后,将此随机数Hash散列成固定长度的摘要值。
2) 客户端将利用散列函数将用户发送给服务器的明文消息message,散列成固定长度的数字摘要Hash1(message)。然后,用自己的私有密钥对此数字摘要Hash1(message)进行数字签名,生成SKa(Hash1(message))。
3) 客户端将用户要发送的明文消息message,明文消息的数字摘要Hash1(message)以及随机数的摘要,根据用户所属的安全等级,采用不同的加密算法加密,再经过ASN.1的编码,发送到服务器端。
4) 服务器端首先将收到的字符串进行ASN.1本地解码。再将收到的解码信息解密,得到用户请求的明文消息message,消息摘要的数字签名SKa(Hash1(message))以及随机数的摘要。
5) 服务器将与此用户对应的存放在数据库中的随机数取出利用与客户端相同的摘要算法,将随机数散列成固定长度的数值,将此值与客户端传送过来的随机数摘要进行匹配。若匹配不成功,则是非法用户,若成功,随机数在传输过程中,没有被修改,则进入步骤6。
6) 服务器端再利用客户端的公钥PKa解签名,得到消息的摘要Hash1(message)。然后,服务器端利用客户端将消息生成消息摘要的算法,将接收到的消息进行摘要散列运算,即得到消息的摘要Hash1(message)’,将此摘要值与解签名后的摘要值进行匹配。若匹配不成功,则服务器丢弃此数据包,请求客户端重新传送一次;若匹配成功,说明传送过来的消息,没有被修改。然后,将此请求消息交给平台服务器的消息处理模块进行下一步的处理。
Claims (1)
1.一种物联网平台中用户终端安全通信的方法,其特征在于:该方法利用抽象语法标记语言ASN.1的描述结合经典的加密安全算法,
1) 用户的注册过程:服务器端首先将产生随机数存放到数据库中并加密发送其副本到客户端,客户端将首先解密得到随机数后,再将用户名、密码的摘要(Hash1(psw))、密码经两次不同的摘要算法后的签名(Ska(Hash2(Hash1(psw))))以及随机数的摘要,经加密及ASN.1的编码后发送到服务器端,服务器端完成本地解码、解密后,得到随机数的摘要以及密码经两次不同的摘要算法后的签名(Ska(Hash2(Hash1(psw)))),服务器首先匹配此随机数的摘要与本地数据库的随机数按照与客户端相同的摘要算法后的摘要值,如果不同,提示用户注册不成功;如果成功,进入下一步,服务器再利用客户端的公钥解签名得到密码经两次不同摘要算法后的散列值Hash2(Hash1(psw));然后,服务器端将得到的密码的摘要(Hash1(psw))跟客户端第二次的密码的摘要算法相同的算法进行一次摘要运算得到Hash2(Hash1(psw))’,将此值与上述解签名后的摘要值进行匹配运算;如果不相同,说明密码在传输过程中已经被篡改,如果相同,将拿到的密码摘要存入数据库,用来下次用户请求登录时的匹配验证,同时,给该用户分配相应的安全等级;
其中,Hash1、Hash2是哈希Hash算法,psw是用户的密码,Hash1(psw)是用户密码的散列值,Hash2(Hash1(psw))是密码经两次不同摘要算法后的散列值,SKa是客户端的私有密钥,Ska(Hash2(Hash1(psw)))是客户端对用户密码的两次摘要后的数字签名,数字签名用来验证客户端的身份;
2) 用户的登陆过程:服务器端首先将产生随机数存放到数据库中并加密发送其副本到客户端,客户端将首先解密得到随机数后,再将用户名、密码的摘要(Hash1(psw))以及随机数的摘要,经不同于用户注册时的加密算法加密及ASN.1的编码后发送到服务器端;服务器端完成本地解码、解密后,得到随机数的摘要以及密码的摘要(Hash1(psw)),服务器首先匹配此随机数的摘要与本地数据库的随机数按照与客户端相同的摘要算法后的摘要值;如果不同,提示用户非法;如果成功,进入下一步,服务器再利用客户端的公钥解签名得到密码经摘要算法后的散列值 (Hash1(psw)),然后,服务器端将根据此用户名查找对应的密码的摘要值,将此值与上述解签名后的摘要值进行匹配运算,如果不相同,用户登陆不成功,如果相同,登陆成功,服务器将返回客户端该用户所属的安全等级;
3)用户的通信过程:服务器端首先将产生随机数存放到数据库中并加密发送其副本到客户端,客户端将首先解密得到随机数后,再将请求消息、请求消息摘要的签名SKa(Hash1(message))以及随机数的摘要,根据用户所属的安全等级采用不同等级的加密方法及ASN.1的编码后发送到服务器端;服务器端完成本地解码、解密后,得到随机数的摘要以及请求消息摘要的签名SKa(Hash1(message)),服务器首先匹配此随机数的摘要与本地数据库的随机数按照与客户端相同的摘要算法后的摘要值,如果不同,提示用户非法;如果成功,进入下一步,服务器再利用客户端的公钥解签名得到请求消息经摘要算法后的散列值 (Hash1(message)),然后,服务器端将客户端传送过来的请求消息摘要与跟客户端相同的摘要算法计算出其散列值Hash1(message)’,将该值与上述解签名后的消息散列值进行匹配,如果匹配不成功,则说明请求消息已经被篡改,服务器端将丢弃此数据包,要求客户端重新传送,若匹配成功,则消息验证成功,将请求消息交给平台服务器的消息处理模块进行下一步的处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012102564989A CN102780698A (zh) | 2012-07-24 | 2012-07-24 | 物联网平台中用户终端安全通信的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012102564989A CN102780698A (zh) | 2012-07-24 | 2012-07-24 | 物联网平台中用户终端安全通信的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102780698A true CN102780698A (zh) | 2012-11-14 |
Family
ID=47125451
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012102564989A Pending CN102780698A (zh) | 2012-07-24 | 2012-07-24 | 物联网平台中用户终端安全通信的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102780698A (zh) |
Cited By (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102999582A (zh) * | 2012-11-15 | 2013-03-27 | 南京邮电大学 | 一种轻量级基于规则的物品万维网监控*** |
CN103596011A (zh) * | 2013-11-20 | 2014-02-19 | 北京中星微电子有限公司 | 图像数据的存储处理方法和装置 |
CN104539656A (zh) * | 2014-12-09 | 2015-04-22 | 中国电子科技集团公司第十五研究所 | 一种物联网***的开发及使用方法 |
CN104717215A (zh) * | 2015-03-07 | 2015-06-17 | 上海恩辅信息科技有限公司 | 一种基于物联网的设备安全控制方法及*** |
CN104796311A (zh) * | 2014-01-16 | 2015-07-22 | ***通信集团广东有限公司 | 一种发送信息的方法、客户端、服务器及发送信息的*** |
CN105049401A (zh) * | 2015-03-19 | 2015-11-11 | 浙江大学 | 一种基于智能车的安全通信方法 |
CN105072098A (zh) * | 2015-07-23 | 2015-11-18 | 柳州正高科技有限公司 | 一种物联网账号消息加密方法 |
CN105162760A (zh) * | 2015-07-28 | 2015-12-16 | 郝孟一 | 随机抽取方法、装置以及*** |
CN105430017A (zh) * | 2015-12-31 | 2016-03-23 | 国网山东临朐县供电公司 | 数据安全通信方法 |
CN105491015A (zh) * | 2015-11-21 | 2016-04-13 | 国网山东潍坊市寒亭区供电公司 | 一种数据通信及存储方法 |
CN105791272A (zh) * | 2016-02-23 | 2016-07-20 | 青岛海尔智能家电科技有限公司 | 一种物联网中的安全通信方法及装置 |
CN105812124A (zh) * | 2014-12-31 | 2016-07-27 | 环达电脑(上海)有限公司 | 密码生成方法和密码验证方法 |
CN105847432A (zh) * | 2016-05-23 | 2016-08-10 | 成都亿闻科技有限公司 | 基于物联网的车辆远程控制方法和装置 |
CN105978929A (zh) * | 2016-04-15 | 2016-09-28 | 北京思特奇信息技术股份有限公司 | 不同移动终端平台与后端服务器的数据交互方法及*** |
CN106533677A (zh) * | 2016-12-30 | 2017-03-22 | 四川九洲电器集团有限责任公司 | 一种用户登录方法、用户终端及服务器 |
CN106789004A (zh) * | 2016-12-15 | 2017-05-31 | 国云科技股份有限公司 | 一种高效安全的网络通信方法 |
CN108183909A (zh) * | 2017-12-29 | 2018-06-19 | 深圳市信锐网科技术有限公司 | 一种LoRa通信方法及*** |
CN108667791A (zh) * | 2017-12-18 | 2018-10-16 | 中国石油天然气股份有限公司 | 身份验证方法 |
CN108933669A (zh) * | 2013-12-12 | 2018-12-04 | 景祝强 | 一种基于物联同步的二次密码的装置 |
CN109067754A (zh) * | 2018-08-17 | 2018-12-21 | 武汉精测电子集团股份有限公司 | 一种请求端与服务端的通信方法及*** |
CN109450925A (zh) * | 2018-12-05 | 2019-03-08 | 国网浙江省电力有限公司杭州供电公司 | 用于电力二次***运维的用户权限验证方法、装置及电子设备 |
CN110138540A (zh) * | 2018-02-08 | 2019-08-16 | 触信(厦门)智能科技有限公司 | 一种数据区块加密方法 |
CN110213275A (zh) * | 2019-06-05 | 2019-09-06 | 四川长虹电器股份有限公司 | 信息查询***及方法 |
CN110430218A (zh) * | 2019-08-23 | 2019-11-08 | 深圳和而泰家居在线网络科技有限公司 | 数据传输安全控制方法及装置、计算机设备和物联网*** |
CN111198531A (zh) * | 2020-01-17 | 2020-05-26 | 刘睿妍 | 一种用于电力通信的智能控制***及其工作方法 |
CN111431872A (zh) * | 2020-03-10 | 2020-07-17 | 西安交通大学 | 一种基于tcp/ip协议特征的两阶段物联网设备识别方法 |
CN111641587A (zh) * | 2020-04-27 | 2020-09-08 | 河南省云安大数据安全防护产业技术研究院有限公司 | 物联网设备互联互通的方法、装置 |
CN112637131A (zh) * | 2020-12-01 | 2021-04-09 | 百果园技术(新加坡)有限公司 | 用户身份认证方法、装置、设备和存储介质 |
CN113551715A (zh) * | 2021-09-22 | 2021-10-26 | 南京东大智能化***有限公司 | 物联网管控***与方法 |
WO2022121664A1 (en) * | 2020-12-11 | 2022-06-16 | International Business Machines Corporation | User configured one-time password |
-
2012
- 2012-07-24 CN CN2012102564989A patent/CN102780698A/zh active Pending
Non-Patent Citations (3)
Title |
---|
唐益慰等: "数字签名标准(DSS)的理论研究与实现", 《计算机技术与发展》 * |
阮鸥等: "一种基于Web服务的身份认证方案", 《湖北工业大学学报》 * |
龚恩源: "物联网业务应用协议", 《南京邮电大学硕士学位论文》 * |
Cited By (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102999582B (zh) * | 2012-11-15 | 2015-07-08 | 南京邮电大学 | 一种轻量级基于规则的物品万维网监控*** |
CN102999582A (zh) * | 2012-11-15 | 2013-03-27 | 南京邮电大学 | 一种轻量级基于规则的物品万维网监控*** |
CN103596011A (zh) * | 2013-11-20 | 2014-02-19 | 北京中星微电子有限公司 | 图像数据的存储处理方法和装置 |
CN108933669A (zh) * | 2013-12-12 | 2018-12-04 | 景祝强 | 一种基于物联同步的二次密码的装置 |
CN108933669B (zh) * | 2013-12-12 | 2021-02-09 | 海安绒克纺织有限公司 | 一种基于物联同步的二次密码的装置 |
CN104796311A (zh) * | 2014-01-16 | 2015-07-22 | ***通信集团广东有限公司 | 一种发送信息的方法、客户端、服务器及发送信息的*** |
CN104796311B (zh) * | 2014-01-16 | 2019-06-28 | ***通信集团广东有限公司 | 一种发送信息的方法、客户端、服务器及发送信息的*** |
CN104539656A (zh) * | 2014-12-09 | 2015-04-22 | 中国电子科技集团公司第十五研究所 | 一种物联网***的开发及使用方法 |
CN105812124A (zh) * | 2014-12-31 | 2016-07-27 | 环达电脑(上海)有限公司 | 密码生成方法和密码验证方法 |
CN104717215A (zh) * | 2015-03-07 | 2015-06-17 | 上海恩辅信息科技有限公司 | 一种基于物联网的设备安全控制方法及*** |
CN105049401A (zh) * | 2015-03-19 | 2015-11-11 | 浙江大学 | 一种基于智能车的安全通信方法 |
CN105049401B (zh) * | 2015-03-19 | 2018-06-19 | 浙江大学 | 一种基于智能车的安全通信方法 |
CN105072098A (zh) * | 2015-07-23 | 2015-11-18 | 柳州正高科技有限公司 | 一种物联网账号消息加密方法 |
CN105162760A (zh) * | 2015-07-28 | 2015-12-16 | 郝孟一 | 随机抽取方法、装置以及*** |
CN105162760B (zh) * | 2015-07-28 | 2018-08-14 | 郝孟一 | 随机抽取方法、装置以及*** |
CN105491015A (zh) * | 2015-11-21 | 2016-04-13 | 国网山东潍坊市寒亭区供电公司 | 一种数据通信及存储方法 |
CN105491015B (zh) * | 2015-11-21 | 2018-07-20 | 国网山东潍坊市寒亭区供电公司 | 一种数据通信及存储方法 |
CN105430017A (zh) * | 2015-12-31 | 2016-03-23 | 国网山东临朐县供电公司 | 数据安全通信方法 |
CN105430017B (zh) * | 2015-12-31 | 2018-10-09 | 国网山东临朐县供电公司 | 数据安全通信方法 |
CN105791272A (zh) * | 2016-02-23 | 2016-07-20 | 青岛海尔智能家电科技有限公司 | 一种物联网中的安全通信方法及装置 |
CN105978929B (zh) * | 2016-04-15 | 2019-03-26 | 北京思特奇信息技术股份有限公司 | 不同移动终端平台与后端服务器的数据交互方法及*** |
CN105978929A (zh) * | 2016-04-15 | 2016-09-28 | 北京思特奇信息技术股份有限公司 | 不同移动终端平台与后端服务器的数据交互方法及*** |
CN105847432B (zh) * | 2016-05-23 | 2018-11-23 | 成都亿闻科技有限公司 | 基于物联网的车辆远程控制方法和装置 |
CN105847432A (zh) * | 2016-05-23 | 2016-08-10 | 成都亿闻科技有限公司 | 基于物联网的车辆远程控制方法和装置 |
CN106789004A (zh) * | 2016-12-15 | 2017-05-31 | 国云科技股份有限公司 | 一种高效安全的网络通信方法 |
CN106533677A (zh) * | 2016-12-30 | 2017-03-22 | 四川九洲电器集团有限责任公司 | 一种用户登录方法、用户终端及服务器 |
CN106533677B (zh) * | 2016-12-30 | 2019-09-17 | 四川九洲电器集团有限责任公司 | 一种用户登录方法、用户终端及服务器 |
CN108667791A (zh) * | 2017-12-18 | 2018-10-16 | 中国石油天然气股份有限公司 | 身份验证方法 |
CN108667791B (zh) * | 2017-12-18 | 2021-01-01 | 中国石油天然气股份有限公司 | 身份验证方法 |
CN108183909A (zh) * | 2017-12-29 | 2018-06-19 | 深圳市信锐网科技术有限公司 | 一种LoRa通信方法及*** |
CN110138540A (zh) * | 2018-02-08 | 2019-08-16 | 触信(厦门)智能科技有限公司 | 一种数据区块加密方法 |
CN109067754A (zh) * | 2018-08-17 | 2018-12-21 | 武汉精测电子集团股份有限公司 | 一种请求端与服务端的通信方法及*** |
CN109067754B (zh) * | 2018-08-17 | 2021-04-20 | 武汉精测电子集团股份有限公司 | 一种请求端与服务端的通信方法及*** |
CN109450925A (zh) * | 2018-12-05 | 2019-03-08 | 国网浙江省电力有限公司杭州供电公司 | 用于电力二次***运维的用户权限验证方法、装置及电子设备 |
CN109450925B (zh) * | 2018-12-05 | 2021-09-28 | 国网浙江省电力有限公司杭州供电公司 | 用于电力二次***运维的用户权限验证方法、装置及电子设备 |
CN110213275A (zh) * | 2019-06-05 | 2019-09-06 | 四川长虹电器股份有限公司 | 信息查询***及方法 |
CN110430218A (zh) * | 2019-08-23 | 2019-11-08 | 深圳和而泰家居在线网络科技有限公司 | 数据传输安全控制方法及装置、计算机设备和物联网*** |
CN110430218B (zh) * | 2019-08-23 | 2021-08-13 | 深圳数联天下智能科技有限公司 | 数据传输安全控制方法及装置、计算机设备和物联网*** |
CN111198531A (zh) * | 2020-01-17 | 2020-05-26 | 刘睿妍 | 一种用于电力通信的智能控制***及其工作方法 |
CN111431872A (zh) * | 2020-03-10 | 2020-07-17 | 西安交通大学 | 一种基于tcp/ip协议特征的两阶段物联网设备识别方法 |
CN111641587A (zh) * | 2020-04-27 | 2020-09-08 | 河南省云安大数据安全防护产业技术研究院有限公司 | 物联网设备互联互通的方法、装置 |
CN112637131A (zh) * | 2020-12-01 | 2021-04-09 | 百果园技术(新加坡)有限公司 | 用户身份认证方法、装置、设备和存储介质 |
CN112637131B (zh) * | 2020-12-01 | 2023-04-18 | 百果园技术(新加坡)有限公司 | 用户身份认证方法、装置、设备和存储介质 |
WO2022121664A1 (en) * | 2020-12-11 | 2022-06-16 | International Business Machines Corporation | User configured one-time password |
US11645381B2 (en) | 2020-12-11 | 2023-05-09 | International Business Machines Corporation | User configured one-time password |
CN113551715A (zh) * | 2021-09-22 | 2021-10-26 | 南京东大智能化***有限公司 | 物联网管控***与方法 |
CN113551715B (zh) * | 2021-09-22 | 2021-12-14 | 南京东大智能化***有限公司 | 物联网管控***与方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102780698A (zh) | 物联网平台中用户终端安全通信的方法 | |
Aman et al. | Low power data integrity in IoT systems | |
Jiang et al. | Improvement of robust smart‐card‐based password authentication scheme | |
Zhang et al. | Efficient and flexible password authenticated key agreement for voice over internet protocol session initiation protocol using smart card | |
CN104023013B (zh) | 数据传输方法、服务端和客户端 | |
US9379891B2 (en) | Method and system for ID-based encryption and decryption | |
CN110891066B (zh) | 一种基于同态加密方案的代理型匿名通信方法 | |
US11316671B2 (en) | Accelerated encryption and decryption of files with shared secret and method therefor | |
CN103338215A (zh) | 基于国密算法建立tls通道的方法 | |
CN101815091A (zh) | 密码提供设备、密码认证***和密码认证方法 | |
Saha et al. | Consortium blockchain‐enabled access control mechanism in edge computing based generic Internet of Things environment | |
CN106576043A (zh) | 病毒式可分配可信消息传送 | |
CN107210911A (zh) | 安全***中终端的改进安装 | |
CN104901935A (zh) | 一种基于cpk的双向认证及数据交互安全保护方法 | |
CN102685749A (zh) | 面向移动终端的无线安全身份验证方法 | |
CN109309566B (zh) | 一种认证方法、装置、***、设备及存储介质 | |
CN114143117B (zh) | 数据处理方法及设备 | |
CN107210915A (zh) | 相互认证 | |
CN103493428B (zh) | 数据加密 | |
CN111416712B (zh) | 基于多个移动设备的量子保密通信身份认证***及方法 | |
Niu et al. | A novel user authentication scheme with anonymity for wireless communications | |
US20140237239A1 (en) | Techniques for validating cryptographic applications | |
CN106657002A (zh) | 一种新型防撞库关联时间多密码的身份认证方法 | |
CN106230840A (zh) | 一种高安全性的口令认证方法 | |
CN104394532A (zh) | 移动端防暴力破解的安全登录方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20121114 |