CN104092551B - 一种基于rsa算法的安全密钥传输方法 - Google Patents
一种基于rsa算法的安全密钥传输方法 Download PDFInfo
- Publication number
- CN104092551B CN104092551B CN201410354214.9A CN201410354214A CN104092551B CN 104092551 B CN104092551 B CN 104092551B CN 201410354214 A CN201410354214 A CN 201410354214A CN 104092551 B CN104092551 B CN 104092551B
- Authority
- CN
- China
- Prior art keywords
- server
- terminal
- key
- mod
- method based
- 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 40
- 230000005540 biological transmission Effects 0.000 title claims abstract description 28
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 239000006185 dispersion Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
Landscapes
- Storage Device Security (AREA)
Abstract
本发明提供一种基于RSA算法的安全密钥传输方法,该方法为:1、服务端的服务器生成RSA密钥对(N,e,d),并将N以明文发送给客户端的终端;2、终端生成两个随机数,所述两个随机数均保密不公开;3、所述终端的根密钥通过其中一个随机数进行加密处理,并将加密数据传输给服务器;4、所述服务器收到加密数据再进行加密后传输给终端;5、所述终端对服务器的再次加密数据通过另一个随机数进行解密处理后传输给服务器,再由服务器进行解密处理获得所述根密钥。本发明通过采用服务器和客户端交叉加解密的方法,实现根密钥的安全传输,数据安全性得到提高。
Description
技术领域
本发明涉及数据安全技术领域,尤其涉及一种基于RSA算法的安全密钥传输方法。
背景技术
数据安全是网路数据传输相关行业必须解决的问题,主要表现为两方面:数据完整性、数据真伪性。数据完整性需要解决的问题是数据是否被人为或者其他因素所修改,使得数据与原数据存在差异而失去可用性,例如由于传输误码导致的数据错误。数据真伪性需要解决的问题是数据的来源是否真实、可靠,其中数据的完整性并不存在问题。例如黑客在获取某个客户的交易数据后,以上一笔的交易数据或在此数据的基础上进行篡改发送给服务器以图骗取服务器的再次交易,该数据来源并非客户。因此要解决数据的完整性、真伪性的方法,就需要采用一定的加解密方法。
一般服务器与终端之间的数据加解密都需要采用一次一密,即不同交易的工作密钥是不相同的,而工作密钥由根密钥在随机数参与的前提下根据一定的算法,分散得到,因此根密钥成为安全的核心,一旦根密钥泄露,将可能导致工作密钥被计算出来,进而交易数据可被篡改、伪装而服务器并不知道。
根密钥一般是终端在出厂前就需要灌装的,由于在此之前,没有任何密钥,同时在向终端灌装密钥时,不能使用明文传输。目前解决该问题的办法为使用非对称加密算法,如RSA算法。具体方法为:服务器生成RSA密钥对,包括公钥(N,e)、私钥(N,d),然后终端将根密钥使用公钥加密后发送给服务器,服务器使用私钥解密得到根密钥明文。为了保证数据的真伪性,还需要验证真伪性的加解密方法。
上述方法是基于攻击者在知道公钥(N、e)的情况下,分解N并计算出d的难度非常大的事实基础以达到安全要求的,假如攻击者可以分解N并计算出d,那么他就可以通过截取传输的根密钥密文解密得到根密钥明文,然后可能在根密钥的基础上得到工作密钥进而进行非法交易,整个系统的安全性失去保障。
随着科技进步及相关研究、以及系统使用时间的推移,N是否可被分解,即N的有效安全时间是个未知数,即以此为基础的安全系统并没有百分之百安全。本专利申请将提出新的密钥传输方法,使得即使攻击者分解出N,也无法计算出d,也无法获取根密钥明文,进而提升系统的安全性。其中保证数据真伪性的方法,需要做相同的处理。
现有技术中公开了一种“数据加密传输方法及系统”,公开号为:102333093A,公开日为:2012-01-25的中国专利,所述方法包括:A.服务器动态生成数据加密算法DES密钥,并用来自客户端动态生成的RSA公钥为所述DES密钥加密,生成RSA加密密文;B.客户端将接收到的RSA加密密文解密,获取DES密钥;C.利用ZLIB算法对服务器和客户端之间传送的报文进行压缩,并且用DES密钥对压缩后的报文进行加密处理。在该发明中,采用了RSA与DES加密算法相结合的方法,用DES算法为报文进行加密,同时用RSA算法为DES密钥进行加密,从而结合了DES算法加解密速度快的优势和RSA算法安全性高的优势,并且用ZLIB算法为报文压缩,实现了安全高效的数据加密传输。但该发明的加密的安全性不够高,且本申请文件的安全密钥传输方式并未用到两种算法的结合加密。
发明内容
本发明要解决的技术问题,在于提供一种基于RSA算法的安全密钥传输方法,实现根密钥的安全传输,数据安全性得到提高。
本发明是这样实现的:一种基于RSA算法的安全密钥传输方法,包括如下步骤:
步骤1、服务端的服务器生成RSA密钥对(N,e,d),并将N以明文发送给客户端的终端;
步骤2、终端生成两个随机数,所述两个随机数均保密不公开;
步骤3、所述终端的根密钥通过其中一个随机数进行加密处理,并将加密数据传输给服务器;
步骤4、所述服务器收到加密数据再进行加密后传输给终端;
步骤5、所述终端对服务器的再次加密数据通过另一个随机数进行解密处理后传输给服务器,再由服务器进行解密处理获得所述根密钥。
进一步地,所述步骤1具体为:服务端的服务器生成RSA密钥对,密钥对包括(N,e,d),其中N为明文,将明文N发送给客户端的终端,即公开N,密钥参数e,d保密不公开。
进一步地,所述步骤3具体为:定义两个随机数分别为Rn1、Rn2;将终端的根密钥记为Rk,要求Rk小于N,终端进行计算加密,即Rk^Rn1modN=Rk1;(Rk+Rk^(Rn1*Rn2))mod N=P;终端将Rk1、P传输给服务器。
进一步地,所述步骤4具体为:所述服务器收到加密数据再进行加密为:Rk1^e modN=Rk2;并将Rk2传输给终端。
进一步地,所述步骤5具体为:所述终端对服务器的再次加密数据进行解密处理:Rk2^Rn2mod N=Rk3,并将Rk3发送给服务器;服务器进行解密Rk3^d mod N=Rk4,(P-Rk4)mod N=Rk0,此时Rk0即为根密钥Rk。
本发明具有如下优点:本发明基于RSA算法,通过增加随机数运算,使得在传输根密钥的问题上,安全性得到提升。本发明通过终端加密、服务器加密、终端解密、服务器解密这种交叉加解密的方法,以达到根密钥的安全传输。
附图说明
图1为本发明方法流程示意图。
具体实施方式
请参阅图1所示,一种基于RSA算法的安全密钥传输方法,包括如下步骤:
步骤1、服务端的服务器生成RSA密钥对(N,e,d),并将N以明文发送给客户端的终端;所述步骤1具体为:服务端的服务器生成RSA密钥对,密钥对包括(N,e,d),其中N为明文,将明文N发送给客户端的终端,即公开N,密钥参数e,d保密不公开;
步骤2、终端生成两个随机数,所述两个随机数均保密不公开;
步骤3、所述终端的根密钥通过其中一个随机数进行加密处理,并将加密数据传输给服务器;所述步骤3具体为:定义两个随机数分别为Rn1、Rn2;将终端的根密钥记为Rk,要求Rk小于N,终端进行计算加密,即Rk^Rn1mod N=Rk1;(Rk+Rk^(Rn1*Rn2))mod N=P;终端将Rk1、P传输给服务器;
步骤4、所述服务器收到加密数据再进行加密后传输给终端;所述步骤4具体为:所述服务器收到加密数据再进行加密为:Rk1^e mod N=Rk2;并将Rk2传输给终端;
步骤5、所述终端对服务器的再次加密数据通过另一个随机数进行解密处理后传输给服务器,再由服务器进行解密处理获得所述根密钥。所述步骤5具体为:所述终端对服务器的再次加密数据进行解密处理:Rk2^Rn2modN=Rk3,并将Rk3发送给服务器;服务器进行解密Rk3^d mod N=Rk4,(P-Rk4)mod N=Rk0,此时Rk0即为根密钥Rk。
以上方法,传输过程仅公开N,而服务器的d、e和终端的Rn1、Rn2各自保密,即使N被分解,攻击者也无法得知d、e,同时也不知道Rn1、Rn2,因此不能计算出根密钥。其中,本发明以根密钥为例进行阐述,如有必要,在传输普通密钥或者其他数据时,采用此方法也是可行的。
这里值得一提的是:
由于以上方法中,使用的幂模运算并非RSA算法,因此,本专利给出服务器最终得到的Rk0=Rk的证明如下:
Rk4=Rk3^d mod N
=((Rk2^Rn2)mod N)^d mod N
=(Rk2^(Rn2*d))mod N
=((Rk1^e mod N)^(Rn2*d))mod N
=(Rk1^(e*Rn2*d))mod N
=((Rk1^(e*d)mod N)^Rn2)mod N
=Rk1^Rn2modN
=(Rk^Rn1mod N)^Rn2mod N
=Rk^(Rn1*Rn2)mod N
Rk0=(P-Rk4)mod N
=((Rk+Rk^(Rn1*Rn2))mod N-Rk^(Rn1*Rn2)mod N)mod N
=Rk mod N
=Rk
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
Claims (5)
1.一种基于RSA算法的安全密钥传输方法,其特征在于,包括如下步骤:
步骤1、服务端的服务器生成RSA密钥对(N,e,d),并将N以明文发送给客户端的终端;
步骤2、终端生成两个随机数,所述两个随机数均保密不公开;
步骤3、所述终端的根密钥通过其中一个随机数进行加密处理,并将加密数据传输给服务器;
步骤4、所述服务器收到加密数据再进行加密后传输给终端;
步骤5、所述终端对服务器的再次加密数据通过另一个随机数进行解密处理后传输给服务器,再由服务器进行解密处理获得所述根密钥。
2.根据权利要求1所述的一种基于RSA算法的安全密钥传输方法,其特征在于:所述步骤1具体为:服务端的服务器生成RSA密钥对,密钥对包括:N,e,d,其中N为明文,将明文N发送给客户端的终端,即公开N,密钥参数e,d保密不公开。
3.根据权利要求2所述的一种基于RSA算法的安全密钥传输方法,其特征在于:所述步骤3具体为:定义两个随机数分别为Rn1、Rn2;将终端的根密钥记为Rk,要求Rk小于N,终端进行计算加密,即Rk^Rn1 mod N=Rk1;(Rk+Rk^(Rn1*Rn2))mod N=P;终端将Rk1、P传输给服务器。
4.根据权利要求3所述的一种基于RSA算法的安全密钥传输方法,其特征在于:所述步骤4具体为:所述服务器收到加密数据再进行加密为:Rk1^e mod N=Rk2;并将Rk2传输给终端。
5.根据权利要求4所述的一种基于RSA算法的安全密钥传输方法,其特征在于:所述步骤5具体为:所述终端对服务器的再次加密数据进行解密处理:Rk2^Rn2 mod N=Rk3,并将Rk3发送给服务器;服务器进行解密Rk3^d mod N=Rk4,(P-Rk4)mod N=Rk0,此时Rk0即为根密钥Rk。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410354214.9A CN104092551B (zh) | 2014-07-24 | 2014-07-24 | 一种基于rsa算法的安全密钥传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410354214.9A CN104092551B (zh) | 2014-07-24 | 2014-07-24 | 一种基于rsa算法的安全密钥传输方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104092551A CN104092551A (zh) | 2014-10-08 |
CN104092551B true CN104092551B (zh) | 2017-04-12 |
Family
ID=51640233
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410354214.9A Expired - Fee Related CN104092551B (zh) | 2014-07-24 | 2014-07-24 | 一种基于rsa算法的安全密钥传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104092551B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105204962B (zh) * | 2015-09-25 | 2019-04-12 | 北京金山安全软件有限公司 | 一种数据备份方法、装置及服务器 |
CN108418679B (zh) * | 2017-02-10 | 2021-06-29 | 阿里巴巴集团控股有限公司 | 一种多数据中心下处理密钥的方法、装置及电子设备 |
CN107276756A (zh) * | 2017-07-27 | 2017-10-20 | 深圳市金立通信设备有限公司 | 一种获取根密钥的方法及服务器 |
CN110912710B (zh) * | 2019-12-09 | 2022-04-01 | 上海创能国瑞数据系统有限公司 | 数据及算法的传输方法 |
CN112311528B (zh) * | 2020-10-17 | 2023-06-23 | 深圳市德卡科技股份有限公司 | 一种基于国密算法的数据安全传输方法 |
CN112511549B (zh) * | 2020-12-03 | 2023-03-31 | 珠海格力电器股份有限公司 | 一种数据传输方法、装置、设备和计算机可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101969640A (zh) * | 2010-11-15 | 2011-02-09 | 成都信息工程学院 | 一种用于移动终端设备的计算密钥生成方法 |
CN102333093A (zh) * | 2011-09-28 | 2012-01-25 | 深圳市赛格导航科技股份有限公司 | 一种数据加密传输方法及系统 |
CN103051664A (zh) * | 2012-08-14 | 2013-04-17 | 深圳市朗科科技股份有限公司 | 一种云存储系统的文件管理方法、装置及该云存储系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009296190A (ja) * | 2008-06-04 | 2009-12-17 | Panasonic Corp | 秘匿通信方法 |
-
2014
- 2014-07-24 CN CN201410354214.9A patent/CN104092551B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101969640A (zh) * | 2010-11-15 | 2011-02-09 | 成都信息工程学院 | 一种用于移动终端设备的计算密钥生成方法 |
CN102333093A (zh) * | 2011-09-28 | 2012-01-25 | 深圳市赛格导航科技股份有限公司 | 一种数据加密传输方法及系统 |
CN103051664A (zh) * | 2012-08-14 | 2013-04-17 | 深圳市朗科科技股份有限公司 | 一种云存储系统的文件管理方法、装置及该云存储系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104092551A (zh) | 2014-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107196763B (zh) | Sm2算法协同签名及解密方法、装置与系统 | |
CN104092551B (zh) | 一种基于rsa算法的安全密钥传输方法 | |
CN104219228B (zh) | 一种用户注册、用户识别方法及系统 | |
CN110535868A (zh) | 基于混合加密算法的数据传输方法及系统 | |
CN109034796B (zh) | 基于联盟链的交易监管方法、电子装置及可读存储介质 | |
CN108259407B (zh) | 一种基于时间戳的对称加密方法及系统 | |
CN102394749B (zh) | 数据传输的线路保护方法、系统、信息安全设备及应用设备 | |
CN103986583A (zh) | 一种动态加密方法及其加密通信系统 | |
CN104901935A (zh) | 一种基于cpk的双向认证及数据交互安全保护方法 | |
CN106534079A (zh) | 一种用于数据文件安全处理的方法及系统 | |
CN102387152A (zh) | 一种基于预设密钥的对称加密通信方法 | |
CN108199847B (zh) | 数字安全处理方法、计算机设备及存储介质 | |
CN109005027B (zh) | 一种随机数据加解密法、装置及系统 | |
CN110753321A (zh) | 一种车载tbox与云服务器的安全通信方法 | |
CN103581175A (zh) | 一种安全的数据聚合方法 | |
CN101286849A (zh) | 基于约定算法的第三方认证系统和方法 | |
CN103051869A (zh) | 一种摄像头视频实时加密系统及加密方法 | |
JP2022521525A (ja) | データを検証するための暗号方法 | |
CN105959648B (zh) | 一种加密方法、装置及视频监控系统 | |
CN109068322A (zh) | 解密方法、系统、移动终端、服务器及存储介质 | |
CN104901803A (zh) | 一种基于cpk标识认证技术的数据交互安全保护方法 | |
CN106161472A (zh) | 一种数据加密的方法、装置及系统 | |
WO2023160420A1 (zh) | 群组消息加密方法、装置、设备和存储介质 | |
CN105791258A (zh) | 一种数据传输方法、终端及开放平台 | |
CN109005184A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170412 |
|
CF01 | Termination of patent right due to non-payment of annual fee |