跳转到主要内容

标签(标签)

资源精选(342) Go开发(108) Go语言(103) Go(99) angular(82) LLM(75) 大语言模型(63) 人工智能(53) 前端开发(50) LangChain(43) golang(43) 机器学习(39) Go工程师(38) Go程序员(38) Go开发者(36) React(33) Go基础(29) Python(24) Vue(22) Web开发(20) Web技术(19) 精选资源(19) 深度学习(19) Java(18) ChatGTP(17) Cookie(16) android(16) 前端框架(13) JavaScript(13) Next.js(12) 安卓(11) typescript(10) 资料精选(10) NLP(10) 第三方Cookie(9) Redwoodjs(9) LLMOps(9) Go语言中级开发(9) 自然语言处理(9) 聊天机器人(9) PostgreSQL(9) 区块链(9) mlops(9) 安全(9) 全栈开发(8) ChatGPT(8) OpenAI(8) Linux(8) AI(8) GraphQL(8) iOS(8) 软件架构(7) Go语言高级开发(7) AWS(7) C++(7) 数据科学(7) whisper(6) Prisma(6) 隐私保护(6) RAG(6) JSON(6) DevOps(6) 数据可视化(6) wasm(6) 计算机视觉(6) 算法(6) Rust(6) 微服务(6) 隐私沙盒(5) FedCM(5) 语音识别(5) Angular开发(5) 快速应用开发(5) 提示工程(5) Agent(5) LLaMA(5) 低代码开发(5) Go测试(5) gorm(5) REST API(5) 推荐系统(5) WebAssembly(5) GameDev(5) CMS(5) CSS(5) machine-learning(5) 机器人(5) 游戏开发(5) Blockchain(5) Web安全(5) Kotlin(5) 低代码平台(5) 机器学习资源(5) Go资源(5) Nodejs(5) PHP(5) Swift(5) 智能体(4) devin(4) Blitz(4) javascript框架(4) Redwood(4) GDPR(4) 生成式人工智能(4) Angular16(4) Alpaca(4) SAML(4) JWT(4) JSON处理(4) Go并发(4) kafka(4) 移动开发(4) 移动应用(4) security(4) 隐私(4) spring-boot(4) 物联网(4) nextjs(4) 网络安全(4) API(4) Ruby(4) 信息安全(4) flutter(4) 专家智能体(3) Chrome(3) CHIPS(3) 3PC(3) SSE(3) 人工智能软件工程师(3) LLM Agent(3) Remix(3) Ubuntu(3) GPT4All(3) 软件开发(3) 问答系统(3) 开发工具(3) 最佳实践(3) RxJS(3) SSR(3) Node.js(3) Dolly(3) 移动应用开发(3) 编程语言(3) 低代码(3) IAM(3) Web框架(3) CORS(3) 基准测试(3) Go语言数据库开发(3) Oauth2(3) 并发(3) 主题(3) Theme(3) earth(3) nginx(3) 软件工程(3) azure(3) keycloak(3) 生产力工具(3) gpt3(3) 工作流(3) C(3) jupyter(3) 认证(3) prometheus(3) GAN(3) Spring(3) 逆向工程(3) 应用安全(3) Docker(3) Django(3) R(3) .NET(3) 大数据(3) Hacking(3) 渗透测试(3) C++资源(3) Mac(3) 微信小程序(3) Python资源(3) JHipster(3) 大型语言模型(2) 语言模型(2) 可穿戴设备(2) JDK(2) SQL(2) Apache(2) Hashicorp Vault(2) Spring Cloud Vault(2) Go语言Web开发(2) Go测试工程师(2) WebSocket(2) 容器化(2) AES(2) 加密(2) 输入验证(2) ORM(2) Fiber(2) Postgres(2) Gorilla Mux(2) Go数据库开发(2) 模块(2) 泛型(2) 指针(2) HTTP(2) PostgreSQL开发(2) Vault(2) K8s(2) Spring boot(2) R语言(2) 深度学习资源(2) 半监督学习(2) semi-supervised-learning(2) architecture(2) 普罗米修斯(2) 嵌入模型(2) productivity(2) 编码(2) Qt(2) 前端(2) Rust语言(2) NeRF(2) 神经辐射场(2) 元宇宙(2) CPP(2) 数据分析(2) spark(2) 流处理(2) Ionic(2) 人体姿势估计(2) human-pose-estimation(2) 视频处理(2) deep-learning(2) kotlin语言(2) kotlin开发(2) burp(2) Chatbot(2) npm(2) quantum(2) OCR(2) 游戏(2) game(2) 内容管理系统(2) MySQL(2) python-books(2) pentest(2) opengl(2) IDE(2) 漏洞赏金(2) Web(2) 知识图谱(2) PyTorch(2) 数据库(2) reverse-engineering(2) 数据工程(2) swift开发(2) rest(2) robotics(2) ios-animation(2) 知识蒸馏(2) 安卓开发(2) nestjs(2) solidity(2) 爬虫(2) 面试(2) 容器(2) C++精选(2) 人工智能资源(2) Machine Learning(2) 备忘单(2) 编程书籍(2) angular资源(2) 速查表(2) cheatsheets(2) SecOps(2) mlops资源(2) R资源(2) DDD(2) 架构设计模式(2) 量化(2) Hacking资源(2) 强化学习(2) flask(2) 设计(2) 性能(2) Sysadmin(2) 系统管理员(2) Java资源(2) 机器学习精选(2) android资源(2) android-UI(2) Mac资源(2) iOS资源(2) Vue资源(2) flutter资源(2) JavaScript精选(2) JavaScript资源(2) Rust开发(2) deeplearning(2) RAD(2)

