CN1260664C - 一种用户计算机之间交换密钥的方法 - Google Patents
一种用户计算机之间交换密钥的方法 Download PDFInfo
- Publication number
- CN1260664C CN1260664C CN 03128074 CN03128074A CN1260664C CN 1260664 C CN1260664 C CN 1260664C CN 03128074 CN03128074 CN 03128074 CN 03128074 A CN03128074 A CN 03128074A CN 1260664 C CN1260664 C CN 1260664C
- Authority
- CN
- China
- Prior art keywords
- key
- intermediate value
- communication
- keys
- communication message
- 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
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000004891 communication Methods 0.000 claims abstract description 58
- 238000012795 verification Methods 0.000 claims abstract description 10
- 239000000284 extract Substances 0.000 claims 3
- 230000005540 biological transmission Effects 0.000 abstract description 2
- 230000009897 systematic effect Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明涉及一种用户计算机之间交换密钥的方法,其通信的双方为A和B,他们分别私钥和公钥并存放在可信第三方认证中心,①A产生一个随机数K为交换的密钥,A从认证中心处获取B的公钥,计算中间值R=k×PKB,其中k为一个随机整数,然后用自己的私钥进行数字签名,并发送给B;②B用从认证中心处获取A的公钥和数字签名验证算法对其的真实性和完整性进行验证,再用自己的私钥计算,即可获得由A交换的密钥K。本发明的优点在于:没有握手过程,发送者可以利用对方公钥,只需要一次数据发送过程即可直接完成快捷的密钥交换任务。本发明安全性很高,而且操作简单、高效,能够应用于计算机、通信网络、智能卡、手机等各种软硬件环境中。
Description
技术领域
本发明属于信息安全领域中密钥交换管理技术,具体地讲是一种用户计算机之间交换密钥的方法。
背景技术
在信息安全系统中,密钥是合法访问的唯一凭证。在Kerckhoff密码安全性分析假设下,一个信息安全系统的安全性取决于对密钥本身的保护,而不是对系统或者通信硬件的安全保护。在这一前提下,密码体制和算法本身可以被公开,访问策略可以公布,密码设备可能丢失,但信息安全系统仍然可以继续正常运转,不受影响。但是,密钥一旦泄漏,则安全系统将被破坏:不但合法用户不能访问系统、提取信息,而且系统中的信息将会被非法用户所窃取,危害到整个系统的安全。由此可见,安全的密钥管理方法在通信系统的安全中是十分关键和极其重要的。它不仅影响着系统的安全性,而且还将涉及系统的可靠性、有效性和经济性等内容。密钥交换方法(Key Distribution)是这样一种机制:通信的一方先选择一个秘密的会话密钥,然后将它传送给通信的另一参与方,从而实现在系统中的不同成员之间实现密钥安全传送。
传统的的密钥交换方法是通过邮递、信使或者专用保密信道传送密钥。密钥可用打印、穿孔纸带或数字形式记录。这类方法一般可以保证密钥传送的及时性,而其安全性则完全取决于信使的忠诚和素质或者专用信道的安全性,因而使用和维护的成本极高。
目前,网络通信中已经出现了一些基于某一类数学难题的密钥交换方法,它们具有计算安全性,足以应付在可预见的一段时期内的各种安全需求,与传统密钥交换方法相比,这类基于某一数学难题的密钥交换方法简单经济,方便实用,具有很强的生命力。
目前已经出现的密钥交换方法有Blom方法、Diffie-Hellman方法、MQV方法和Kerboros方法等几种方法。
其中,Blom方法基于线性空间的不可逆问题,具有可证明的安全性,但其会话密钥固定,需要专用的安全保密信道,因此很不实用;Diffie-Hellman方法基于有限乘法群上的离散对数问题DLP,具有计算安全性,但由于其会话密钥固定,故难以抵抗“中间人”攻击,具有安全性问题;MQV方法基于椭圆曲线有限群上的离散对数问题ECDLP,具有较好的计算安全性,并被列入IEEE组织制定的国际标准(IEEE 1363-2000),但其步骤繁琐,操作复杂,需要两个密钥对,以及两次握手和身份鉴别过程,数据通信量较大,通信成本较高。Kerboros 5方法能够在线为每个用户交换新的临时会话密钥,是目前比较普及的密钥交换方法之一,但由于该方法需要完全的同步时钟及专用时戳服务器,以确保临时会话密钥的新鲜性(Key Freshness),因而在实际实施过程中是非常困难的,甚至于是不可行的。
所有这些密钥交换方法所存在的问题,都使得密钥交换的成本大大增加,过于复杂的密码交换方法还会留下许多难于觉察的安全隐患。
发明内容
本发明的目的是提供一种基于Abel有限群上离散对数问题的求解困难性,通过引入可信第三方权威认证机构,实现一种简单实用的高效用户计算机之间密钥交换方法。
为了实现上述目的,本发明的方法是:
通信的双方为A和B,他们的私钥分别为SKA和SKB,公钥分别为PKA和PKB,并存放在可信第三方认证中心CA处;
由A(B)负责产生密钥,并向通信方B(A)交换该密钥,则本发明的操作步骤如下:
①A(B)产生一个随机数k来生成交换的密钥K,A(B)从认证中心CA处获取B(A)的公钥PKB(PKA),计算中间值R=k×PKB,其中k为一个随机整数,然后用自己的私钥SKA对中间值R进行数字签名,并发送给B(A);
②B(A)对于从A(B)处收到的中间值R,用从认证中心CA处获取A(B)的公钥PKA(PKB)和数字签名验证算法对中间值R的真实性和完整性进行验证,最后再用自己的私钥SKB计算,即可获得由A(B)交换的密钥K。
本发明的优点在于:没有握手过程,发送者可以利用对方公钥,只需要一次数据发送过程即可直接完成快捷的密钥交换任务。与之前的各种类似方法相比,该协议无需繁琐的身份鉴别认证,也不需要引入时戳服务器,能够抵抗各种已知的攻击方法,安全性很高,而且操作简单、高效,能够应用于计算机、通信网络、智能卡、手机等各种软硬件环境中。
附图说明
附图为本发明密钥交换过程的图形示意图。
具体实施方式
下面结合附图及实施例对本发明作进一步的说明。但下述实施例不应理解为对本发明的限制。
本发明的具体过程如下:
设通信的双方为A和B。设他们的私钥分别为SKA和SKB,公钥分别为PKA和PKB,并存放在可信第三方认证中心。其中,PK=SK-1×G,G为所选公钥密码参数的基点。
现假设由A负责产生密钥,并向通信方B交换该密钥。则本发明的操作步骤如下:
①A随机选择一整数k,则交换的密钥为K=KG;A从认证中心CA处获取B的公钥PKB,计算中间值R=k×PKB,然后用自己的私钥SKA对中间值R进行数字签名,得通讯报文S=SigA(R),并将通讯报文S发送给B;
②B对于从A处收到的通讯报文S,首先从通讯报文S中析出中间值R,然后用从认证中心CA处获取A的公钥PKA和数字签名验证算法对中间值R的真实性和完整性进行验证,最后再用自己的私钥SKB计算交换的密钥K=SKB×R,即可获得由A交换的密钥K。
实施例1:
有限乘法群上的实施方式:
系统参数:随机选定大素数p,生成元g为一个小于p的正整数。私钥SKA和SKB为小于p-1的随机正整数。则公钥PKA和PKB按如下方式得到:
密钥交换过程:
a)A随机选择小于p-1的正整数k,则交换密钥为K=gkmodp;A从认证中心CA处获取B的公钥PKB,计算中间值R=(PKB)kmodp,然后用自己的私钥SKA对中间值R进行数字签名,得通讯报文S=SigA(R),并将通讯报文S发送给B;
b)B对于从A处收到的通讯报文S,首先从通讯报文S中析出中间值R,然后用从认证中心CA处获取A的公钥PKA和数字签名验证算法对中间值R的真实性和完整性进行验证,最后再用自己的私钥SKB计算交换密钥
即可获得由A交换的密钥K。
实施例2
椭圆曲线有限群上的实施方式:
系统参数:随机选定大素数p,椭圆曲线E(GF(p)):y2=x3+ax+b(modp)是定义在有限域GF(p)上的一条安全椭圆曲线,其上随机选取的基点为G,设n=#E(GF(p))是椭圆曲线E的阶,r是n的一个大素数因子。私钥SKA和SKB为小于r-1的随机正整数。则公钥PKA和PKB按如下方式得到:
密钥交换过程:
a)A随机选择一整数k∈[1,r-1],则交换密钥为K=k×G;并从认证中心CA处获取B的公钥PKB,计算中间值R=k×PKB,然后用自己的私钥SKA对中间值R进行数字签名,得通讯报文S=SigA(R),并将通讯报文S发送给B;
b)B对于从A处收到的通讯报文S,首先从通讯报文S中析出中间值R,然后用从认证中心CA处获取A的公钥PKA和数字签名验证算法对中间值R的真实性和完整性进行验证,最后再用自己的私钥SKB计算交换密钥K=SKB×R,即可获得由A交换的密钥K。
实施例3
超椭圆曲线有限群上的实施方式:
系统参数:随机选定大素数p,超椭圆曲线C:y2+h(x)y=f(x)modp是定义在有限域GF(p)上的一条亏格为g的安全超椭圆曲线,其中f(x)是次数为2g+1的首一多项式,h(x)是次数至多为g的多项式。设该超椭圆曲线C的Jacobian群J(C;GF(p))的阶#J(C;GF(p))为n,r是n的一个大素数因子。在该超椭圆曲线C上随机选取基点GεJ(C;GF(p))。私钥SKA和SKB为小于r-1的随机正整数。则公钥PKA和PKB按如下方式得到:
密钥交换过程如下:
a)A随机选择一整数k∈[1,r-1],则交换密钥为K=kG;并从认证中心CA处获取B的公钥PKB,计算中间值R=k×PKB,然后用自己的私钥SKA对中间值R进行数字签名,得通讯报文S=SigA(R),并将通讯报文S发送给B;
b)B对于从A处收到的通讯报文S,首先从通讯报文S中析出中间值R,然后用从认证中心CA处获取A的公钥PKA和数字签名验证算法对中间值R的真实性和完整性进行验证,最后再用自己的私钥SKB计算交换密钥K=SKB×R,即可获得由A交换的密钥K。
实施例4:
多方密钥交换:
当通信方不只两个时,这时的密钥交换机制将是:由其中的一个通信方产生密钥,并通过密钥交换协议将所产生的这个临时会话密钥分发给其余的通信方,使得所有的成员共享本次会议的临时密钥。显然,该模式实际上是由多个点对点密钥交换模式复合而成的。具体实施方式如下:
设由通信主体A负责产生和分发密钥,并称A为会议主席。会议的各参与会员为M1、M2、......Mn,记为Mi。他们的密钥对均根据PK=SK-1×G产生。现设会议主席的密钥对为(PKA,SKA),各会员的密钥对为(PKi,SKi),则工作过程如下:
a)会议主席A随机选择一整数k∈[1,r-1],则本次会议通信的待交换密钥为K=kG;
b)对于会议的各参与方M1、M2、......Mn,会议主席依次执行上述的密钥交换方法,向所有其它会员分发通讯报文Si=SigA(k×PKi)。
c)会员Mi在收到会议主席A发来的通讯报文Si后,验证A的数字签名,确保通讯报文Si的真实性和完整性,并用自己的私钥SKi计算交换密钥K=SKi×Ri,既可得出由会议主席A分发的本次会议通信密钥K=kG。
本说明书中未作详细描述的内容属于本领域技术人员公知的现有技术。
Claims (5)
1、一种用户计算机之间交换密钥的方法,其通信的双方为A和B,他们的私钥分别为SKA和SKB,公钥分别为PKA和PKB,并存放在可信第三方认证中心CA处;
由A负责产生密钥,并向通信方B交换该密钥,则该方法的操作步骤如下:
①A产生一个随机数k来生成交换的密钥K,A从认证中心CA处获取B的公钥PKB,计算中间值R=k×PKB,然后用自己的私钥SKA对中间值R进行数字签名,并发送给B;
②B对于从A处收到的中间值R,用从认证中心CA处获取A的公钥PKA和数字签名验证算法对中间值R的真实性和完整性进行验证,最后再用自己的私钥SKB计算,即可获得由A交换的密钥K。
2、如权利要求1所述的用户计算机之间交换密钥的方法,具体过程如下:
设通信的双方为A和B,设他们的私钥分别为SKA和SKB,公钥分别为PKA和PKB,并存放在可信第三方认证中心,其中,PKA=SKA -1×G,PKB=SKB -1×G,,G为所选公钥密码参数的基点,当由A负责产生密钥,并向通信方B交换该密钥,则该方法的操作步骤如下:
①A随机选择一整数k,则交换的密钥为K=k×G;A从认证中心CA处获取B的公钥PKB,计算中间值R=k×PKB,然后用自己的私钥SKA对中间值R进行数字签名,得通讯报文S=SigA(R),并将通讯报文S发送给B;
②B对于从A处收到的通讯报文S,首先从通讯报文S中析出中间值R,然后用从认证中心CA处获取A的公钥PKA和数字签名验证算法对中间值R的真实性和完整性进行验证,最后再用自己的私钥SKB计算交换的密钥K=SKB×R,即可获得由A交换的密钥K。
3、如权利要求1或2所述的用户计算机之间交换密钥的方法,具体过程如下:随机选定大素数p,椭圆曲线E(GF(p)):y2=x3+ax+b(modp)是定义在有限域GF(p)上的一条安全椭圆曲线,其上随机选取的基点为G,设n=#E(GF(p))是椭圆曲线E的阶,r是n的一个大素数因子,私钥SKA和SKB为小于r-1的随机正整数,则公钥PKA和PKB按如下方式得到:
密钥交换过程:
a)A随机选择一整数k∈[1,r-1],则交换密钥为K=k×G,并从认证中心CA处获取B的公钥PKB,计算中间值R=k×PKB,然后用自己的私钥SKA对中间值R进行数字签名,得通讯报文S=SigA(R),并将通讯报文S发送给B;
b)B对于从A处收到的通讯报文S,首先从通讯报文S中析出中间值R,然后用从认证中心CA处获取A的公钥PKA和数字签名验证算法对中间值R的真实性和完整性进行验证,最后再用自己的私钥SKB计算交换的密钥K=SKB×R,即可获得由A交换的密钥K。
4、如权利要求1或2所述的用户计算机之间交换密钥的方法,具体过程如下:随机选定大素数p,超椭圆曲线C:y2+h(x)y=f(x)modp是定义在有限域GF(p)上的一条亏格为g的安全超椭圆曲线,其中f(x)是次数为2g+1的首一多项式,h(x)是次数至多为g的多项式,设该超椭圆曲线C的Jacobian群J(C;GF(p))的阶#J(C;GF(p))为n,r是n的一个大素数因子,在该超椭圆曲线C上随机选取基点GεJ(C;GF(p)),私钥SKA和SKB为小于r-1的随机正整数,则公钥PKA和PKB按如下方式得到:
密钥交换过程如下:
a)A随机选择一整数k∈[1,r-1],则交换密钥为K=k×G,并从认证中心CA处获取B的公钥PKB,计算中间值R=k×PKB,然后用自己的私钥SKA对中间值R进行数字签名,得通讯报文S=SigA(R),并将通讯报文S发送给B;
b)B对于从A处收到的通讯报文S,首先从通讯报文S中析出中间值R,然后用从认证中心CA处获取A的公钥PKA和数字签名验证算法对中间值R的真实性和完整性进行验证,最后再用自己的私钥SKB计算交换的密钥K=SKB×R,即可获得由A交换的密钥K。
5、如权利要求2所述的用户计算机之间交换密钥的方法,具体过程如下:当通信方不只两个时,设由通信主体A负责产生和分发密钥,并称A为会议主席,会议的各参与会员为M1、M2、......Mn,记为Mi,他们的密钥对均根据PKi=SKi -1×G,产生,现设会议主席的密钥对为(PKA,SKA),各会员的密钥对为(PKi,SKi),则工作过程如下:
a)会议主席A随机选择一整数k∈[1,r-1],则本次会议通信的交换密钥为K=k×G;
b)对于会议的各参与方M1、M2、......Mn,会议主席依次向所有其它会员分发通讯报文Si=SigA(k×PKi);
c)会员Mi在收到会议主席A发来的通讯报文Si后,验证A的数字签名,确保通讯报文Si的真实性和完整性,并用自己的私钥SKi计算交换密钥K=SKi×Ri,既可得出由会议主席A分发的本次会议通信密钥K=k×G。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 03128074 CN1260664C (zh) | 2003-05-30 | 2003-05-30 | 一种用户计算机之间交换密钥的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 03128074 CN1260664C (zh) | 2003-05-30 | 2003-05-30 | 一种用户计算机之间交换密钥的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1456993A CN1456993A (zh) | 2003-11-19 |
CN1260664C true CN1260664C (zh) | 2006-06-21 |
Family
ID=29411677
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 03128074 Expired - Fee Related CN1260664C (zh) | 2003-05-30 | 2003-05-30 | 一种用户计算机之间交换密钥的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1260664C (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7900247B2 (en) * | 2005-03-14 | 2011-03-01 | Microsoft Corporation | Trusted third party authentication for web services |
JP4620669B2 (ja) * | 2005-04-18 | 2011-01-26 | パナソニック株式会社 | 署名生成装置、署名検証装置、それらの方法、および集積回路 |
CN1933395B (zh) * | 2005-09-15 | 2010-05-05 | 华为技术有限公司 | 业务使用实体和提供实体通信密钥协商方法、系统及装置 |
CN100437422C (zh) * | 2005-12-20 | 2008-11-26 | 李代甫 | 软件使用权加密保护的系统和方法 |
CN101102190A (zh) | 2006-07-04 | 2008-01-09 | 华为技术有限公司 | 生成本地接口密钥的方法 |
CN101282216B (zh) * | 2007-04-02 | 2011-01-05 | 中国科学院研究生院 | 带隐私保护的基于口令认证的三方密钥交换方法 |
US20080253562A1 (en) * | 2007-04-12 | 2008-10-16 | Nokia Corporation | Handshake procedure |
CN101170554B (zh) * | 2007-09-04 | 2012-07-04 | 萨摩亚商·繁星科技有限公司 | 资讯安全传递系统 |
CN101150399B (zh) * | 2007-10-12 | 2011-01-19 | 四川长虹电器股份有限公司 | 共享密钥生成方法 |
WO2010046799A2 (en) * | 2008-10-20 | 2010-04-29 | Philips Intellectual Property & Standards Gmbh | Method of generating a cryptographic key, network and computer program therefor |
CN102111411A (zh) * | 2011-01-21 | 2011-06-29 | 南京信息工程大学 | P2p网络中对等用户结点间的加密安全数据交换方法 |
CN103490882B (zh) * | 2013-09-17 | 2016-10-05 | 华南理工大学 | 一种用于密钥交换的多变量公钥密码系统及生成方法 |
CN104820807B (zh) * | 2015-04-15 | 2018-01-23 | 四川量迅科技有限公司 | 一种智能卡数据处理方法 |
CN105763540B (zh) * | 2016-02-01 | 2018-10-12 | 上海凭安网络科技有限公司 | 一种保护双方身份隐私的数据通讯方法 |
-
2003
- 2003-05-30 CN CN 03128074 patent/CN1260664C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1456993A (zh) | 2003-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107579819B (zh) | 一种sm9数字签名生成方法及系统 | |
CN108667626B (zh) | 安全的两方协作sm2签名方法 | |
JP4545831B2 (ja) | データカード検証装置 | |
US7747865B2 (en) | Method and structure for challenge-response signatures and high-performance secure Diffie-Hellman protocols | |
US8520847B2 (en) | Split-key key-agreement protocol | |
CN108199835B (zh) | 一种多方联合私钥解密方法 | |
EP2533460B1 (en) | Digital signatures with implicit certificate chains | |
EP2533457B1 (en) | Secure implicit certificate chaining | |
CN109639439B (zh) | 一种基于两方协同的ecdsa数字签名方法 | |
CN1260664C (zh) | 一种用户计算机之间交换密钥的方法 | |
JPH08507619A (ja) | 低価格端末装置のための二方向公開キー確証およびキー一致 | |
US7908482B2 (en) | Key confirmed authenticated key exchange with derived ephemeral keys | |
CN111030821B (zh) | 一种基于双线性映射技术的联盟链的加密方法 | |
CN108234129A (zh) | 一种基于格密码的双向认证密钥协商方法与系统 | |
CN113055394A (zh) | 一种适用于v2g网络的多服务双因子认证方法及系统 | |
CN118984214B (zh) | 一种分布式抗量子数字签名方法及系统 | |
Bicakci et al. | Server assisted signatures revisited | |
Lei et al. | Generating digital signatures on mobile devices | |
CN101116281A (zh) | 询问-应答签名和安全迪菲-海尔曼协议 | |
CN114978488A (zh) | 一种基于sm2算法的协同签名方法及系统 | |
CN100350816C (zh) | 基于gsm网络实现无线身份认证和数据安全传输的方法 | |
CN112769539A (zh) | 一种生成rsa密钥并协同rsa签名和解密的方法及系统 | |
CN111680332A (zh) | 一种基于椭圆曲线的数字签名方法 | |
CN1455543A (zh) | 一种密钥的协定方法 | |
Hsu et al. | A dynamic identity end-to-end authentication key exchange protocol for IoT environments |
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: 20060621 Termination date: 20110530 |