CN104486343B - 一种双因子双向认证的方法及系统 - Google Patents

一种双因子双向认证的方法及系统 Download PDF

Info

Publication number
CN104486343B
CN104486343B CN201410799517.1A CN201410799517A CN104486343B CN 104486343 B CN104486343 B CN 104486343B CN 201410799517 A CN201410799517 A CN 201410799517A CN 104486343 B CN104486343 B CN 104486343B
Authority
CN
China
Prior art keywords
server
client
certificate
application interface
configuration
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.)
Active
Application number
CN201410799517.1A
Other languages
English (en)
Other versions
CN104486343A (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.)
GUANGDONG RAILWAY TECHNOLOGY Co Ltd
Original Assignee
GUANGDONG RAILWAY TECHNOLOGY Co Ltd
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 GUANGDONG RAILWAY TECHNOLOGY Co Ltd filed Critical GUANGDONG RAILWAY TECHNOLOGY Co Ltd
Priority to CN201410799517.1A priority Critical patent/CN104486343B/zh
Publication of CN104486343A publication Critical patent/CN104486343A/zh
Application granted granted Critical
Publication of CN104486343B publication Critical patent/CN104486343B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • H04L9/3273Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response for mutual authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种双因子双向认证方法,包括:密钥系统发布数字证书和用于制作所述数字证书时签名用的CA证书;对客户端和服务端的配置文件进行配置,以支持所述客户端对所述服务端的应用接口的访问;所述客户端通过双因子认证方式访问所述服务端的应用接口;所述客户端对所述服务端证书进行第一验证,所述服务端对所述客户端证书进行第二验证,在所述第一验证和第二验证均通过后,允许所述客户端访问所述服务端的应用接口。另外,本发明公开了与上述方法相对应的一种双因子双向认证系统。本发明的双因子双向认证的方法及系统的兼容性更加强大、运用更加广泛、设计更加简单、使用更加高效、数据通信更加安全。

Description

