分享好友 最新动态首页 最新动态分类 切换频道
Android中新引进的Google Authenticator验证系统工作原理浅析
2024-12-26 20:18

为了改进Android的安全问题,Google在Android系统中引入了谷歌验证应用(Google Authenticator)来保证账号的安全。谷歌验证应用的使用方法是:用户安装手机客户端,生成临时身份验证码,提交到服务器验证身份,类似的验证系统还有Authy。Robbie在其GitHub页面发布了自己用Go语言实现的版本,并撰写了一篇博文来解释其工作原理。

通常来讲,身份验证系统都实现了基于时间的一次性密码算法,即著名的TOTP(Time-Based One-Time Password)。该算法由三部分组成:

1.一个共享密钥(一系列二进制数据)
2.一个基于当前时间的输入
3.一个签名函数

1、 共享密钥

用户在创建手机端身份验证系统时需要获取共享密钥。获取的方式包括用识别程序扫描给定二维码或者直接手动输入。密钥是三十二位加密,至于为什么不是六十四位,可以参考维基百科给出的解释。

对于那些手动输入的用户,谷歌身份验证系统给出的共享密钥有如下的格式:

256位数据,当然别的验证系统可能会更短。

而对于扫描的用户,QR识别以后是类似下面的URL链接:

otpauth://totp/Google%3Ayourname@gmail.com?secret=xxxx&issuer=Google

2、 基于当前时间的输入

这个输入是基于用户手机时间产生的,一旦用户完成第一步的密钥共享,就和身份验证服务器没有关系了。但是这里比较重要的是用户手机时间要准确,因为从算法原理来讲,身份验证服务器会基于同样的时间来重复进行用户手机的运算。进一步来说,服务器会计算当前时间前后几分钟内的令牌,跟用户提交的令牌比较。所以如果时间上相差太多,身份验证过程就会失败。

3、 签名函数

谷歌的签名函数使用了HMAC-SHA1。HMAC即基于哈希的消息验证码,提供了一种算法,可以用比较安全的单向哈希函数(如SHA1)来产生签名。这就是验证算法的原理所在:只有共享密钥拥有者和服务器才能够根据同样的输入(基于时间的)得到同样的输出签名。伪代码如下:

本文开头提到的TOTP和HMAC原理类似,只是TOTP强调输入一定是当前时间相关。类似的还有HOTP,采用增量式计数器的方式,需要不断和服务器同步。

算法流程简介

首先需要用base32解码密钥,为了更方便用户输入,谷歌采用了空格和小写的方式表示密钥。但是base32不能有空格而且必须大写,处理伪代码如下:

最新文章
梅州网站排名优化,策略与实践,梅州网址
梅州网站排名优化策略与实践,旨在提升梅州地区网站在搜索引擎中的排名,从而增加网站流量和曝光度。通过关键词研究、内容优化、外部链接建设等手段,提高网站质量和用户体验,进而实现搜索引擎排名提升。注重网站安全、稳定性和速度等关键
(入门)基于Semantic Kernel使用C#实现AI Agent智能体
Semantic Kernel 是 Microsoft 开源的一款 SDK(软件开发工具包),用于构建基于大语言模型和 AI 服务 的应用程序。它旨在帮助开发者更轻松地将 AI 模型与自定义功能、外部数据源和业务逻辑集成在一起,从而实现更强大、更智能的应用程序。
鑫湾甲邸/2024售楼处电话-官方网站-鑫湾甲邸百度百科-上海房天下
鑫湾甲邸(杨浦区)魔都天花板级大平层#鑫湾·甲邸 | 高定大宅甄选房源室1鑫湾甲邸售楼处电话:400-812-3664✔✔✔上海杨浦鑫湾甲邸售楼处电话☎:400-8123-664✔✔✔案场限流 看房请务必提前来电预约登记鑫湾甲邸售楼处电话:4008123664鑫
芸豆借款全国24小时人工客服电话
芸豆借款全国24小时人工客服电话00861-82913-38043二线00861-52030-84830芸豆借款:便捷、安全的借款新选择在当今社会,随着生活节奏的加快和消费观念的转变,借款已成为人们解决资金问题的一种常见方式,芸豆借款作为一种新兴的借款方式,
(第9827期)搜索引擎 SEO排名教程「搜索引擎 推广全系可复制,打造精准被动流量系统」百度网盘下载
  1-1、搜索引擎引流基础知识1.mp4  2-2、搜索引擎关键词引流法则1.mp4  3-3-1标题镶嵌多关键词思路及技巧1.mp4  4-3-299%客户喜欢的标题打造1.mp4  5-4、搜索关键词大数据工具实操1.mp4  6-5、一键快速批量万级标题法1.mp4 
谷歌推广有哪些常见的问题?
谷歌推广开户需要开户费吗?谷歌开户本身没有开户费和服务费,你自己开的话,这些都不存在。找谷歌代理商开户,大多数代理商是收开户费和服务费的,除非你充值金额特别大,可能会免掉。谷歌推广有最低充值额度吗?谷歌推广没有最低充值额度
用AI绘画神器,让你轻松生成高清美女写真!
在这个科技飞速发展的时代,图像生成AI技术的不断进步让每个人都能轻松获取自己想要的照片。想象一下,宝子们,自己只需简单几步,就能拥有一张超逼真的美女写真,这听起来是不是太酷了?无论是用作社交媒体的头像、壁纸,还是献给亲友的个
落地出发,看见真实的AIGC营销解决方案 | 2024虎啸盛典·火山引擎
虎啸盛典作为品牌营销数字化领域最具专业影响力、规模性的思想盛宴,每年吸引60+合作伙伴、200+品牌、500+行业高管、3000+参会代表参与和见证,已经成为品牌营销数字化领域各方对外发声的核心平台之一。2024虎啸盛典将于5月28日-30日在上海
曲阜师范大学工学院 2024年硕士研究生复试录取工作方案
为做好我院2024年硕士研究生招生复试录取工作,保证硕士研究生招生质量,根据《教育部关于印发〈2024年全国硕士研究生招生工作管理规定〉的通知》(教学〔2023〕2号)和《关于做好2024年全国硕士研究生复试录取工作的通知》(教学司〔2024
香港银行支持的信用卡及相关信息一览
在全球金融中心之一的香港,银行业的发展和信用卡的使用已成为人们日常生活中不可或缺的部分。无论是本地居民还是海外游客,了解在香港可以使用哪些信用卡以及相关的银行服务,都是非常重要的。本文将从各个方面详细探讨“香港支持什么卡的
相关文章
推荐文章
发表评论
0评