一种资源服务器和客户端交互会话消息的方法及装置的制造方法

文档序号:8301657阅读:417来源:国知局
一种资源服务器和客户端交互会话消息的方法及装置的制造方法
【技术领域】
[0001]本发明涉及通信技术领域,特别涉及一种资源服务器和客户端交互会话消息的方法及装置。
【背景技术】
[0002]物联网(The Internet of things)是新一代信息技术的重要组成部分,是指通过各种信息传感设备,实时采集任何需要监控、连接、互动的物体或过程等各种需要的信息,与互联网结合形成的一个巨大网络。
[0003]通常,在物联网中,RS (Resource Server,资源服务器)上面包含一个或多个资源实体,资源实体可以是传感器,如湿度传感器、温度传感器、重力传感器、各种工业传感器等;资源实体也可以是控制器,如灯的开关、温度调节器、各种工业控制器等。
[0004]资源服务器是受限节点,受限节点相对于非受限节点,拥有有限的中央处理单元、有限的存储空间、有限的电池容量、有限的数据传输能力、有限的用户界面等,通常指传感器、控制器、智能对象、智能设备等。受限节点中的RAM (Random Access Memory,随机存储器)的存储容量小等于50千字节,非授权节点中的ROM (Read Only Memory,只读存储器)的存储容量小于等于为250千字节。由受限节点组成的网络通常称为受限网络,这样的网络通常传输通道不稳定、带宽有限而且不可预测、网络拓扑结构也不稳定。
[0005]授权服务器一般位于资源服务器的归属域,是非受限节点,非受限节点是指,相对于受限节点,处理能力强、存储空间大、电池容量大、传输能力强、用户界面丰富等特点的设备,非授权节点中的RAM的存储容量大于50千字节,非授权节点中的ROM的存储容量大于为250千字节。授权服务器它代表资源拥有者来协助资源服务器行使对客户端的权限认证和授权控制,授权服务器的主要功能包括下列功能的一项或者多项:1)从资源拥有者处获取资源服务器的授权信息,即:哪个客户端对哪个资源服务器在什么条件下拥有哪些访问权限;2)协助资源服务器来建立客户端与资源服务器之间的安全数据传输通道,即:协商会话密钥或提供认证信息;3)根据客户端或资源服务器的请求,针对不同的客户端和不同的授权服务器上的不同的资源信息,返回授权信息;4)存储资源拥有者设置的授权规则,并根据授权规则,对来自于客户端或资源服务器的授权请求做授权验证。
[0006]如图1所示,在实际应用中,客户端需要访问资源服务器上的资源实体来获取相关的资源,为了提高安全性,客户端和资源服务器之间交互的消息需要进行加密,密钥协商过程如下:
[0007]步骤1:客户端向资源服务器发送资源请求;
[0008]在该步骤中,资源请求中未包含授权信息;
[0009]步骤2:资源服务器返回授权服务器的地址信息给客户端;
[0010]步骤3:客户端向认证管理器发送授权请求,该授权请求用于请求授权信息;
[0011]步骤4:认证管理器将授权请求转发至授权服务器,请求授权信息;
[0012]步骤5:授权服务器生成随机数,并基于第一密钥和随机数生成第二密钥:K_RS-C ;
[0013]在该步骤中,第一密钥为预先配置的与资源服务器的共享密钥;
[0014]步骤6:授权服务器向认证管理器发送授权信息、第二密钥和随机数;
[0015]步骤7:认证管理器向客户端转发授权信息,以及第二密钥和随机数;
[0016]步骤8:客户端保存接收到的第二密钥和授权信息,将随机数发送给资源服务器。
[0017]在这之后,还执行如下操作:资源服务器基于第一密钥和接收到的随机数生成第二密钥;
[0018]客户端与资源服务器基于第二密钥来建立DTLS(Datagram Transport LayerSecurity,数据包传输层安全性协议)安全通道,并基于DTLS安全通道,客户端与资源服务器之间进行交互。
[0019]从上述可以看出,现有技术中认证管理器和授权服务器都知道客户端和资源服务器之间传输会话消息的密钥,可以获取客户端和资源服务器之间交互的会话消息,因此,安全性较差。