一种双因子双向认证的方法及系统
技术领域
本发明涉及网络通信领域,特别涉及一种双因子双向认证的方法及系统。
背景技术
目前比较流行的双因子认证技术,主要由账号口令和服务端的SSL(SecureSockets Layer,安全套接层)单向认证技术组成。一方面,由于服务端SSL单向认证技术,实现方案比较简单,且只能简单地对客户端与服务端之间传输的内容进行加密,不能确保对客户端的身份进行认证。因此,这种方案存在一定的安全隐患,如容易受到中间环节欺骗等网络攻击;另一方面,目前流行的双因子认证技术,普遍只应用于Http(Hypertexttransfer protocol,超文本传输协议)或者Https(启用了SSL的Http协议)认证。因为WebService是基于SOAP协议,如要实现双因子认证必须克服兼容性的问题,就要通过修改WebService的实现代码,让其支持Https和数字证书,所以很少有应用于Web Service技术的认证技术。其中,Web Service是一种在线服务,有执行具体的业务的功能,使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件,就可相互交换或集成数据。目前Web Service技术在各种系统中被广泛应用。现有技术中基于Web Service的认证技术一般是通过编写应用程序代码,作为插件部署在客户端或者Web Service服务器上,通过运行插件来实现安全认证。但是,众所周知,代码程序作为插件有许多缺点。例如,插件在客户端的部署很困难,如客户端可能不能正确下载,下载了以后可能不能正确执行,下载的时候需要设置IE的安全级别等,从而使操作烦琐。所以,有必要提出一种高效、安全、兼容性强的双因子双向认证技术。
发明内容
鉴于现有技术中存在的问题,在不改变现有系统架构的前提下,根据本发明的一个方面,提供了既可兼容现有技术的通过账号口令和简单的服务端SSL单向认证方法,又可适用于Http/Https或者Web Service的双因子双向认证的方法。
术语定义
双因子认证方法,是指结合密码以及实物(数字证书、信用卡、SMS手机、令牌、U盾/Ukey或指纹等生物标志)这两种条件对用户进行认证的方法。双向认证,是指客户端在访问服务端时,客户端验证服务端的证书,服务端验证客户端的证书,在验证请求连接的双方的身份是经过授权后方可连接。
根据本申请的一个方面,提供了一种双因子双向认证方法,包括:
密钥系统发布数字证书和用于制作所述数字证书时签名用的CA证书;
对客户端和服务端的配置文件进行配置,以支持所述客户端对所述服务端的应用接口的访问;
所述客户端通过双因子认证方式访问所述服务端的应用接口;
所述客户端对所述服务端证书进行第一验证,所述服务端对所述客户端证书进行第二验证,在所述第一验证和第二验证均通过后,允许所述客户端访问所述服务端的应用接口。
上述方法兼容性更加强大、运用更加广泛、设计更加简单、使用更加高效、数据通信更加安全。
在一些实施方式中,所述应用接口为Http/Https时,对所述配置文件的配置是对所述配置文件进行第一次配置,包括:
将服务端配置文件中的以下参数配置为默认值:
客户端认证、连接端口、协议、是否激活ssl、最大线程和ssl协议,和
将以下参数配置为设定值:
信任证书(CA)的存储类型、存放信任证书(CA)的证书库路径、服务端数字证书库文件的存储路径、服务端数字证书库存储密码、服务端数字证书库存储类型。
在一些实施方式中,所述应用接口为Web Service时,的进行所述第一次配置后,还进行第二次配置,基于Rampart框架配置所述服务端和所述客户端Web Service的配置文件,以支持所述客户端对所述服务端的Web Service接口的访问。
在一些实施方式中,其中所述基于Rampart框架配置服务端Web Service的配置文件包括如下步骤:
启用Rampart模块,通过maven配置,增加Rampart所需要的依赖包;
添加Rampart所需要的modules文件;
把所述服务端所需要的证书库及配置文件复制到根目录下,以便保存数字证书;
在service.properties配置文件中,修改证书库类库,证书库密码及对应的证书库名称,以便Rampart框架可以使用服务端的数字证书。
在一些实施方式中,所述基于Rampart框架配置客户端Web Service的配置文件包括如下步骤:
增加Rampart所需要的依赖包;
从axis2的发布包中,获取axis2.xml文件,把客户端个人证书库、axis2.xml、client.properties、modules文件导入工程,以增加如下配置信息:客户端证书库、证书类型以及证书密码;
编写Rampart处理handler,从客户端证书库获取私钥时使用的密码。
在一些实施方式中,所述服务端的应用接口为Http/Https接口,所述客户端通过所述双因子访问所述服务端的Http/Https的过程包括:
对所述配置文件进行第一次配置;
所述客户端对所述服务端证书进行第一验证,包括:
当所述客户端向所述服务端发送含有客户端证书的建立Https连接的请求,所述客户端根据Tcp/Ip协议对服务端证书进行验证;或
当所述客户端请求建立Http的连接时,所述服务端自动重定向至https,所述客户端对所述服务端证书进行验证;
所述服务端对所述客户端证书进行第二验证,包括:
所述服务端监听所述连接并获取客户端证书,将所述获取的客户端证书与所述服务端证书进行匹配验证;
验证成功后,输入客户端的账号口令,用所述客户端证书中的私钥将所述客户端账号口令进行加密后发送给所述服务端,所述服务端将接收的请求用所述客户端证书的公钥进行解密并进行验证,验证成功后方可允许对服务端的Http/Https接口的访问。
在一些实施方式中,所述服务端的应用接口为Web Service的接口,所述客户端通过所述双因子访问所述服务端的Web Service接口的过程包括:
对所述配置文件进行第一次配置;
对所述配置文件进行第二次配置;
所述客户端对所述服务端证书进行第一验证,包括:
所述客户端通过所述服务端的Web Service接口调用服务,先获取所述客户端证书库中的个人证书中的私钥对请求数据进行签名,再获取所述客户端证书库中的服务端证书中的公钥对所述请求的数据进行加密,再把加密后的密文发送给所述服务端;
所述服务端对所述客户端证书进行第二验证,包括:
所述服务端接收到所述客户端的请求,先从所述服务端的证书库中获取所述服务端证书的私钥,对所述请求的数据进行解密,再根据请求中的客户端账号口令,从证书库中获取对应的客户端证书中的公钥,对所述请求的数据进行签名验证。
在一些实施方式中,所述双因子中的一个因子是账号口令,另一个因子是数字证书。
在一些实施方式中,另一个因子是信用卡、SMS手机、令牌、指纹中任意一种。
在一些实施方式中,所述客户端通过所述双因子访问所述服务端的Http/Https时,所述客户端通过Ukey将储存的个人证书导入到客户端的证书库中。
在一些实施方式中,所述客户端通过所述双因子访问所述服务端的Web Service的过程还包括测试的步骤,包括:
测试程序加载axis2.xml配置文件,指定启用Rampart模块,指定客户端证书库、客户端证书名称信息;
运行客户端程序RampartClient.java,向服务端的RampartMethod程序发送测试信息,服务端对测试的信息进行回复,测试成功。
在一些实施方式中,所述客户端通过账户口令和个人证书访问服务端的WebService是通过CXF或者xfire框架实现的。
根据本发明的另一方面,提供了一种双因子双向认证系统,包括:
密钥系统,配置为发布数字证书和用于制作数字证书时签名用的CA证书;
客户端,配置为对客户端和服务端的配置文件进行配置,以支持所述客户端对所述服务端的应用接口的访问,并通过双因子请求访问所述服务端的应用接口,然后对所述服务端证书进行验证;
服务端,配置为对所述客户端的证书进行验证。
在一些实施方式中,所述客户端包括:
主机,对客户端和服务端的配置文件进行配置,以支持所述客户端对所述服务端的应用接口的访问,并通过双因子请求访问所述服务端的应用接口,然后对所述服务端证书进行验证;
浏览器,配置为显示通信界面,在所述通信界面对客户端和服务端的配置文件进行配置,客户端通过双因子请求访问所述服务端的应用接口,并对服务端证书进行验证,服务端对客户端的证书进行验证;
Ukey,配置为存放用于访问服务端的应用接口的客户端数字证书,并将其导入到客户端的证书库中。
在一些实施方式中,所述服务端包括:
登陆模块,配置为供客户端输入账户口令这个因子请求访问所述服务端的应用接口;
登陆业务处理模块,配置为对客户端输入的账户口令这个因子和服务端证书进行验证;
访问模块拦截器,配置为对验证不成功的客户端所做的访问进行拦截。
通过上述技术方案,本方明与现有技术相比具有以下优点:本发明采用的是双因子认证技术,提高了安全性能。另外,因为其中一个因子(如存放个人证书的Ukey或U盾)是由客户自己保管,确保不被其他人复制使用,同时也能明确证书使用者身份,进一步提高了安全性。综上所述,采用双向认证技术,能更好地保证信息传输的完整性、保密性、安全性。
此外,本发明不但兼容现有单因子的认证技术,还适用于Http/Https或者WebService的双因子双向认证。因此本发明的使用范围更广泛、安全性更高。另外,本发明对Web Service的双因子双向认证是在Web Service底层实现的,修改的是Web Service底层的协议机制,而不是通过编写程序代码,将插件部署在客户端或者服务端,解决了插件部署困难、可能不能正确下载,下载了以后可能不能正确执行,下载的时候需要设置IE的安全级别等问题。
因此,本发明的双因子双向认证的方法的兼容性更加强大、应用更加广泛、设计更加简单、使用更加高效、数据通信更加安全。
附图说明
图1为本申请一种实施方式的双因子双向认证系统的构成示意图;
图2为本申请一种实施方式的通过双因子问服务端的应用接口的双向认证过程示意图;
图3为本申请一种实施方式的通过双因子访问服务端的Http/Https的双向认证过程示意图;
图4为本申请一种实施方式的通过双因子访问服务端的Web Service的双向认证过程示意图。
具体实施方式
下面结合附图对本发明的实施例作进一步详细的说明。
实施例1
通过常规的证书生成工具软件,例如KeyTool以及OpenSSL1.0.1g等生成证书库。证书库中的客户端的个人证书可存放于个人Ukey中,以达到保护个人证书且能识别使用者身份的目的。因为Tomcat是一个开源而且免费的服务器,以下服务端以Tomcat7为例具体说明通过账号口令和存放在Ukey中的数字证书这两个因子访问服务端的Http/Https接口的双向认证过程;
如图1所示,本实施例涉及到的系统及其组件如下:
(1)密钥系统,用于发布客户端个人证书、服务端证书、用于制作所述数字证书时签名用的CA证书等,采用常规的证书生成工具实现;
(2)Tomcat7服务端,包括登陆模块、登陆业务处理模块和访问模块拦截器,其中登陆模块配置为供客户端输入账户口令这个因子来请求访问所述服务端的应用接口;登陆业务处理模块配置为对客户端输入的账户口令因子和服务端证书进行验证;访问模块拦截器配置为对验证不成功的客户端所做的访问进行拦截。
(3)客户端,包括主机、浏览器和Ukey,其中:主机可对客户端和服务端的配置文件进行配置,以支持所述客户端对所述服务端的应用接口的访问,并通过双因子请求访问所述服务端的应用接口,然后对所述服务端证书进行验证;浏览器配置为显示客户端、服务端的用户交互界面;Ukey配置为存放用于访问服务端的应用接口的客户端数字证书这个因子,并将其导入到客户端的证书库中。
(4)密文,以证书形式体现;
下面结合图2来说明双因子双向认证方法,如图2所示,包括:
步骤S001:密钥系统发布数字证书和用于制作所述数字证书时签名用的CA证书;
步骤S002:对客户端和服务端的配置文件进行配置,以支持所述客户端对所述服务端的应用接口的访问;
步骤S003:所述客户端通过双因子认证方式访问所述服务端的应用接口;
步骤S004:所述客户端对所述服务端证书进行第一验证,所述服务端对所述客户端证书进行第二验证,在所述第一验证和第二验证均通过后,允许所述客户端访问所述服务端的应用接口。
下面结合图3来说明通过账号口令和Ukey这两个因子访问服务端的Http/Https的双向认证过程。如图3所示,包括:
步骤S101:统一由密钥系统制作并发布客户端证书、服务端证书、CA证书及证书库。这些证书均采用常规的证书生成方式实现,在此不再赘述其具体实现过程;
(1)初始化证书环境,
制作CA证书:创建CA证书私钥,生成CA证书;
制作服务端证书:生成服务端私钥,建立服务端证书签名请求,使用CA证书和CA私钥给服务端证书请求签名,把服务端代码转换浏览器可以识别的PCS12格式;将CA证书导入信任证书库,将Server证书导入证书库,将Server Key证书导入证书库;
制作客户端证书:生成客户端证书私钥,使用CA证书签名客户端证书签名请求,生成客户端P12证书,导入服务端证书进入客户端证书库,导入客户端私钥进入客户端证书库,导入客户端公钥进入服务端证书库;
双击install.bat,按照提示输入CA密码、服务端证书密码、证书库密码;
双击gen-client.bat,按照提示输入客户端证书名称、证书密码、证书库密码;
执行上述以上两个脚本后,生成本方案所需要的各种证书及证书库。
步骤S102:修改:Tomcat7的配置文件。
修改Tomcat7服务端默认的配置文件server.xml的配置项,以支持服务端的Https,如下的例子说明修改的server.xml的具体配置项内容:
<Connector port="8443"protocol="Http/1.1"SSLEnabled="true"(设置连接端口、协议、是否激活SSL)
maxThreads="150"scheme="Https"secure="true"(设置最大线程、方案、安全)
clientAuth="true"sslProtocol="TLS"truststoreType="jks"(设置客户端认证、ssl协议、信任证书(CA)的存储类型)
keystoreFile="E:\OpenSSL-Win32\bin\server193\server.p12"(设置服务端数字证书库文件的存储路径)
keystorePass="123456"keystoreType="pkcs12"(设置服务端数字证书库存储密码、服务端数字证书库存储类型)
truststoreFile="E:\OpenSSL-Win32\bin\server193\jks\truststore.jks"(设置存放信任证书(CA)的证书库路径)
truststorePass="123456"/>(设置服务端数字证书库存储密码)
步骤S103:将服务端证书、CA证书存入Tomcat7的证书库,通过Ukey将个人证书导入至客户端的证书库。
步骤S104:客户端访问服务端接口Http/Https。
(1)当所述客户端向所述服务端发送含有客户端证书的建立Https连接的请求时,所述客户端根据Tcp/Ip协议对服务端证书进行验证;
(2)当所述客户端请求建立Http的连接时,所述服务端自动重定向至https,然后所述客户端对所述服务端证书进行验证;
步骤S105:客户端对服务端的数字证书进行验证,服务端对客户端的数字证书进行验证。
(1)根据Http协议,客户端在使用Tcp/Ip协议请求建立Https连接时,客户端对服务端的数字证书进行验证;
(2)服务端会识别客户端,并要求客户端提供个人证书,客户端识别服务端相对应的个人证书,并以列表形式供客户端选择,客户端以选择的证书请求访问服务端;
(3)服务端将所述选择的证书与本地的证书库进行对比验证。
步骤S106:在上述证书验证成功后,由用户在客户端输入账号口令。客户端将账号口令用个人证书中的私钥进行加密后发送给服务端,服务端将接收的请求用客户端的公钥进行解密。
通过上述过程,保证整个过程的通信的完整性、保密性,到达双因子双向认证的目的。
实施例2
下面结合图4说明通过账号口令和存放于Ukey中的数字证书这两个因子来访问服务端的Web Service接口的双向认证过程。其中与实施例1相同的对Https的配置和证书发布等具体内容不再重复描述,在此仅描述与其不同的内容。本实施例对Web Service的服务端和客户端的配置文件的配置主要通过Apache Rampart框架来实现。配置Rampart框架,让其支持数字证书。如图4所示,本实施例中的具体认证过程如下:
步骤S201:发布服务端、客户端的数字证书和CA证书;
步骤S202:对服务端进行Https接口的配置,具体配置服务端端口、证书库、证书类型以及证书密码等。这些配置上面已经描述,在此不再重复描述。
步骤S203:基于Rampart框架配置服务端Web Service的配置文件;
修改某应用系统的Web Service配置文件,启用Rampart模块的加载,并配置对应的服务端端口、证书库、证书类型以及证书密码等,具体如下:
(1)启用Rampart模块,通过maven配置,增加Rampart所需要的依赖包,所述依赖包是Rampart框架运行时所需要的jar包,由Rampart框架自身限制;
(2)添加Rampart所需要的modules文件,所述modules文件是Rampart框架运行所需模板;
(3)把服务端所需要的证书库及配置文件,复制到根目录下,其中,Ukey是用于保存数字证书,这里是保存服务端的数字证书,作用是为了启用服务端的Https功能;
(4)在service.properties配置文件中,修改证书库类库(默认JKS),证书库密码及对应的证书库名称等配置信息,以使Rampart框架可以使用服务端的数字证书;
(5)至此服务端已配置成功,打包某应用并发布至tomcat并启动运行;
步骤S204:基于Rampart框架配置客户端Web Service的配置文件;
客户端配置文件的配置(服务接口调用代码程序),修改调用服务接口的WebService配置文件,增加客户端证书库、证书类型以及证书密码等配置信息,其与服务端配置相同的内容不再重复描述,具体如下:
(1)增加Rampart所需要的依赖包;
(2)从axis2的发布包中,获取axis2.xml文件,把客户端个人证书库、axis2.xml、client.properties、modules等文件导入工程。所述工程是在开发双因子双向认证方法初始时建立的,开发过程中所用的程序、文件或者代码等最终都需要导入本工程的软件包;
(3)编写Rampart处理handler,用于告诉程序从客户端证书库获取私钥时使用的密码;
步骤S205:客户端根据用户输入的账号口令请求访问服务端Web Service接口;
步骤S206:客户端对服务端的数字证书进行验证,服务端对客户端的数字证书进行验证。具体包括:
(1)客户端通过Web Service服务端提供的服务接口调用服务,先获取客户端证书库中的个人证书(私钥)对请求数据进行签名,再获取证书库中的服务端证书(公钥)进行加密,以此完成客户端对服务端的认证;最后再把加密后的密文发送给服务端;
(2)服务端接收到客户端的请求,先从服务端的证书库中获取服务端证书(私钥),对请求数据进行解密,再根据请求中的客户端账号口令,从证书库中获取对应的客户端证书(公钥),对请求数据进行签名验证;
(3)验证通过,服务端对客户端的验证成功;如果验证不通过,则返回验证失败;
(4)编写测试程序对基于Web Service的双因子双向认证进行测试,以测试配置是否正确,和是否实现了双因子双向认证;
①该测试程序负责加载axis2.xml配置文件、指定启用Rampart模块、指定客户端证书库、客户端证书名称等信息;
②运行客户端程序RampartClient.java,向服务端的RampartMethod方法发送测试信息,服务端对测试的信息进行回复,测试成功。
以上所述的仅是本发明的优选实施方式,应当指出,对于本领域的普通技术人员来说,在不脱离本发明创造构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。

