论文部分内容阅读
随着互联网的快速发展,人们越来越多的社会活动发生在虚拟的网络空间。网络服务商为人们提供各式各样便利的网络服务,例如即时通信、网络支付等。但是目前,这些服务的身份认证机制还是以用户名和密码的方式为主。这种认证机制需要用户每次都输入复杂繁琐的密码。而且为了降低用户在不同服务之间的关联性,用户将在不同的网络服务上使用不同的密码,这样不利于用户对密码的管理。同时,这种单因子的认证体系极易受到窃取、中间人攻击和钓鱼攻击等。因此,为了提供更加安全便利的强身份认证技术,本论文论述了一种在FIDO的U2F(Universal Second Factor)协议框架下设计与实现的一种认证器,以降低目前密码认证的复杂性,并通过认证器为用户提供统一的认证服务管理。为了解决以上提出的诸多问题,本论文基于对FIDO的U2F协议框架的研究,在安全单元的基础架构和Android系统架构的基础上,设计和实现了符合U2F协议标准的认证器,并通过实现一个客户端对认证器进行统一的管理,向第三方应用提供了统一的接口方便其进行集成。认证器作为U2F认证体系的关键模块,实现了对用户的身份认证,生成认证信息,客户端则负责对多个平台上认证器的管理,并连接认证器与服务器之间安全的传输通道。本论文的主要工作包括以下几点:1.研究了U2F协议框架,对整个U2F认证体系按照业务流程进行了建模,对服务器、客户端和认证器进行了逻辑分层,抽象和具化出了本论文所关注的客户端层和认证器层;2.研究了安全单元的体系结构,对该平台上计算资源和存储资源受限的特性,对U2F协议中部分关键算法进行了优化,在该平台上实现认证器时考虑了平台特性,对APDU指令交互流程进行了完整实现;3.研究了Android系统上应用的安全机制,在该系统上实现认证器时,对设备密钥、签名算法和计数器值等认证器关键信息的保护提出了技术上的解决方案;4.在客户端实现了通用APDU生成组件,将APDU命令的生成流程在Android系统上进行规范化和流程化,使客户端可以兼容多个通信通道与认证器进行通信;5.对本论文所设计和实现的认证器在功能性、可用性和安全性方面进行了验证,并对比和分析了其他主流身份认证系统,体现了本论文成果的优越性。