说起密码 ,苹果你会想起什么 ?微软 密码太多 ,记不住?终于 图省事所有网站用同一个密码 ,一个泄露了 ,决定手忙脚乱地去改密码 ?干掉 网站被脱库 ,数据库信息泄露 ,密码密码丢失 ?苹果 这一切都的根本原因就是:服务器保存了我们的密码(不管是明文的还是Hash过的)。 我们需要把自己记忆的微软密码发给服务器做验证,这就给了攻击者可乘之机。建站模板终于
那能不能别保存密码了 ,决定换个方式,干掉让服务器保存我们的密码指纹 、虹膜等信息,苹果行不行 ?微软 万万不可,这样虽然不用记忆各种密码了,终于但攻击者一旦获得这些生物信息,那就可以假冒我们,真是可以为所欲为了。 并且本质上它和保存密码是一样的,都是“和服务器共享了一个秘密”。免费模板 那就别和服务器共享秘密了吧 !可是如果不共享 ,服务器怎么知道“你就是你”呢 ?服务器无法做身份验证(Authentication)了! 这个问题早在几十年前就被迪菲和赫尔曼考虑过了,他们提出了非对称的密钥算法。 这种算法中每个人可以持有一对密钥 :public key (公钥)和 private key (私钥)。
只不过,迪菲和赫尔曼并没有找到一个合适的算法来生成公钥和私钥 , 一年后 ,麻省理工学院的三个教授基于大数的因数分解提出了RSA算法,云计算才解决了这个问题 。 利用非对称这种漂亮的性质,我们为自己的账号生成一对儿公钥和私钥。 私钥自己保存,公钥发给服务器保存 ,这样就不用和它共享秘密了 。
登录的时候 ,服务器给我们发一段随机消息 ,我们对它做签名(即对消息做Hash ,然后用本地保存的私钥加密),把签名发给服务器 ,服务器用对应的亿华云公钥来验证签名,如果签名没问题,就证明了这的确是一次合法的登录 。 私钥非常重要,不能让任何人知道,不能发给任何系统 ,最好是保存在本地的一个硬件中,通过指纹、面部识别 、声音、PIN等方式来访问。高防服务器
这里引入了一个新的抽象层,认证器 ,让它和服务器打交道,我们只是用指纹等手段授权对私钥的访问 。 计算机的任何问题都可以引入一个抽象层来解决,真是至理名言 。 用这种方式 ,登录将会变成这样:
1.输入用户名 2.点击登录 3.生物识别(指纹等) 4.登录成功 即使网站被脱库 ,攻击者拿到了公钥,也没法冒充你干坏事,因为公钥本来就是源码下载公开的。 他想获得私钥的途径就是拿到认证器(比如保存在手机中) ,但是想使用认证器还需要你的指纹等生物信息 ,这对于茫茫互联网上两个未曾谋面的人来说太难了 。 说到这里 ,不由地再感慨一下,提出和实现非对称密钥的前辈们实在是太伟大了。 这种认证方式不是我想出来的 ,是一个叫做FIDO(Fast IDentity Online)联盟提出想法 ,并且制定了一系列FIDO协议。 FIDO概念简单,想真正实现是很难的 。 我们用浏览器登录网站的时候 ,网站系统得改造 ,支持FIDO协议。 浏览器也得支持FIDO协议,可以提示用户用FIDO的方式注册或者登录 。 浏览器还需要和认证器进行交互 ,用户提供生物信息授权访问认证器,这就得需要硬件和操作系统出马了 。 如果笔记本和台式机没有指纹识别等设备 ,还得考虑和手机的联动(例如让手机扫个二维码,然后使用手机端认证器。) 这涉及到多方利益,是个生态系统,不是一家公司能搞定的,所以FIDO是个联盟 ,包含了全世界的IT大佬 。
在这些IT大佬中 ,有三位举足轻重: Google : Android + Chrome浏览器Apple :iOS + Safari浏览器微软: Windows + Edge浏览器这三位几乎统治了操作系统和浏览器市场 ,没有它们的参与,FIDO是玩不起来的 。 今年5月 ,Google , Apple和微软宣布加大力度 ,推进对FIDO通用无密码登录标准的支持 ,努力实现无缝 、安全的无密码登录 : 1.允许用户在多个设备(甚至新设备)上自动访问FIDO登录凭证(私钥),而不需要重新注册户 2. 在任何操作系统和浏览器上,当用户想用FIDO登录网站的时候 ,手机都可以用来做验证。例如,苹果手机可以帮助验证Edge浏览器上的FIDO登录 。 如果能做到这两点,密码就真的被干掉了。 当然,新事物的发展不会那么一帆风顺的,尤其是牵扯到各方利益的情况下。 FIDO联盟2012年就成立了 ,2014年发布FIDO UAF和U2F协议 ,2019年FIDO2协议中的WebAuthn被W3C接受为互联网的标准。同年Microsoft Hello 通过FIDO2兼容认证。 直到今年,三巨头才宣布要加大对FIDO的支持,说一年后在各个平台上提供无密码功能。承诺能不能实现,我们只有拭目以待 。 也许有一天 ,你突然发现,你用指纹识别就可以登录网站了 ,到时候可以回过头来看看这篇文章 。 最后留个小问题吧:如果保存私钥的设备(例如手机)丢失了 ,该怎么办? |
Excel表格中将竖列数据求和的方法教程小米电饭煲999(一款功能全面、操作简便的智能电饭煲)使用ISOU盘启动盘的完整教程(简单实用的ISOU盘制作与使用方法)文件管理删除的文件恢复技巧(如何恢复误删文件及保护个人数据安全)手机开免提对方听不到声音怎么回事比较820和X10处理器(探索两款处理器的性能和特点,为你的智能设备做出明智选择)如何在苹果手机上调节屏幕亮度?(简单操作让屏幕变得更暗的技巧)荣耀畅玩平板LTE(高性能配置,超长续航,LTE网络支持,满足多场景需求)Soul如何屏蔽手机通讯录国产迈腾品质如何?(解析国产迈腾的关键卖点与用户评价)香港物理机企业服务器b2b信息平台网站建设云服务器亿华云源码库