Claims (8)

1.一种双因子双向认证方法,包括:
密钥系统发布数字证书和用于制作所述数字证书时签名用的CA证书;
对客户端和服务端的配置文件进行配置,以支持所述客户端对所述服务端的应用接口的访问,其中,所述应用接口包括Http/Https和Web Service接口,所述应用接口为Http/Https时,所述配置为第一次配置,所述应用接口为Web Service时,所述配置为在进行所述第一次配置后,还进行第二次配置;
所述客户端通过双因子认证方式访问所述服务端的应用接口,所述双因子中的一个因子是账号口令,另一个因子是存放于Ukey中的数字证书;
所述客户端对所述服务端的证书进行第一验证,所述服务端对所述客户端的证书和账号口令进行第二验证,在所述第一验证和第二验证均通过后,允许所述客户端访问所述服务端的应用接口;
其中,所述第一次配置包括:
将服务端配置文件中的以下参数配置为默认值:
客户端认证、连接端口、协议、是否激活ssl、最大线程和ssl协议,和
将以下参数配置为设定值:
信任证书(CA)的存储类型、存放信任证书(CA)的证书库路径、服务端数字证书库文件的存储路径、服务端数字证书库存储密码、服务端数字证书库存储类型;
所述第二次配置是基于Rampart框架配置所述服务端和所述客户端Web Service的配置文件,以支持所述客户端对所述服务端的Web Service接口的访问。
2.如权利要求1所述的方法,其中,所述基于Rampart框架配置服务端Web Service的配置文件包括如下步骤:
启用Rampart模块,通过maven配置,增加Rampart所需要的依赖包;
添加Rampart所需要的modules文件;
把所述服务端所需要的证书库及配置文件复制到根目录下,以便保存数字证书;
在service.properties配置文件中,修改证书库类库,证书库密码及对应的证书库名称,以便Rampart框架可以使用服务端的数字证书。
3.如权利要求1所述的方法,其中,所述基于Rampart框架配置客户端Web Service的配置文件包括如下步骤:
增加Rampart所需要的依赖包;
从axis2的发布包中,获取axis2.xml文件,把客户端个人证书库、axis2.xml、client.properties、modules文件导入工程,以增加如下配置信息:客户端证书库、证书类型以及证书密码;
编写Rampart处理handler,从客户端证书库获取私钥时使用的密码。
4.如权利要求1所述的方法,其中,所述服务端的应用接口为Http/Https接口时,所述客户端通过所述双因子访问所述服务端的Http/Https的过程包括:
对所述配置文件进行第一次配置;
所述客户端对所述服务端证书进行第一验证,包括:
当所述客户端向所述服务端发送含有客户端证书的建立Https连接的请求,所述客户端根据Tcp/Ip协议对服务端证书进行验证;或
当所述客户端请求建立Http的连接时,所述服务端自动重定向至https,所述客户端对所述服务端证书进行验证;
所述服务端对所述客户端证书进行第二验证,包括:
所述服务端监听所述连接并获取客户端证书,将所述获取的客户端证书与所述服务端证书进行匹配验证;
验证成功后,输入客户端的账号口令,用所述客户端证书中的私钥将所述客户端账号口令进行加密后发送给所述服务端,所述服务端将接收的请求用所述客户端证书的公钥进行解密并进行验证,验证成功后方可允许对服务端的Http/Https接口的访问。
5.如权利要求1所述的方法,其中,所述服务端的应用接口为Web Service的接口时,所述客户端通过所述双因子访问所述服务端的Web Service接口的过程包括:
对所述配置文件进行第一次配置;
对所述配置文件进行第二次配置;
所述客户端对所述服务端证书进行第一验证,包括:
所述客户端通过所述服务端的Web Service接口调用服务,先获取所述客户端证书库中的个人证书中的私钥对请求数据进行签名,再获取所述客户端证书库中的服务端证书中的公钥对所述请求的数据进行加密,再把加密后的密文发送给所述服务端;
所述服务端对所述客户端证书进行第二验证,包括:
所述服务端接收到所述客户端的请求,先从所述服务端的证书库中获取所述服务端证书的私钥,对所述请求的数据进行解密,再根据请求中的客户端账号口令,从证书库中获取对应的客户端证书中的公钥,对所述请求的数据进行签名验证。
6.一种双因子双向认证系统,包括:
密钥系统,配置为发布数字证书和用于制作数字证书时签名用的CA证书;
客户端,配置为对客户端和服务端的配置文件进行配置,以支持所述客户端对所述服务端的应用接口的访问,并通过双因子请求访问所述服务端的应用接口,然后对所述服务端的证书进行验证,所述双因子中的一个因子是账号口令,另一个因子是存放于Ukey中的数字证书;
服务端,配置为对所述客户端的证书和账号口令进行验证;
其中,所述应用接口包括Http/Https和Web Service接口,所述应用接口为Http/Https时,所述配置为第一次配置,所述应用接口为Web Service时,所述配置为在进行所述第一次配置后,还进行第二次配置,所述第一次配置包括:
将服务端配置文件中的以下参数配置为默认值:
客户端认证、连接端口、协议、是否激活ssl、最大线程和ssl协议,和
将以下参数配置为设定值:
信任证书(CA)的存储类型、存放信任证书(CA)的证书库路径、服务端数字证书库文件的存储路径、服务端数字证书库存储密码、服务端数字证书库存储类型;
所述第二次配置是基于Rampart框架配置所述服务端和所述客户端Web Service的配置文件,以支持所述客户端对所述服务端的Web Service接口的访问。
7.如权利要求6所述的系统,其中,所述客户端包括:
主机,对客户端和服务端的配置文件进行配置,以支持所述客户端对所述服务端的应用接口的访问,并通过双因子请求访问所述服务端的应用接口,然后对所述服务端证书进行验证;
浏览器,配置为显示通信界面,在所述通信界面对客户端和服务端的配置文件进行配置,客户端通过双因子请求访问所述服务端的应用接口,并对服务端证书进行验证,服务端对客户端的证书进行验证;
Ukey,配置为存放用于访问服务端的应用接口的客户端数字证书,并将其导入到客户端的证书库中。
8.如权利要求7所述的系统,其中,所述服务端包括:
登陆模块,配置为供客户端输入账户口令这个因子请求访问所述服务端的应用接口;
登陆业务处理模块,配置为对客户端输入的账户口令这个因子和服务端证书进行验证;
访问模块拦截器,配置为对验证不成功的客户端所做的访问进行拦截。
CN201410799517.1A 2014-12-18 2014-12-18 一种双因子双向认证的方法及系统 Active CN104486343B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410799517.1A CN104486343B (zh) 2014-12-18 2014-12-18 一种双因子双向认证的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410799517.1A CN104486343B (zh) 2014-12-18 2014-12-18 一种双因子双向认证的方法及系统

