CN100421372C - 一种安全发送传输密钥的方法 - Google Patents

一种安全发送传输密钥的方法 Download PDF

Info

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
Application number
CNB2003101038794A
Other languages
English (en)
Other versions
CN1620005A (zh
Inventor
郑志彬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CNB2003101038794A priority Critical patent/CN100421372C/zh
Publication of CN1620005A publication Critical patent/CN1620005A/zh
Application granted granted Critical
Publication of CN100421372C publication Critical patent/CN100421372C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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:
Kc = f 1 ( Ki , R 1 ) ⊕ master _ key - - - ( 1 )
并且,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:
rec _ key = f 1 ( Ki , R 1 ) ⊕ Kc = master _ key - - - ( 3 )
同时,利用所收到的随机数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:
Kc = MD 5 ( Ki , R 1 ) ⊕ master _ key - - - ( 7 )
并且,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:
rec _ key = MD 5 ( Ki , R 1 ) ⊕ Kc = master _ key - - - ( 9 )
同时,利用所收到的随机数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所述的方法,其特征在于,所述发送端为客户端或服务器端。
CNB2003101038794A 2003-11-18 2003-11-18 一种安全发送传输密钥的方法 Expired - Fee Related CN100421372C (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 海南格方网络安全有限公司 计算机安全认证智能密钥

Patent Citations (3)

* Cited by examiner, † Cited by third party
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