SMS認証とは

SMS(ショートメッセージサービス)を使ってワンタイムパスワード(OTP)を送信し、本人確認を行う認証方式。スマートフォン普及に伴い広く使われるようになった。

SMS認証の仕組み

SMS認証の流れはシンプルです。①ユーザーが電話番号を入力 → ②サービス側が4〜6桁のOTPをSMSで送信 → ③ユーザーがOTPを入力 → ④サーバーが一致を確認して認証完了。 OTPには有効期限(通常3〜10分)が設定されており、期限切れや使用済みのコードは無効になります。 通信キャリアのSMS基盤を利用するため、専用アプリは不要で、ガラケーでも受信できる普及率の高さが特徴です。

メリット

  • 導入の容易さ: ユーザーに専用アプリのインストールを求めない
  • 高い普及率: スマートフォン・ガラケー問わず受信可能
  • パスワード単体より安全: 不正ログインの大半を防止できる
  • 実装コストが低い: SMSを送信するAPIは多数存在する

デメリット・セキュリティリスク

  • SIMスワップ攻撃: 攻撃者がキャリアを騙してSIMを再発行し、SMSを傍受する
  • SS7プロトコルの脆弱性: 電話網の古い規格を悪用してSMSを傍受される恐れがある
  • フィッシング: 偽サイトにOTPを入力させるリアルタイムフィッシングが存在する
  • 固定電話・海外番号に非対応: 固定電話ではSMSを受信できない
  • コスト変動: 海外SMSは1通あたりのコストが高く、スパム申請のリスクもある

着信認証との違い

SMS認証のリスクを回避する方法として、着信認証があります。 着信認証はSMSを使わず、ユーザーが指定番号に電話をかける(または着信を受ける)ことで認証します。 固定電話にも対応し、SIMスワップの影響を受けにくい点が異なります。 pauth.meは着信認証を提供しており、詳細な比較はこちらで確認できます。

関連用語

SMS認証の代替を検討中ですか?

pauth.meの着信認証はSMS不要、固定電話対応、SIMスワップ耐性を持つ電話認証APIです。