使用多重密钥的通信方法和通信系统技术方案

技术编号:22649456 阅读:28 留言:0更新日期:2019-11-26 18:02
本公开提供了一种使用多重密钥的通信方法,多重密钥包括主密钥、认证密钥和传输密钥,其中主密钥用于更新认证密钥和传输密钥。该通信方法包括:客户端和服务器端协商确定主密钥;客户端和服务器端使用主密钥分别产生认证信息,用于彼此验证;以及在验证通过后,客户端和服务器端协商产生认证密钥和传输密钥。本公开提供了一种多重密钥技术,其具有更安全的认证、密钥分发、密钥轮换、密钥存储机制,能够更好地保证通信安全。

Communication methods and systems using multiple keys

The present disclosure provides a communication method using multiple keys, including a master key, an authentication key, and a transmission key, wherein the master key is used to update the authentication key and the transmission key. The communication method includes: the client and the server negotiate to determine the master key; the client and the server use the master key to generate authentication information for mutual verification; and after the verification, the client and the server negotiate to generate the authentication key and the transmission key. The disclosure provides a multiple key technology, which has a more secure authentication, key distribution, key rotation, key storage mechanism, and can better ensure communication security.

【技术实现步骤摘要】
使用多重密钥的通信方法和通信系统
本公开涉及信息安全
,更具体地,涉及一种使用多重密钥的通信方法和通信系统。
技术介绍
随着科学技术的发展、网络的普及,人类社会不论生活还是工作都离不开各种基于网络的系统及应用。而在使用这些系统和应用过程,网络通信是否安全关乎个人、企业、政府等等的切身利益。当前各种基于网络通信的系统及应用在开发过程中,往往忽略或者加密机制和密钥管理措施简单,造成通信过程数据被窃取。现有技术的通常做法是直接使用HTTPS套件简单实现,或者基于SSL/TLS协议实现通信加密,包括如下步骤:步骤0:单向或者双向认证;步骤1:协商双方数据通信使用的对称加密密钥;步骤2:发起方使用加密密钥加密数据;步骤3:通过通信协议传输;步骤4:接收方使用加密密钥解密数据;步骤5:结束。这种加密方法的缺点是,通信过程使用单一的密钥管理架构来保证通信安全,且认证过程简单,安全性不高。
技术实现思路
有鉴于此,根据本公开的第一方面,提供了一种使用多重密钥的通信方法,所述多重密钥包括主密钥、认证密钥和传输密钥,所述通信方法包括:客户端和服务器端协商确定主密钥;客户端和服务器端使用主密钥分别产生认证信息,用于彼此验证;以及在验证通过后,客户端和服务器端协商产生认证密钥和传输密钥。在一个可能的实施例中,所述客户端和服务器端使用主密钥分别产生认证信息,用于彼此验证,具体包括客户端向服务器端发送密钥更新请求,所述密钥更新请求至少包括客户端随机数和客户端认证信息,其中所述客户端认证信息是使用主密钥对至少包括客户端随机数的数据进行加密运算而产生的;服务器端使用主密钥对所述至少包括客户端随机数的数据进行加密运算,并将加密运算结果与接收到的客户端认证信息进行比对验证;服务器端向客户端发送密钥更新响应消息,所述密钥更新响应消息至少包括服务器端随机数和服务器端认证信息,其中所述服务器端认证信息是使用所述主密钥对至少包括服务器端随机数的数据进行加密运算而产生的;以及客户端使用所述主密钥对所述至少包括服务器端随机数的数据进行加密运算,并将加密运算结果与接收到的服务器端认证信息进行比对验证。在一个可能的实施例中,所述客户端和服务器端协商产生认证密钥和传输密钥,具体可以包括使得在所述密钥更新请求中包括传输密钥随机数、认证密钥随机数和客户端密钥协商算法参数;服务器端使用接收到的所述客户端密钥协商算法参数计算出第一协商密钥,并且基于所述第一协商密钥和所述传输密钥随机数计算出传输密钥,基于所述第一协商密钥和所述认证密钥随机数计算出认证密钥;使得在所述密钥更新响应消息中包括服务器端密钥协商算法参数;客户端使用接收到的所述服务器端密钥协商算法参数计算出第二协商密钥,并且基于所述第二协商密钥和所述传输密钥随机数计算出传输密钥,基于所述第二协商密钥和所述认证密钥随机数计算出认证密钥。在一个可能的实施例中,所述方法还可以包括:客户端向服务器端发送使用所述认证密钥加密后的认证信息;以及客户端向服务器端发送使用所述传输密钥加密后的传输数据。在一个可能的实施例中,所述通信方法还可以包括经由注册中心来协商客户端和服务器端之间的初始主密钥、认证密钥和传输密钥,具体包括:服务器端向注册中心注册允许的客户端信息,注册信息至少包括客户端标识和验证数据,所述验证数据是使用个人识别码PIN对至少包括所述客户端标识的数据进行加密运算而产生的;注册中心向服务器端返回初始主密钥、认证密钥和传输密钥;服务器端通过可信渠道向客户端分发PIN;客户端向注册中心发起激活请求,激活请求至少包括客户端标识和加密数据,所述加密数据是使用PIN对至少包括所述客户端标识的数据进行加密运算而产生的;注册中心验证激活请求中的客户端标识和加密数据是否已经由服务器端注册过,若验证通过,向客户端发送初始主密钥、认证密钥和传输密钥。在一个可能的实施例中,,服务器端和客户端可以在连接到注册中心后,使用认证机构与注册中心相互验证,确保双方可信。在一个可能的实施例中,所述注册信息还可以包括:身份信息、过期时间、重试次数、加密数据ID,并且注册中心验证客户端的激活请求还包括验证过期时间和重试次数,并且在验证通过后还向客户端发送加密数据ID。在一个可能的实施例中,客户端的所述密钥更新请求还可以包括加密数据ID,并且所述客户端认证信息是使用主密钥对至少包括客户端随机数和所述加密数据ID的数据进行加密运算而产生的。在一个可能的实施例中,所述方法还可以包括使用分段密钥对数据包进行加密,所述分段密钥=传输密钥+数据包编号+随机数。在一个可能的实施例中,在以下任一情况下执行所述通信方法:客户端监测到任一密钥到期,主动触发密钥更新;服务器端监测到任一密钥到期,服务器端发送拒绝消息,触发客户端更新密钥;数据包编号超过设定值后,服务器端发送拒绝消息,触发客户端更新密钥;客户端认证失败,服务器端发送拒绝消息,触发客户端更新密钥;以及满足注册中心定义的密钥更新规则。在一个可能的实施例中,主密钥、认证密钥、传输密钥存储在客户端和服务器本地,所述方法可以包括:使用启动数据库存储用于解密密钥元数据数据库的数据,以及在密钥元数据库存储主密钥、认证密钥、传输密钥,其中启动数据库为加密数据库,其密钥产生方式为:PBKDF2(password,salt,repeat_count,hash_length),其中password内置在代码中,salt存储在客户端的引导文件中,repeat_count是重复迭代次数,hash_length是哈希长度,启动数据库的存储内容包括用户Key对应的salt、用户Key的SHA,密钥元数据库为加密数据库,其密钥产生方式为PBKDF2(password,salt,repeat_count,hash_length),其中,password为用户Key的SHA,salt为启动数据库存储的salt,repeat_count是重复迭代次数,hash_length是哈希长度。根据本公开的第二方面,提供了一种使用多重密钥的通信系统,所述多重密钥包括主密钥、认证密钥和传输密钥,所述通信系统包括客户端和服务器端,所述客户端和所述服务器端被配置为执行如第一方面所述的通信方法。根据本公开的第三方面,提供了一种计算机可读存储介质,包括指令,所述指令在被执行时实现如第一方面所述的通信方法。本公开提供使用一种多重密钥的技术,其具有更安全的认证、密钥分发、密钥轮换、密钥存储机制,能够更好地保证通信安全。附图说明图1示出了根据本专利技术实施例的多重密钥通信系统的示意框图;图2示出了根据本专利技术实施例的多重密钥通信的初始化过程的示意流程图;图3示出了根据本专利技术实施例的多重密钥通信的密钥更新过程的示意流程图;图4示出了根据本专利技术实施例的多重密钥存储本文档来自技高网...

