CN103209075A - 一种密码交换方法 - Google Patents
一种密码交换方法 Download PDFInfo
- Publication number
- CN103209075A CN103209075A CN2013100826360A CN201310082636A CN103209075A CN 103209075 A CN103209075 A CN 103209075A CN 2013100826360 A CN2013100826360 A CN 2013100826360A CN 201310082636 A CN201310082636 A CN 201310082636A CN 103209075 A CN103209075 A CN 103209075A
- Authority
- CN
- China
- Prior art keywords
- password
- signature
- pki
- private key
- key
- 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.)
- Pending
Links
Landscapes
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种密码交换方法,其方法的主要步骤是通信双方各自生成一定长度的随机串,然后用非对称加密算法对其加密并签名后发送给对方,通信双方分别解密对方的随机串并验证签名,并以双方的随机串异或值作为通信的会话密钥。本发明的密码交换方法实现简单,适用于各种环境下的通信。
Description
技术领域
本发明涉及通信以及通信加密技术。
背景技术
所谓会话密码是用单独的密钥对每一次单独的会话加密,它只会在一次特殊的应用中使用。于是通信双方每一次会话都要重新设定会话密码。会话密码如何到达通信双方的问题即为密码交换的问题。会话密码到达通信双方的方法称为密码交换方法。密码交换方法比较著名的是DH算法。后来DH算法被引入到椭圆曲线中,国家密码管理局规定的SM2椭圆曲线公钥算法中的密钥交换协议即为DH算法的变型。但这种算法非常复杂。
发明内容
本发明所要解决的问题是密码交换过于复杂的问题。
为解决上述问题,本发明采用的方案如下:
一种密码交换方法,包括装置A和B,其中,装置A包括私钥da,和装置B的公钥pb,装置B包括私钥db和装置A的公钥pa,da和pa构成非对称加密的密钥对,db和pb构成非对称加密的密钥对;所述的方法包括如下步骤:
S1:装置A生成长度为rlen的随机串r1;
S2:装置A生成消息E1||V1发送给装置B;其中E1是由装置B的公钥pb加密r1得到,V1由对r1签名得到;
S3:装置B用其自身的私钥db解密E1得到R1,并根据R1验证签名V1;
S4:装置B生成长度为rlen的随机串r2,得到会话密码D= R1⊕r2;
S5:装置B生成消息E2||V2发送给装置A;其中E2是由装置A的公钥pa加密r2得到,V2由对r2签名得到;
S6:装置A用其自身的私钥da解密E2得到R2,并根据R2验证签名V2;
S7:装置A计算会话密码C= r1⊕R2,并生成EC||VC发送给装置B;其中EC是由装置B的公钥pb加密C得到,VC由对C签名得到;
S8:装置B用其自身的私钥db解密EC得到C1,并根据C1验证签名VC;
S9:装置B比较C1和D,如果两者相同则密码交换成功,否则密码交换失败。
本发明的技术效果如下:
一个安全的密码交换方法主要需要防止中间人攻击。本发明由于采用了签名技术,使得中间人无法通过伪装的方法得到会话密码,因为在步骤S3和S6中包括了签名验证的步骤,假如中间人伪装,签名验证即无法通过。可见本发明的安全性由非对称加密算法本身和数字签名算法决定。本发明与其他密钥交换协议相比显得非常简单。
附图说明
图1是本发明装置A和B的交换流程图。
具体实施方式
下面对本发明做进一步详细描述:
假设有通信双方装置A和装置B。初始时,装置A会生成非对称加密的密钥对da和pa;装置B会生成非对称加密的密钥对db和pb;其中da和db分别是装置A和装置B的私钥;pa和pb是装置A和B的公钥;装置A能够得到装置B的公钥pb,装置B能够得到装置A的公钥pa。公钥pa和pb的传输无需加密;也就是允许第三人获得。上述的非对称加密算法可以采用RSA算法或者椭圆曲线算法,特别可以采用国家密码管理局规范的SM2椭圆曲线算法。
一、随机串的生成
步骤S1和S4中包括长度为rlen的随机串r1和r2生成过程,该随机串的生成由随机数发生器产生。由随机数发生器可以由国家密码管理局批准的随机串发生器。随机串r1和r2的长度决定了最终会话密钥的长度,一般为128位或256位,即16字节或32字节的长度。
二、加密、签名及交换
步骤S2、S5中包括了对随机串r1、r2加密并签名的过程:对随机串r1、r2加密后得到E1、E;对随机串r1、r2签名后得到V1、V2。装置A对随机串r1加密时采用装置B的公钥pb。装置B对随机串r2加密时采用装置A的公钥pa。加密算法可以采用国家密码管理局规范的SM2椭圆曲线公钥加密算法。签名算法可以采用国家密码管理局规范的SM2椭圆曲线数字签名算法。由装置A对随机串r1加密签名后得到E1和V1组合后发送给装置B。由装置B对随机串r2加密签名后得到E2和V2组合后发送给装置A。步骤S2的E1||V1、步骤S5的E2||V2中的“||”表示的是组合,即数字串的合并。
三、随机串的解密以及签名验证
步骤S3、S6中都包括了随机串解密和签名验证的过程。装置B用其自身的私钥db对E1解密后得到R1。装置A用其自身的私钥da对E2解密后得到R2。只要正常通信,R1等于r1,R2等于r2。验证签名可以防止中间第三人的伪装。数字签名的不可抵赖性使得装置B能够确认R1是由装置A发送的,装置A能够确认R2是由装置B发送的。假如中间第三人伪装的随机串,装置A和B通过签名验证拒绝继续交换密钥。
四、会话密钥的生成
步骤S4中装置B对E1解密后得到R1,加上自己生成的随机串r2即可以通过异或运算的方法得到会话密码D=R1⊕r2。步骤S7中装置A对E2解密后得到R2,加上自己生成的随机串r1即可以通过异或运算的方法得到会话密码C=r1⊕R2。由于r1等于R1,r2等于R2,实际上会话密码C和D相等。
五、会话密钥的再次对比确认
通信双方中有一方是发起者,另一方是被动方。在本发明中装置A是发起者,装置B是被动方。装置A作为发起者得到会话密码C后发送给装置B,装置B作为被动方则检查双方的会话密码是否相等,即判断会话密码C和D是否相等。当装置A发送会话密码C至装置B时,同样包括公钥加密和签名的过程,即步骤S7:装置A将EC||VC发送至装置B,其中EC是由装置A用装置B公钥pb对C加密后得到,VC由装置A对C数字签名后得到。而装置B接收时同样包括私钥解密和签名验证的过程。即步骤S8:装置B对EC根据其自身的私钥db解密后得到C1,然后根据C1验证数字签名VC。装置A对C的加密及签名参见前述的步骤S2。装置B对解密以及签名验证过程参见步骤S3。
只要正常通信C1等于C,则如果交换双方未出现异常情况则有C1等于D。装置B签名验证通过后,即有了C1和D比较的步骤,如果两者不等,密码交换失败。
上述过程可以详见图1的AB双方交换流程,其中左边为装置A所做的操作,右边为装置B所做的操作。
Claims (1)
1.一种密码交换方法,包括装置A和装置B,其中,装置A包括私钥da,和装置B的公钥pb,装置B包括私钥db和装置A的公钥pa,da和pa构成非对称加密的密钥对,db和pb构成非对称加密的密钥对;所述的方法包括如下步骤:
S1:装置A生成长度为rlen的随机串r1;
S2:装置A生成消息E1||V1发送给装置B;其中E1是由装置B的公钥pb加密r1得到,V1由对r1签名得到;
S3:装置B用其自身的私钥db解密E1得到R1,并根据R1验证签名V1;
S4:装置B生成长度为rlen的随机串r2,得到会话密码D= R1⊕r2;
S5:装置B生成消息E2||V2发送给装置A;其中E2是由装置A的公钥pa加密r2得到,V2由对r2签名得到;
S6:装置A用其自身的私钥da解密E2得到R2,并根据R2验证签名V2;
S7:装置A计算会话密码C= r1⊕R2,并生成EC||VC发送给装置B;其中EC是由装置B的公钥pb加密C得到,VC由对C签名得到;
S8:装置B用其自身的私钥db解密EC得到C1,并根据C1验证签名VC;
S9:装置B比较C1和D,如果两者相同则密码交换成功,否则密码交换失败。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013100826360A CN103209075A (zh) | 2013-03-15 | 2013-03-15 | 一种密码交换方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013100826360A CN103209075A (zh) | 2013-03-15 | 2013-03-15 | 一种密码交换方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103209075A true CN103209075A (zh) | 2013-07-17 |
Family
ID=48756168
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2013100826360A Pending CN103209075A (zh) | 2013-03-15 | 2013-03-15 | 一种密码交换方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103209075A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104954124A (zh) * | 2014-03-28 | 2015-09-30 | 华为技术有限公司 | 加密和解密数据处理方法、装置和系统 |
CN106161363A (zh) * | 2015-04-03 | 2016-11-23 | 上海庆科信息技术有限公司 | 一种ssl连接建立的方法及系统 |
WO2017032242A1 (zh) * | 2015-08-26 | 2017-03-02 | 阿里巴巴集团控股有限公司 | 密钥生成方法及装置 |
CN106685989A (zh) * | 2017-02-07 | 2017-05-17 | 杭州秘猿科技有限公司 | 一种基于许可链支持监管的隐私通信方法 |
CN106713237A (zh) * | 2015-11-16 | 2017-05-24 | 厦门雅迅网络股份有限公司 | 一种车载终端与中心平台通信的加密方法 |
TWI724091B (zh) * | 2017-01-19 | 2021-04-11 | 香港商阿里巴巴集團服務有限公司 | 金鑰產生方法及裝置 |
CN112804051A (zh) * | 2019-11-13 | 2021-05-14 | 联合汽车电子有限公司 | 会话密钥生成方法及密钥注入工具 |
CN113301561A (zh) * | 2021-05-25 | 2021-08-24 | 深圳新闻网传媒股份有限公司 | 一种保护在线交互信息完整性的方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060294386A1 (en) * | 2005-06-28 | 2006-12-28 | Microsoft Corporation | Strengthening secure hash functions |
CN200962604Y (zh) * | 2006-09-14 | 2007-10-17 | 北京科东电力控制系统有限责任公司 | 电力专用纵向加密认证网关设备 |
CN101378320A (zh) * | 2008-09-27 | 2009-03-04 | 北京数字太和科技有限责任公司 | 一种认证方法和认证系统 |
-
2013
- 2013-03-15 CN CN2013100826360A patent/CN103209075A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060294386A1 (en) * | 2005-06-28 | 2006-12-28 | Microsoft Corporation | Strengthening secure hash functions |
CN200962604Y (zh) * | 2006-09-14 | 2007-10-17 | 北京科东电力控制系统有限责任公司 | 电力专用纵向加密认证网关设备 |
CN101378320A (zh) * | 2008-09-27 | 2009-03-04 | 北京数字太和科技有限责任公司 | 一种认证方法和认证系统 |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104954124A (zh) * | 2014-03-28 | 2015-09-30 | 华为技术有限公司 | 加密和解密数据处理方法、装置和系统 |
CN104954124B (zh) * | 2014-03-28 | 2018-02-23 | 华为技术有限公司 | 加密和解密数据处理方法、装置和系统 |
CN106161363A (zh) * | 2015-04-03 | 2016-11-23 | 上海庆科信息技术有限公司 | 一种ssl连接建立的方法及系统 |
CN106161363B (zh) * | 2015-04-03 | 2020-04-17 | 阿里云计算有限公司 | 一种ssl连接建立的方法及系统 |
US11463243B2 (en) | 2015-08-26 | 2022-10-04 | Alibaba Group Holding Limited | Key generation method and apparatus using double encryption |
WO2017032242A1 (zh) * | 2015-08-26 | 2017-03-02 | 阿里巴巴集团控股有限公司 | 密钥生成方法及装置 |
CN106487749A (zh) * | 2015-08-26 | 2017-03-08 | 阿里巴巴集团控股有限公司 | 密钥生成方法及装置 |
US10693634B2 (en) | 2015-08-26 | 2020-06-23 | Alibaba Group Holding Limited | Key generation method and apparatus using double encryption |
CN106487749B (zh) * | 2015-08-26 | 2021-02-19 | 阿里巴巴集团控股有限公司 | 密钥生成方法及装置 |
CN106713237A (zh) * | 2015-11-16 | 2017-05-24 | 厦门雅迅网络股份有限公司 | 一种车载终端与中心平台通信的加密方法 |
CN106713237B (zh) * | 2015-11-16 | 2021-03-23 | 厦门雅迅网络股份有限公司 | 一种车载终端与中心平台通信的加密方法 |
TWI724091B (zh) * | 2017-01-19 | 2021-04-11 | 香港商阿里巴巴集團服務有限公司 | 金鑰產生方法及裝置 |
CN106685989A (zh) * | 2017-02-07 | 2017-05-17 | 杭州秘猿科技有限公司 | 一种基于许可链支持监管的隐私通信方法 |
CN112804051A (zh) * | 2019-11-13 | 2021-05-14 | 联合汽车电子有限公司 | 会话密钥生成方法及密钥注入工具 |
CN112804051B (zh) * | 2019-11-13 | 2023-03-31 | 联合汽车电子有限公司 | 会话密钥生成方法及密钥注入工具 |
CN113301561A (zh) * | 2021-05-25 | 2021-08-24 | 深圳新闻网传媒股份有限公司 | 一种保护在线交互信息完整性的方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103209075A (zh) | 一种密码交换方法 | |
CN107124274B (zh) | 基于sm2的数字签名方法和装置 | |
CN103138938B (zh) | 基于csp的sm2证书申请及应用方法 | |
CN104767612B (zh) | 一种从无证书环境到公钥基础设施环境的签密方法 | |
CN109584978A (zh) | 基于签名聚合医疗健康监控网络模型信息处理方法及系统 | |
CN104052601B (zh) | 一种密钥隔离签密方法 | |
CN102387152A (zh) | 一种基于预设密钥的对称加密通信方法 | |
JP2013539295A (ja) | メッセージ復元を伴うデジタル署名の認証された暗号化 | |
CN102970144B (zh) | 基于身份的认证方法 | |
CN107566128A (zh) | 一种两方分布式sm9数字签名生成方法与系统 | |
CN102111273B (zh) | 一种基于预共享的电力负荷管理系统数据安全传输方法 | |
CN104767611B (zh) | 一种从公钥基础设施环境到无证书环境的签密方法 | |
CN106713349B (zh) | 一种能抵抗选择密文攻击的群组间代理重加密方法 | |
CN110113150A (zh) | 基于无证书环境的可否认认证的加密方法和系统 | |
CN113285959A (zh) | 一种邮件加密方法、解密方法及加解密系统 | |
CN109873699A (zh) | 一种可撤销的身份公钥加密方法 | |
CN103179514A (zh) | 一种敏感信息的手机安全群分发方法和装置 | |
CN105915345B (zh) | 一种家庭网关设备生产测试中授权生产和改制的实现方法 | |
CN107659405B (zh) | 一种变电站主子站间数据通信的加密解密方法 | |
CN109587149A (zh) | 一种数据的安全通信方法及装置 | |
CN108933659B (zh) | 一种智能电网的身份验证系统及验证方法 | |
CN103269272A (zh) | 一种基于短期证书的密钥封装方法 | |
CN104320249A (zh) | 一种基于身份的抗弹性泄漏加密方法和系统 | |
CN110149205A (zh) | 一种利于区块链保护物联网终端的方法 | |
CN105871541A (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 | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20130717 |