CN104394179A - 支持国密算法的安全套接层协议扩展方法 - Google Patents
支持国密算法的安全套接层协议扩展方法 Download PDFInfo
- Publication number
- CN104394179A CN104394179A CN201410796479.4A CN201410796479A CN104394179A CN 104394179 A CN104394179 A CN 104394179A CN 201410796479 A CN201410796479 A CN 201410796479A CN 104394179 A CN104394179 A CN 104394179A
- Authority
- CN
- China
- Prior art keywords
- algorithm
- socket layer
- layer protocol
- secure socket
- state
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/16—Implementing security features at a particular protocol layer
- H04L63/166—Implementing security features at a particular protocol layer at the transport layer
Abstract
本发明公开了一种支持国密算法的安全套接层协议扩展方法,包括:在所述安全套接层协议的安全套接字扩展的源代码中添加支持国密算法的密码套件;为所述密码套件设置对应的参数与别名;建立实现所述国密算法的算法提供者;建立所述密码套件的别名与所述算法提供者的实现类的对应关系。本发明所提供的扩展方法不改变SSL协议的运行机制,不会带来额外的安全问题。采用支持国产密码算法的密码套件,使得SSL握手以及交互过程中能够使用国产密码算法,提高了网银的安全性能,对网银应用系统的自主性、产品安全以及整个系统的安全均具有重要意义。
Description
技术领域
本发明涉及网络安全技术领域,特别是涉及一种支持国密算法的安全套接层协议扩展方法。
背景技术
随着商业银行信息化的快速发展,网上银行应用系统快速普及。国家密码管理局为保障重要经济系统密码应用安全,要求公钥密码基础设施电子认证系统和密钥管理系统应使用国产密码算法。国产密码算法为在我国境内通用的商用密码算法,其包括标准对称算法SM1、基于椭圆曲线ECC的非对称加密算法SM2、数据摘要算法SM3以及分组对称块加密算法SM4等。
目前在不改变安全套接层(SSL)协议运行机制的前提下对其进行支持国产密码算法扩展的方案尚未形成,而通过改变SSL协议的运行机制对SSL协议的扩展,则有可能会产生额外的安全机制问题。因此,提供一种在不改变SSL协议的运行机制的前提下,能够使用国产密码的SSL协议扩展方法是非常有必要的。
发明内容
本发明的目的是提供一种支持国密算法的安全套接层协议扩展方法,目的在于解决现有SSL协议不支持国密算法的问题。
为解决上述技术问题,本发明提供一种支持国密算法的安全套接层协议扩展方法,包括:
在所述安全套接层协议的安全套接字扩展的源代码中添加支持国密算法的密码套件;
为所述密码套件设置对应的参数与别名;
建立实现所述国密算法的算法提供者;
建立所述密码套件的别名与所述算法提供者的实现类的对应关系。
可选地,所述在所述安全套接层协议的安全套接字扩展的源代码中添加支持国密算法的密码套件包括:
将国密算法SM3算法作为应用数据传输时对信息进行摘要处理的算法。
可选地,所述在所述安全套接层协议的安全套接字扩展的源代码中添加支持国密算法的密码套件包括:
将国密算法SM2作为所述安全套接层协议握手过程中的密钥交换和签名算法。
可选地,所述在所述安全套接层协议的安全套接字扩展的源代码中添加支持国密算法的密码套件包括:
将国密算法SM4作为所述安全套接层协议握手过程中以及握手结束后信息传输的加密算法。
可选地,为所述密码套件设置对应的参数与别名包括:
为所述密码套件设置摘要信息的长度以及将HmacSM3作为调用所述算法实现者的别名。
可选地,建立与所述密码套件中的别名相对应的算法提供者包括:
建立调用密码算法SM3所对应的实现类,产生实现HmacSM3的算法密钥,建立调用算法HmacSM3所对应的实现类,所述HmacSM3在SM3的基础上增加了密钥对信息的处理。
可选地,还包括:
将所述算法提供者及密码套件集成到应用服务器上。
本发明所提供的支持国密算法的安全套接层协议扩展方法,首先在所述安全套接层协议的安全套接字扩展的源代码中添加支持国密算法的密码套件,为所述密码套件设置对应的参数与别名,然后建立所述密码套件的别名与所述算法提供者的实现类的对应关系。可见,本发明所提供的扩展方法不会改变SSL协议的运行机制,不会带来额外的安全问题。采用支持国产密码算法的密码套件,使得SSL协议在握手以及交互过程中能够使用国产密码算法,提高了网银的安全性能,对网银应用系统的自主性、产品安全以及整个系统的安全均具有重要意义。
附图说明
图1为本发明所提供的支持国密算法的安全套接层协议扩展方法的一种具体实施方式的流程图;
图2为本发明所提供的支持国密算法的安全套接层协议扩展方法的另一种具体实施方式的流程图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明所提供的支持国密算法的安全套接层协议扩展方法的一种具体实施方式的流程图如图1所示,该方法包括:
步骤S101:在所述安全套接层(SSL)协议的安全套接字扩展(JSSE)的源代码中添加支持国密算法的密码套件;
步骤S102:为所述密码套件设置对应的参数与别名;
步骤S103:建立实现所述国密算法的算法提供者;
步骤S104:建立所述密码套件的别名与所述算法提供者的实现类的对应关系。
本发明所提供的支持国密算法的安全套接层协议扩展方法,首先在安全套接层协议的安全套接字扩展的源代码中添加支持国密算法的密码套件,为密码套件设置对应的参数与别名,然后建立密码套件的别名与算法提供者的实现类的对应关系。可见,本发明所提供的扩展方法不会改变SSL协议的运行机制,不会带来额外的安全问题。采用支持国产密码算法的密码套件,使得SSL协议在握手以及交互过程中能够使用国产密码算法,提高了网银的安全性能,对网银应用系统的自主性、产品安全以及整个系统的安全均具有重要意义。
本发明所提供的支持国密算法的安全套接层协议扩展方法的另一种具体实施方式的流程图如图2所示,该方法包括:
步骤S201:对JSSE进行改造,在所述安全套接层协议(SSL协议)的安全套接字扩展(JSSE)的源代码中添加支持国密算法的密码套件;
具体地,可通过在JSSE源码的CipherSuite类中添加一个密码套件,如SSL_RSA_WITH_RC4_128_SM3,将国密算法SM3算法作为应用数据传输时对信息进行摘要处理的算法。
作为一种优选实施方式,还可以将国密算法SM2作为所述安全套接层协议握手过程中的密钥交换和签名算法。
作为一种优选实施方式,还可以将国密算法SM4作为所述安全套接层协议握手过程中以及握手结束后信息传输的加密算法。
步骤S202:为所述密码套件设置对应的参数与别名;
在添加密码套件后,为所述密码套件设置摘要信息的长度以及将HmacSM3作为调用所述算法实现者的别名。
如通过static final MacAlg M_SM3=new MacAlg("SM3",32),可以设置新增密码套件的摘要信息的长度,并通过相应的判断else if(paramString.endsWith("_SM3"))this.macAlg=M_SM3,以及新增判断if(paramMacAlg==CipherSuite.M_SM3)str="HmacSM3",使得密码套件(新增的SSL_RSA_WITH_RC4_128_SM3)如果以_SM3结尾,就会去找别名HmacSM3,然后根据别名HmacSM3就会执行对应的算法提供者来实现这个算法从而完成加密过程。
步骤S203:建立实现所述国密算法的算法提供者;
首先,建立调用密码算法SM3所对应的实现类,然后产生实现HmacSM3的算法密钥,最后建立调用算法HmacSM3所对应的实现类。其中,HmacSM3是在SM3的基础上增加了密钥对信息的处理,比原来SM3的安全性更好。
步骤S204:建立所述密码套件的别名与所述算法提供者的实现类的对应关系;
建立密码套件的别名与算法提供者之间的对应关系具体可通过设置put("Mac.HmacSM3","com.cvicse.gm.provider.HmacSM3");)来实现,其中Mac.HmacSM3为该密码套件的别名,其对应的实现类为com.cvicse.gm.provider.HmacSM3。
步骤S205:将所述算法提供者及密码套件集成到应用服务器上。
将算法提供者安装在jre/lib/ext目录下,并把JSSE JAR包中的Mac类与CipherSuite类替换为改造后的类。具体地,可通过openjdk的源码找到对应的Mac类与CipherSuite类进行修改,然后编译成Mac.class文件和CipherSuite.class文件,再用360压缩把JAR包打开,用新生成的这两个.class文件替换原来的Mac.class文件和CipherSuite.class文件,这样就达到了修改JSSE源码的作用。
在客户端通过https访问服务器时,他们之间使用SSL协议进行信息加密传输,应用服务器可以选择SSL握手过程所使用的密码套件。本实施例通过对JSSE的改造,使SSL协议支持了包含国产密码算法的密码套件,同时为了保证国产密码算法套件的可用性,基于JCA/JCE框架开发了支持国密算法的算法提供者。
可见,本发明所提供的扩展方法不会改变SSL协议的运行机制,不会带来额外的安全问题。采用支持国产密码算法的密码套件,使得SSL协议在握手以及交互过程中能够使用国产密码算法,提高了网银的安全性能,对网银应用系统的自主性、产品安全以及整个系统的安全均具有重要意义。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (7)
1.一种支持国密算法的安全套接层协议扩展方法,其特征在于,包括:
在所述安全套接层协议的安全套接字扩展的源代码中添加支持国密算法的密码套件;
为所述密码套件设置对应的参数与别名;
建立实现所述国密算法的算法提供者;
建立所述密码套件的别名与所述算法提供者的实现类的对应关系。
2.如权利要求1所述的支持国密算法的安全套接层协议扩展方法,其特征在于,所述在所述安全套接层协议的安全套接字扩展的源代码中添加支持国密算法的密码套件包括:
将国密算法SM3算法作为应用数据传输时对信息进行摘要处理的算法。
3.如权利要求2所述的支持国密算法的安全套接层协议扩展方法,其特征在于,所述在所述安全套接层协议的安全套接字扩展的源代码中添加支持国密算法的密码套件包括:
将国密算法SM2作为所述安全套接层协议握手过程中的密钥交换和签名算法。
4.如权利要求2所述的支持国密算法的安全套接层协议扩展方法,其特征在于,所述在所述安全套接层协议的安全套接字扩展的源代码中添加支持国密算法的密码套件包括:
将国密算法SM4作为所述安全套接层协议握手过程中以及握手结束后信息传输的加密算法。
5.如权利要求2所述的支持国密算法的安全套接层协议扩展方法,其特征在于,为所述密码套件设置对应的参数与别名包括:
为所述密码套件设置摘要信息的长度以及将HmacSM3作为调用所述算法实现者的别名。
6.如权利要求5所述的支持国密算法的安全套接层协议扩展方法,其特征在于,建立与所述密码套件中的别名相对应的算法提供者包括:
建立调用密码算法SM3所对应的实现类,产生实现HmacSM3的算法密钥,建立调用算法HmacSM3所对应的实现类,所述HmacSM3在SM3的基础上增加了密钥对信息的处理。
7.如权利要求6所述的支持国密算法的安全套接层协议扩展方法,其特征在于,还包括:
将所述算法提供者及密码套件集成到应用服务器上。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410796479.4A CN104394179B (zh) | 2014-12-18 | 2014-12-18 | 支持国密算法的安全套接层协议扩展方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410796479.4A CN104394179B (zh) | 2014-12-18 | 2014-12-18 | 支持国密算法的安全套接层协议扩展方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104394179A true CN104394179A (zh) | 2015-03-04 |
CN104394179B CN104394179B (zh) | 2017-11-10 |
Family
ID=52612014
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410796479.4A Active CN104394179B (zh) | 2014-12-18 | 2014-12-18 | 支持国密算法的安全套接层协议扩展方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104394179B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105577657A (zh) * | 2015-12-18 | 2016-05-11 | 北京海泰方圆科技股份有限公司 | 一种ssl/tls算法套件的扩展方法 |
CN106101056A (zh) * | 2016-05-12 | 2016-11-09 | 山东渔翁信息技术股份有限公司 | 一种软件架构及让ie浏览器基于国密ssl协议通信的方法 |
CN106130738A (zh) * | 2016-08-25 | 2016-11-16 | 杭州天谷信息科技有限公司 | 一种支持国密算法的区块链系统 |
CN106656939A (zh) * | 2015-11-03 | 2017-05-10 | 华耀(中国)科技有限公司 | 国密ssl协议和标准ssl协议转发系统及方法 |
CN107888565A (zh) * | 2017-10-19 | 2018-04-06 | 厦门集微科技有限公司 | 安全处理的方法和装置及加密处理的方法和装置 |
CN111555881A (zh) * | 2020-03-23 | 2020-08-18 | 中安云科科技发展(山东)有限公司 | 使用sdf、skf实现国密ssl协议的方法及系统 |
CN113364776A (zh) * | 2021-06-04 | 2021-09-07 | 北银金融科技有限责任公司 | 一种验证区块链节点使用国密算法通信的方法和系统 |
CN113452522A (zh) * | 2021-06-28 | 2021-09-28 | 杭州云象网络技术有限公司 | 基于国密的硬件安全模块软件实现方法、存储介质及装置 |
CN115208635A (zh) * | 2022-06-17 | 2022-10-18 | 北京启明星辰信息安全技术有限公司 | 一种国密ssl通信代理模块及其非侵入式改造系统的方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1280300A2 (en) * | 2001-07-27 | 2003-01-29 | Hewlett-Packard Company, A Delaware Corporation | Method of establishing a secure data connection |
CN103747001A (zh) * | 2014-01-14 | 2014-04-23 | 中电长城(长沙)信息技术有限公司 | 基于安全算法的音频接入式移动支付终端及通信方法 |
-
2014
- 2014-12-18 CN CN201410796479.4A patent/CN104394179B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1280300A2 (en) * | 2001-07-27 | 2003-01-29 | Hewlett-Packard Company, A Delaware Corporation | Method of establishing a secure data connection |
CN103747001A (zh) * | 2014-01-14 | 2014-04-23 | 中电长城(长沙)信息技术有限公司 | 基于安全算法的音频接入式移动支付终端及通信方法 |
Non-Patent Citations (3)
Title |
---|
屠晨阳,荆继武,王雷,向继: "HTTPS服务器密码算法测试工具设计与实现", 《第26次全国计算机安全学术交流会》 * |
殷杰: "OpenSSL分析与测试", 《天津大学》 * |
赵春平: "openssl编程", 《百度文库》 * |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106656939A (zh) * | 2015-11-03 | 2017-05-10 | 华耀(中国)科技有限公司 | 国密ssl协议和标准ssl协议转发系统及方法 |
CN105577657A (zh) * | 2015-12-18 | 2016-05-11 | 北京海泰方圆科技股份有限公司 | 一种ssl/tls算法套件的扩展方法 |
CN105577657B (zh) * | 2015-12-18 | 2017-10-24 | 北京海泰方圆科技股份有限公司 | 一种ssl/tls算法套件的扩展方法 |
CN106101056B (zh) * | 2016-05-12 | 2018-10-26 | 山东渔翁信息技术股份有限公司 | 一种代理软件软件架构中数据处理方法及让ie浏览器基于国密ssl协议通信的方法 |
CN106101056A (zh) * | 2016-05-12 | 2016-11-09 | 山东渔翁信息技术股份有限公司 | 一种软件架构及让ie浏览器基于国密ssl协议通信的方法 |
CN106130738A (zh) * | 2016-08-25 | 2016-11-16 | 杭州天谷信息科技有限公司 | 一种支持国密算法的区块链系统 |
CN107888565A (zh) * | 2017-10-19 | 2018-04-06 | 厦门集微科技有限公司 | 安全处理的方法和装置及加密处理的方法和装置 |
CN107888565B (zh) * | 2017-10-19 | 2021-07-02 | 厦门集微科技有限公司 | 安全处理的方法和装置及加密处理的方法和装置 |
CN111555881A (zh) * | 2020-03-23 | 2020-08-18 | 中安云科科技发展(山东)有限公司 | 使用sdf、skf实现国密ssl协议的方法及系统 |
CN113364776A (zh) * | 2021-06-04 | 2021-09-07 | 北银金融科技有限责任公司 | 一种验证区块链节点使用国密算法通信的方法和系统 |
CN113452522A (zh) * | 2021-06-28 | 2021-09-28 | 杭州云象网络技术有限公司 | 基于国密的硬件安全模块软件实现方法、存储介质及装置 |
CN113452522B (zh) * | 2021-06-28 | 2022-09-13 | 杭州云象网络技术有限公司 | 基于国密的硬件安全模块软件实现方法、存储介质及装置 |
CN115208635A (zh) * | 2022-06-17 | 2022-10-18 | 北京启明星辰信息安全技术有限公司 | 一种国密ssl通信代理模块及其非侵入式改造系统的方法 |
CN115208635B (zh) * | 2022-06-17 | 2023-05-16 | 北京启明星辰信息安全技术有限公司 | 一种国密ssl通信代理模块及其非侵入式改造系统的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104394179B (zh) | 2017-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104394179A (zh) | 支持国密算法的安全套接层协议扩展方法 | |
CN103118027B (zh) | 基于国密算法建立tls通道的方法 | |
EP2792100B1 (en) | Method and device for secure communications over a network using a hardware security engine | |
CN108241517B (zh) | 一种软件升级方法、客户端及电子设备 | |
CA2869404C (en) | Public key encryption algorithms for hard lock file encryption | |
EP3232634B1 (en) | Identity authentication method and device | |
WO2017054436A1 (zh) | 一种动态加密方法、终端、服务器 | |
US11716206B2 (en) | Certificate based security using post quantum cryptography | |
CN106027646B (zh) | 一种加速https的方法及装置 | |
CN109922084A (zh) | 密钥管理方法、装置以及电子设备 | |
CN101166088A (zh) | 基于用户身份标识的加解密方法 | |
CN106027235A (zh) | 一种pci密码卡和海量密钥密码运算方法及系统 | |
CN109194474A (zh) | 一种数据传输方法及装置 | |
CN104580190A (zh) | 安全浏览器的实现方法和安全浏览器装置 | |
US11632246B2 (en) | Hybrid key derivation to secure data | |
CN105530090A (zh) | 密钥协商的方法及设备 | |
TW201712590A (zh) | 雲端加密系統及方法 | |
CN109413084A (zh) | 一种口令更新方法、装置及系统 | |
Kumar et al. | RETRACTED ARTICLE: An hybrid security framework using internet of things for healthcare system | |
CN105577650A (zh) | 一种动态令牌的远程时间同步方法及系统 | |
CN113452521B (zh) | 区块链国密适配方法、国密适配器、系统和装置 | |
US11863671B1 (en) | Accessory assisted account recovery | |
Nicholas et al. | Enhancing trust in cloud computing using MD5 hashing algorithm and RSA encryption standard | |
CN108462677A (zh) | 一种文件加密方法及系统 | |
CN106211108A (zh) | 一种基于rsa公钥的短信加密方法 |
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 |