SMS認証とは
この記事の要点
SMS認証は、携帯電話番号に届いた認証コードを入力してもらい、その番号を持つ本人かを確かめる方法です。 入れる前に決めるのは、使う場面・コードの作り方・配信会社とのつなぎ方・届かなかったときの手段の4つです。 配信会社は、回線・結果の通知・料金のかかり方・つなぎ直しの手間で比べます。 配信会社を乗り換えるときは、認証コードを自社で作っているか、配信会社の機能に任せているかで、作り直しの範囲が変わります。 SMS認証だけですべての不正は防げません。大事な操作ほど、ほかの確認も重ねます。
SMS認証は、利用者の携帯電話番号に使い捨ての認証コード(ワンタイムパスワード)をSMSで送り、入力してもらうことで本人の確認をする方法です。ログインや会員登録、決済の前の確認によく使われます。自社のサービスに入れるときは、使う場面、コードの作り方、配信会社とのつなぎ方、届かなかったときの手段の4つを先に決めておくと、作り直しが少なくなります。
目次
SMS認証の仕組み:番号に届いたコードで、本人かを確かめる
SMS認証の流れは、どのサービスでもおおむね同じです。ここでは、自社のシステムでコードを作る形で説明します。利用者が画面に携帯電話番号を入れると、自社のシステムが認証コードを作り、配信会社を通してその番号にSMSで送ります。利用者が届いたコードを画面に入れ、最初に作ったコードと合えば確認できたことになります。
| 順番 | すること | 担当 |
|---|---|---|
| 1 | 携帯電話番号を入力する | 利用者 |
| 2 | 認証コードを作り、有効期限とあわせて記録する | 自社のシステム |
| 3 | 認証コードを書いたSMSを送る | 配信会社(自社のシステムからAPIで依頼) |
| 4 | 届いたコードを入力する | 利用者 |
| 5 | 記録したコードと照らし合わせ、合えば次へ進める | 自社のシステム |
ここで大事なのは、コードを作って照らし合わせるのは自社のシステムで、配信会社はSMSを届ける役だという点です。この形なら、配信会社を乗り換えても、コードの作り方や照らし合わせ方は変えずに済みます。変わるのは主に、3番目のSMSを送る部分のつなぎ方です。
SMS認証が使われる場面
SMS認証は、「この番号を持っている人が、いま操作しているか」を確かめたい場面で使われます。
- 会員登録:登録した携帯電話番号が本物かを確かめる。1つの番号で何度も登録されるのを防ぐ目的でも使われます
- ログイン(二段階認証):パスワードに加えて、SMSのコードで確かめる
- 決済や大事な変更の前:送金、登録情報の変更、退会など、取り消しにくい操作の前に確かめる
- パスワードを忘れたとき:登録した携帯電話番号にコードを送り、再設定の入口にする
会員制のアプリやマッチングアプリ、ECサイト、業務用のSaaSなど、使う業種は幅広くあります。どの場面で使うかによって、コードの有効期限や、何回まで送り直せるかの決め方が変わります。
自社のサービスに入れる前に決める4つのこと
1. どの場面で使うか
会員登録だけに使うのか、ログインのたびに使うのかで、月に送る通数は大きく変わります。ログインのたびに送ると、確認する回数が増えるぶん、通数も増えます。まずは使う場面を決め、そこから月の通数の見込みを立てます。
通数の見込みは、配信会社を選ぶときの料金の比べ方にもそのまま使えます。月の総額は、1通の単価だけでなく、月の通数でも決まるためです。SMSの料金の数え方は「SMSの文字数と料金の数え方」にまとめています →
2. 認証コードの作り方
コードの桁数、有効期限、送り直しの回数を決めておきます。新しいコードを送ったときに古いコードを使えなくする作りにするか、入力を何回まちがえたら止めるかも、自社で決めることです。
SMSの本文は短くまとめます。先頭にサービス名を入れ、何のコードかが一目で分かるようにします。たとえば「【サービス名】認証コードは123456です。」のような形です。本文を短くすれば1通に収まり、通知の画面でもコードが読みやすくなります。
3. 配信会社とのつなぎ方
SMSを送る部分は、配信会社のAPIを自社のシステムから呼び出す形が一般的です。つなぐ前に、次の点を見ておきます。
- 送ったSMSが「届いた/届かなかった」を、自社のシステムで受け取れるか
- 送ったSMSと、自社の会員や操作の記録をひも付けられるか
- 接続元のIPアドレスを制限できるか
- どこまでの宛先に送れるか(国内の携帯電話番号だけか、など)
届いたかどうかが分からないと、利用者から「コードが届かない」と問い合わせがあったときに、どこを確かめればよいか分かりません。結果の通知は、つなぐ前に必ず見ておきたいところです。なお、この通知は、SMSが届いてから少し遅れて返ることがあります。画面で「届いたか」を待たずに、コードの入力欄を先に出しておく作りにします。届かないときの確かめ方は「SMS認証が届かないときに確かめること」にまとめています →
4. 届かなかったときの手段
利用者のスマホの電源が切れていたり、電波の届かない場所にいたりすると、SMSは受け取れません。送る側でどれだけ気をつけても、届かない場合は残ります。そのため、メールや電話など、SMSが届かないときに切り替えられる手段を1つ持っておきます。
止まると困るサービスなら、配信会社をもう1社決めておき、片方が止まったときに切り替える方法もあります。
SMS認証の注意点:これだけで不正をすべて防げるわけではない
SMS認証は手軽で、多くの人が使える確認の方法です。ただ、SIMの不正な再発行などで携帯電話番号を他人に乗っ取られると、SMSのコードも他人に届きます。大事な操作ほど、SMS認証だけに頼らず、パスワードや不審なログインの検知など、ほかの確認と組み合わせて考えます。
また、年齢の確認など、法律や業界の決まりで求められる確認がある業種もあります。SMS認証は「その番号を持っている人か」を確かめるもので、年齢や身元の確認の代わりにはなりません。必要な確認は、自社の法務の担当や公的な資料で確かめてください。
配信会社は単価より先に、回線と「届いた」の通知を見る
配信会社を選ぶときは、1通の単価に目が行きがちです。私は、認証のSMSでは単価より先に、どの回線で送っているかと、届いたかどうかが自社で分かるかを見てほしいと考えています。認証のSMSは、届かなければ利用者がその先へ進めないからです。問い合わせをしたり、そこで登録をやめたりする人も出ます。
回線は、配信会社によって、国内網(国内回線)で送るか、海外網(海外回線)で送るかが違います。海外網を通すと、届かない場合もあります。回線の違いは「SMSの国内直収接続・国内網・海外網の違い」にまとめています →
ULTIQUE SMSの場合は、国内網で送っています。APIで送ると、送信ごとに「届いた/届かなかった」の結果が、指定したURLに自動で返ってきます(コールバック)。結果の通知は通常、送信後数秒〜数分で返ってきます。
いまの配信会社から乗り換えるとき
すでに別の配信会社でSMS認証を動かしている場合、認証コードを自社で作っているなら、乗り換えで変わるのは主にSMSを送る部分のつなぎ方です。配信会社の認証用の機能(コードの発行や照らし合わせまで任せる機能)を使っている場合は、その部分も作り直しになります。
私は、乗り換えの話を進める前に、いまの作りがどちらの形かをはっきりさせておいてほしいと考えています。作り直しの範囲が、ここで大きく変わるからです。どちらの形かは、SMSを送るときに、コードを入れた本文を自社で用意して配信会社に渡しているかで分かります。渡していれば、自社でコードを作っている形です。
乗り換えで確かめて手当てしておくのは、次のことです。
- 新しい配信会社のAPIへつなぎ直す開発の期間
- 送信元に表示される番号が変わるか
- 結果の通知を受け取る先(コールバックURL)と、接続元のIPアドレスの用意
- いまの配信会社との契約の終わりと、しばらく2社を並行して使う期間
送信元の番号が変わる場合は、利用者が戸惑わないよう、お知らせなどで前もって伝えておきます。2社を並行して使う期間には、一度に全部を切り替えず、一部の送信だけを新しい配信会社に流し、「届いた/届かなかった」の結果を、いまの配信会社の結果と見比べます。問題がなければ、流す量を増やしていきます。
乗り換えの前に見ておくことは「SMS配信サービスの比較で確かめる5つのこと」にまとめています →
SMS認証のQ&A
SMS認証とは何ですか?
利用者の携帯電話番号に使い捨ての認証コードをSMSで送り、そのコードを入力してもらうことで、その番号を持つ本人かを確かめる方法です。会員登録、ログイン、決済の前の確認などで使われます。
SMS認証とSMS OTPは、同じものですか?
ほぼ同じ意味で使われています。OTPはワンタイムパスワード(使い捨てのパスワード)の略で、SMSで送る認証コードのことをSMS OTPと呼ぶことがあります。
SMS認証を自社のサービスに入れるには、何が必要ですか?
認証コードを作って照らし合わせる仕組みと、SMSを送る配信会社が必要です。SMSを送る部分は、配信会社のAPIを自社のシステムから呼び出してつなぐのが一般的です。
SMS認証だけで、不正なログインを防げますか?
すべては防げません。SIMの不正な再発行などで携帯電話番号を他人に乗っ取られると、コードも他人に届きます。大事な操作ほど、パスワードや不審なログインの検知など、ほかの確認と合わせて使います。
配信会社を乗り換えると、認証の仕組みも作り直しになりますか?
認証コードを自社で作っているなら、作り直しは要りません。変わるのは主に、SMSを送る部分のつなぎ方です。配信会社の認証用の機能(コードの発行や照らし合わせまで任せる機能)を使っている場合は、その部分も作り直しになります。
ULTIQUE SMSでSMS認証を送る場合
ULTIQUE SMSは、管理画面とAPIの両方で使えます。SMS認証では、自社のシステムからAPIで送る形になります。APIはHTTPS(POST)で、データはJSON形式です。接続には、API IDとパスワードを使います。
SMS認証で見ておきたい項目と、料金・送信元の表示を並べると、次のとおりです。
- 結果の通知:送信ごとに「届いた/届かなかった」の結果が、指定したURLに返ります(コールバック)
- 接続元:IPアドレスを制限できます
- ひも付け:送るときに管理IDと自由項目3つを付けられるので、「誰に、何を送り、届いたか」を自社のシステムで管理できます
- 送信元の表示:固定電話・050番号・フリーダイヤルなどを登録できます。標準では、SoftBankのスマホには「253000」か「253001」と表示されます
- 料金:API連携の費用は0円で、料金がかかるのは送信先に届いたSMSだけです
- 宛先:日本国内の携帯電話番号に送れます
お申し込みから、審査・送信元番号の登録・契約を経て、最短1週間〜10日で使い始められます。APIで使う場合は、これとは別に、自社側の開発の期間が要ります。
次に確かめること
- SMS認証をどの場面で使うか(会員登録だけか、ログインのたびか)と、月の通数の見込み
- 認証コードの桁数・有効期限・送り直しの回数
- いまの配信会社で、「届いた/届かなかった」を自社で受け取れているか
- SMSが届かないときに切り替える手段があるか
あわせて読みたい記事
ULTIQUE SMSを使ってみませんか
初期費用・月額固定費0円。お申込みから最短1週間〜10日で使い始められます。
情報の確認日:2026-11-04

SMS認証の料金とAPIの比べ方本人確認・認証
SMS認証が届かないときに確かめること本人確認・認証