首页
/ OWASP ASVS项目中关于SMS认证安全性的最新演进与实践

OWASP ASVS项目中关于SMS认证安全性的最新演进与实践

2025-06-27 11:35:10作者:何将鹤

在现代应用安全验证标准(OWASP ASVS)的演进过程中,关于SMS作为多因素认证(MFA)手段的安全性讨论一直备受关注。本文将深入剖析ASVS v6版本中针对SMS认证的最新安全要求及其技术背景。

背景与演进

传统上,ASVS将PSTN(公共交换电话网络)和SMS认证归类为"受限"认证机制。随着NIST 800-63b标准第4版(2024年)的发布,相关安全建议发生了重要变化:

  1. VOIP认证从"不安全"变为可接受
  2. 推送通知因"认证疲劳"攻击风险被降级
  3. 强调了对SIM交换等高风险事件的检测

核心安全要求

ASVS v6.6.1条款确立了以下关键要求:

  1. 风险披露原则:当提供SMS认证时,必须同时提供更强的替代方案(如TOTP),并明确告知用户安全风险
  2. 高级别应用限制:对于L3级(高保障级别)应用,完全禁止使用电话和SMS认证
  3. 号码验证要求:发送OTP前必须完成电话号码的安全绑定验证
  4. 时效性控制:单次使用代码应在10分钟内失效

技术实现要点

高风险事件检测

根据NIST建议,实施SMS认证时应集成运营商情报服务,检测以下风险指标:

  • 近期SIM卡更换记录
  • 号码转移事件
  • 异常行为模式

主流实现方案包括:

  • Twilio Lookup的SIM Swap检测
  • Telesign Phone ID服务
  • Prove Trust评分系统

实施建议

  1. 在发送OTP前调用运营商API检查风险指标
  2. 对检测到24-72小时内发生SIM交换或号码转移的情况:
    • 阻断SMS认证通道
    • 升级到更强认证方式
  3. 建立号码验证机制,确保发送目标的有效性

标准演进启示

ASVS的这次调整反映了移动安全领域的最新认知:

  1. 传统认为"安全"的推送通知因疲劳攻击被降级
  2. 通过运营商数据增强SMS安全性的实践成为基准要求
  3. 风险披露和替代方案提供成为合规要点

对于安全架构师而言,这些变化意味着需要重新评估现有MFA策略,特别是在金融、医疗等高安全要求的应用场景中,逐步淘汰纯SMS认证方案,转向更安全的替代方案。

登录后查看全文
热门项目推荐

热门内容推荐

最新内容推荐

项目优选

收起
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
176
261
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
858
511
openGauss-serveropenGauss-server
openGauss kernel ~ openGauss is an open source relational database management system
C++
129
182
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
258
298
ShopXO开源商城ShopXO开源商城
🔥🔥🔥ShopXO企业级免费开源商城系统,可视化DIY拖拽装修、包含PC、H5、多端小程序(微信+支付宝+百度+头条&抖音+QQ+快手)、APP、多仓库、多商户、多门店、IM客服、进销存,遵循MIT开源协议发布、基于ThinkPHP8框架研发
JavaScript
93
15
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
332
1.08 K
HarmonyOS-ExamplesHarmonyOS-Examples
本仓将收集和展示仓颉鸿蒙应用示例代码,欢迎大家投稿,在仓颉鸿蒙社区展现你的妙趣设计!
Cangjie
398
371
note-gennote-gen
一款跨平台的 Markdown AI 笔记软件,致力于使用 AI 建立记录和写作的桥梁。
TSX
83
4
CangjieCommunityCangjieCommunity
为仓颉编程语言开发者打造活跃、开放、高质量的社区环境
Markdown
1.07 K
0
kernelkernel
deepin linux kernel
C
22
5