【发明内容】

[0020]本发明实施例提供一种资源服务器和客户端交互会话消息的方法及装置,用以解决现有技术中客户端和资源服务器之间交互会话消息时存在的安全性较差的缺陷。
[0021]本发明实施例提供的具体技术方案如下:
[0022]第一方面,提供一种资源服务器和客户端交互会话消息的方法,包括:
[0023]接收客户端发送的客户端的第一密钥及认证管理器的第一数字签名;
[0024]对所述第一数字签名进行验证,在所述第一数字签名验证成功时,根据所述客户端的第一密钥生成资源服务器的第一密钥;
[0025]接收所述客户端发送的所述客户端利用所述客户端的第二密钥加密的第二数字签名,所述第二数字签名是所述客户端对所述客户端的第一密钥和所述资源服务器的第二密钥所作的数字签名;
[0026]基于所述资源服务器的第一密钥对加密的所述第二数字签名进行解密,获取所述第二数字签名时,对所述第二数字签名进行验证;
[0027]所述第二数字签名验证成功时,利用所述资源服务器的第一密钥加密与所述客户端交互的会话消息。
[0028]结合第一方面,在第一种可能的实现方式中,所述第一数字签名是所述认证管理器对所述客户端的公钥利用所述认证管理器的私钥生成的。
[0029]结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,对所述第一数字签名进行验证之前,还包括:
[0030]获取所述认证管理器的公钥、所述客户端的公钥;
[0031]对所述第一数字签名进行验证,具体包括:
[0032]根据哈希算法对所述客户端的公钥生成第一信息摘要;
[0033]使用所述认证管理器的公钥对所述第一数字签名解密,并比较将所述第一数字签名解密后得到的信息与所述第一信息摘要是否相同;
[0034]所述第一数字签名验证成功,具体包括:
[0035]所述第一数字签名解密后得到的信息与所述第一信息摘要相同。
[0036]结合第一方面,以及第一方面的第一至第二种可能的实现方式,在第三种可能的实现方式中,根据所述客户端的第一密钥生成资源服务器的第一密钥,具体包括:
[0037]根据所述客户端的第一密钥生成的所述资源服务器的第一密钥符合如下规则:
[0038]kl = A'b mod p
[0039]其中,所述kl为所述资源服务器的第一密钥,所述A为所述客户端的第一密钥,所述b为所述资源服务器的第三密钥,所述P为素数。
[0040]结合第一方面,以及第一方面的第一至第三种可能的实现方式,在第四种可能的实现方式中,接收所述第二数字签名之前,还包括:
[0041]向授权服务器发送所述资源服务器的公钥;
[0042]接收所述授权服务器对所述资源服务器的公钥生成的第三数字签名;
[0043]将所述第三数字签名发送至所述客户端。
[0044]结合第一方面,以及第一方面的第一至第四种可能的实现方式,在第五种可能的实现方式中,接收所述第二数字签名之前,还包括:
[0045]将所述资源服务器的公钥、所述资源服务器的第二密钥、所述资源服务器利用所述资源服务器的第一密钥加密的第四数字签名发送至所述客户端,所述第四数字签名是所述资源服务器对所述资源服务器的第二密钥和所述客户端的第一密钥所作的数字签名。
[0046]结合第一方面的第五种可能的实现方式,在第六种可能的实现方式中,将所述资源服务器的公钥、所述资源服务器的第二密钥、所述第四数字签名发送至所述客户端之前,还包括:
[0047]生成的所述资源服务器的第二密钥符合如下规则:
[0048]B = g'b mod p
[0049]其中,所述B为所述资源服务器的第二密钥、所述g为原根、所述b为所述资源服务器的第三密钥。
[0050]结合第一方面,以及第一方面的第一至第六种可能的实现方式,在第七种可能的实现方式中,生成的所述客户端的第二密钥符合如下规则:
[0051]k2 = B'a mod p
[0052]其中,所述k2为所述客户端的第二密钥、所述B为所述资源服务器的第二密钥、所述a为所述客户端的第三密钥。
[0053]结合第一方面,以及第一方面的第一至第七种可能的实现方式,在第八种可能的实现方式中,对所述第二数字签名进行验证,具体包括:
[0054]根据哈希算法对所述客户端的第一密钥和所述资源服务器的第二密钥生成第二信息摘要;
[0055]使用所述客户端的公钥对第二数字签名解密,并比较将所述第二数字签名解密后得到的信息与所述第二信息摘要是否相同;
[0056]所述第二数字签名验证成功,具体包括:
[0057]所述第二数字签名解密后得到的信息与所述第二信息摘要相同。
[0058]第二方面,提供一种资源服务器和客户端交互会话消息的方法,包括:
[0059]接收资源服务器发送的授权服务器的第三数字签名、所述资源服务器的第二密钥,及所述资源服务器利用所述资源服务器的第一密钥加密的第四数字签名,所述第四数字签名是所述资源服务器对所述资源服务器的第二密钥和所述客户端的第一密钥所作的数字签名;
[0060]对所述第三数字签名进行验证,在所述第三数字签名验证成功时,根据所述资源服务器的第二密钥生成所述客户端的第二密钥;
[0061]利用所述客户端的第二密钥对所述第四数字签名进行解密,获取所述第四数字签名时,对所述第四数字签名进行验证;
[0062]在所述第四数字签名验证成功时,利用所述客户端的第二密钥加密与所述资源服务器交互的会话消息。
[0063]结合第二方面,在第一种可能的实现方式中,所述第三数字签名是所述授权服务器对所述资源服务器的公钥利用所述授权服务器的私钥生成的。
[0064]结合第二方面,以及第二方面的第一种可能的实现方式,在第二种可能的实现方式中,对所述第三数字签名进行验证之前,还包括:
[0065]获取所述授权服务器的公钥、所述资源服务器的公钥;
[0066]对所述第三数字签名进行验证,具体包括:
[0067]根据哈希算法对所述资源服务器的公钥生成第三信息摘要;
[0068]使用所述授权服务器的公钥对所述第三数字签名解密,并比较将所述第三数字签名解密后得到的信息与所述第三信息摘要是否相同;
[0069]所述第三数字签名验证成功,具体包括:
[0070]所述第三数字签名解密后得到的信息与所述第三信息摘要相同。
[0071]结合第二方面,以及第二方面的第一至第二种可能的实现方式,在第三种可能的实现方式中,根据所述资源服务器的第二密钥生成所述客户端的第二密钥,具体包括:
[0072]根据所述资源服务器的第二密钥生成的所述客户端的第二密钥符合如下规则:
[0073]k2 = B'a mod p
[0074]其中,所述k2为所述客户端的第二密钥,所述B为所述资源服务器的第二密钥,所述a为所述客户端的第三密钥,所述P为素数。
[0075]结合第二方面,以及第二方面的第一至第三种可能的实现方式,在第四种可能的实现方式中,对所述第四数字签名进行验证,具体包括:
[0076]根据哈希算法对所述资源服务器的第二密钥和所述客户端的第一密钥生成第四信息摘要;
[0077]使用所述资源服务器的公钥对第四数字签名解密,并比较将所述第四数字签名解密后得到的信息与所述第四信息摘要是否相同;
[0078]所述第四数字签名验证成功,具体包括:
[0079]所述第四数字签名解密后得到的信息与所述第四信息摘要相同。
[0080]结合第二方面,以及第二方面的第一至第四种可能的实现方式,在第五种可能的实现方式中,接收所述第三数字签名、所述资源服务器的第二密钥,及所述第四数
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1