二段階認証とは
二段階認証とは、登録時にユーザーが設定したIDとパスワードを用いた認証(一段階目)の後に、別の認証(二段階目)を行ってアカウントの保護を強化する認証方法です。
よくある二段階目の認証方法として、SMSやメールで別途送られてくる認証コードを入力する方法や秘密の質問の答えを入力する方法等があります。
二段階認証はID・パスワードを不正に入手した第三者にログインやなりすましによる被害を防止する効果があります。
多くの金融機関が採用しており、Gmail(Google)やYahoo mail等のウェブサービスもユーザーへ二段階認証の設定を積極的に呼びかけています。
二段階認証の有効化を上手く促した事例
二段階認証はユーザーにとっては手間がかかるというデメリットがあります。本来、二段階認証の手間は乗っ取り被害と比べ物にならないくらい些細なことですが、積極的に設定するユーザーが少ないのが現状です。
特に二段階認証が初期登録時に必須でなかった場合、後から二段階認証を有効化するユーザーはそう多くないと考えられます。
そこで、Epic Gamesが販売・提供しているFORTNITEでは、二段階認証を有効化したプレイヤーにエモートやアイテムをプレゼントするキャンペーンを実施しました。
このエモートやアイテムを取得するために、どのように二段階認証を有効化させるかのハウ・ツー動画がいくつもYouTube公開されるほど注目が集まり、ユーザーを二段階認証の有効化へ促すことに成功しました。
このように、サイト内で使えるアイテムやポイントを用意しキャンペーンを実施することでより多くのユーザーに二段階認証を設定してもらえるようになります。
二段階認証で使用するSMS認証(ワンタイムパスワード)とは?
二段階認証で最もポピュラーな方法はSMSへ認証コードを送る「SMS認証」でしょう。
SMSはスマートフォンだけではなくガラケーにも送れるため、銀行等の年代問わず利用されるサービスにも向いています。
SMSに送られてくる認証コード、通称ワンタイムパスワード(OTP)を用いた認証は、メール認証よりも安全性と本人確実性が高い点が特徴です。
本人確実性が高い理由としては、SMSは携帯番号に送られてくるメールのため、端末が手元にないと確認できません。しかし、メールの場合はどんな端末からもIDとPWさえあればアクセスできるため、メールアカウントも乗っ取られてしまっていたら二段階認証の意味がありません。
また、初回登録時にSMS認証を必須にすることで、一人の人物が複数アカウントを持つことを防止でき、捨てアカウントを利用した不正行為を減らすことが可能です。抑制できる不正行為としては、ゲームでの荒らし行為やCtoCアプリでの不正出品が挙げられます。
CM.comのSMS認証API
CM.comはSMS認証専用のAPIを提供しています。通常、SMS認証を設定する際、SMS配信用のAPIで構築されます。そのため、パスワードの生成や認証機能を別途開発する必要があります。
しかし、CM.comのSMS認証APIでは、SMS配信からパスワード生成、認証まで一つのAPIで実装可能です。開発工数が減り、時間・コストの節約にも繋がります。
コードがとても簡単だから開発工数を削減できる
CM.comのSMS認証専用APIをSMS認証に利用するメリットは開発がとても簡単である点です。
以下がサンプルコードになります。
POSTコールにPWの桁数、有効期限、送信元、宛先、メッセージ本文、送信チャネルを入れるだけでSMS認証が実現できます。
curl --request POST \
--url https://api.cm.com/otp/v2/otp \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '
{
"digits": 5,
"expiry": 60,
"from": "+送信者名",
"to": "+宛先",
"message": "あなたのパスワードは {code}",
"channel": "sms"
}
「探探(タンタン)」導入事例
中国最大のマッチングアプリ「探探(タンタン)」は、CM.comのSMS配信APIを利用して二段階認証と通知のSMSを年間6400万通配信しています。
SMS認証でサービス利用時のセキュリティを強化するだけではなく、ユーザーへSMS通知を送ることでアプリのリテンション率を大幅に向上することに成功しました。
ぜひ、探探の導入事例を確認いただき、SMS認証の実装をご検討ください。