CN113676468B - 一种基于消息验证技术的三方增强认证系统设计方法 - Google Patents
一种基于消息验证技术的三方增强认证系统设计方法 Download PDFInfo
- Publication number
- CN113676468B CN113676468B CN202110941223.8A CN202110941223A CN113676468B CN 113676468 B CN113676468 B CN 113676468B CN 202110941223 A CN202110941223 A CN 202110941223A CN 113676468 B CN113676468 B CN 113676468B
- Authority
- CN
- China
- Prior art keywords
- authentication
- application
- identity
- bill
- party
- 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
Links
Images
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
- H04L63/0884—Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
-
- 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
- H04L63/0869—Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
-
- 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/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/321—Cryptographic 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 a third party or a trusted authority
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3234—Cryptographic 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 additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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 digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3263—Cryptographic 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
- H04L9/3268—Cryptographic 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 using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
-
- 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
-
- 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/168—Implementing security features at a particular protocol layer above the transport layer
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y04—INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
- Y04S—SYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
- Y04S40/00—Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
- Y04S40/20—Information technology specific aspects, e.g. CAD, simulation, modelling, system security
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)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及一种基于消息验证技术的三方增强认证系统设计方法,涉及身份认证技术领域。本发明设计一种基于消息码验证的三方强认证系统,在缺乏应用密码机的保护的情况下,对传统身份认证系统进行加固,解决了认证过程中未对第三方应用的身份进行验证问题,实现人员、应用、认证服务器三方强身份认证。
Description
技术领域
本发明涉及身份认证技术领域,具体涉及及一种基于消息验证技术的三方增强认证系统设计方法。
背景技术
身份认证系统主要为应用软件、入网鉴权等信息化装备提供身份认证功能。传统的身份认证系统组成包括终端认证设备、终端代理软件和身份认证服务器。其工作流程分为五个步骤:(1)用户通过认证代理和终端认证设备(如USBKey形态)与身份认证服务器建立安全连接,如SSL通道;(2)终端认证代理软件将个人数字证书信息连同其他协议数据发送至身份认证服务器进行验证,完成终端认证代理(含认证设备)与身份认证系统之间的双向认证,验证通过后,身份认证服务器为该用户生成一个身份断言;(3)用户访问应用或连接入网时,第三方应用客户端或网络接入客户端通过认证代理,携带身份断言,向身份认证服务器获取认证票据,身份认证服务器对断言进行验证,验证通过后为其生成一个一次性使用的票据;(4)应用客户端或网络接入客户端携带票据至各自服务器端,应用服务器或网络接入服务器获取票据后,向身份认证服务器进行验证;(5)身份认证服务器对票据进行验证,验证成功后返回用户真实身份信息,验证票据失效。
上述处理方式有如下不足:认证过程中未对应用身份进行验证,认证过程存在安全隐患,无法抵御中间人劫持攻击。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何解决认证过程中未对第三方应用的身份进行验证问题,实现人员、应用、认证服务器三方强身份认证。
(二)技术方案
为了解决上述技术问题,本发明提供了一种基于消息验证技术的三方增强认证系统设计方法,该方法中,将所述系统设计为包括终端认证代理、终端认证设备、身份认证服务器;
所述终端认证代理部署在用户终端和应用服务器上,部署在用户终端时,设计为用于提供身份认证的客户端代理功能;部署在应用服务器上时,设计为用于支持对应用身份认证和票据认证,终端认证代理包括认证代理服务模块、内核驱动模块、认证接口库;
所述认证代理服务模块作为应用侧认证代理服务,通过对外提供的接口,接收外部认证请求,向身份认证服务器发送认证数据,完成认证功能,认证服务代理模块具有对应用通信的加解密、调用身份认证服务器验证应用身份这些功能逻辑,实现终端认证代理与第三方应用之间的双向认证;
内核驱动模块,实现终端认证设备管理,对上接收认证服务调用的随机数生成、加解密、签名验签这些密码算法请求,对下调用终端认证设备,完成算法运算,返回结果;
认证接口库,作为第三方应用和终端桌面应用调用的公用接口,集成和兼容终端认证设备接口和应用身份认证接口;
所述身份认证服务器设计为具有第三方管理、秘钥对及共享消息秘钥生成功能,以及认证服务功能;
所述第三方管理功能是在对外提供认证前服务前,通过第三方应用管理,将应用信息添加到身份认证服务器中,在认证过程中对第三方应用身份进行确认,防止恶意冒用或中间劫持;
所述秘钥对及共享消息秘钥生成功能是为第三方应用生成共享消息秘钥msgKey以及两对公私钥对cPriKey/cPubKey、aPriKey/aPubKey,其中共享消息秘钥msgKey用于应用身份的验证;cPriKey/cPubKey、aPriKey/aPubKey分别用于与终端认证代理、身份认证服务器进行加密通信;
所述认证服务功能包括两方面,一方面是策略管理,另一方面是认证管理:
1)策略管理,将认证策略管理功能进行扩展,支持人员与应用的绑定,防止非法人员访问应用;同时增加或扩展已有黑白名单机制,将人员、应用纳入到认证的黑白名单管理;
2)认证管理:
a)验证应用身份:终端认证代理验证应用身份是调用身份认证服务器中相关接口完成验证;
b)应用票据生成:票据的数据结构中包含应用信息,确保当前票据是发给当前应用的;
c)票据的验证:在验证票据的时候首先对消息验证码进行验证,然后对终端认证设备进行验证以及基于解析的应用身份对消息验证码中识别的身份进行二次验证,接下来是基于策略进行检查,最后是票据本身信息的验证。
优选地,所述第三方管理功能中添加第三方应用的管理流程包括以下步骤:用户通过界面添加应用信息,后台服务收到请求后对应用信息进行验证,如果验证失败,则返回用户进行完善;应用信息验证成功后,基于密码技术为第三方应用生成一个唯一标识appId,并进行签名,作为身份验证的依据,最后将应用信息存储入库。
优选地,所述秘钥对及共享消息秘钥生成功能中身份标识的导出流程包括以下步骤:在秘钥对及共享消息秘钥导出时,读取应用自身加密证书,解析出加密公钥,利用软算法,利用公钥对唯一标识进行加密,确保只有应用自身才能够解密;最后将生成的密文以文件的形式回写到指定的路径下;将密文文件刻盘导出到应用服务器上,离线导入,应用服务器解密后,将数据再次加密后保存。
优选地,所述软算法为如国密算法。
本发明还提供了一种利用所述的方法设计得到的三方增强认证系统。
本发明还提供了一种利用所述的三方增强认证系统实现的强三方认证工作方法。
优选地,包括以下步骤:
(1)认证前的准备工作
第三方应用在接入本系统进行认证前,通过身份认证服务器为其生成两对公私钥对cPriKey/cPubKey、aPriKey/aPubKey、消息秘钥msgKey,其中,cPriKey/cPubKey用于与终端认证代理之间进行交互,aPriKey/aPubKey用于与身份认证服务器进行交互,所述消息秘钥为第三方应用与身份认证服务器之间进行消息鉴别使用,所述消息鉴别的具体流程为:①将第三方应用的证书以离线方式发送给身份认证服务器,用于数据导出时加密;②身份认证服务器为当前应用生成身份标识appId、消息秘钥msgKey以及两对公私钥对cPriKey/cPubKey、aPriKey/aPubKey;③身份认证服务器使用第三方应用的证书中的公钥对步骤②生成的身份标识appId、消息秘钥msgKey以及两对公私钥对cPriKey/cPubKey、aPriKey/aPubKey进行加密,连同认证服务器证书,通过离线方式导出;④第三方应用收到cPriKey/cPubKey、aPriKey/aPubKey、消息秘钥msgKey数据后进行加密存储;
(2)强三方认证流程,包括以下步骤:
(1)终端认证代理利用终端认证设备,建立与身份认证服务器之间的安全通道完成双向认证;
(2)第三方应用在获取认证之前,发起与终端认证代理之间的安全通道;
(3)发送票据请求
建立安全通道后,第三方应用发起登录认证请求,向终端认证代理请求随机数;终端认证代理调用自身认证设备,生成随机数返回给第三方应用;第三方应用对随机数计算消息验证码,并将自身appId、随机数及消息验证码以票据请求的方式发送给终端认证代理;
(4)验证应用身份
终端认证代理收到获取票据请求后,提取第三方应用随机数及其消息验证码,并调用身份认证服务器对消息验证码进行验证;
(5)应用身份鉴别,身份认证服务器调用消息验证码进行验证,识别出应用身份,并返回应用appId给终端认证代理;
(6)获取票据
终端认证代理获取断言后,携带断言、应用appId向身份认证服务器发送获取票据请求;身份认证服务器收到票据请求后,调用本地密码卡,为第三方应用生成一个一次性票据,返回给终端认证代理;返回票据成功后,身份认证服务器在本地生成一份票据的描述,用于描述票据的终端认证代理身份信息以及应用身份信息,用于验证票据,同时便于异常行为追溯;
(7)票据签名与加密
终端认证代理收到认证票据后,对票据进行二次封装,增加自身信息签名及签名证书,加密后发送给第三方应用;
(8)生成消息验证码
第三方应用收到返回的票据,对数据进行运算,生成返回的票据的消息验证码,附在票据的尾部,然后利用身份认证服务器公钥,对票据及其消息验证码进行加密;
(9)验证票据
第三方应用通过调用身份认证服务器接口验证加密票据;身份认证服务器收到票据后,进行消息码运算,识别出应用appId’,同时调用密码卡接口,对终端认证代理加密的数据进行解密,提取票据内容,验证票据,同时比较票据中的应用appId与当前的应用appId’进行比对,验证应用身份,验证是否是从当前应用IP、端口发送的,以检测异常IP认证请求。
优选地,终端认证代理利用终端认证设备,建立与身份认证服务器之间的安全通道完成双向认证的步骤包含终端认证代理与身份认证服务器之间建立安全通道、交换秘钥、身份认证的步骤。
优选地,第三方应用在获取认证之前,发起与终端认证代理之间的安全通道的过程采用SSL、TSL技术,两者之间完成秘钥交换,实现加密通道的建立。
本发明还提供了一种所述的方法在身份认证技术领域中的应用。
(三)有益效果
本发明设计一种基于消息码验证的三方强认证系统,在缺乏应用密码机的保护的情况下,对传统身份认证系统进行加固,解决了认证过程中未对第三方应用的身份进行验证问题,实现人员、应用、认证服务器三方强身份认证。
附图说明
图1是本发明中的认证前准备工作原理图;
图2是本发明中的三方强身份认证工作流程图;
图3是本发明中的添加第三方应用流程图;
图4是本发明中的秘钥对及共享消息秘钥的导出流程图。
具体实施方式
为使本发明的目的、内容、和优点更加清楚,下面结合示例,对实施方式详细说明,应该强调的是,下述说明仅仅是示例性的,而不是为了限制本发明的范围及其应用,且认证终端代理、身份认证服务器对第三方应用算法密码算法要兼容,通信的三方采用序号机制防止重放,这种方式比较通用,不再展开。
本发明的系统包括三个部件:终端认证代理、终端认证设备、身份认证服务器。相对于传统的身份认证系统,本发明对客户端认证代理、身份认证服务器均做了改造,以适应三方增强认证要求,身份认证服务器改造内容仅限于软件部分。终端认证设备未改造,不在本次说明范围内。
相对于传统身份认证系统,本发明涉及的主要内容如下:
1、改造后的强三方认证工作流程;
2、终端认证代理改造设计;
3、身份认证服务器改造设计。
以下依次描述。
一、利用本发明设计的一种基于消息验证技术的三方增强认证系统实现了一种改造后的强三方认证工作流程。
相对于传统身份认证服务器只对认证终端设备证书进行认证,未对应用身份进行验证的情况,本发明改造后身份认证服务器在原有基础上对第三方应用身份合法性进行确认。由于第三方应用由于没有密码机的保护,本发明采用消息验证码机制对应用身份予以确认。改造后的强三方认证工作流程分为两部分,介绍如下:
(1)认证前的准备工作
参考图1,第三方应用在接入本系统进行认证前,需要通过身份认证服务器为其生成两对公私钥对(cPriKey/cPubKey、aPriKey/aPubKey)、消息秘钥(msgKey),其中,cPriKey/cPubKey用于与终端认证代理之间进行交互,aPriKey/aPubKey用于与身份认证服务器进行交互,所述消息秘钥为第三方应用与身份认证服务器之间进行消息鉴别(从而实现应用身份鉴别)使用。所述消息鉴别的具体流程为:①将第三方应用的证书以离线方式发送给身份认证服务器,用于数据导出时加密;②身份认证服务器为当前应用生成身份标识appId、消息秘钥msgKey以及两对公私钥对cPriKey/cPubKey、aPriKey/aPubKey;③身份认证服务器使用第三方应用的证书中的公钥对步骤2生成的身份标识appId、消息秘钥msgKey以及两对公私钥对cPriKey/cPubKey、aPriKey/aPubKey进行加密,连同认证服务器证书(用于通信加密),通过离线方式导出;④第三方应用收到cPriKey/cPubKey、aPriKey/aPubKey、消息秘钥msgKey数据后进行加密存储。
(2)强三方认证流程
认证管理的三方强身份认证工作流程如图2所示。
认证管理强三方认证主要包括以下步骤:
(1)终端认证代理利用终端认证设备,如USBKey形态,建立与身份认证服务器之间的安全通道完成双向认证。此步骤包含终端认证代理与身份认证服务器之间建立安全通道、交换秘钥、身份认证等相关步骤。这一步骤与传统认证服务器无差异,不再展开。
(2)第三方应用在获取认证之前,发起与终端认证代理之间的安全通道。此过程可以采用SSL、TSL技术,两者之间完成秘钥交换,实现加密通道的建立。此步骤为新增步骤。
(3)发送票据请求
建立安全通道后,第三方应用发起登录认证请求,向终端认证代理请求随机数;终端认证代理调用自身认证设备,生成随机数返回给第三方应用;第三方应用对随机数计算消息验证码,并将自身appId、随机数及消息验证码(MAC值)以票据请求的方式发送给终端认证代理。
(4)验证应用身份
终端认证代理收到获取票据请求后,提取第三方应用随机数及其消息验证码,并调用身份认证服务器对消息验证码进行验证。
(5)应用身份鉴别,身份认证服务器调用消息验证码进行验证,识别出应用身份,并返回应用appId给终端认证代理。
(6)获取票据
终端认证代理获取断言后,携带断言、应用appId等信息向身份认证服务器发送获取票据请求;身份认证服务器收到票据请求后,调用本地密码卡,为第三方应用生成一个一次性票据,返回给终端认证代理;返回票据成功后,身份认证服务器在本地生成一份票据的描述,用于描述票据的终端认证代理身份信息以及应用身份信息,用于验证票据,同时便于异常行为追溯。
(7)票据签名与加密
终端认证代理收到认证票据后,对票据进行二次封装,增加自身信息签名及签名证书,加密后发送给第三方应用。
(8)生成消息验证码(MAC值)
第三方应用收到返回的票据(加密和签名后的票据),对数据进行运算,生成返回的票据的MAC值,附在票据的尾部,而后利用身份认证服务器公钥,对票据及其MAC值进行加密。
(9)验证票据
第三方应用通过调用身份认证服务器接口验证加密票据;身份认证服务器收到票据后,进行消息码运算,识别出应用appId’,同时调用密码卡接口,对终端认证代理加密的数据进行解密,提取票据内容,验证票据,同时比较票据中的应用appId与当前的应用appId’进行比对,验证应用身份,验证是否是从当前应用IP、端口发送的,以检测异常IP认证请求。
二、终端认证代理改造设计。
终端认证代理部署在用户终端和应用服务器上,部署在用户终端时,提供身份认证的客户端代理功能;部署在应用服务器上时,主要用于支持对应用身份认证和票据认证。终端认证代理功能上主要分为三层,由代理界面、设备管理、认证代理服务、安全防护、终端配置、内核驱动、认证接口库等模块组成,本次改造的内容包括认证代理服务模块、内核驱动模块、认证接口库三个部分。
(1)认证代理服务模块作为应用侧认证代理服务,通过对外提供的接口,接收外部认证请求,向身份认证服务器发送认证数据,完成认证功能。本次改造的内容,需要对认证服务代理模块进行功能扩展,增加对应用通信的加解密、调用身份认证服务器验证应用身份等功能逻辑,实现终端认证代理与第三方应用之间的双向认证。
(2)内核驱动模块,主要提供终端认证设备管理,对上接收认证服务调用的随机数生成、加解密、签名验签等密码算法请求,对下调用终端认证设备,完成算法运算,返回结果。本次改造的内容要新增一对共享消息秘钥msgKey以及两对公私钥对cPriKey/cPubKey、aPriKey/aPubKey,支持软算法加解密(如国密算法)、支持安全通道的建立等功能,使得终端认证代理既可以部署在用户侧,也可以部署在应用侧。
(3)认证接口库,作为第三方应用和终端桌面应用调用的公用接口,本次改造内容要集成和兼容终端认证设备接口和应用身份认证接口。为确保对外接口一致性,接口进行统一,实现兼容。
三、身份认证服务器改造设计。
为了保障身份认证服务器支持人员、应用、身份认证服务器之间三方强身份认证功能,需要对身份认证服务器进行改造。传统的身份认证服务器包括系统配置(认证策略、认证方式)、证数链管理、认证服务、双机热备、认证日志等核心功能,本次新增第三方管理、秘钥对及共享消息秘钥生成功能,同时改造认证服务功能。
(1)第三方管理
在对外提供认证前服务前,通过第三方应用管理,将应用信息添加到身份认证服务器中,在认证过程中对第三方应用身份进行确认,防止恶意冒用或中间劫持。需要说明的是,实际使用上,可以对第三方管理功能进行扩展,如设备、消息等任何可能存在于网络空间中的实体,都可纳入管理,并不限于应用软件。添加第三方应用的管理流程如图3所示,包括以下步骤:
用户通过界面,添加应用信息,如应用名称、访问地址、端口号、研制厂商、软件版本号、访问URL、加密证书。后台服务收到请求后对应用信息进行验证,如果验证失败,则返回用户进行完善;应用信息验证成功后,系统基于密码技术为第三方应用生成一个唯一标识appId,并进行签名,作为身份验证的依据;最后将应用信息存储入库。
(2)秘钥对及共享消息秘钥生成
身份认证服务器为第三方应用生成共享消息秘钥msgKey以及两对公私钥对cPriKey/cPubKey、aPriKey/aPubKey。其中共享消息秘钥msgKey用于应用身份的验证;cPriKey/cPubKey、aPriKey/aPubKey分别用于与终端认证代理、身份认证服务器进行加密通信。需要注意的是,上述秘钥及appId需要离线加密传递到应用上。身份标识的导出流程如图4所示,包括以下步骤:
在秘钥对及共享消息秘钥导出时,系统读取应用自身加密证书,解析出加密公钥,利用软算法(如国密算法),利用公钥对唯一标识进行加密,确保只有应用自身才能够解密;最后将生成的密文以文件的形式回写到指定的路径下;管理员将密文文件刻盘导出到应用服务器上,离线导入,应用服务器解密后,将数据再次加密后保存。
(3)认证服务改造设计
相对于传统认证服务,本系统改造内容包括两方面,一方面策略管理,另一方面是认证管理。
1)策略管理,将认证策略管理功能进行扩展,支持人员与应用的绑定,防止非法人员访问应用;同时增加或扩展已有黑白名单机制,将人员、应用纳入到认证的黑白名单管理。
2)认证管理,认证管理功能设计改造内中主要分为如下三个方面:
a)验证应用身份。由于终端认证代理没有共享消息秘钥,因此终端认证代理验证应用身份是调用身份认证服务器中相关接口完成验证。
b)应用票据生成。传统票据生成只针对终端认证设备证书,本次改造中,票据的数据结构中要包含应用信息,确保当前票据是发给当前应用的。
c)票据的验证。由于票据结构发生了变化,且应用侧使用的消息验证机制生成了消息验证码,因此本系统中在验证票据的时候首先要对消息验证码进行验证,而后对终端认证设备进行验证以及基于解析的应用身份对消息验证码中识别的身份进行二次验证,接下来是基于策略进行检查,最后是票据本身信息的验证。
可以看出,本发明中采用消息验证技术,配合一些辅助手段对传统认证方式进行了增强,有效杜绝了传统身份认证系统中的缺点,具体体现在:
(1)身份认证服务器为应用分配的身份标识,和共享消息秘钥,在认证过程中对应用的身份予以确认,出于安全性考虑,共享秘钥只在应用和身份认证服务器之间使用;
(2)获取票据前,终端认证代理向身份认证服务器发起请求,通过消息验证机制对应用身份予以确认。
(3)生成票据过程中,身份认证设备在票据内部封装了认证代理软件信息、应用身份信息。
(4)票据处理过程中,终端认证代理在收到票据后,对票据进行签名和加密,这里的加密算法是采用终端认证设备硬件加密算法,应用无法解开,即票据内容对应用是透明的,一定程度上防止了应用被劫持后,篡改票据行为。
(5)票据验证过程中,应用在收到票据后,对票据密文进行消息运算,生成消息验证码。身份认证设备在收到验证请求后,验证内容包括请求来源、应用身份、票据内容、所属终端认证代理等相关范围。
(6)三方认证过程中进行加密处理,应用软件与终端认证代理、身份认证服务器之间采用软算法加密,确保了信息传输的安全性。身份认证服务器在验证票据过程中,通过消息验证码机制,对认证过程中的认证代理以及应用的身份进行了验证,有效防止中间人攻击。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (5)
1.一种基于消息验证技术的三方增强认证系统设计方法,其特征在于,该方法中,将所述系统设计为包括终端认证代理、终端认证设备、身份认证服务器;
所述终端认证代理部署在用户终端和应用服务器上,部署在用户终端时,设计为用于提供身份认证的客户端代理功能;部署在应用服务器上时,设计为用于支持对应用身份认证和票据认证,终端认证代理包括认证代理服务模块、内核驱动模块、认证接口库;
所述认证代理服务模块作为应用侧认证代理服务,通过对外提供的接口,接收外部认证请求,向身份认证服务器发送认证数据,完成认证功能,认证服务代理模块具有对应用通信的加解密、调用身份认证服务器验证应用身份这些功能逻辑,实现终端认证代理与第三方应用之间的双向认证;
内核驱动模块,实现终端认证设备管理,对上接收认证服务调用的随机数生成、加解密、签名验签这些密码算法请求,对下调用终端认证设备,完成算法运算,返回结果;
认证接口库,作为第三方应用和终端桌面应用调用的公用接口,集成和兼容终端认证设备接口和应用身份认证接口;
所述身份认证服务器设计为具有第三方管理、秘钥对及共享消息秘钥生成功能,以及认证服务功能;
所述第三方管理功能是在对外提供认证前服务前,通过第三方应用管理,将应用信息添加到身份认证服务器中,在认证过程中对第三方应用身份进行确认,防止恶意冒用或中间劫持;
所述秘钥对及共享消息秘钥生成功能是为第三方应用生成共享消息秘钥msgKey以及两对公私钥对cPriKey/cPubKey、aPriKey/aPubKey,其中共享消息秘钥msgKey用于应用身份的验证;cPriKey/cPubKey、aPriKey/aPubKey分别用于与终端认证代理、身份认证服务器进行加密通信;
所述认证服务功能包括两方面,一方面是策略管理,另一方面是认证管理:
1)策略管理,将认证策略管理功能进行扩展,支持人员与应用的绑定,防止非法人员访问应用;同时增加或扩展已有黑白名单机制,将人员、应用纳入到认证的黑白名单管理;
2)认证管理:
a)验证应用身份:终端认证代理验证应用身份是调用身份认证服务器中相关接口完成验证;
b)应用票据生成:票据的数据结构中包含应用信息,确保当前票据是发给当前应用的;
c)票据的验证:在验证票据的时候首先对消息验证码进行验证,然后对终端认证设备进行验证以及基于解析的应用身份对消息验证码中识别的身份进行二次验证,接下来是基于策略进行检查,最后是票据本身信息的验证;
该系统实现的强三方认证工作方法包括以下步骤:
(1)认证前的准备工作
第三方应用在接入本系统进行认证前,通过身份认证服务器为其生成两对公私钥对cPriKey/cPubKey、aPriKey/aPubKey、消息秘钥msgKey,其中,cPriKey/cPubKey用于与终端认证代理之间进行交互,aPriKey/aPubKey用于与身份认证服务器进行交互,所述消息秘钥为第三方应用与身份认证服务器之间进行消息鉴别使用,所述消息鉴别的具体流程为:①将第三方应用的证书以离线方式发送给身份认证服务器,用于数据导出时加密;②身份认证服务器为当前应用生成身份标识appId、消息秘钥msgKey以及两对公私钥对cPriKey/cPubKey、aPriKey/aPubKey;③身份认证服务器使用第三方应用的证书中的公钥对步骤②生成的身份标识appId、消息秘钥msgKey以及两对公私钥对cPriKey/cPubKey、aPriKey/aPubKey进行加密,连同认证服务器证书,通过离线方式导出;④第三方应用收到cPriKey/cPubKey、aPriKey/aPubKey、消息秘钥msgKey数据后进行加密存储;
(2)强三方认证流程,包括以下步骤:
(1)终端认证代理利用终端认证设备,建立与身份认证服务器之间的安全通道完成双向认证;
(2)第三方应用在获取认证之前,发起与终端认证代理之间的安全通道;
(3)发送票据请求
建立安全通道后,第三方应用发起登录认证请求,向终端认证代理请求随机数;终端认证代理调用自身认证设备,生成随机数返回给第三方应用;第三方应用对随机数计算消息验证码,并将自身appId、随机数及消息验证码以票据请求的方式发送给终端认证代理;
(4)验证应用身份
终端认证代理收到获取票据请求后,提取第三方应用随机数及其消息验证码,并调用身份认证服务器对消息验证码进行验证;
(5)应用身份鉴别,身份认证服务器调用消息验证码进行验证,识别出应用身份,并返回应用appId给终端认证代理;
(6)获取票据
终端认证代理获取断言后,携带断言、应用appId向身份认证服务器发送获取票据请求;身份认证服务器收到票据请求后,调用本地密码卡,为第三方应用生成一个一次性票据,返回给终端认证代理;返回票据成功后,身份认证服务器在本地生成一份票据的描述,用于描述票据的终端认证代理身份信息以及应用身份信息,用于验证票据,同时便于异常行为追溯;
(7)票据签名与加密
终端认证代理收到认证票据后,对票据进行二次封装,增加自身信息签名及签名证书,加密后发送给第三方应用;
(8)生成消息验证码
第三方应用收到返回的票据,对数据进行运算,生成返回的票据的消息验证码,附在票据的尾部,然后利用身份认证服务器公钥,对票据及其消息验证码进行加密;
(9)验证票据
第三方应用通过调用身份认证服务器接口验证加密票据;身份认证服务器收到票据后,进行消息码运算,识别出应用appId’,同时调用密码卡接口,对终端认证代理加密的数据进行解密,提取票据内容,验证票据,同时比较票据中的应用appId与当前的应用appId’进行比对,验证应用身份,验证是否是从当前应用IP、端口发送的,以检测异常IP认证请求。
2.如权利要求1所述的方法,其特征在于,所述第三方管理功能中添加第三方应用的管理流程包括以下步骤:用户通过界面添加应用信息,后台服务收到请求后对应用信息进行验证,如果验证失败,则返回用户进行完善;应用信息验证成功后,基于密码技术为第三方应用生成一个唯一标识appId,并进行签名,作为身份验证的依据,最后将应用信息存储入库。
3.如权利要求1所述的方法,其特征在于,所述秘钥对及共享消息秘钥生成功能中身份标识的导出流程包括以下步骤:在秘钥对及共享消息秘钥导出时,读取应用自身加密证书,解析出加密公钥,利用软算法,利用公钥对唯一标识进行加密,确保只有应用自身才能够解密;最后将生成的密文以文件的形式回写到指定的路径下;将密文文件刻盘导出到应用服务器上,离线导入,应用服务器解密后,将数据再次加密后保存。
4.如权利要求3所述的方法,其特征在于,所述软算法为如国密算法。
5.一种利用权利要求1至4中任一项所述的方法设计得到的三方增强认证系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110941223.8A CN113676468B (zh) | 2021-08-17 | 2021-08-17 | 一种基于消息验证技术的三方增强认证系统设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110941223.8A CN113676468B (zh) | 2021-08-17 | 2021-08-17 | 一种基于消息验证技术的三方增强认证系统设计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113676468A CN113676468A (zh) | 2021-11-19 |
CN113676468B true CN113676468B (zh) | 2023-06-06 |
Family
ID=78543249
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110941223.8A Active CN113676468B (zh) | 2021-08-17 | 2021-08-17 | 一种基于消息验证技术的三方增强认证系统设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113676468B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112637189A (zh) * | 2020-12-18 | 2021-04-09 | 重庆大学 | 物联网应用场景下的多层区块链跨域认证方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8112787B2 (en) * | 2005-12-31 | 2012-02-07 | Broadcom Corporation | System and method for securing a credential via user and server verification |
EP2885904B1 (en) * | 2012-08-03 | 2018-04-25 | Vasco Data Security International GmbH | User-convenient authentication method and apparatus using a mobile authentication application |
CN104243157A (zh) * | 2013-06-24 | 2014-12-24 | 阿里巴巴集团控股有限公司 | 一种用于用户身份认证的方法和装置 |
CN110740116B (zh) * | 2018-07-20 | 2023-06-30 | 北京思源理想控股集团有限公司 | 一种多应用身份认证的系统及方法 |
CN111901346B (zh) * | 2020-07-29 | 2022-10-25 | 北京奇艺世纪科技有限公司 | 一种身份认证系统 |
-
2021
- 2021-08-17 CN CN202110941223.8A patent/CN113676468B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112637189A (zh) * | 2020-12-18 | 2021-04-09 | 重庆大学 | 物联网应用场景下的多层区块链跨域认证方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113676468A (zh) | 2021-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109361668B (zh) | 一种数据可信传输方法 | |
US8291231B2 (en) | Common key setting method, relay apparatus, and program | |
CN101189827B (zh) | 综合认证和管理服务提供者、终端和用户身份模块的方法以及使用该方法的系统和终端 | |
CN114584307B (zh) | 一种可信密钥管理方法、装置、电子设备和存储介质 | |
US9608971B2 (en) | Method and apparatus for using a bootstrapping protocol to secure communication between a terminal and cooperating servers | |
CN108809633B (zh) | 一种身份认证的方法、装置及系统 | |
CN111770088A (zh) | 数据鉴权方法、装置、电子设备和计算机可读存储介质 | |
CN110505055B (zh) | 基于非对称密钥池对和密钥卡的外网接入身份认证方法和系统 | |
CN105162808A (zh) | 一种基于国密算法的安全登录方法 | |
CN111800467B (zh) | 远程同步通信方法、数据交互方法、设备及可读存储介质 | |
CN110380859B (zh) | 基于非对称密钥池对和dh协议的量子通信服务站身份认证方法和系统 | |
CN113452687B (zh) | 基于量子安全密钥的发送邮件的加密方法和系统 | |
WO2023151427A1 (zh) | 量子密钥传输方法、装置及系统 | |
CN115473655B (zh) | 接入网络的终端认证方法、装置及存储介质 | |
CN117081736A (zh) | 密钥分发方法、密钥分发装置、通信方法及通信装置 | |
CN110519222B (zh) | 基于一次性非对称密钥对和密钥卡的外网接入身份认证方法和系统 | |
CN115835194B (zh) | 一种nb-iot物联网终端安全接入系统及接入方法 | |
WO2023174350A1 (zh) | 身份认证方法、装置、设备及存储介质 | |
CN113727059B (zh) | 多媒体会议终端入网认证方法、装置、设备及存储介质 | |
CN113676468B (zh) | 一种基于消息验证技术的三方增强认证系统设计方法 | |
CN113438074B (zh) | 基于量子安全密钥的接收邮件的解密方法 | |
CN111935164B (zh) | 一种https接口请求方法 | |
JP2000261428A (ja) | 分散処理システムにおける認証装置 | |
CN115001705B (zh) | 一种基于加密设备的网络协议安全提升方法 | |
CN113727057B (zh) | 多媒体会议终端入网认证方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |