论文部分内容阅读
随着互联网的发展,各种安全机制伴随着安全隐患不断涌现。但不同厂家的安全机制不相同,这导致不同厂家在安全交互方面很混乱。为了制定一套关于在线认证技术的国际标准,由全球知名企业共同组建了FIDO联盟,制定并公布了U2F协议和UAF协议。这套标准使用U2F第二设备来削弱用户对密码的依赖,使用UAF认证器完全消除用户对密码的依赖。在注册过程中,用户的私钥保存在本地U2F设备或UAF认证器中。目前基于FIDO标准的研究,大部分集中在客户端,很少有服务端的研究。而基于UAF协议和U2F协议的身份认证系统几乎不存在,但基于FIDO标准的身份认证系统受到越来越多的用户青睐。如果能将U2F协议和UAF协议都集成在系统中,将为用户选择认证方式提供更多灵活性。本文致力于基于FIDO标准的服务平台的设计与实现,主要包括以下几点:(1)研究FIDO服务平台设计与实现中使用到的关键技术,包括身份认证技术,数字签名,加密解密算法和HTTPS通信协议,Nginx应用服务器,Django框架等。(2)研究FIDO标准的U2F协议和UAF协议,具体包括协议的使用场景,交互过程和具体消息格式,设计并实现FIDO服务平台。首先通过需求分析建模,从用户的角度分析系统应该具备的功能,包括功能性需求和非功能性需求。接着采用自上而下的方法设计基于FIDO标准的身份认证系统的服务平台,从总体设计到接口设计,URL设计,类的设计和数据库设计。最后使用Django框架,结合MySQL关系数据库和Redis缓存数据库,实现U2F服务器和UAF服务器,并集成到基于FIDO标准的服务平台中。(3)在FIDO服务平台的使用场景方面,完成基于智能可穿戴设备的身份认证系统中的客户端蓝牙通信模块的设计与实现,并使用该系统对FIDO服务器的U2F服务器模块进行功能性测试。(4)展示U2F服务器和UAF服务器的测试结果。通过FIDO测试站点和Curl测试工具对FIDO服务平台进行功能性测试,在基于可穿戴设备的身份认证系统中进行集成测试,然后使用AB测试工具对FIDO服务平台做性能测试。最终得出本文实现的服务平台在功能和性能方面均能满足需求。