Publications (2)

Publication Number Publication Date
CN104486343A CN104486343A (zh) 2015-04-01
CN104486343B true CN104486343B (zh) 2018-06-19

Family

ID=52760847

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410799517.1A Active CN104486343B (zh) 2014-12-18 2014-12-18 一种双因子双向认证的方法及系统

Country Status (1)

Country Link
CN (1) CN104486343B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114362959A (zh) * 2021-12-30 2022-04-15 苏州中科先进技术研究院有限公司 一种用户权限安全管理方法及其系统

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105208024B (zh) * 2015-09-22 2019-08-20 深圳市金溢科技股份有限公司 不使用https的数据安全传输方法及系统、客户端和服务端
CN106100848B (zh) * 2016-06-14 2019-02-05 东北大学 基于智能手机和用户口令的双因子身份认证系统及方法
KR101680525B1 (ko) * 2016-07-12 2016-12-06 김주한 앱 위변조 탐지 가능한 2채널 인증 대행 시스템 및 그 방법
CN106603636B (zh) * 2016-11-29 2020-05-26 中国银联股份有限公司 一种差错交易的标准化方法及装置
CN107317683B (zh) * 2017-06-20 2019-12-13 上海浩霖汇信息科技有限公司 一种电子证照的双向验证方法及装置
CN109309565B (zh) 2017-07-28 2021-08-10 中国移动通信有限公司研究院 一种安全认证的方法及装置
CN108494731B (zh) * 2018-02-08 2021-04-02 中国电子科技网络信息安全有限公司 一种基于双向身份认证的抗网络扫描方法
CN108683700A (zh) * 2018-04-03 2018-10-19 四川新网银行股份有限公司 一种基于微信小程序及金融开放平台的金融能力输出模式
CN110730151A (zh) * 2018-07-16 2020-01-24 上海铠射信息科技有限公司 一种新型的授权使用终端数字证书的方法
CN110785977A (zh) * 2018-11-30 2020-02-11 深圳市大疆创新科技有限公司 一种数据传输方法、设备、终端、服务器及存储介质
CN109615720A (zh) * 2018-11-30 2019-04-12 上海上实龙创智慧能源科技股份有限公司 一种基于人脸识别api的无感考勤系统
CN110611661A (zh) * 2019-08-23 2019-12-24 国网浙江省电力有限公司电力科学研究院 基于双重认证多重防护措施的采集信息共享方法及系统
CN110602123A (zh) * 2019-09-21 2019-12-20 苏州浪潮智能科技有限公司 一种基于微服务的单点证书认证系统及方法
CN111416816A (zh) * 2020-03-17 2020-07-14 深圳市卡牛科技有限公司 联调接口的访问方法、装置、计算机设备和存储介质
CN111984958B (zh) * 2020-08-06 2024-02-02 成都安恒信息技术有限公司 一种支持vnc双因子的认证方法
CN112468442B (zh) * 2020-10-28 2022-06-07 苏州浪潮智能科技有限公司 双因子认证方法、装置、计算机设备及存储介质
CN113676321A (zh) * 2021-10-09 2021-11-19 上海通联金融服务有限公司 基于http连接方式绕过验证本地ssl公钥访问https服务的方法
CN115604244A (zh) * 2022-07-01 2023-01-13 山东爱特云翔信息技术有限公司(Cn) OpenStack适配负载均衡服务的方法、系统、装置及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102055766A (zh) * 2010-12-31 2011-05-11 北京新媒传信科技有限公司 一种Webservice服务的管理方法和系统
CN102811210A (zh) * 2011-06-03 2012-12-05 北京邮电大学 一种基于ws协议的信息卡认证方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8938809B2 (en) * 2011-06-24 2015-01-20 Google Technology Holdings LLC Retrieval of data across multiple partitions of a storage device using digital signatures

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102055766A (zh) * 2010-12-31 2011-05-11 北京新媒传信科技有限公司 一种Webservice服务的管理方法和系统
CN102811210A (zh) * 2011-06-03 2012-12-05 北京邮电大学 一种基于ws协议的信息卡认证方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
《基于Rampart 实现SOAP 消息安全》;赵英等;《网络安全技术与应用》;20090531;第1-4节 *
WebServicesSOAP消息安全研究;雷晟;《万方数据企业知识服务平台》;20100119;说明书第3.5-3.6节,第7.1-7.6节、图3-2,3-5,6-1,7-2 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114362959A (zh) * 2021-12-30 2022-04-15 苏州中科先进技术研究院有限公司 一种用户权限安全管理方法及其系统

