首页 百科知识 基于生物特征的零存储身份认证系统

基于生物特征的零存储身份认证系统

时间:2022-10-05 百科知识 版权反馈
【摘要】:此次事件也引发了人们对应用服务提供商能否安全管理大量用户身份认证信息的质疑与担忧。从而开发出了本套基于用户指纹特征、 智能卡和口令的零存储身份认证协议和相应的身份认证系统, 实现了多服务器环境下的远程用户单点登录、 多因素身份认证, 且服务器不存储用户任何认证信息。

四川大学 王永恒 石刘洋 邓莅川

指导老师: 刘嘉勇

摘 要

2011年年底爆出的CSDN、 天涯等用户信息泄露事件, 引起了人们的担忧, 也引发了我们对现有认证协议和认证系统的思考。 在意识到传统认证方式的固有缺陷后, 我们从问题出发, 研发了一套基于用户指纹特征、 智能卡和口令的零存储身份认证协议和相应的身份认证系统, 实现了多服务器环境下的远程用户单点登录、 多因素身份认证, 且服务器不存储用户任何认证信息。 该身份认证系统可有效对抗假冒、 重放、 中间人等攻击, 实现快捷安全的用户身份认证。

关键词: 零存储; 单点登录; 智能卡; 指纹特征; 身份认证

Zero Storage of The Biometric Authentication System

Abstract

In the end of 2011, the user information leak such as CSDN, Tianya caused people's fears, and led us to think deeply about the existing authentication protocol and certification system. Realized of the inherent defects of the traditional authentication methods, we researched and developed a zero storage based on the user's fingerprint features, smart card and password authentication protocol and the corresponding authentication system away from the issues,we achieved remote users in multi-server environment single sign-on, multi-factor authentication, and the server does not store user authentication information. The authentication system can be effective against attacks such as counterfeiting, replay, man-in-the-middle attacks , to achieve a fast and secure user authentication.

Key words: zero storage;single sign-on;smart card;fingerprint features;identity authentication.

2011年12月21日, 程序员网站CSDN的600余万个账号信息在网上公开, 犹如多米诺骨牌般, 众多知名网站也随之爆出被 “拖库” 的传闻, 尽管其中部分消息被证实为谣言, 中国网站不安全现状仍由此暴露在公众面前。 此次事件也引发了人们对应用服务提供商能否安全管理大量用户身份认证信息的质疑与担忧。

由于用户往往需要在网站注册账号后才能获得相应的服务, 而注册时提交的内容除了账号口令还有个人的身份证号、 出生年月等重要敏感信息。 而且随着网络服务的多样化, 需要用户管理的账号数目逐渐增多, 很多用户为了方便往往把多个账号设为同一口令, 所以一旦网站存储的用户信息被窃取, 用户所面临的风险和损失往往是连锁的和难以估量的。

在此背景下, 我们对传统网站用户身份认证协议和认证系统进行了分析, 现有认证系统多采用在用户登录时把用户输入的信息与网站数据库存储的用户信息进行比对来判断用户是否合法, 而网站的用户信息数据库如果保护不当, 就会面临泄露用户信息的风险, 造成难以预计的后果。 因此, 我们从问题出发, 思考能否在网站不存储用户认证信息的情况下完成对用户身份的安全认证。 从而开发出了本套基于用户指纹特征、 智能卡和口令的零存储身份认证协议和相应的身份认证系统, 实现了多服务器环境下的远程用户单点登录、 多因素身份认证, 且服务器不存储用户任何认证信息。

1 零存储安全认证协议

1.1 设计思路

在此基本方案中,认证协议的安全性依赖于用户口令PWc、存储在智能卡中的指纹模板Bc、服务器的秘密信息以及服务器私钥的安全性。 协议特点如下:

(1) 服务器零存储, 即服务器不存储任何用户认证信息。

(2) 用户指纹模板只能存储在本地智能卡中, 不在网络中传输。

(3) 用户无公私钥对, 系统不用维护证书机构(CA), 降低了系统的复杂度

(4) 可有效对抗假冒、 重放、 中间人攻击等威胁。

1.2 符号和标识说明

Uc:用户。

IDc:用户Uc的账号。

PWc:用户Uc的口令。

Bc:用户Uc的指纹特征模板。

RC:可信任的注册中心。

AS: 认证服务器。

Si:一个远程应用服务器。