category

介绍


Passkeys是一种更安全、更容易替代密码的方法。使用密钥,用户可以使用生物识别传感器(如指纹或面部识别)、PIN或模式登录应用程序和网站,从而无需记住和管理密码。

开发人员和用户都讨厌密码:它们给用户带来了糟糕的用户体验,增加了转换摩擦,并给用户和开发人员带来了安全责任。安卓和Chrome中的谷歌密码管理器通过自动填充减少了摩擦;对于寻求在转换和安全性方面进一步改进的开发人员来说,密钥和身份联合是该行业的现代方法。

密钥可以在一个步骤中满足多因素身份验证要求,取代密码和OTP(例如6位短信代码),以提供强大的保护,防止网络钓鱼攻击,并避免短信或基于应用程序的一次性密码带来的用户体验痛苦。由于密钥是标准化的,因此单个实现可以实现跨所有用户设备、跨不同浏览器和操作系统的无密码体验。

密钥更容易:

  • 用户可以选择要登录的帐户。不需要键入用户名。
  • 用户可以使用设备的屏幕锁进行身份验证,例如指纹传感器、面部识别或PIN。
  • 一旦创建并注册了密钥,用户就可以无缝切换到新设备并立即使用它,而无需重新注册(不像传统的生物特征身份验证,它需要在每个设备上进行设置)。

密钥更安全:

  • 开发人员只保存服务器的公钥,而不是密码,这意味着坏人入侵服务器的价值要小得多,在发生漏洞时要做的清理工作也要少得多。
  • 密钥保护用户免受网络钓鱼攻击。密钥只能在他们注册的网站和应用程序上使用;不能因为浏览器或操作系统处理验证而欺骗用户在欺骗性网站上进行验证。
  • 密钥降低了发送短信的成本,使其成为双因素身份验证的更安全、更具成本效益的手段。
  • Passkeys reduce costs for sending SMS, making them a safer and more cost-effective means for two-factor authentication.

什么是密钥?


密钥是一种数字凭证,与用户帐户、网站或应用程序绑定。密钥允许用户进行身份验证,而无需输入用户名或密码,或提供任何其他身份验证因素。这项技术旨在取代传统的身份验证机制,如密码。

当用户想要登录使用密钥的服务时,他们的浏览器或操作系统将帮助他们选择并使用正确的密钥。这种体验类似于今天保存的密码的工作方式。为了确保只有合法所有者才能使用密钥,系统会要求他们解锁设备。这可以通过生物特征传感器(如指纹或面部识别)、PIN或图案来执行。

