CN100421372C - 一种安全发送传输密钥的方法 - Google Patents
一种安全发送传输密钥的方法 Download PDFInfo
- Publication number
- CN100421372C CN100421372C CNB2003101038794A CN200310103879A CN100421372C CN 100421372 C CN100421372 C CN 100421372C CN B2003101038794 A CNB2003101038794 A CN B2003101038794A CN 200310103879 A CN200310103879 A CN 200310103879A CN 100421372 C CN100421372 C CN 100421372C
- Authority
- CN
- China
- Prior art keywords
- key
- random number
- received
- word
- master
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种安全发送传输密钥的方法,预先在通信双方分别设置共享密钥,该方法包括:发送端生成随机数R1,然后利用所生成的随机数R1、共享密钥、要发送的传输密钥以及选定的加密算法生成加密密钥Kc,并计算出自身的摘要字;发送端将携带有计算出的摘要字、所生成的随机数R1和加密密钥Kc的信息发送给接收端;接收端收到信息后,先根据共享密钥、收到的随机数R1、加密密钥Kc以及选定的加密算法,获得传输密钥;并计算出自身的签名字,然后判断计算出的签名字与所收到的摘要字是否一致,如果是,则所收到信息为正确信息;否则,所收到信息为错误信息。该方法不仅能使两个实体间的密钥保密传输,而且能保证实体间相互的身份认证。
Description
技术领域
本发明涉及数据安全传输技术,特别是指在客户端-服务器框架下一种安全发送传输密钥的方法。
背景技术
在各种通信系统尤其是移动通信系统中,为了确保用户间信息的安全保密性,安全通信的实现是非常重要的,这就需要对所传输的数据进行加密保护,进而就需要在传输数据的实体之间确定并传输加密的密钥。在一些客户端-服务器(C-S,Client-Server)框架的应用中,会涉及到唯双方的密钥传输。例如:在无线局域网(WLAN)系统中,接入控制器(AC)和接入点(AP)之间的密钥传输、AP和终端(STA)之间的密钥传输都属于Client-Server框架下的密钥传输,这里,可将一方作为Client,另一方作为Server。无论是STA与AP还是AP与AC之间,如果不进行安全保护,就会存在安全隐患。因此,当双方传输密钥时,就需要对传输的密钥信息进行保护,同时也需要对双方的身份进行认证,以保证是在合法用户之间进行相互的密钥传输。
目前,在进行数据加密传输的任意两个实体之间,只是在建网时通过人工方式分别设置了对称密钥,而没有采用密钥传输机制。两个实体之间要传送保密信息时,一端使用所设置的密钥加密,而另一端使用相同的密钥解密,一次单向的消息传递完成保密信息传送的过程。但这种方式只能进行简单的保密信息传送,传递保密信息的两端不能进行相互认证,从而无法抵御中间人的攻击。
发明内容
有鉴于此,本发明的主要目的在于提供一种安全发送传输密钥的方法,使其能保证两个实体间的密钥保密传输。
本发明进一步的目的是保证两个实体间能够实现相互的身份认证。
为达到上述目的,本发明的技术方案是这样实现的:
一种安全发送传输密钥的方法,预先在通信双方分别设置共享密钥Ki,该方法进一步包括:
a.发送端生成随机数R1,然后利用所生成的随机数R1、共享密钥Ki、要发送的传输密钥master_key以及选定的加密算法生成加密密钥Kc,并计算出自身的摘要字;
b.发送端将携带有步骤a计算出的摘要字、所生成的随机数R1和加密密钥Kc的信息发送给接收端;
c.接收端收到步骤b所发送的信息后,先根据共享密钥Ki、收到的随机数R1、加密密钥Kc以及选定的加密算法,获得传输密钥master_key;并计算出自身的签名字,然后判断计算出的签名字与所收到的摘要字是否一致,如果是,则所收到信息为正确信息;否则,所收到信息为错误信息。
其中,步骤a中所述摘要字根据随机数R1、加密密钥Kc、要发送的传输密钥master_key以及选定的签名字算法计算得出。
该方法还进一步包括:
d.接收端随机生成一个随机数R2,并计算出用于认证的摘要字R2-R,然后将所生成的随机数R2和计算出的摘要字R2-R发给发送端;
e.发送端根据接收到的随机数R2、自身生成的加密密钥Kc、选定的签名算法f2以及要发送的传输密钥master_key,计算出自身使用的签名字,然后判断计算出的签名字与所收到的摘要字R2-R是否相等,如果相等,则认证通过对端为合法方,否则,对端为非法方,结束当前认证流程;
f.发送端根据接收到的随机数R2、共享密钥Ki和选定的签名算法f2计算用于认证的摘要字R2_digt,并将该摘要字R2_digt发送给接收端;
g.接收端根据自身生成的随机数R2、共享密钥Ki以及选定的签名算法f2计算出自身使用的签名字,然后判断计算出的签名字与所收到的摘要字R2-R是否相等,如果相等,则认证通过端端为合法方,否则,对端为非法方。
其中,步骤d所述摘要字根据共享密钥Ki、接收端生成的随机数R2、发送端生成的随机数R1以及选定的签名字算法计算得出;或者根据共享密钥Ki、接收端生成的随机数R2、要发送的传输密钥master_key以及选定的签名字算法计算得出;或是根据共享密钥Ki、接收端生成的随机数R2、发送端生成的随机数R1、要发送的传输密钥master_key以及选定的签名字算法计算得出。
上述方案中,所述选定的加密算法为MD5算法。所述选定的签名算法为MD5算法。所述发送端为客户端,或为服务器端。
因此,本发明所提供的安全发送传输密钥的方法,两个通信实体之间必须预先共享一个密钥,利用该预共享密钥可解决C-S框架下实体间密钥的保密传输问题。本发明通过双方的随机数以及共享密钥作为签名算法的参数,使两个通信实体间能够互相确认对方的身份,并能安全的完成传输密钥传递的过程。
本发明可将进行对方身份确认的过程作为可选流程,如果不进行对方身份确认,则本发明安全传输密钥的处理流程简单易行,且节省Server端的资源;如果进行对方身份确认,则本发明将身份认证过程和密钥安全传输过程结合在一起进行,使相互的身份认证和密钥的安全传输两个过程协同工作,可保证在满足安全需求条件下有最少的传输流程。
附图说明
图1为本发明方法的一实现流程示意图;
图2为本发明方法的另一实现流程示意图。
具体实施方式
下面结合附图及具体实施例对本发明再作进一步详细的说明。
本发明的基本思想是:利用预共享密钥,一端将所拥有的传输密钥master_key安全的传输给另一端。具体地说就是:在Client端和Server端共享一个密钥Ki;要发送传输密钥master_key的一端生成随机数R,并利用共享密钥Ki、所生成的随机数R、选定的加密算法f1和签名算法f2以及要发送的传输密钥master_key,计算出实际发送的加密密钥和摘要字;接收传输密钥的一端根据所收到的摘要字、随机数、加密密钥以及共享密钥Ki,得到真正的传输密钥master_key,并同时计算出签名字以验证信息的正确性。
这里,所述共享密钥Ki通常被预先安全保存在Client端和Server端,一般该共享密钥采用物理存放方式,且在写入后任何人都不可能读取到。所述要发送的传输密钥master_key可以通过多种途径获取,比如:由随机数产生,或是预先设定。
所述选定的加密算法f1和签名算法f2可采用任意现有的算法,Client端和Server端应分别保留至少一套密钥生成算法和数字签名算法,且要求双方至少有一套相同的密钥生成算法和数字签名算法,Client端和Server端采用双方预先共同选定的加密算法和签名算法进行相应的计算。
所述要发送传输密钥master_key的一端可以是Client端,也可以是Server端。以下仅以Client端发送传输密钥master_key,Server端接收为例。
如图1所示,本发明安全发送传输密钥的方法包括以下步骤:
步骤101:Client端要发送自身拥有的传输密钥master_key,则Client端先随机生成一个随机数R1,然后利用共享密钥Ki、所生成的随机数R1、选定的加密算法f1,按照公式(1)产生出传输密钥master_key的加密密钥Kc:
并且,Client端根据所生成的随机数R1、选定的签名算法f2、计算出的加密密钥Kc,按照公式(2)计算自身当前使用的摘要字Digt:
Digt=f2(R1,Kc,master_key) (2)
步骤102:Client端向Server端发送携带有随机数R1、加密密钥Kc以及摘要字Digt的信息{R1,Kc,Digt}。
步骤103:Server端收到该信息后,根据自身存储的共享密钥Ki、所收到的随机数R1和加密密钥Kc、选定的加密算法f1,按照公式(3)计算出接收密钥rec_key,即传输密钥master_key:
同时,利用所收到的随机数R1和加密密钥Kc、选定的签名算法f2以及计算出的接收密钥rec_key,按照公式(4)计算出自身使用的签名字Rec_Digt:
Rec_Digt=f2(R1,Kc,rec_key) (4)
步骤104:Server端判断自身计算出的签名字Rec_Digt是否与所接收到的摘要字Digt相同,如果相同,即Rec_Digt=Digt,则说明发送过来的信息是个正确的信息。如果不相同,则说明发送的信息错误,结束当前流程或是通知对端重新发送。
为了防止非法方可能的复制攻击,实现双方相互的身份认证,可选择增加步骤105~107,如图2所示。
步骤105:Server端随机生成一个随机数R2,然后根据公式(5)计算用于认证的摘要字R2-R:
R2-R=f2(Ki,R2,R1,master_key) (5)
之后,Server端将信息{R2,R2-R}发送给Client端。
这里,在计算摘要字R2-R时,公式(5)中的参数R1和master_key可以全使用,也可以只选择R1、master_key其中之一。
步骤106:Client端验证R2-R正确,则认为传输密钥master_key已正确发送给Server端。具体的认证过程是:Client端根据接收到的R2、自身生成的加密密钥Kc、选定的签名算法f2以及要发送的传输密钥master_key,计算出自身使用的签名字,然后判断计算出的签名字与所收到的摘要字R2-R是否相等,如果相等,说明Server端已正确接收传输密钥master_key,且说明认证通过Server端为合法方;否则,说明Server端为非法方,结束当前流程。
Client端确认Server端已正确接收传输密钥master_key后,根据公式(6)计算用于认证的摘要字R2_digt:
R2_digt=f2(Ki,R2) (6)
步骤107:Client端发送带有摘要字R2_digt的数字信息给Server端,Server端通过验证所收到的、带有摘要字R2_digt的消息,可以确定第一条消息是Client端发送的消息,从而实现双方的身份确认。具体的验证过程是:Server端根据自身生成的随机数R2、共享密钥Ki以及选定的签名算法f2计算出自身使用的签名字,然后判断计算出的签名字与所收到的摘要字R2-R是否相等,如果相等,说明认证通过Client端为合法方;否则,说明Server端为非法方。
如果不进行双方身份的确认,Server端就可以省略R2的生成,如此可节省Server端的资源。
在上述方案中,传输密钥master_key的值可以根据需要随时更新或周期性地更新,产生方法也是设定或由随机数生成等等,但安全传输过程与上述步骤完全相同,只是其中用到的传输密钥master_key值不同。
以AC为Client端,AP为Server端为例进一步说明,在本实施例中,AC、AP之间所选定的加密算法f1和签名算法f2均为MD5算法,AC要将传输密钥master_key发送给AP,实现过程是:
1)AC先随机生成一个随机数R1,然后利用共享密钥Ki、所生成的随机数R1、选定的加密算法MD5,按照公式(7)产生出传输密钥master_key的加密密钥Kc:
并且,AC根据所生成的随机数R1、选定的签名算法MD5、计算出的加密密钥Kc,按照公式(8)计算摘要字Digt:
Digt=MD5(R1,Kc,master_key) (8)
2)AC向AP发送携带有随机数R1、加密密钥Kc以及摘要字Digt的信息{R1,Kc,Digt}。
3)AP收到该信息后,根据自身存储的共享密钥Ki、所收到的随机数R1和加密密钥Kc、选定的加密算法MD5,按照公式(9)计算出接收密钥rec_key,即传输密钥master_key:
同时,利用所收到的随机数R1和加密密钥Kc、选定的签名算法f2以及计算出的接收密钥rec_key,按照公式(10)计算出自身的签名字Rec_Digt:
Rec_Digt=MD5(R1,Kc,rec_key) (10)
4)AP判断自身计算出的签名字Rec_Digt是否与所接收到的摘要字Digt相同,如果相同,即Rec_Digt=Digt,则说明发送过来的信息是个正确的信息。如果不相同,则说明发送的信息错误,结束当前流程或是通知对端重新发送。
然后,AP随机生成一个随机数R2,并根据公式(11)计算用于认证的摘要字R2-R:
R2-R=MD5(Ki,R2,R1,master_key) (11)
5)AP将信息{R2,R2-R}发送给AC,AC验证R2-R正确,则可以认为master_key已正确发送给AP。
之后,AC计算用于认证的摘要字,并将计算出的签名字数字信息发送给AP,AP通过验证所收到消息可确定第一条消息是由AC发送的消息,如此即可实现身份确认,有效防止非法方可能的复制攻击。
其中,所述AC或AP端的验证具体是:AC或AP计算自身使用的签名字,并比较计算出的签名字与所收到的摘要字,如果相同,则说明认证通过,对方为合法方;否则,说明认证失败,对方为非法方。
在上述过程中,AC可随时或周期性地更新传输密钥master_key值,但安全传输过程与上述步骤完全相同。
以上描述的方案,可适用于任意的C-S架构,总之,以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (3)
1. 一种安全发送传输密钥的方法,预先在通信双方分别设置共享密钥Ki,其特征在于,该方法进一步包括:
a.发送端生成随机数R1,然后利用所生成的随机数R1、共享密钥Ki、要发送的传输密钥master_key以及选定的加密算法生成加密密钥Kc,并根据随机数R1、加密密钥Kc、要发送的传输密钥master_key以及选定的签名算法计算出自身的摘要字;
b.发送端将携带有步骤a计算出的摘要字、所生成的随机数R1和加密密钥Kc的信息发送给接收端;
c.接收端收到步骤b所发送的信息后,先根据共享密钥Ki、收到的随机数R1、加密密钥Kc以及所述的选定加密算法,获得传输密钥master_key;并根据随机数R1、加密密钥Kc、传输密钥master_key以及所述选定的签名算法计算出自身的签名字,然后判断计算出的签名字与所收到的摘要字是否一致,如果是,则所收到信息为正确信息;否则,所收到信息为错误信息。
2. 根据权利要求1所述的方法,其特征在于,所述选定的签名算法为MD5算法。
3. 根据权利要求1所述的方法,其特征在于,所述发送端为客户端或服务器端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2003101038794A CN100421372C (zh) | 2003-11-18 | 2003-11-18 | 一种安全发送传输密钥的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2003101038794A CN100421372C (zh) | 2003-11-18 | 2003-11-18 | 一种安全发送传输密钥的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1620005A CN1620005A (zh) | 2005-05-25 |
CN100421372C true CN100421372C (zh) | 2008-09-24 |
Family
ID=34756825
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2003101038794A Expired - Fee Related CN100421372C (zh) | 2003-11-18 | 2003-11-18 | 一种安全发送传输密钥的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100421372C (zh) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1905436B (zh) * | 2005-07-28 | 2010-05-05 | 北京航空航天大学 | 保证数据交换安全的方法 |
CN101401465B (zh) * | 2006-01-24 | 2010-11-03 | 英国电讯有限公司 | 用于在移动网络中进行递归认证的方法和系统 |
GB2446199A (en) | 2006-12-01 | 2008-08-06 | David Irvine | Secure, decentralised and anonymous peer-to-peer network |
CN101196973B (zh) * | 2006-12-04 | 2011-01-05 | 华为技术有限公司 | 一种数字版权保护方法及其系统 |
CN101203025B (zh) * | 2006-12-15 | 2010-11-10 | 上海晨兴电子科技有限公司 | 安全的移动信息发送和接收方法 |
CN101631017B (zh) * | 2008-07-14 | 2012-11-28 | 索尼株式会社 | 信息处理设备以及信息处理系统 |
CN102075327B (zh) * | 2010-12-21 | 2013-04-24 | 北京握奇数据系统有限公司 | 一种实现电子钥匙解锁的方法、装置及系统 |
CN103107977A (zh) * | 2011-11-10 | 2013-05-15 | 中兴通讯股份有限公司 | 信息安全传输方法、系统及接入服务节点 |
CN102742250B (zh) * | 2012-03-13 | 2015-01-28 | 华为终端有限公司 | 基于传输层安全的密钥传递方法、智能抄表终端及服务器 |
CN103870768A (zh) * | 2012-12-13 | 2014-06-18 | 北京计算机技术及应用研究所 | 磁盘阵列与计算机或存储介质之间的认证方法及系统 |
US9467283B2 (en) | 2013-06-24 | 2016-10-11 | Blackberry Limited | Securing method for lawful interception |
EP2854332A1 (en) * | 2013-09-27 | 2015-04-01 | Gemalto SA | Method for securing over-the-air communication between a mobile application and a gateway |
CN104980269A (zh) * | 2014-04-03 | 2015-10-14 | 华为技术有限公司 | 密钥共享方法、装置与系统 |
DK2955871T3 (en) * | 2014-06-12 | 2017-05-01 | Nagravision Sa | Cryptographic method for securely exchanging messages and apparatus and system for performing this method |
CN105763331A (zh) * | 2014-12-19 | 2016-07-13 | 北大方正集团有限公司 | 一种数据加密方法和数据解密方法及装置 |
CN105323060A (zh) * | 2015-11-05 | 2016-02-10 | 同济大学 | 基于联合信道和用户识别码实现安全通信的加密方法 |
CN105512520B (zh) * | 2015-12-02 | 2020-09-11 | 厦门雅迅网络股份有限公司 | 一种反克隆的车载系统及其工作方法 |
CN105959279A (zh) * | 2016-04-29 | 2016-09-21 | 大连理工大学 | 一种基于加密处理的计算机信息传输系统及方法 |
CN108183795A (zh) * | 2017-12-29 | 2018-06-19 | 新开普电子股份有限公司 | 一卡通密钥管理方法 |
CN109446752B (zh) * | 2018-12-13 | 2021-07-13 | 苏州科达科技股份有限公司 | 版权文件管理方法、系统、设备及存储介质 |
CN111935712A (zh) * | 2020-07-31 | 2020-11-13 | 深圳市燃气集团股份有限公司 | 一种基于NB-IoT通信的数据传输方法、系统及介质 |
CN112118223B (zh) * | 2020-08-11 | 2023-06-20 | 北京智芯微电子科技有限公司 | 主站与终端的认证方法、主站、终端及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5987129A (en) * | 1996-02-21 | 1999-11-16 | Card Call Service Co., Ltd. | Method of sharing cryptokey |
US6094487A (en) * | 1998-03-04 | 2000-07-25 | At&T Corporation | Apparatus and method for encryption key generation |
CN1338841A (zh) * | 2000-08-11 | 2002-03-06 | 海南格方网络安全有限公司 | 计算机安全认证智能密钥 |
-
2003
- 2003-11-18 CN CNB2003101038794A patent/CN100421372C/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5987129A (en) * | 1996-02-21 | 1999-11-16 | Card Call Service Co., Ltd. | Method of sharing cryptokey |
US6094487A (en) * | 1998-03-04 | 2000-07-25 | At&T Corporation | Apparatus and method for encryption key generation |
CN1338841A (zh) * | 2000-08-11 | 2002-03-06 | 海南格方网络安全有限公司 | 计算机安全认证智能密钥 |
Also Published As
Publication number | Publication date |
---|---|
CN1620005A (zh) | 2005-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100421372C (zh) | 一种安全发送传输密钥的方法 | |
CN108270571B (zh) | 基于区块链的物联网身份认证系统及其方法 | |
CN1964258B (zh) | 用于安全装置发现及引入的方法 | |
CN101917270B (zh) | 一种基于对称密码的弱认证和密钥协商方法 | |
CN107978047B (zh) | 使用密码开锁的方法、装置和系统 | |
CN1689297B (zh) | 使用密钥基防止未经授权分发和使用电子密钥的方法 | |
CN100558035C (zh) | 一种双向认证方法及系统 | |
CN101272616B (zh) | 一种无线城域网的安全接入方法 | |
CN101212293B (zh) | 一种身份认证方法及系统 | |
CN101272301B (zh) | 一种无线城域网的安全接入方法 | |
CN103338448A (zh) | 一种基于量子密钥分发的无线局域网安全通信方法 | |
CN100456884C (zh) | 无线通信系统中的重认证方法 | |
CN101499908A (zh) | 一种身份认证及共享密钥产生方法 | |
CN109474419A (zh) | 一种活体人像照片加密、解密方法及加解密系统 | |
JP2020530726A (ja) | サプライチェーン資産管理を保護するアプリケーションを有する遠隔サーバへのnfcタグ認証 | |
CN105323754A (zh) | 一种基于预共享密钥的分布式鉴权方法 | |
CN111147257A (zh) | 身份认证和信息保密的方法、监控中心和远程终端单元 | |
CN101192927B (zh) | 基于身份保密的授权与多重认证方法 | |
CN105612728A (zh) | 隐含共享密钥的安全数据通道鉴权 | |
CN111416712B (zh) | 基于多个移动设备的量子保密通信身份认证系统及方法 | |
CN101510238B (zh) | 一种文档库安全访问方法及系统 | |
CN101277186B (zh) | 利用非对称密钥算法实现外部认证的方法 | |
CN101296077B (zh) | 一种基于总线型拓扑结构的身份认证系统 | |
CN106559743A (zh) | 融合指纹识别与nfc技术的wlan认证方法 | |
CN110808827A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080924 Termination date: 20131118 |