CN115459994A - 一种基于Internet网络实现的FIDO2认证系统及方法 - Google Patents
一种基于Internet网络实现的FIDO2认证系统及方法 Download PDFInfo
- Publication number
- CN115459994A CN115459994A CN202211082462.3A CN202211082462A CN115459994A CN 115459994 A CN115459994 A CN 115459994A CN 202211082462 A CN202211082462 A CN 202211082462A CN 115459994 A CN115459994 A CN 115459994A
- Authority
- CN
- China
- Prior art keywords
- message
- mobile terminal
- driver
- authentication
- terminal app
- 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
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
-
- 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/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- 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/0861—Network architectures or network communication protocols for network security for authentication of entities using biometrical features, e.g. fingerprint, retina-scan
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明涉及一种基于Internet网络实现的FIDO2认证系统及方法。系统包括用于FIDO认证的移动端APP(即FIDO认证器)、用于FIDO认证请求转发的PC端驱动程序(驱动)、以及用于移动端APP与PC端驱动程序通信的消息服务。方法包括步骤:驱动程序初始化,通过调用keychain或可信平台模块(Trusted Platform Module,TPM)分别生成公钥1和私钥1,并向后端消息服务申请一个消息ID1并基于WebSocket进行通信连接等。本发明基于Internet实现的FIDO2认证方式适用于各种设备、无需额外硬件支持、支持远程登录。此外,两端通信加密实现了高级别安全性,且建立认证耗费时间短,操作起来更加方便快捷,提高了认证效率。
Description
技术领域
本发明涉及数字身份认证领域,尤其涉及一种基于Internet网络实现的FIDO2认证系统及方法。
背景技术
FIDO联盟是一个由多家企业组成的旨在推进互联网身份认证规范及隐私保护的非赢利组织。FIDO2规范是由W3C标准WebAuthn和FIDO客户端身份验证协议(Client ToApplication Protocol,CTAP)组成,利用基于FIDO2规范的认证器和Server能够实现安全免密认证,从而提高网络安全。
当前,互联网账户主流登录认证方式之一是账号+密码,为了便于管理多个网络账户,绝大多数用户都会选择使用同一个密码或者用户名,具备较强网络安全意识的用户最多也就使用3至5个不关联的账号密码,亦或使用密码管理软件。此外,依赖方(RelyingParty,RP)为保障安全,也会要求采用2FA(两步验证)的方式再次进行认证,如在输入用户名和口令后,要求用户二次验证手机号。以上情况除便利性低外,也存在潜在的问题,如用户名和口令方式易被泄露、被攻击盗取、遗忘、密码管理软件本身也会有漏洞、手机号不再使用无法进行二次验证、企业要求定期进行密码更改容易遗忘,而且还容易遭受网络钓鱼的风险。
为解决以上问题,FIDO应运而生,它是基于密码学原理,利用公私钥对实现密码安全。FIDO2作为最新规范,已被各大操作系统和浏览器厂商实现应用,兼容性很强。因此,基于FIDO2认证器的需求增大,但问题也随之而来。基于硬件FIDO认证器(如安全密钥)具有经济成本高、安全漏洞难以更新、极易丢失、特性固定、对C端用户不友好等缺点;而基于FIDO2标准的软件认证器利用空中下载技术(Over-the-Air Technology,OTA)升级能够很好地解决上述问题,但其主流方案主要是利用BLE、USB或NFC方式进行通信,它们存在建立连接时间久、效率低、无法远程登录等问题。此外,当前还有不支持上述三种通信方式的设备。基于以上考虑,本发明提出一种基于Internet网络实现的FIDO2认证系统及方法。
发明内容
为解决当前技术的不足,本发明提供了一种基于Internet网络实现的FIDO2认证系统及方法。
本发明采用的技术方案是:
一种基于Internet网络实现的FIDO2认证系统,包括用于FIDO认证的移动端APP(即FIDO认证器)、用于FIDO认证请求转发的PC端驱动程序、以及用于移动端APP与PC端驱动程序通信的消息服务,所述移动端APP、消息服务、PC端驱动程序依次连接。
所述移动端APP包括功能模块、用户模块、通知模块,三个模块互相连接,通知模块与后端消息服务连接;所述功能模块包括FIDO2协议实现、加密算法实现、凭证管理存储功能实现、与安全模块(Secure Element,SE)元件进行通信、对用户模块的控制实现、对通知模块输入识别实现;所述驱动程序,是通过实现操作系统的USB-HID驱动,模拟为FIDO认证器,然后将用户在PC端的FIDO认证请求通过后端消息服务转发到移动端APP的通知模块;所述后端消息服务,主要负责转发FIDO认证器与驱动程序之间的数据,将其推送到FIDO认证器,即移动端APP的系统通知上。
优选地,所述的消息服务与PC端驱动程序是通过Internet的方式进行通信。
优选地,所述的消息服务与移动端APP是通过Internet的方式进行通信。
一种基于Internet网络实现的FIDO2认证方法,其应用于一种基于Internet网络实现的FIDO2认证系统,所述方法包括以下步骤:
一种基于Internet网络实现的FIDO2认证方法,其应用于一种基于Internet网络实现的FIDO2认证系统,所述方法包括以下步骤:
S1,驱动程序初始化,通过调用keychain或可信平台模块(Trusted PlatformModule,TPM)分别生成公钥1和私钥1,并向后端消息服务申请一个消息ID1并基于WebSocket进行通信连接;
S2,移动APP初始化,通过KeyChain或者 KeyStore分别生成公钥2和私钥2,并向操作系统申请并获取一个消息ID2;
S3,驱动程序将公钥1信息以及消息ID1通过二维码的形式进行展示;
S4,移动端APP扫描二维码,获取到公钥1与消息ID1;
S5,移动端APP使用公钥1将公钥2、消息ID2及系统平台信息加密,并提交给后端消息服务,表示其将要和消息ID1(也就是驱动程序)进行绑定,后端消息服务查询WebSocket连接,发送移动数据到驱动程序;
S6,驱动程序获取到移动数据并用私钥1进行解密,获取到移动端APP信息,即消息ID2及公钥2;
S7,驱动程序用公钥2加密消息进行消息响应,消息响应这里是一个通信机制,处理完消息后通过WebSocket返回,这也代表完成绑定;
S8,移动端APP获取到响应,用私钥2进行解密,绑定完成;
S9,驱动程序获取到FIDO认证请求,将请求数据包装为消息数据并通过公钥2进行加密,发送到消息ID2;
S10,后端消息服务调用移动端对应系统平台的API和消息ID2进行系统通知将消息数据加密发送到移动端APP;
S11,移动端APP收到系统通知,通过私钥2进行解密, 若解密成功,则代表是已配对的设备,若解密失败,则舍弃请求;
S12,移动端APP的功能模块开始解析数据,并通过FIDO协议标准进行验证;
S13,移动端APP验证成功后,基于用户模块提示用户进行认证;
S14,用户通过生物识别等方式进行认证,表示同意此次FIDO认证,并将结果通过公钥1进行加密,调用API返回数据;
S15,后端消息服务查询消息ID1对应Websocket连接,并将数据发送到驱动程序;
S16,驱动程序使用私钥1解密数据,将认证结果返回给依赖方(Relying Party,RP)。
优选地,所述方法中的消息ID1可通过公钥SHA1哈希算法求得或者直接采用随机数作为消息ID1。
优选地,所述方法中的消息ID2是通过系统通知API获取。
本发明的有益效果是:
首先,本发明所述方法及系统基于现有标准进行拓展,使之适用于各种设备,且无需额外硬件支持;其次,本发明基于Inernet网络实现认证过程,可支持远程登录,而且两端通信加密,保障通信安全;最后,本发明方案基于FIDO2均可使用,无绑定关系,且认证建立耗时较短,操作起来更加方便快捷,提高了认证效率。
附图说明
下面结合附图对本发明的具体实施方式作进一步说明:
图1是本发明实施例提供的一种基于Internet网络实现的FIDO2认证系统的系统框架图;
图2是本发明实施例提供的一种基于Internet网络实现的FIDO2认证方法的方法框架图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
术语解释:
SE:安全模块(Secure Element),通常以芯片形式提供。
HID:人机接口设备(Human Interface Devices)。
TPM:可信平台模块(Trusted Platform Module),是一项安全密码处理器的国际标准。
RP:依赖方(Relying Party)。
如图1所示,一种基于Internet网络实现的FIDO2认证系统,其包括用于FIDO认证的移动端APP(即FIDO认证器)、用于FIDO认证请求转发的PC端驱动程序、以及用于移动端APP与PC端驱动程序通信的消息服务,所述移动端APP、消息服务、PC端驱动程序依次连接,消息服务与PC端驱动程序和移动端APP均是通过Internet的方式进行通信。
所述移动端APP包括功能模块、用户模块、通知模块,三个模块互相连接,通知模块与后端消息服务连接;所述功能模块包括FIDO2协议实现、加密算法实现、凭证管理存储功能实现、与SE元件进行通信、对用户模块的控制实现、对通知模块输入识别实现;所述驱动程序,是通过实现操作系统的USB-HID驱动,模拟为FIDO认证器,然后将用户在PC端的FIDO认证请求通过后端消息服务转发到移动端APP的通知模块;所述后端消息服务,主要负责转发FIDO认证器与驱动程序之间的数据,将其推送到FIDO认证器,即移动端APP的系统通知上。
该实施例中,移动端APP以智能手机为例,PC端驱动程序以Windows 10系统为例。
如图2所示,本发明提供了一种基于Internet网络实现的FIDO2认证方法,包括以下步骤:
S1,驱动程序初始化,通过调用keychain或TPM分别生成公钥1和私钥1,并向后端消息服务申请一个消息ID1并基于WebSocket进行通信连接;
S2,移动APP初始化,通过KeyChain或者 KeyStore分别生成公钥2和私钥2,并向操作系统申请并获取一个消息ID2;
S3,驱动程序将公钥1信息以及消息ID1通过二维码的形式进行展示;
S4,移动端APP扫描二维码,获取到公钥1与消息ID1;
S5,移动端APP使用公钥1将公钥2、消息ID2及系统平台信息加密,并提交给后端消息服务,表示其将要和消息ID1(也就是驱动程序)进行绑定,后端消息服务查询WebSocket连接,发送移动数据到驱动程序;
S6,驱动程序获取到移动数据并用私钥1进行解密,获取到移动端APP信息,即消息ID2及公钥2;
S7,驱动程序用移动端APP公钥2加密消息进行消息响应,消息响应这里是一个通信机制,处理完消息后通过WebSocket返回,这也代表完成绑定;
S8,移动端APP获取到响应,用私钥2进行解密,绑定完成;
S9,驱动程序获取到FIDO认证请求,将请求数据包装为消息数据并通过公钥2进行加密,发送到消息ID2;
S10,后端消息服务调用移动端对应系统平台的API和消息ID2进行系统通知将消息数据加密发送到移动端APP;
S11,移动端APP收到系统通知,通过私钥2进行解密, 若解密成功,则代表是已配对的设备,若解密失败,则舍弃请求;
S12,移动端APP的功能模块开始解析数据,并通过FIDO协议标准进行验证;
S13,移动端APP验证成功后,基于用户模块提示用户进行认证;
S14,用户通过生物识别等方式进行认证,表示同意此次FIDO认证,并将结果通过公钥1进行加密,调用API返回数据;
S15,后端消息服务查询消息ID1对应Websocket连接,并将数据发送到驱动程序;
S16,驱动程序使用私钥1解密数据,将认证结果返回给RP。
所述方法中的消息ID1可通过公钥SHA1哈希算法求得或者直接采用随机数作为消息ID1,消息ID2可通过系统通知API获取。
本发明所述的认证方法与认证系统的在实施过程中具有以下优点:
第一,因为是移动端设备直接充当了认证器的角色,所以不再需要额外的硬件支持,经济实用;第二,本发明是基于Internet网络进行认证,可满足远程登录的需要,而且由于是系统直接推送认证信息,提高了认证效率;第三,本发明采用移动端和驱动程序两端加密的通信方式,更加安全;第四,移动端和驱动程序绑定认证后,认证建立时间短暂,且不需要经常修改密码,操作起来更加方便快捷,提高了管理效率。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此。对于熟悉本技术领域的相关人员来说,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种基于Internet网络实现的FIDO2认证系统,其所述系统包括:用于FIDO认证的移动端APP(即FIDO认证器)、用于FIDO认证请求转发的PC端驱动程序、以及用于移动端APP与PC端驱动程序通信的消息服务,所述移动端APP、消息服务、PC端驱动程序依次连接;
所述移动端APP包括功能模块、用户模块、通知模块,三个模块互相连接,通知模块与后端消息服务连接;
所述功能模块包括FIDO2协议实现、加密算法实现、凭证管理存储功能实现、与安全模块(Secure Element,SE)元件进行通信、对用户模块的控制实现、对通知模块输入识别实现;
所述驱动程序,是通过实现操作系统的USB-HID驱动,模拟为FIDO认证器,然后将用户在PC端的FIDO认证请求通过后端消息服务转发到移动端APP的通知模块;
所述后端消息服务,主要负责转发FIDO认证器与驱动程序之间的数据,将其推送到FIDO认证器,即移动端APP的系统通知上。
2.根据权利要求1所述的一种基于Internet网络实现的FIDO2认证系统,其特征在于,所述的消息服务与PC端驱动程序是通过Internet的方式进行通信。
3.根据权利要求1所述的一种基于Internet网络实现的FIDO2认证系统,其特征在于,所述的消息服务与移动端APP是通过Internet的方式进行通信。
4.一种基于Internet网络实现的FIDO2认证方法,其应用于一种基于Internet网络实现的FIDO2认证系统,所述方法包括以下步骤:
S1,驱动程序初始化,通过调用keychain或可信平台模块(Trusted Platform Module,TPM)分别生成公钥1和私钥1,并向后端消息服务申请一个消息ID1并基于WebSocket进行通信连接;
S2,移动APP初始化,通过KeyChain或者 KeyStore分别生成公钥2和私钥2,并向操作系统申请并获取一个消息ID2;
S3,驱动程序将公钥1信息以及消息ID1通过二维码的形式进行展示;
S4,移动端APP扫描二维码,获取到公钥1与消息ID1;
S5,移动端APP使用公钥1将公钥2、消息ID2及系统平台信息加密,并提交给后端消息服务,表示其将要和消息ID1(也就是驱动程序)进行绑定,后端消息服务查询WebSocket连接,发送移动数据到驱动程序;
S6,驱动程序获取到移动数据并用私钥1进行解密,获取到移动端APP信息,即消息ID2及公钥2;
S7,驱动程序用公钥2加密消息进行消息响应,消息响应这里是一个通信机制,处理完消息后通过WebSocket返回,这也代表完成绑定;
S8,移动端APP获取到响应,用私钥2进行解密,绑定完成;
S9,驱动程序获取到FIDO认证请求,将请求数据包装为消息数据并通过公钥2进行加密,发送到消息ID2;
S10,后端消息服务调用移动端对应系统平台的API和消息ID2进行系统通知将消息数据加密发送到移动端APP;
S11,移动端APP收到系统通知,通过私钥2进行解密, 若解密成功,则代表是已配对的设备,若解密失败,则舍弃请求;
S12,移动端APP的功能模块开始解析数据,并通过FIDO协议标准进行验证;
S13,移动端APP验证成功后,基于用户模块提示用户进行认证;
S14,用户通过生物识别等方式进行认证,表示同意此次FIDO认证,并将结果通过公钥1进行加密,调用API返回数据;
S15,后端消息服务查询消息ID1对应Websocket连接,并将数据发送到驱动程序;
S16,驱动程序使用私钥1解密数据,将认证结果返回给依赖方(Relying Party,RP)。
5.根据权利要求4所述的一种基于Internet网络实现的FIDO2认证方法,其特征在于,所述方法中的消息ID1可通过公钥SHA1哈希算法求得或者直接采用随机数作为消息ID1。
6.根据权利要求4所述的一种基于Internet网络实现的FIDO2认证方法,其特征在于,所述方法中的消息ID2是通过系统通知API获取。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211082462.3A CN115459994A (zh) | 2022-09-06 | 2022-09-06 | 一种基于Internet网络实现的FIDO2认证系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211082462.3A CN115459994A (zh) | 2022-09-06 | 2022-09-06 | 一种基于Internet网络实现的FIDO2认证系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115459994A true CN115459994A (zh) | 2022-12-09 |
Family
ID=84303328
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211082462.3A Pending CN115459994A (zh) | 2022-09-06 | 2022-09-06 | 一种基于Internet网络实现的FIDO2认证系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115459994A (zh) |
-
2022
- 2022-09-06 CN CN202211082462.3A patent/CN115459994A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11683187B2 (en) | User authentication with self-signed certificate and identity verification and migration | |
CN110380852B (zh) | 双向认证方法及通信系统 | |
EP2351316B1 (en) | Method and system for token-based authentication | |
US20190173873A1 (en) | Identity verification document request handling utilizing a user certificate system and user identity document repository | |
EP2879421B1 (en) | Terminal identity verification and service authentication method, system, and terminal | |
CN103391197A (zh) | 一种基于手机令牌和NFC技术的Web身份认证方法 | |
CN109495445A (zh) | 基于物联网的身份认证方法、装置、终端、服务器及介质 | |
CN105391734A (zh) | 一种安全登录系统及方法、登录服务器和认证服务器 | |
CN104901935A (zh) | 一种基于cpk的双向认证及数据交互安全保护方法 | |
CN114788226A (zh) | 用于建立分散式计算机应用的非托管工具 | |
CN109698746B (zh) | 基于主密钥协商生成绑定设备的子密钥的方法和系统 | |
CN102143131B (zh) | 用户注销方法及认证服务器 | |
DK2414983T3 (en) | Secure computer system | |
CN102404337A (zh) | 数据加密方法和装置 | |
CN117676579B (zh) | 一种基于芯片构建汽车安全身份认证方法 | |
CN114079921B (zh) | 会话密钥的生成方法、锚点功能网元以及系统 | |
CN111131160B (zh) | 一种用户、服务及数据认证系统 | |
RU2698424C1 (ru) | Способ управления авторизацией | |
CN116208324A (zh) | 一种跨平台协同密钥同步方法及系统 | |
CN115801287A (zh) | 签名认证方法和装置 | |
CN115459994A (zh) | 一种基于Internet网络实现的FIDO2认证系统及方法 | |
KR20030042789A (ko) | 로밍 사용자 인증을 위한 트러스트 모델 | |
Xu et al. | Qrtoken: Unifying authentication framework to protect user online identity | |
CN114422270B (zh) | 一种互联网平台系统安全的登录鉴权的方法及装置 | |
CN114697113B (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 |