CN1260664C - 一种用户计算机之间交换密钥的方法 - Google Patents

一种用户计算机之间交换密钥的方法 Download PDF

Info

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
pki
communication packet
communication
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
CN 03128074
Other languages
English (en)
Other versions
CN1456993A (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.)
Wuhan University of Technology WUT
Original Assignee
Wuhan University of Technology WUT
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 Wuhan University of Technology WUT filed Critical Wuhan University of Technology WUT
Priority to CN 03128074 priority Critical patent/CN1260664C/zh
Publication of CN1456993A publication Critical patent/CN1456993A/zh
Application granted granted Critical
Publication of CN1260664C publication Critical patent/CN1260664C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (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按如下方式得到:
P K A = g S K A - 1 mod p P K B = g S K B - 1 mod p
密钥交换过程:
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计算交换密钥 K = R S K B mod p , 即可获得由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按如下方式得到:
PK A = S K A - 1 × G P K B = S K B - 1 × G
密钥交换过程:
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按如下方式得到:
PK A = S K A - 1 × G P K B = S K B - 1 × G
密钥交换过程如下:
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按如下方式得到:
PK A = SK A - 1 × G PK B = SK B - 1 × G
密钥交换过程:
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按如下方式得到:
PK A = SK A - 1 × G PK B = SK B - 1 × G
密钥交换过程如下:
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。
CN 03128074 2003-05-30 2003-05-30 一种用户计算机之间交换密钥的方法 Expired - Fee Related CN1260664C (zh)

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)

* Cited by examiner, † Cited by third party
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
CN1954548B (zh) * 2005-04-18 2010-07-21 松下电器产业株式会社 签名生成装置及签名验证装置
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 四川长虹电器股份有限公司 共享密钥生成方法
CN102187615B (zh) * 2008-10-20 2014-02-26 皇家飞利浦电子股份有限公司 生成加密密钥的方法、网络
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 上海凭安网络科技有限公司 一种保护双方身份隐私的数据通讯方法

Also Published As

Publication number Publication date
CN1456993A (zh) 2003-11-19

Similar Documents

Publication Publication Date Title
CN108667626B (zh) 安全的两方协作sm2签名方法
CN110011802B (zh) 一种高效的sm9两方协同生成数字签名的方法及系统
US7908482B2 (en) Key confirmed authenticated key exchange with derived ephemeral keys
US7272226B2 (en) Split-key key-agreement protocol
EP2533460B1 (en) Digital signatures with implicit certificate chains
EP2533457B1 (en) Secure implicit certificate chaining
EP1805929B1 (en) Secure authenticated channel
CN1260664C (zh) 一种用户计算机之间交换密钥的方法
CN1922816B (zh) 单向认证
US8422670B2 (en) Password authentication method
CN1186580A (zh) 在用户计算机设备u和网络计算机设备n之间计算机辅助交换密钥的方法
CA2279462A1 (en) Data card verification system
CN100350816C (zh) 基于gsm网络实现无线身份认证和数据安全传输的方法
CN1277365C (zh) 一种高效快捷的公钥加密方法
CN108234129A (zh) 一种基于格密码的双向认证密钥协商方法与系统
CN113676333A (zh) 一种两方协作生成sm2盲签名方法
CN114826656A (zh) 一种数据链路可信传输方法和系统
CN105162585B (zh) 一种隐私保护的会话密钥协商方法
WO2014205571A1 (en) Signature protocol
Lei et al. Generating digital signatures on mobile devices
EP1906587A2 (en) Secure authenticated channel
CN114978488A (zh) 一种基于sm2算法的协同签名方法及系统
CN1455543A (zh) 一种密钥的协定方法
Youn et al. Signcryption with fast online signing and short signcryptext for secure and private mobile communication
Brown et al. A small subgroup attack on Arazi’s key agreement protocol

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