【技术保护点】
1.一种使用多重密钥的通信方法,所述多重密钥包括主密钥、认证密钥和传输密钥,所述通信方法包括:/n客户端和服务器端协商确定主密钥;/n客户端和服务器端使用主密钥分别产生认证信息,用于彼此验证;以及/n在验证通过后,客户端和服务器端协商产生认证密钥和传输密钥。/n

【技术特征摘要】
1.一种使用多重密钥的通信方法,所述多重密钥包括主密钥、认证密钥和传输密钥,所述通信方法包括:
客户端和服务器端协商确定主密钥;
客户端和服务器端使用主密钥分别产生认证信息,用于彼此验证;以及
在验证通过后,客户端和服务器端协商产生认证密钥和传输密钥。


2.如权利要求1所述的通信方法,其中,所述客户端和服务器端使用主密钥分别产生认证信息,用于彼此验证,具体包括
客户端向服务器端发送密钥更新请求,所述密钥更新请求至少包括客户端随机数和客户端认证信息,其中所述客户端认证信息是使用主密钥对至少包括客户端随机数的数据进行加密运算而产生的;
服务器端使用主密钥对所述至少包括客户端随机数的数据进行加密运算,并将加密运算结果与接收到的客户端认证信息进行比对验证;
服务器端向客户端发送密钥更新响应消息,所述密钥更新响应消息至少包括服务器端随机数和服务器端认证信息,其中所述服务器端认证信息是使用所述主密钥对至少包括服务器端随机数的数据进行加密运算而产生的;以及
客户端使用所述主密钥对所述至少包括服务器端随机数的数据进行加密运算,并将加密运算结果与接收到的服务器端认证信息进行比对验证。