TA:认证服务器AS产生的时戳。

TGSi:认证服务器AS生成的应用服务器Si的访问票据

IPc:用户Uc的IP地址

Lifetime: 表示票据的有效时间, 包括开始时间和截止时间。

XAR:认证服务器AS和注册中心RC共享的秘密信息,需安全存储。

XASi:认证服务器AS和应用服务器Si共享的秘密信息,需安全存储。

h(·)为单向哈希函数, “‖”为连接操作符, “⊕”为异或操作符。

EKU(·)为用公钥KU进行加密操作,Sig KR(·)为用私钥KR进行签名操作。

1.3 系统初始化

认证服务器AS按照OpenSSL提供的RSA密钥生成算法产生公私钥KUA、KRA,并安全存储;

各个应用服务器Si按照OpenSSL提供的RSA密钥生成算法产生公私钥KUSi、KRSi,并安全存储。

(1)认证服务器AS获取到每个应用服务器Si的公钥KUSi,并安全存储;

认证服务器AS和每个应用服务器Si协商好秘密信息XASi,双方均安全存储。

(2) 注册中心RC获取到认证服务器AS的公钥KUA,并安全存储;

注册中心RC和认证服务器AS协商好秘密信息XAR,双方均安全存储。

1.4 用户注册阶段

用户注册流程如图1所示。

图1 用户注册示意图

R1:用户Uc在注册中心RC提交账号IDc和口令PWc,并录入个人指纹,系统采集处理后获得指纹特征模板Bc

R2: 注册中心RC计算:

Pc=h(IDc‖XAR)⊕h(PWc)

然后RC将(Bc,Pc)写入到“智能卡”中,并将“智能卡”安全发给用户。

1.5 用户身份认证阶段

用户获取访问票据流程如图2所示:

图2 用户获得访问票据流程

V1:用户Uc将智能卡插入读卡器,在指纹采集仪上按下手指开始指纹认证,并输入账号IDc′和口令PWc′请求登录。

本地指纹认证若未通过, 则终止认证, 否则计算:

QC=Pc⊕h(PWc′),

而后将M1=ID'c‖IDSi发给远程认证服务器AS。

V2:认证服务器AS收到信息M1后,根据IDc′,生成质询随机数r A,计算:

M2=h(IDc′‖XAR)⊕r A,

并产生时戳TA,然后用私钥KRA计算签名信息:

M3=Sig KRA[M2‖TA],

将M4=M2‖TA‖M3返回给用户。

V3:用户收到信息M4后,首先用认证服务器AS的公钥KUA验证签名,签名验证通过后,根据时戳TA确定数据M4的时效,用户计算QC⊕M2取出质询随机数r A,然后计算散列信息:

M5=h(IDc‖IDSi‖r A),

并将M5发给认证服务器AS。

