免密登录仍需要设备层面的二次确认以防止链接被截获后滥用
别名: 魔法链接设备确认 · email link interception · 登录批准
概念解释
邮件和短信在到达本人之前可能被网关复制、被共享邮箱里的别人打开、被已经能读收件箱的攻击者先点。设备层面的二次确认指链接或码被出示之后,还要在发起登录的那台设备(或一个已登录的受信设备)上点头:批准、配对码、或「是我在这台电脑上登录」。一次性作废挡不住第一次被别人点开;二次确认挡的是截获后的那一次兑换。这条不比较短码与链接的熵,也不讨论粘贴。
机制
免密把「持有收件通道」当成「人在场」。通道持有在现代栈里常常是共享的:公司邮件归档、家庭共用账号、备份应用读取短信、恶意浏览器扩展。截获者第一次兑换若直接得到会话,原设备上的人只看到一封已被打开的信,没有否决权。二次确认把会话发放拆成两步:通道证明到达,发起端仍在线并明确同意。同意必须绑在发起登录的会话上,而不是绑在「任何已登录设备随便点一下」——否则被盗的旧手机也能批准。人要能看见将批准的是哪台新设备的粗略特征(浏览器、大致地点),否则批准本身会变成无意义的确认疲劳。
怎么研究
布置「链接在发起设备以外的客户端打开」与「在发起设备打开」,比较有无批准步骤时会话发给谁。
自变量:是否要求发起设备确认、确认超时、展示的设备特征粒度、无确认时是否仍发会话。 因变量:截获端是否得到会话、本人拒绝后截获端是否仍进入、因看不懂设备特征而误批准的比例、额外步骤导致的放弃。
实验室里「自己用另一浏览器点」只近似转发,不等价于攻击者持有邮箱。可用给第二人邮箱权限的角色扮演。不要把二次确认的完成率当成安全证据:完成率高可能只是人习惯了点「是」。测量拒绝路径和「特征对不上就该拒绝」的判断才连得上截获威胁。
边界
同一设备上打开邮件客户端再跳回应用,二次确认会像自己批自己;应识别「兑换与发起在同一浏览器会话」并跳过,以免训练人无脑点批准。没有第二台已登录设备、发起页又被关掉时,确认无处可去,只能作废这次挑战并让人重新发起,而不是退回无确认的链接登录。低保证的内容订阅若每次邮件都要批准,摩擦会压过风险,确认应留给新设备、新地点、或高后果动作。二次确认不是多因素认证里的「预先登记的第二因素」;它依附于当次登录挑战,登记与保管是另一组问题。
怎么落地
- 发起免密登录时在原页面保持待批准状态;链接在别处打开只进入「等待这台设备确认」,不直接发会话。
- 批准卡片展示新端的粗略特征(设备类型、大致地点、时间),提供明确的拒绝;拒绝即作废令牌。
- 同一浏览器会话内的兑换可免确认;跨浏览器、跨设备必须确认。超时后两边都提示「请重新申请」,不要静默登录。
- 验证:在设备 A 点「发链接」,在未参与的设备 B 打开邮件链接,B 在 A 批准前不得进入;A 拒绝后 B 仍不得进入。再测 A 上邮件与应用同会话打开时应无需额外点头。统计误批准时人是否能指出卡片上对不上的那一项特征。