3.如权利要求2所述的通信方法,其中,所述客户端和服务器端协商产生认证密钥和传输密钥,具体包括
使得在所述密钥更新请求中包括传输密钥随机数、认证密钥随机数和客户端密钥协商算法参数;
服务器端使用接收到的所述客户端密钥协商算法参数计算出第一协商密钥,并且基于所述第一协商密钥和所述传输密钥随机数计算出传输密钥,基于所述第一协商密钥和所述认证密钥随机数计算出认证密钥;
使得在所述密钥更新响应消息中包括服务器端密钥协商算法参数;
客户端使用接收到的所述服务器端密钥协商算法参数计算出第二协商密钥,并且基于所述第二协商密钥和所述传输密钥随机数计算出传输密钥,基于所述第二协商密钥和所述认证密钥随机数计算出认证密钥。


4.如权利要求1所述的通信方法,所述通信方法还包括经由注册中心来协商客户端和服务器端之间的初始主密钥、认证密钥和传输密钥,具体包括:
服务器端向注册中心注册允许的客户端信息,注册信息至少包括客户端标识和验证数据,所述验证数据是使用个人识别码PIN对至少包括所述客户端标识的数据进行加密运算而产生的;
注册中心向服务器端返回初始主密钥、认证密钥和传输密钥;
服务器端通过可信渠道向客户端分发PIN;
客户端向注册中心发起激活请求,激活请求至少包括客户端标识和加密数据,所述加密数据是使用PIN对至少包括所...

【专利技术属性】
技术研发人员:孙振宝袁辉孟宪伟钱明
申请(专利权)人:北京风信科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1