一种基于Internet网络实现的FIDO2认证系统及方法技术方案

技术编号:35910346 阅读:18 留言:0更新日期:2022-12-10 10:50
本发明专利技术涉及一种基于Internet网络实现的FIDO2认证系统及方法。系统包括用于FIDO认证的移动端APP(即FIDO认证器)、用于FIDO认证请求转发的PC端驱动程序(驱动)、以及用于移动端APP与PC端驱动程序通信的消息服务。方法包括步骤:驱动程序初始化,通过调用keychain或可信平台模块(Trusted Platform Module,TPM)分别生成公钥1和私钥1,并向后端消息服务申请一个消息ID1并基于WebSocket进行通信连接等。本发明专利技术基于Internet实现的FIDO2认证方式适用于各种设备、无需额外硬件支持、支持远程登录。此外,两端通信加密实现了高级别安全性,且建立认证耗费时间短,操作起来更加方便快捷,提高了认证效率。了认证效率。了认证效率。

【技术实现步骤摘要】
一种基于Internet网络实现的FIDO2认证系统及方法


[0001]本专利技术涉及数字身份认证领域,尤其涉及一种基于Internet网络实现的FIDO2认证系统及方法。

技术介绍

[0002]FIDO联盟是一个由多家企业组成的旨在推进互联网身份认证规范及隐私保护的非赢利组织。FIDO2规范是由W3C标准WebAuthn和FIDO客户端身份验证协议(Client To Application Protocol,CTAP)组成,利用基于FIDO2规范的认证器和Server能够实现安全免密认证,从而提高网络安全。
[0003]当前,互联网账户主流登录认证方式之一是账号+密码,为了便于管理多个网络账户,绝大多数用户都会选择使用同一个密码或者用户名,具备较强网络安全意识的用户最多也就使用3至5个不关联的账号密码,亦或使用密码管理软件。此外,依赖方(Relying Party,RP)为保障安全,也会要求采用2FA(两步验证)的方式再次进行认证,如在输入用户名和口令后,要求用户二次验证手机号。以上情况除便利性低外,也存在潜在的问题,如用户名和口令方式易被泄露、被攻击盗取、遗忘、密码管理软件本身也会有漏洞、手机号不再使用无法进行二次验证、企业要求定期进行密码更改容易遗忘,而且还容易遭受网络钓鱼的风险。
[0004]为解决以上问题,FIDO应运而生,它是基于密码学原理,利用公私钥对实现密码安全。FIDO2作为最新规范,已被各大操作系统和浏览器厂商实现应用,兼容性很强。因此,基于FIDO2认证器的需求增大,但问题也随之而来。基于硬件FIDO认证器(如安全密钥)具有经济成本高、安全漏洞难以更新、极易丢失、特性固定、对C端用户不友好等缺点;而基于FIDO2标准的软件认证器利用空中下载技术(Over

the

Air Technology,OTA)升级能够很好地解决上述问题,但其主流方案主要是利用BLE、USB或NFC方式进行通信,它们存在建立连接时间久、效率低、无法远程登录等问题。此外,当前还有不支持上述三种通信方式的设备。基于以上考虑,本专利技术提出一种基于Internet网络实现的FIDO2认证系统及方法。

技术实现思路

[0005]为解决当前技术的不足,本专利技术提供了一种基于Internet网络实现的FIDO2认证系统及方法。
[0006]本专利技术采用的技术方案是:一种基于Internet网络实现的FIDO2认证系统,包括用于FIDO认证的移动端APP (即FIDO认证器)、用于FIDO认证请求转发的PC端驱动程序、以及用于移动端APP与PC端驱动程序通信的消息服务,所述移动端APP、消息服务、PC端驱动程序依次连接。
[0007] 所述移动端APP包括功能模块、用户模块、通知模块,三个模块互相连接,通知模块与后端消息服务连接;所述功能模块包括FIDO2协议实现、加密算法实现、凭证管理存储功能实现、与安全模块(Secure Element,SE)元件进行通信、对用户模块的控制实现、对通
知模块输入识别实现;所述驱动程序,是通过实现操作系统的USB

HID驱动,模拟为FIDO认证器,然后将用户在PC端的FIDO认证请求通过后端消息服务转发到移动端APP的通知模块;所述后端消息服务,主要负责转发FIDO认证器与驱动程序之间的数据,将其推送到FIDO认证器,即移动端APP的系统通知上。
[0008]优选地,所述的消息服务与PC端驱动程序是通过Internet的方式进行通信。
[0009]优选地,所述的消息服务与移动端APP是通过Internet的方式进行通信。
[0010]一种基于Internet网络实现的FIDO2认证方法,其应用于一种基于Internet网络实现的FIDO2认证系统,所述方法包括以下步骤:一种基于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)。
[0011]优选地,所述方法中的消息ID1可通过公钥SHA1哈希算法求得或者直接采用随机
数作为消息ID1。
[0012]优选地,所述方法中的消息ID2是通过系统通知API获取。
[0013]本专利技术的有益效果是:首先,本专利技术所述方法及系统基于现有标准进行拓展,使之适用于各种设备,且无需额外硬件支持;其次,本专利技术基于Inernet网络实现认证过程,可支持远程登录,而且两端通信加密,保障通信安全;最后,本专利技术方案基于FIDO2均可使用,无绑定关系,且认证建立耗时较短,操作起来更加方便快捷,提高了认证效率。
附图说明
[0014]下面结合附图对本专利技术的具体实施方式作进一步说明:图1是本专利技术实施例提供的一种基于Internet网络实现的FIDO2认证系统的系统框架图;图2是本专利技术实施例提供的一种基于Internet网络实现的FIDO2认证方法的方法框架图。
具体实施方式
[本文档来自技高网
...

【技术保护点】

【技术特征摘要】
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信息以...

【专利技术属性】
技术研发人员:陈启敬王果贺山峰
申请(专利权)人:亚数信息科技上海有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1