Also Published As

Publication number Publication date
CN104486343A (zh) 2015-04-01

Similar Documents

Publication Publication Date Title
CN104486343B (zh) 一种双因子双向认证的方法及系统
CN108901022B (zh) 一种微服务统一鉴权方法及网关
CN105376216B (zh) 一种远程访问方法、代理服务器及客户端
CN104539701B (zh) 一种在线激活移动终端令牌的设备和系统的工作方法
CN104639534B (zh) 网站安全信息的加载方法和浏览器装置
CN104618108B (zh) 安全通信系统
CN104639562B (zh) 一种推送认证的系统和设备的工作方法
CN104580189B (zh) 一种安全通信系统
CN104917766B (zh) 一种二维码安全认证方法
CN108416589A (zh) 区块链节点的连接方法、系统及计算机可读存储介质
CN104580190B (zh) 安全浏览器的实现方法和安全浏览器装置
US20090307486A1 (en) System and method for secured network access utilizing a client .net software component
CN112953970B (zh) 一种身份认证方法及身份认证系统
CN106452782A (zh) 为终端设备生成安全通信信道的方法和系统
CN104573554A (zh) 加载安全密钥存储硬件的方法和浏览器客户端装置
EP2646942B1 (en) Method for providing a user with an authenticated remote access to a remote secure device
CN110493237A (zh) 身份管理方法、装置、计算机设备及存储介质
CN109450865A (zh) 基于jwt验证的api用户认证方法
US9398024B2 (en) System and method for reliably authenticating an appliance
CN102201137A (zh) 网络安全终端以及基于该终端的交互系统和交互方法
CN109067785A (zh) 集群认证方法、装置
CN110045970A (zh) 一种分布式芯片在线烧录方法及系统
CN107948186A (zh) 一种安全认证方法及装置
CN110247758A (zh) 密码管理的方法、装置及密码管理器
CN108111518A (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