CN115987598A - 一种基于WebAuthn协议的国密算法身份认证系统、方法和装置 - Google Patents
一种基于WebAuthn协议的国密算法身份认证系统、方法和装置 Download PDFInfo
- Publication number
- CN115987598A CN115987598A CN202211623804.8A CN202211623804A CN115987598A CN 115987598 A CN115987598 A CN 115987598A CN 202211623804 A CN202211623804 A CN 202211623804A CN 115987598 A CN115987598 A CN 115987598A
- Authority
- CN
- China
- Prior art keywords
- authentication
- identity
- user
- authentication device
- certificate
- 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
- 238000000034 method Methods 0.000 title claims abstract description 24
- 238000004891 communication Methods 0.000 claims description 27
- 238000004364 calculation method Methods 0.000 claims description 17
- 238000012795 verification Methods 0.000 claims description 15
- 238000013475 authorization Methods 0.000 claims description 5
- 230000008676 import Effects 0.000 claims description 2
- 101000759879 Homo sapiens Tetraspanin-10 Proteins 0.000 claims 1
- 102100024990 Tetraspanin-10 Human genes 0.000 claims 1
- 230000008569 process Effects 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000005336 cracking Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008275 binding mechanism Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- ZXQYGBMAQZUVMI-GCMPRSNUSA-N gamma-cyhalothrin Chemical compound CC1(C)[C@@H](\C=C(/Cl)C(F)(F)F)[C@H]1C(=O)O[C@H](C#N)C1=CC=CC(OC=2C=CC=CC=2)=C1 ZXQYGBMAQZUVMI-GCMPRSNUSA-N 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- JEIPFZHSYJVQDO-UHFFFAOYSA-N iron(III) oxide Inorganic materials O=[Fe]O[Fe]=O JEIPFZHSYJVQDO-UHFFFAOYSA-N 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于WebAuthn协议的国密算法身份认证系统、方法及装置,属于身份认证安全领域;系统包括认证SDK、PKI身份证书管理系统、认证装置、用户主密钥和终端设备;认证方法包括:用户主密钥为认证装置颁发含APPID数据的、合法的短周期身份证书,终端设备向认证SDK发起身份认证请求,认证SDK生成并返回盘问口令,认证装置内的私钥对盘问口令进行数字签名,同时将签名数据和短周期临时身份证书返回给认证SDK;认证SDK验证用户身份认证信息,认证装置为一内置安全芯片的USB装置。本发明能有效阻止身份认证账户密码泄露及被第三方窃取,有效保证身份认证流程的安全性,安全和方便的拓展可信身份在各种终端设备中的使用,尤其是在标准的Web客户端中使用。
Description
技术领域
本发明涉及身份认证安全领域,具体为WebAuthn国密算法身份认证技术领域。
背景技术
Web网页是我们日常生活中比较常见的需要使用账户登陆的平台。例如企业的各种ERP系统、人事管理系统、对外提供业务的管理系统等。这些系统涉及到大量的敏感信息和机密信息,目前这些系统的用户身份认证大多采用用户名+密码、用户名+密码+动态短信验证码的形式使用。用户输入提交之后,服务器端通过验证用户名和密码是否匹配,或者用户名、密码、动态口令是否匹配来确认用户是否为系统合法用户。
而目前现有技术主要存在以下问题:1、静态口令身份认证账户密码管理难度大,容易被木马、钓鱼、中间人劫持、社工攻击等导致密码泄露的问题;2、动态短信登陆码存伪基站攻击、钓鱼、木马等攻击导致泄露的问题;3、传统智能卡发卡和读卡都需要专用的读写设备,普及成本高,使用兼容性差,无法使用在Web平台上;4、USBKey存在需要专用的驱动程序和浏览器插件,大多数无法跟随浏览器版本升级而及时升级,部分浏览器平台已经被淘汰或者浏览器插件技术已经被淘汰;5、仅单独使用生物识别模块,例如指纹等生物特征无法修改或者容易灭失,出现指纹泄漏遭破解攻击或遭遇事故导致损毁之后存在巨大使用风险;6、手机或者安全主机有比较安全的安全芯片支持,但是通用性和适配性较差;7、传统的一证通等手机APP很难安全和可信的将APP中认证过的身份信息传递给其他应用,或者需要借用互联网以及中间服务器,流程复杂且存在被劫持和攻击的风险;8、传统WebAuthn在浏览器、操作系统上已被广泛支持,但不具备强身份认证的能力,以及不具备身份信息生命周期控制和管理能力;9、当前国密算法应用在普及,但是国密算法安全芯片并没有普及,需要对现有应用改造使用专用芯片、定制设备和专用的应用,导致当前的私钥安全的国密身份应用成本高和普及难度大。
因此针对以上技术问题,如何实现使得身份认证不易被泄露、被破解;可以跨平台、跨操作系统使用;私钥安全的国密身份应用;同时在使用过程中也不易丢失,容易根据用户的需求及时更新认证密钥,是本领域技术人员需要解决的问题。
发明内容
本发明的目的在于提供一种基于WebAuthn协议的国密算法身份认证系统、方法及装置,以解决上述背景技术提出的技术问题。
为实现上述目的,本发明提供如下技术方案:
一种基于WebAuthn协议的国密算法身份认证系统,包括:认证SDK、终端设备、认证装置、用户主密钥和PKI身份证书管理系统;
所述认证SDK用于集成在互联网服务端,在访问服务端需要进行身份认证时,所述认证装置通过终端设备与认证SDK建立通信连接并交互身份认证信息,所述认证SDK还通过预埋PKI身份根证书与PKI身份证书管理系统建立信任和授权关系,验证所述认证装置发送的身份认证信息的合法性;
所述终端设备用于在访问互联网服务端需要进行身份认证时,与所述认证装置建立通信连接,并通过建立的通信连接与所述认证装置交互得到身份认证信息,并向所述认证SDK发送身份认证请求;
所述认证装置为独立的USB硬件设备,用于生成和/或存储私钥和公钥对,并对所述身份认证信息进行加密、签名,所述认证装置在进行身份认证时与用户主密钥建立通信连接并交互身份认证信息,所述认证装置获得并储存所述身份认证信息,所述认证装置上设有一LED指示灯和按钮,所述LED指示灯用于在进行身份认证时提示用户认证装置当前状态,所述按钮用于在进行身份认证时用户进行授权签名操作;
所述用户主密钥由手机或安全主机内的用户私钥和用户证书组成,所述用户证书由手机或安全主机向所述PKI身份证书管理系统提交身份认证请求并经所述PKI身份证书管理系统批准后获得,所述用户主密钥用于在进行身份认证前与所述认证装置建立通信连接读取认证装置中的公钥和签名,并用与公钥相对应的用户私钥给认证装置签发短周期身份证书;
所述PKI身份证书管理系统用于鉴别、认证和颁发用户证书给用户主密钥,并提供PKI身份根证书给所述认证SDK用于构建信任链验证用户是否为授权可信用户;
所述用户证书的自定义扩展字段中包含APPID数据,所述APPID数据为认证SDK服务所部署的域名信息并经过SM3计算所得,所述短周期身份证书包含所述用户证书中的APPID数据;
所述用户主密钥通过NFC或蓝牙与认证装置建立通信连接;
所述终端设备为电脑设备或其他硬件设备,其安装有标准的浏览器或其他需要用户登陆的互联网应用,用于供用户访问和使用Web服务端或互联网应用。
进一步地,所述短周期身份证书使用X.509v3标准的扩展信息的自定义扩展字段的方式继承用户证书中的APPID数据。
进一步地,所述短周期身份证书设有有效时间,所述有效期时间根据PKI身份证书管理系统的安全策略设置。
进一步地,所述PKI身份证书管理系统颁发符合X.509v3标准的用户证书给用户主密钥。
本发明还提供了:一种基于WebAuthn协议的国密算法身份认证方法,包括:所述认证装置与终端设备建立通信连接,认证装置初始化,然后通过蓝牙或NFC途径与用户主密钥建立通信连接;
所述用户主密钥向PKI身份证书管理系统提交身份认证请求并获得用户证书,所述用户证书中还包含APPID数据;
所述用户主密钥读取认证装置内认证装置公钥、公钥签名数据和认证装置信息并通过使用者身份校验后向认证装置签发包含APPID数据的短周期身份证书,然后认证装置用其内部存储的私钥与短周期身份证书进行关联;
所述终端设备向所述认证SDK发送身份认证请求;
所述认证SDK获取身份认证请求并响应生成盘问口令返回给终端设备,所述终端设备获取当前访问域名,然后将盘问口令、当前访问域名通过接口发送给认证装置;
所述认证装置获取盘问口令、当前访问域名后,对当前访问域名经SM3计算后得到APPID数据与其存储的短周期身份证书中的APPID数据进行比较,若不一致,则终止身份认证,若一致,则认证装置闪烁LED灯提示用户点击按钮批准签名操作,然后用与短周期身份证书关联的私钥对盘问口令进行数字签名,并将签名结果数据按WebAuthn标准结构返回给终端设备;
所述终端设备将认证装置返回的数据发送给认证SDK验证;
所述认证SDK通过验证盘问口令是否一致,验证数字签名与短周期身份证书是否匹配,验证短周期身份证书与PKI身份证书管理系统组成证书链是否可信;通过OCSP协议向PKI身份证书管理系统验证前述证书链吊销状态;若验证通过则登录成功,反之则登录失败。
进一步地,所述用户主密钥为认证装置签发短周期身份证书前,要先通过PIN或指纹认证或脸部识别认证完成手机或安全主机的使用者身份认证审核。
进一步地,所述认证装置会根据用户当前访问域名信息并经过SM3计算生成APPID数据,并将其与所述短周期身份证书中的APPID数据进行验证,如果匹配成功则认为认证装置认为数据合法,可以继续进行下一步的签名操作,否则则终止。
进一步地,所述认证装置内生成SM2算法公私钥对,并对公钥进行SM3算法计算获得摘要数据,通过SM2算法对摘要数据进行签名,并结合认证装置合法性证明计算,生成认证装置公钥签名数据。
本发明还提供了:用于基于WebAuthn协议的国密算法身份认证装置,所述认证装置为一USB硬件设备,由一标准的USB接口、具备NFC或蓝牙通信能力、内置安全芯片的装置本身、一LED指示灯和按钮组成;所述认证装置的内置安全芯片设有加密主密钥,对所述认证装置内存储的数据进行加密存储,所述加密主密钥存储在内置安全芯片的安全模块单元,所述安全模块单元使用加密主密钥和SM4-ECB算法对认证装置内存储的数据进行加密和解密处理。
进一步地,所述认证装置的内置安全芯片内生成和/或储存的私钥不可被导出使用,公钥可以导出,所述认证装置可导入与其内公钥相关的经PKI身份证书管理系统签名的证书。
与现有技术相比,本发明的有益效果是:
1.通过认证装置与用户主密钥手机配合使用,继承手机的生物识别授权特征,颁发短周期身份证书,增加安全性和使用便利性。并且用户主密钥只向经过认证的合法认证装置进行证书颁发。
2.本发明基于PKI信任体系,身份可以提前审核、集中配置,可以实现批量签发和管理,无需像WebAuthn需在具体系统中单独配置,并且可以提供具备法律效力的强身份认证。
3.本发明使用WebAuthn标准协议和PKI标准技术,便于开发与集成,同时支持国际标准和国内SM2算法标准,有效提升国密算法(SM2)身份证书使用的兼容性,尤其是在Chorme、Safari等标准的Web客户端中使用,而无需额外安装驱动程序或插件。
本发明借助浏览器上WebAuthn标准的APPID绑定机制,绑定认证装置与认证SDK可以防止跨域名认证攻击,实现传统基于PKI的mTLS(Mutual Transport Layer Security,相互传输层安全)无法实现的安全特征。
4.本发明的认证装置内实现SM4-ECB分组密码算法,使用芯片内部不可导出的密钥对数据进行加密,在芯片内部现国密算法私钥安全保护;本认证装置基于标准的WebAuthn标准协议,在常见终端设备不做硬件设备改造的情境下实现了私钥安全的国密身份应用,应用只需要在应用服务端接入认证SDK即可;通过本认证装置对认证SDK下发的登陆盘问口令使用符合SM2椭圆曲线公钥密码算法的密码学算法进行数字签名,并反馈签名结果进而验证登陆用户的身份,每次的盘问口令由认证SDK根据用户的登陆请求生成,能有效阻止中间人通过窃听的手段截获密码;通过对域名做SM3计算作为APPID进行校验,有效阻止中间人伪造身份进行登陆的攻击;认证装置内部数据进行加密存储,加密主密钥由内置芯片生成,因此装置本身具有防破解和防侧信道攻击能力,安全性相对较高;通过用户主密钥为认证装置签发短周期身份证书,可以控制短周期身份证书的有效期,有效完成私钥和证书轮换的安全策略。
附图说明
图1为本发明实施例中,认证装置的结构示意图;
图2为本发明中的身份认证系统的整体框架图;
图3为本发明实施例中,认证装置的实施流程;
图4为本发明身份PKI身份证书管理系统为用户主密钥颁发用户证书的流程示意图;
图5为本发明用户主密钥为认证装置颁发短周期身份证书的流程示意图;
图6为本发明使用本方法进行登陆认证的流程示意图;
附图1说明:1、认证装置;2、按钮;3、USB接口;4、LED指示灯。
具体实施方式
本发明实施例提供了一种基于WebAuthn协议的国密算法身份认证系统、方法及装置。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
如图1所示,为本发明实施例提供的认证装置1的结构示意图,认证装置1为一USB设备,由一标准的USB接口3、内置芯片的装置本身、一LED指示灯4和按钮2组成。具体实施时,认证装置1通过其USB接口3与终端设备建立通信连接并进行数据交互。认证装置1采用HID协议或蓝牙协议或NFC协议与浏览器交换数据,认证装置1使用TockOS嵌入式系统作为其操作系统。认证装置1内可以生成和存储符合SM2椭圆曲线公钥密码算法的公钥和私钥对和证书;除此之外其内置芯片内设有安全模块单元,内置芯片通常采用nrf58240芯片。认证装置的内置安全芯片设有加密主密钥,对所述认证装置内存储的数据进行加密存储,所述加密主密钥存储在内置安全芯片的安全模块单元,所述安全模块单元使用加密主密钥和SM4-ECB算法对认证装置内存储的数据进行加密和解密处理。
如图2-6所示,为本发明实施例提供的身份认证系统和身份认证方法,其中系统包括认证SDK、终端设备、认证装置、用户主密钥和PKI身份证书管理系统。
所述认证SDK用于集成在互联网服务端,在访问服务端需要进行身份认证时,所述认证装置通过终端设备与认证SDK建立通信连接并交互身份认证信息,所述认证SDK还通过预埋PKI身份根证书与PKI身份证书管理系统建立信任和授权关系,验证所述认证装置发送的身份认证信息的合法性。
所述终端设备用于在访问互联网服务端需要进行身份认证时,与所述认证装置建立通信连接,并通过建立的通信连接与所述认证装置交互得到身份认证信息,并向所述认证SDK发送身份认证请求。
所述认证装置为独立的USB硬件设备,用于生成和/或存储私钥和公钥对,并对所述身份认证信息进行加密、签名,所述认证装置在进行身份认证时与用户主密钥建立通信连接并交互身份认证信息,所述认证装置获得并储存所述身份认证信息,所述认证装置上设有一LED指示灯和按钮,所述LED指示灯用于在进行身份认证时提示用户认证装置当前状态,所述按钮用于在进行身份认证时用户进行授权签名操作。
所述用户主密钥由手机或安全主机内的用户私钥和用户证书组成,所述用户证书由手机或安全主机向所述PKI身份证书管理系统提交身份认证请求并经所述PKI身份证书管理系统批准后获得,所述用户主密钥用于在进行身份认证时与所述认证装置建立通信连接读取认证装置中的公钥和签名,并用与公钥相对应的用户私钥给认证装置签发短周期身份证书;所述用户证书的自定义扩展字段中包含APPID数据,所述APPID数据为认证SDK服务所部署的域名信息并经过SM3计算所得,所述短周期身份证书包含所述用户证书中的APPID数据;所述短周期身份证书使用X.509v3标准的扩展信息的自定义扩展字段的方式继承用户证书中的APPID数据。所述短周期身份证书设有有效时间,所述有效期时间根据PKI身份证书管理系统的安全策略设置,所述PKI身份证书管理系统颁发符合X.509v3标准的用户证书给用户主密钥。所述用户主密钥通过NFC或蓝牙与认证装置建立通信连接。
所述PKI身份证书管理系统用于鉴别、认证和颁发用户证书给用户主密钥,并提供PKI身份根证书给所述认证SDK用于构建信任链验证用户是否为授权可信用户。
所述终端设备为电脑设备或其他硬件设备,其安装有标准的浏览器或其他需要用户登陆的互联网应用,用于供用户访问和使用web服务端或互联网应用。
如图3所示,认证装置1与所述终端设备的交互过程如下:
步骤1:认证装置1插入终端设备USB接口3;
步骤2:终端设备开始向认证装置供电;
步骤3:认证装置初始化状态,复位按钮2状态和LED指示灯4状态;
步骤4:终端设备向认证装置发送盘问口令信息和当前访问域名信息;
步骤5:认证装置1接收盘问口令和当前访问域名,据当前访问域名计算APPID,并与短周期身份证书中的APPID相比较,APPID不一致则为未通过验证停止后续操作,如一致则为通过验证;
步骤6:如果步骤5为验证通过,则闪烁LED指示灯4提醒用户点击按钮2确认,并设置按钮2超时时间;
步骤7:用户点击按钮2确认授权操作;
步骤8:用认证装置1中的私钥对盘问口令进行数字签名,并将签名结果以及装置内储存的短周期身份证书返回终端设备。
如图4-6所示,本发明中的身份认证方法,包括以下步骤:
步骤1:所述认证装置与终端设备建立通信连接,认证装置初始化,然后通过蓝牙或NFC途径与用户主密钥建立通信连接;
步骤2:所述用户主密钥向PKI身份证书管理系统提交身份认证请求并获得用户证书,所述用户证书中还包含APPID数据;
具体实施时,用户主密钥生成一对非对称算法密钥对,并生成身份CSR(certificate signing request),使用该密钥对的私钥对生成的身份CSR进行数字签名,之后使用经过数字签名的身份CSR向PKI身份证书管理系统发起身份证书颁发请求。身份CSR中包含用户身份信息,用户身份信息包括用户名、邮箱等个人标识信息;优选地,身份证书使用X.509v3标准。PKI身份证书管理系统对身份CSR进行审核,经过系统的批准后,PKI身份证书管理系统按照PKI标准使用身份CSR签发用户证书,签发用户证书过程中,在其扩展信息的自定义扩展字段中加入APPID数据信息;APPID数据为认证SDK服务端所部署的域名信息经过SM3计算所得的摘要值;用户主密钥将获得的用户证书存储在本地,并与前述所非对称算法密钥对的私钥进行关联。
步骤3:所述用户主密钥读取认证装置内认证装置公钥、公钥签名数据和认证装置信息,通过PIN或指纹认证或脸部识别认证完成手机或安全主机的使用者身份认证审核,然后向认证装置签发包含APPID数据的短周期身份证书,然后认证装置用其内部存储的私钥与短周期身份证书进行关联。
具体实施时,所述认证装置内生成SM2算法公私钥对,并对公钥进行SM3算法计算获得摘要数据,通过SM2算法对摘要数据进行签名,并结合认证装置合法性证明计算,生成认证装置公钥签名数据。用户主密钥读取认证装置内认证装置公钥、公钥签名数据和认证装置信息,通过PIN或指纹认证或脸部识别认证完成手机或安全主机的使用者身份认证审核,然后用户主密钥使用所读取的认证装置公钥、公钥签名数据和认证装置信息数据生成短周期身份证书数据,并使用与用户证书关联的私钥对短周期临时身份证书进行数字签名,然后向认证装置签发包含APPID数据的短周期身份证书,同时给短周期身份证设置有效时间,有效期时间根据PKI身份证书管理系统的安全策略来设置;认证装置写入短周期临时身份证书后,用其内部存储的私钥与短周期身份证书进行关联。
步骤4:所述终端设备向所述认证SDK发送身份认证请求;
步骤5:所述认证SDK获取身份认证请求并响应生成盘问口令返回给终端设备,所述终端设备获取当前访问域名,然后将盘问口令、当前访问域名通过接口发送给认证装置。优选地,盘问口令由16字节随机数组成。
具体实施时,终端设备(浏览器)将盘问口令和当前访问域名通过navigator.credentials.get({publicKey:PublicKeyCredentialRequestOpt ions})接口向认证装置传送数据。数据具体字段信息如下:
PublicKeyCredentialRequestOptions.challenge字段传入盘问口令,
PublicKeyCredentialRequestOptions.rpId由浏览器默认设置当前域名,PublicKeyCredentialRequestOptions.allowCredentials字段数组中包含{type:"sm-webauthn"},按照WebAuthn标准所定义的结构组成数据流发送。
步骤6:所述认证装置获取盘问口令、当前访问域名后,依据当前访问域名信息经过SM3计算生成APPID数据,与其存储的短周期身份证书中的APPID数据进行比较,若不一致,则终止身份认证,若一致,则认证装置闪烁LED灯提示用户点击按钮批准签名操作,然后用与短周期身份证书关联的私钥对盘问口令进行数字签名,并将签名结果数据按WebAuthn标准结构返回给终端设备;
具体实施时,认证装置按照WebAuthn标准对接收的数据进行解析。查找PublicKeyCredentialRequestOptions.allowCredentials字段数组中的元素,如果数组元素中含有type字段为“sm-webauthn”的对象,认证装置读取认PublicKeyCredentialRequestOptions.rpId数据,并计算摘要SM3摘要值,并将计算结果与存储的短周期身份证书扩展字段中的APPID数据进行比较验证,验证通过并在用户点击装置按钮后,认证装置安全芯片内部使用SM4-ECB算法解密其存储的私钥,使用该私钥对盘问口令进行SM2算法数字签名。然后组成结果数据,并将结果按照WebAuthn标准结构返回给浏览器。
结果数据结构如下:
PublicKeyCredential.type设为sm-webauthn
PublicKeyCredential.id设为短周期临时身份证书摘要值Base64的数据
PublicKeyCredential.rawId设为短周期身份证书摘要值ArrayBuffer的数据
PublicKeyCredential.respon设为AuthenticatorAssertionResponse结构
AuthenticatorAssertionResponse.clientDataJSON设为
{"challenge":"盘问口令base64数据"}
AuthenticatorAssertionResponse.authenticatorData设置为短周期身份证书ArrayBuffer数据
AuthenticatorAssertionResponse.signature设置为短周期身份证书对应私钥签名clientDataJSON数据签名结果的ArrayBuffer数据
AuthenticatorAssertionResponse.userHandle设置为拼接APPID和短周时身份证书摘要值的arrayBuffer数据。
步骤7:所述终端设备将认证装置返回的数据发送给认证SDK验证;
步骤8:所述认证SDK通过验证盘问口令是否一致,验证数字签名与短周期身份证书是否匹配,验证短周期身份证书与PKI身份证书管理系统组成证书链是否可信;若验证通过则登录成功,反之则登录失败。具体实施时,通过OCSP(Online Certificate StatusProtocol)机制向PKI身份证书管理系统查询短周期身份证书所对应的身份证书的撤销状态,如果所有验证与查询均无异常,则认为用户身份认证成功,返回成功数据,反之则返回失败。
具体实施时,在认证SDK用自主标准的国密算法,一定程度上实现了安全算法的自主可控;认证装置1内部算法支持国际标准算法和自主SM2椭圆曲线公钥密码算法算法,认证SDK可通过客户端传送回来的算法ID区分当前使用的是何种算法,自动完成算法适配,兼容多种使用场景;认证装置1内使用Rust语言开发OpenSK应用,具有内存安全和编译时检查的优势。
尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于WebAuthn协议的国密算法身份认证系统,其特征在于,包括:认证SDK、终端设备、认证装置、用户主密钥和PKI身份证书管理系统;
所述认证SDK用于集成在互联网服务端,在访问服务端需要进行身份认证时,所述认证装置通过终端设备与认证SDK建立通信连接并交互身份认证信息,所述认证SDK还通过预埋PKI身份根证书与PKI身份证书管理系统建立信任和授权关系,验证所述认证装置发送的身份认证信息的合法性;
所述终端设备用于在访问互联网服务端需要进行身份认证时,与所述认证装置建立通信连接,并通过建立的通信连接与所述认证装置交互得到身份认证信息,并向所述认证SDK发送携带身份认证信息的身份认证请求;
所述认证装置为独立的USB硬件设备,用于生成和/或存储私钥和公钥对,并对所述身份认证信息进行加密、签名,所述认证装置在开始身份认证前用于与用户主密钥建立通信连接并交互身份认证信息,并在身份认证时用于签名计算,所述认证装置获得并储存所述身份认证信息,所述认证装置上设有一LED指示灯和按钮,所述LED指示灯用于在进行身份认证时提示用户认证装置当前状态,所述按钮用于在进行身份认证时用户进行授权签名操作;
所述用户主密钥由手机或安全主机内的用户私钥和用户证书组成,所述用户证书由手机或安全主机向所述PKI身份证书管理系统提交身份认证请求并经所述PKI身份证书管理系统批准后获得,所述用户主密钥用于在进行身份认证时与所述认证装置建立通信连接读取认证装置中的公钥和签名,并用与用户证书相对应的用户私钥给认证装置签发短周期身份证书;
所述PKI身份证书管理系统用于鉴别、认证和颁发用户证书给用户主密钥,并提供PKI身份根证书给所述认证SDK用于构建信任链验证用户是否为授权可信用户;
所述用户证书的自定义扩展字段中包含APPID数据,所述APPID数据为认证SDK服务所部署的域名信息并经过SM3计算所得,所述短周期身份证书包含所述用户证书中的APPID数据;
所述用户主密钥通过NFC或蓝牙与认证装置建立通信连接;
所述终端设备为电脑设备或其他硬件设备,其安装有标准的浏览器或其他需要用户登陆的互联网应用,用于供用户访问和使用Web服务端或互联网应用。
2.根据权利要求1所述的一种基于WebAuthn协议的国密算法身份认证系统,其特征在于,所述短周期身份证书使用X.509v3标准的扩展信息的自定义扩展字段的方式继承用户证书中的APPID数据。
3.根据权利要求1所述的一种基于WebAuthn协议的国密算法身份认证系统,其特征在于,所述短周期身份证书设有有效时间,所述有效期时间根据PKI身份证书管理系统的安全策略设置。
4.根据权利要求1所述的一种基于WebAuthn协议的国密算法身份认证系统,其特征在于,所述PKI身份证书管理系统颁发符合X.509v3标准的用户证书给用户主密钥。
5.一种基于WebAuthn协议的国密算法身份认证方法,其特征在于,包括:所述认证装置与终端设备建立通信连接,认证装置初始化,然后通过蓝牙或NFC途径与用户主密钥建立通信连接;
所述用户主密钥向PKI身份证书管理系统提交身份认证请求并获得用户证书,所述用户证书中还包含APPID数据;
所述用户主密钥读取认证装置内认证装置公钥、公钥签名数据和认证装置信息并通过使用者身份校验后向认证装置签发包含APPID数据的短周期身份证书,然后认证装置用其内部存储的私钥与短周期身份证书进行关联;
所述终端设备向所述认证SDK发送身份认证请求;
所述认证SDK获取身份认证请求并响应生成盘问口令返回给终端设备,所述终端设备获取当前访问域名,然后将盘问口令、当前访问域名通过接口发送给认证装置;
所述认证装置获取盘问口令、当前访问域名,对当前访问域名经SM3计算后得到APPID数据,与其存储的短周期身份证书中的APPID数据进行比较,若不一致,则终止身份认证,若一致,则认证装置闪烁LED灯提示用户点击按钮批准签名操作,然后用与短周期身份证书关联的私钥对盘问口令进行数字签名,并将盘问口令数据、签名数据、短周期身份证书数据组成返回数据按WebAuthn标准结构返回给终端设备;
所述终端设备将认证装置返回的数据发送给认证SDK验证;
所述认证SDK通过验证盘问口令是否一致,验证数字签名与短周期身份证书是否匹配,验证短周期身份证书与PKI身份证书管理系统组成证书链是否可信;通过OCSP协议向PKI身份证书管理系统验证前述证书链吊销状态;若验证通过则登录成功,反之则登录失败。
6.根据权利要求5所述的一种基于WebAuthn协议的国密算法身份认证方法,其特征在于,所述用户主密钥为认证装置签发短周期身份证书前,要先通过PIN或指纹认证或脸部识别认证完成手机或安全主机的使用者身份认证审核。
7.根据权利要求5所述的一种基于WebAuthn协议的国密算法身份认证方法,其特征在于,所述认证装置会根据终端设备所传递的用户当前访问域名信息经过SM3计算生成APPID数据,并将其与所述短周期身份证书中的APPID数据进行验证,如果匹配成功则认证装置认为数据合法,可以继续进行下一步的签名操作,否则则终止。
8.根据权利要求7所述的一种基于WebAuthn协议的国密算法身份认证方法,其特征在于,所述认证装置内生成SM2算法公私钥对,并对公钥进行SM3算法计算获得摘要数据,通过SM2算法对摘要数据进行签名,并结合认证装置合法性证明计算,生成认证装置公钥签名数据。
9.根据权利要求1所述的用于基于WebAuthn协议的国密算法身份认证装置,其特征在于,所述认证装置为一USB硬件设备,由一标准的USB接口、具备NFC或蓝牙通信能力、内置安全芯片的装置本身、一LED指示灯和按钮组成;
所述认证装置的内置安全芯片设有加密主密钥,对所述认证装置内存储的数据进行加密存储,所述加密主密钥存储在内置安全芯片的安全模块单元,所述安全模块单元使用加密主密钥和SM4-ECB算法对认证装置内存储的数据进行加密和解密处理。
10.根据权利要求9所述的认证装置,其特征在于,所述认证装置的内置安全芯片内生成和/或储存的私钥不可被导出使用,公钥可以导出,所述认证装置可导入与其内公钥相关的经PKI身份证书管理系统签名的证书。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211623804.8A CN115987598A (zh) | 2022-12-16 | 2022-12-16 | 一种基于WebAuthn协议的国密算法身份认证系统、方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211623804.8A CN115987598A (zh) | 2022-12-16 | 2022-12-16 | 一种基于WebAuthn协议的国密算法身份认证系统、方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115987598A true CN115987598A (zh) | 2023-04-18 |
Family
ID=85967415
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211623804.8A Pending CN115987598A (zh) | 2022-12-16 | 2022-12-16 | 一种基于WebAuthn协议的国密算法身份认证系统、方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115987598A (zh) |
-
2022
- 2022-12-16 CN CN202211623804.8A patent/CN115987598A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11258777B2 (en) | Method for carrying out a two-factor authentication | |
US8112787B2 (en) | System and method for securing a credential via user and server verification | |
US8943311B2 (en) | System and methods for online authentication | |
US10454675B2 (en) | Trusted and unsupervised digital certificate generation using a security token | |
CN101350723B (zh) | 一种USB Key设备及其实现验证的方法 | |
CN112651036B (zh) | 基于协同签名的身份认证方法及计算机可读存储介质 | |
US20110307949A1 (en) | System and methods for online authentication | |
US20070241182A1 (en) | System and method for binding a smartcard and a smartcard reader | |
RU2011153984A (ru) | Доверенный администратор достоверности (tim) | |
JP2018038068A (ja) | 通信端末および関連システムのユーザーの識別情報を確認するための方法 | |
CN107733636B (zh) | 认证方法以及认证系统 | |
CN108881222A (zh) | 基于pam架构的强身份认证系统及方法 | |
CN111540093A (zh) | 一种门禁控制系统及其控制方法 | |
WO2010128451A2 (en) | Methods of robust multi-factor authentication and authorization and systems thereof | |
KR102012262B1 (ko) | 키 관리 방법 및 fido 소프트웨어 인증장치 | |
EP1886204B1 (en) | Transaction method and verification method | |
KR101868564B1 (ko) | 사용자 본인 확인(identification) 등록과 로컬 인증을 연계한 사용자 인증 장치 및 방법 | |
CN115987598A (zh) | 一种基于WebAuthn协议的国密算法身份认证系统、方法和装置 | |
AU2016228254A1 (en) | System and methods for online authentication | |
CN118764272A (zh) | 一种融合多种加密的超级u盘安全登录互联网云盘方法 | |
Li et al. | Mobile Security Payment Solution Based on Encrypted SMS Verification Code | |
CN115988495A (zh) | 一种适用于移动通信的商用密码安全身份验证方法 | |
WO2024201734A1 (ja) | 認証システム、端末、認証サーバ、認証方法、及び記録媒体 | |
AU2015202677B2 (en) | System and methods for online authentication | |
TW202127289A (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 |