一次性密码

通过短信下发的一次性验证码,用来确认谁掌握某个手机号,有效期短,且有尝试次数上限。

仅解释——此处解释的术语不是我们销售的服务。

一次性密码(OTP)是只能用一次、几分钟内就会失效的验证码。它只证明此刻谁控制这个号码,不证明身份,因此安全性落在围绕它的各项限制上。

有效期、尝试次数、重发策略和号码校验,比验证码本身更关键。

下发与失败

应用生成随机验证码,连同有效期一起做成哈希,再把明文验证码经短信中心或聚合商以 A2P 短信下发。安全性来自应用逻辑,不来自短信传输。验证码可能迟到、发到错误号码,或因 SIM 卡被补换而落到他人手里。OTP 短信下发页面讲的就是这条链路。

验证码经过的路径

  1. 应用
  2. SMPP 网关
  3. SMSC
  4. HLR / HSS
  5. MSC / MME
  6. 手机
  7. 送达回执
应用通过 SMPP 网关把验证码提交给 SMSC。路径经 HLR/HSS 和 MSC/MME 到达手机,最后返回送达回执。
文字说明

应用把消息提交给 SMPP 网关,网关再转交 SMSC。随后路径经 HLR/HSS 和 MSC/MME 到达手机,送达回执是最后一个节点。

核查要点

按号码、IP 和设备限流,限制尝试次数,并把有效期设短。上线前就要定好后备方式:语音呼叫、验证器应用或人工审核。

常见问题

短信 OTP 够安全吗?

取决于所涉价值。高价值账户应再配合验证器应用或通行密钥(passkeys)。

验证码可以重复使用吗?

不可以。首次验证成功即标记为已使用,过期或达到尝试上限后立即作废。

验证码为什么会迟到?

常见原因有路由拥塞、手机离线、号码错误,以及目的地一侧的过滤。

了解更多

来源

  1. 3GPP TS 23.040: Technical realization of the Short Message Service (SMS)(短消息服务(SMS)的技术实现)