若要为网站或应用程序创建密钥,用户必须首先向该网站或应用软件注册。

  • 转到应用程序并使用现有的登录方法进行登录。
  • 单击“创建密钥”按钮。
  • 检查使用新密钥存储的信息。
  • 使用设备屏幕解锁创建密钥。

 

当他们返回此网站或应用程序进行登录时,可以采取以下步骤:

  • 转到应用程序。
  • 点击帐户名称字段,在自动填充对话框中显示密钥列表。
  • 选择他们的密钥。
  • 使用设备屏幕解锁完成登录。
  • 用户的设备基于密钥生成签名。此签名用于验证源和密钥之间的登录凭据。

 

 

 

无论密钥存储在何处,用户都可以使用密钥登录到任何设备上的服务。例如,在手机上创建的密钥可以用于在单独的笔记本电脑上登录网站。

 

密钥是如何工作的?


密钥旨在通过操作系统基础结构使用,该基础结构允许密钥管理器创建、备份密钥,并使该操作系统上运行的应用程序可以使用密钥。在安卓系统上,密钥可以存储在谷歌密码管理器中,该管理器可以在登录到同一谷歌帐户的用户安卓设备之间同步密钥。密钥在同步之前会在设备上进行安全加密,并且需要在新设备上对其进行解密。使用Android OS 14或更高版本的用户可以选择将他们的密钥存储在兼容的第三方密码管理器中。

注意:请参阅Android和Chrome上的密钥支持,了解Android和Chrome在每个操作系统上的行为。


用户不仅限于在可用的设备上使用密钥——登录笔记本电脑时可以使用手机上可用的密钥,即使密钥没有与笔记本电脑同步,只要手机靠近笔记本电脑,并且用户批准在手机上登录即可。由于密钥是基于FIDO标准构建的,所以所有浏览器都可以采用它们。

 

 

例如,用户在其Windows机器上的Chrome浏览器上访问example.com。该用户之前已在其Android设备上登录example.com并生成了一个密钥。在Windows计算机上,用户选择使用其他设备的密钥登录。这两个设备将连接,并提示用户批准在安卓设备上使用他们的密钥,例如,使用指纹传感器。完成此操作后,他们将在Windows计算机上登录。请注意,密钥本身不会传输到Windows计算机,因此example.com通常会提供在那里创建新的密钥。这样,下次用户想要登录时就不需要手机了。阅读“使用手机登录”了解更多信息。

谁在使用密钥?


许多服务已经在其系统中使用密钥。


自己试试


您可以在此演示中尝试密钥:https://passkeys-demo.appspot.com/

隐私注意事项


重要提示:密钥的设计考虑到了用户隐私。下面列出了最终用户可能提出的几个问题;为了让用户放心,开发人员应该在UI中添加一条令人放心的消息(例如,“使用密钥,用户的生物特征信息永远不会泄露给网站或应用程序。生物特征材料永远不会离开用户的个人设备”),并创建一个常见问题解答或支持文章来解释更多信息。

 

  • 因为使用生物特征登录可能会给用户一种错觉,以为这是在向服务器发送敏感信息。事实上,生物识别材料永远不会离开用户的个人设备。
  • 密钥本身不允许在站点之间跟踪用户或设备。同一密钥决不能用于多个站点。密钥协议经过精心设计,因此与站点共享的任何信息都不能用作跟踪向量。
  • 密钥管理器保护密钥不受未经授权的访问和使用。例如,Google密码管理器端到端加密密钥机密。只有用户才能访问和使用它们,即使它们被备份到谷歌的服务器上,谷歌也不能使用它们来冒充用户。

安全注意事项

 

  • 密钥使用公钥加密。公钥加密减少了潜在数据泄露的威胁。当用户为网站或应用程序创建密钥时,这将在用户的设备上生成一个公钥-私钥对。站点只存储公钥,但仅此一点对攻击者来说是无用的。攻击者无法从服务器上存储的数据中获取用户的私钥,这是完成身份验证所必需的。
  • 因为密钥与网站或应用程序的身份绑定,所以它们不会受到网络钓鱼攻击。浏览器和操作系统确保密钥只能与创建它们的网站或应用程序一起使用。这让用户无需负责登录正版网站或应用程序。

 

接下来的步骤

文章链接