V4:认证服务器AS收到信息M5后,自己计算h(ID'c‖IDSi‖r A),然后验证计算结果是否与M5一致, 验证通过后生成票据有效时间Lifetime, 通过合理设定Lifetime引入一次性票据机制, 然后根据IDc欲访问服务器名称IDSi,生成用应用服务器Si公钥KUSi加密的用户访问票据:

TGSi=EKUSi[IDc′‖IDSi‖XASi‖Lifetime‖IPC],

然后计算:

M6=TGSi⊕h(IDc′‖XAR),

最后将信息M6返回给用户。

用户多服务器访问如图3所示:

图3 多服务器访问示意图

V5:用户收到信息M6后,计算QC⊕M6而后获得访问票据TGSi,接着用户便计算:

M7=IDc′‖TGSi,

并将M7发送给应用服务器Si

V6:应用服务器Si收到信息M7后,用私钥解密TGSi,首先确认IDSi与用户IPC,并比对IDc′与票据中的用户账号是否吻合,然后验证XASi,确认票据的合法性,最后验证票据有效时间Lifetime,确定票据当前是否有效。

若验证全部通过,则认证服务器Si接受用户Uc的登录请求,否则拒绝。

1.6 协议安全性分析

(1) 抗假冒

首先在认证步骤V1中,用户需要插入智能卡,输入正确账号ID′c和口令PW′c,并通过本地指纹认证才能计算出QC=Pc⊕h(PWc′)(即秘密信息h(IDc‖XAR)),以应对远程认证中认证服务器AS的质询。 而攻击者难以获取用户智能卡, 也无法假冒用户指纹, 因此难以通过本地认证。

本协议认证步骤V2,认证服务器AS会将M2=h(ID′c‖XAR)⊕r A发给用户,而只有授权用户才能利用QC(即秘密信息h(IDc‖XAR))从M2中取出质询随机数r A并返回给AS,此处攻击者无法获取r A,也就不能通过AS的认证。

在认证步骤V5, 即使攻击者获取到用户的应用服务器访问票据:

TGSi=EKUSi[IDc′‖IDSi‖XASi‖Lifetime‖IPC],

但由于票据中有授权用户的网络地址IPC,并且引入一次性票据机制,所以攻击者依然无法假冒授权用户通过认证服务器的认证。

在认证步骤V3中, 用户会验证认证服务器AS的数字签名, 基于公钥密码体制的数字签名机制可有效对抗攻击者对认证服务器的假冒。

综上所述, 本协议可有效对抗假冒攻击。

(2) 抗重放

在认证步骤V2,认证服务器AS返回给用户的信息M4=M2‖TA‖M3中有时戳TA,攻击者无法通过向用户重放之前截获的M4数据包来骗取用户的质询响应。

同时,认证服务器AS每次产生的质询随机数r A都不同,攻击者无法向AS重放之前截获的用户质询响应数据包。

综上所述, 本协议可有效对抗重放攻击。

(3) 抗中间人攻击

本协议认证步骤V2中,认证服务器AS通过计算M2=h(IDc′‖XAR)⊕r A来保护质询随机数r A

在协议认证步骤V3中,用户通过计算M5=h(IDc′‖IDSi‖r A),来保护质询响应中的随机数r A

在协议认证步骤V4中,认证服务器AS通过计算M6=TGSi⊕h(IDc′‖XAR)来保护应用服务器访问票据TGSi

由于关键数据在网络传输过程中都进行了保护处理, 即使被“中间人”截取也难以破解与伪造。 因此, 本协议可对抗中间人攻击。

(4) 抗口令猜测

通常的认证协议会在信道上传输用户口令或口令的单向散列、 加密等变换, 而这些均不能有效对抗离线口令猜测。 而本协议不会在信道上传输用户口令的相关信息, 因此可有效对抗口令猜测攻击。

2 单点登录方案设计

2.1 设计思路

为了实现单点登录的功能,方案借鉴Kerberos身份鉴别模型,使用票据(TGSi)作为用户登录应用服务器的凭证, 并将票据设计为需要动态生成的一次性票据, 以应对攻击者假冒合法用户登录。 此方案特点如下:

(1) 基于票据的身份认证。 用户通过认证服务器认证以后获得票据, 应用服务器信任认证服务器生成的票据。

(2) 一次性票据。 票据有效时间很短, 仅能满足用户从获取票据到向应用服务器出示票据的时间开销。 并且应用服务器重复收到相同票据时, 将不予响应。

(3) 单击登录。 用户仅需要一次认证, 就可以在一段时间内登录系统内所用的应用服务器而无需再次认证。

2.2 用户首次登录

用户首次登录流程如图4所示。

图4 用户首次登录流程示意图

L1:用户Uc向应用服务器Si提交自己的账号IDc申请登录。

L2:应用服务器Si向认证服务器AS询问用户IDc是否已经过认证。

L3:认证服务器AS告知应用服务器S用户IDc未认证。

L4:应用服务器Si将用户引导到认证服务器AS的认证界面,用户开始认证。

L5:用户通过认证服务器AS的认证过后,将获得AS颁发的应用服务器访问一次性票据TGSi

L6:用户向应用服务器提交TGSi,应用服务器检查票据(详情见章节2.1.5的步骤V5),确认有效后允许用户登录。

2.3 用户再次登录

用户再次登录流程如图5所示。

图5 用户再次登录流程示意图

L1:用户Uc向应用服务器Si提交自己的账号IDc申请登录。

L2:应用服务器Si向认证服务器AS询问用户IDc是否已经过认证。

L3:认证服务器AS告知应用服务器Si用户IDc已通过认证。同时将动态生成访问票据,并将访问票据发送给用户, 用户收到票据后向应用服务器出示。

L4: 应用服务器检查票据的有效性 (详情见1.1.5节的步骤V5), 确认有效后允许用户登录。

2.4 用户注销

用户注销流程如图6所示。

图6 用户注销流程示意图

L1:已登录用户Uc向应用服务器Si提交自己的账号IDc,申请注销操作。应用服务器删除与用户Uc的登录信息。

L2:应用服务器Si向认证服务器AS提交用户IDc的注销请求。认证服务器终止IDc的票据更新,删除与用户Uc相关的所有信息。

2.5 安全性分析

(1) 一次性票据

通过多次测试确定合适的票据有效期, 使之仅能满足授权用户从获取票据到向应用服务器出示票据的时间开销。 攻击者难以在票据有效期内截获并向应用服务器出示访问票据。

而用户一次认证后, 再次登录应用服务器时, 会向认证服务器动态索取票据, 这时认证服务器会生成新的票据并将其返回给用户, 确保授权用户可以正常登录应用服务器。

(2) 超时注销

用户通过认证服务器的认证以后, 认证服务器会在一段时间内响应用户的索票请求, 为用户动态生成新的票据。 一旦超过预设的时间阈值, 认证服务器会自动删除用户的所有信息。

有了自动注销机制, 即使用户离开计算机时忘记注销, 在超过预设的时间阈值后, 他人也无法操作用户的应用服务。 这样可以有效控制因为用户疏忽而面临的风险。

3 系统工作流程

3.1 系统初始化流程

3.1.1 认证服务器和注册中心的初始化

流程如图7所示。

认证服务器和注册中心初始化交互, 主要步骤说明如下:

(1) 协商共享秘密信息XAR

系统初始化时,认证服务器需要和注册中心进行协商,确定双方共享的秘密信息XAR,并将XAR保存在安全存储区域内。 在交互认证时, 认证服务器凭借此秘密信息认证用户是否为授权用户。

(2) 生成公私钥对

认证服务器需要依照OpenSSL标准生成RSA公私钥对, 该公私钥对用于后续认证流程时与客户机的信息加密通信与签名验证。

公私钥生成完毕后, 认证服务器将私钥保存在服务器安全存储区域内。

图7 认证服务器和注册中心的初始化交互流程图

(3) 认证服务器分发公钥

(4) 注册中心获取公钥

注册中心获取认证服务器公钥以后, 将此公钥保存在认证中心的安全存储区内。

(5) 安装智能卡驱动和指纹识别仪驱动

本系统使用的硬件设备是Hai Key智能卡和中控Biokey指纹识别仪, 注册中心需要按照系统要求完成智能卡驱动和指纹识别仪驱动的安装工作。

3.1.2 认证服务器和应用服务器的初始化交互

交互流程如图8所示。

图8 认证服务器和应用服务器初始化交互流程示意

认证服务器和应用服务器初始化交互, 主要步骤说明如下:

(1) 协商共享秘密信息XASi

系统初始化时,认证服务器需要和应用服务器进行协商,确定双方共享的秘密信息XASi,并将XASi保存在安全存储区域内。 在校验票据时, 应用服务器凭借此秘密信息判断用户是否为授权用户。

(2) 生成公私钥对

应用服务器需要依照OpenSSL标准生成公私钥对, 并将私钥保存在服务器安全存储区域内。

(3) 应用服务器分发公钥

(4) 认证服务器获取公钥

认证服务器从应用服务器获得它的公钥以后, 将此公钥保存在服务器的安全存储区域内。

3.2 注册流程

注册流程如图9所示。

图9 用户注册流程示意图

用户注册流程主要步骤说明如下:

(1) 智能卡初始化

智能卡必须经过初始化工作才能正常使用, 此步骤由注册中心管理员完成。

管理员凭借口令登录注册中心管理端,首先对智能卡进行擦除与格式化操作, 擦除智能卡数据, 并写入初始Pin码、智能卡标识等信息。然后向智能卡写入认证服务器AS的公钥KUA。智能卡初始化完毕。

(2) 用户提交个人信息

用户运行注册程序,首先向系统提交账号IDc与口令PWc,然后根据程序提示,按压指纹识别仪录入指纹。

(3) 处理用户信息

注册中心RC计算Pc=h(IDc‖XAR)⊕h(PWc),然后从用户指纹中提取特征生成用户指纹模板Bc

(4) 将处理后的用户信息写入智能卡

注册中心RC将(Bc,Pc)写入到“智能卡”中,并将“智能卡”安全发给用户。

3.3 认证流程

认证流程如图10所示。

认证流程主要步骤说明如下:

(1) 本地指纹认证

用户首先进行本地指纹认证, 若认证失败则终止本次认证, 认证成功则继续进行远程认证。

(2) 用户输入账号和口令

用户通过本地指纹认证以后,进入远程认证界面,输入用户账号IDc′与口令PWc′,然后点击“确定”。

(3) 客户端发送请求报文

客户端将用户账号IDc′与用户欲访问认证服务器标识IDSi作为认证的请求报文,发送至认证服务器。

(4) 认证服务器构造质询报文

认证服务器接收到请求报文后,生成质询随机数r A,同时利用和注册中心的共享秘密信息XAR构造质询报文, 并将质询报文发给用户。

图10 认证流程示意

(5) 客户端应答质询报文

客户端接受质询报文后,利用用户的口令PW′c取出智能卡中存储的数据h(IDc‖XAR),然后经过计算得到质询随机数r A。之后,构造应答报文:

M5=h(ID′c‖IDSi‖r A),

并将应答报文返回给认证服务器。

(6) 认证服务器验证应答报文

认证服务器AS收到信息M5后,自己计算h(ID′c‖IDSi‖r A),然后验证计算结果是否与M5一致。

(7) 认证服务器生成访问票据

图11 票据使用流程示意图

验证通过后, 认证服务器AS生成票据有效时间Lifetime。 Lifetime必须足够短, 以便保证所生成票据为一次性票据,然后根据IDc′欲访问服务器的名称IDSi、认证服务器AS和应用服务器Si共享的秘密信息XASi、用户Uc的IP地址IPC,生成应用服务器Si公钥KUSi加密的用户访问票据TGSi:

TGSi=EKUSi[ID'c‖IDSi‖XASi‖Lifetime‖IPC],

最后将票据TGSi发给用户。

3.4 票据使用流程

票据使用流程如图11所示。

票据使用流程主要步骤说明如下:

(1) 用户申请登录

用户使用IE浏览器在通过URL或者导航页面向应用服务器发起登录请求。

(2) 检查用户是否持有票据

应用服务器收到用户的登录的请求以后,先检查用户是否已经持有票据。若用户尚未持有票据,提示用户无票据无法访问,并引导用户进入认证流程。若发现用户已经持有票据,进入下一步的票据校验工作。

(3) 检查票据是否有效

应用服务器Si收到用户出示的访问票据TGSi后,首先验证IDSi与用户IPC,并比对IDc′与票据中的用户账号是否吻合,然后验证XASi,确认票据的合法性,最后验证票据有效时间Lifetime,确定票据当前是否有效。

若验证全部通过,则认证服务器Si接受用户Uc的登录请求,否则拒绝。

4 结论

基于生物特征的零存储身份认证系统(ZSA)使用原创的安全认证协议, 利用了RSA公钥密码体制、共享秘密信息、 散列等一系列密码技术, 实现了在认证服务器不保存任何用户个人信息的前提下对用户身份的认证工作。

为了加强系统的安全性, 我们采用了指纹、 智能卡以及用户口令的多因素认证方案。 多管齐下, 保障认证过程的安全可靠。

在充分考虑安全性的同时, 我们也实现了一次认证、 多应用服务器访问的单点登录功能, 尽最大可能为用户争取更便捷的体验。

考虑到用户的使用习惯与当前的流行趋势, 整个系统在一开始就被设计成B/S架构。 我们为用户提供了友好的交互页面, 使用户能够的良好的体验下进行安全快捷的身份认证。

专家点评

作品材料齐全, 文档规范。

作品选题有创意, 特色鲜明。

作品针对传统个人密码易于泄露问题, 研发了一套基于用户指纹特征、 智能卡和口令的零存储身份认证协议和相应的身份认证系统。

系统的认证方案是基于作者设计的零存储安全认证协议。 整个系统由注册中心、 认证服务器、 应用服务器、 客户机等实体组成。

用户登录时, 首先进行本地指纹认证, 通过后开始远程身份认证, 认证成功后便可获得欲访问应用服务器的访问票据, 用户可凭借访问票据登录应用服务器。

系统实现了多服务器环境下的远程用户单点登录、 多因素身份认证, 且服务器不存储用户任何认证信息。 系统可有效对抗假冒、 重放、 中间人等攻击, 实现快捷安全的用户身份认证。

作品完成良好, 答辩思路清楚, 回答问题正确。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