僕の良く使うサービス30は二段階認証に対応してるだろうか調べ

# はじめに
最近の二段階認証祭りから少し日にちが空いてしまいましたが、自分が良く使っているサービスは二段階認証に対応しているか、点検の意味も込めて調べてみました。

# 二段階認証は必要？
![internet_nidankai_ninsyou_man.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/125752/11d1ac33-05a6-2bd0-b0a3-b99a571990c9.png)
結論から言うと必要です。認証方式といえば、IDやメールアドレスにパスワードを組み合わせる「パスワード認証」が一般的です。しかしパスワード認証だけでは、以下のような攻撃に合った場合に対応できません。

- パスワードを総当りで解析される
- PCがキーロガーなどの機能を持ったウィルスに感染する
- パスワード情報が流出してしまう

などなど。そこで二段階認証です。二段階認証とは二要素認証や多要素認証とも呼ばれ、複数の認証を求める方式です。この記事では用語を「二段階認証」に統一します。二段階認証には以下のような種類があります。

- SMSや音声で確認コードをスマートフォンに送信し、その確認コードを入力させる方式
- 認証アプリにサービスを登録し、表示された認証コードを入力させる方式
- セキュリティカードなどの物理的な情報を使う方式

サービスによっては第２パスワードや、秘密の質問と回答のような追加の認証方式を用意しているところもありますが、それらは上記の攻撃に対して守備力が上がらないので二段階認証とは呼べません。また、最近は認証アプリを使えるサービスが増えてきました。認証アプリとは予めサービスを登録しておいて、認証地にアプリが生成した認証コードを入力させる仕組みです。よく利用されているGoogleの認証アプリは以下からダウンロードできます。

[Google認証システム](https://support.google.com/accounts/answer/1066447?co=GENIE.Platform%3DAndroid&hl=ja)


# 二段階認証に対応しているか調べた

さて本編です。自分が良く使うサービスが二段階認証に対応しているか調査しました。調査手順は以下のとおりです。

1. サービスの設定画面や、分からなければネットで検索してサービスが二段階認証に対応しているか調査
2. 対応している場合はその設定方法を調査
3. 対応していない場合は代替策の有無を確認
4. ブラウザのシークレットモードでログインしてみて、実際に二段階認証が機能していることを確認

なお、他のサービスの認証を利用できるものは、その旨記載してサービス単体での二段階認証対応は調査していません。

例：QiitaはGoogleまたはGithub認証に対応しているので、Qiita単体で二段階認証に対応しているかは調査していない

「クラウドサービス」などのグルーピングは主観です。グループ内の順番はアルファベット順です。人力でちまちま調査したので、間違っている可能性もあります。その際はご指摘頂けるとうれしいです。

## クラウドサービス

まずはGoogleやAWSなどのクラウドサービスです。当然ながら100%二段階認証を採用しています。

### Apple ID(iCloud)
- URL：https://www.apple.com/jp/
- 二段階認証：あり
- 手法：信頼済デバイス(iPhone、iPad、iPod touch、Mac)に表示されたパスコードを入力
- 設定方法：iOSから設定>ユーザ名>パスワードとセキュリティを開き「2 ファクタ認証を有効にする」をタップ

### AWS 
- URL：https://aws.amazon.com/jp/
- 二段階認証：あり
- 手法：認証アプリ
- 設定方法：マイセキュリティ資格情報(IAM)>多要素認証(MFA)

### bitbucket
- URL：https://bitbucket.org/dashboard/overview
- 二段階認証：あり
- 手法：認証アプリ
- 設定方法：Bitbucket Settings>セキュリティ>2段階認証

### github
- URL：https://github.com/
- 二段階認証：あり
- 手法：SMSによる確認コードの送付(SMS number)、認証アプリ(Authenticator app)、セキュリティキー(Security keys)。
- 設定方法： https://github.com/settings/security 。Setting>Securityで「Two-factor authentication」を有効にする

### Google
- URL：https://www.google.com/
- 二段階認証：あり
- 手法：音声またはSMSによる確認コードの送付、よく使うスマートフォンを登録しておいて認証、バックアップコード
- 設定方法：Googleアカウント>セキュリティ>2段階認証プロセス
- 注意点：FirebaseやAdMobなど、多くのサービスと認証が共通なので注意

### heroku
- URL：https://jp.heroku.com/
- 二段階認証：あり
- 手法：SMSによる確認コードの送付、認証アプリ、バックアップコード
- 設定方法： Account Setting > Two-factor Authentication

### Microsoft(Azure)
- URL：https://www.microsoft.com/ja-jp
- 二段階認証：あり
- 手法：認証アプリ
- 設定方法： https://account.live.com/proofs/Manage からTwo-step verification を選択
- 注意点：AWSとAmazonとは違い、MicrosoftとAzureは認証が共通なので注意

## SNS

続いてfacebookやtwitterなどのSNSです。こちらも100%二段階認証に対応しています。

### facebook
- URL：https://www.facebook.com/
- 二段階認証：あり
- 手法：SMSによる確認コードの送付、認証アプリ、セキュリティキー、リカバリーコード
- 設定方法： https://www.facebook.com/security/2fac/settings/

### Instagram
- URL：https://www.instagram.com
- 二段階認証：あり
- 手法：SMSによる確認コードの送付、認証アプリ
- 設定方法： https://www.instagram.com/accounts/two_factor_authentication/?hl=ja

### line
- URL：https://line.me/ja
- 二段階認証：あり
- 手法：電話番号による認証
- 設定方法：アプリから

### twitter
- URL：https://twitter.com/home
- 二段階認証：あり
- 手法：SMSによる確認コードの送付、認証アプリ、セキュリティキー、リカバリーコード
- 設定方法： https://twitter.com/settings/account/login_verification

## EC

次はAmazonをはじめとするECサービスです。なんと楽天は二段階認証非対応です。 [不正ログイン対策](https://corp.rakuten.co.jp/security/knowledge/) のページを見ても、二段階認証に対応する予定は無いような気がします。またAmazonは二段階認証に対応していますが、Kindleをセットアップするときは二段階認証を外しておかないとセットアップが進まないので注意しましょう。

### amazon.co.jp
- URL：https://www.amazon.co.jp/
- 二段階認証：あり
- 手法：SMSによる確認コードの送付、認証アプリ
- 設定方法：アカウントサービス＞ログインとセキュリティ

### amazon.com
- URL：https://www.amazon.com/
- 二段階認証：あり
- 手法：SMS、認証アプリ
- 設定方法：アカウントサービス＞ログインとセキュリティ

### rakuten
- URL：https://www.rakuten.co.jp/
- 二段階認証：なし
- 代替策：ログインアラート
- 代替策の設定方法：会員情報＞ログインアラートの設定

### yahoo
- URL：https://www.yahoo.co.jp/
- 二段階認証：あり
- 手法：SMSによる確認コードの送付、メールによるワンタイムパスワードの通知
- 設定方法：登録情報>ログインとセキュリティ

## 決済サービス

PayPayなどの決済サービスです。さすがに祭りの後だけに、全て二段階認証に対応しています。

### PayPay
- URL：https://paypay.ne.jp/
- 二段階認証：あり
- 手法：登録されたスマホへ認証コードをSMS送信
- 補足：決済はアプリからのみ

### linepay
- URL：https://line.me/ja/pay
- 二段階認証：あり
- lineに準拠(電話番号による認証コード)
- 補足：決済はアプリからのみ

### paypal
- URL：https://www.paypal.com/jp/home
- 二段階認証：あり
- 手法(アプリの場合)：指紋による追加認証可能
- 手法(ブラウザの場合)：ワンタイムパスワード、認証アプリ
- 設定方法： https://www.paypal.com/myaccount/settings/security Setting>セキュリティ

## 銀行、証券会社、クレジットカード会社

自分のセキュリティリスクになってしまうため社名は掲載していません。証券会社は二段階認証に対応しているのは少数派です。出金が自分名義の銀行口座に限られていることや、法令上求められていないなどの理由があるからだと思いますが、適当な売買をされて被害を受ける危険性があります。ぜひとも対応してほしいところです。クレジットカード会社はサイトにログインされても決済はできないため被害は少ないのですが、ポイントを適当な商品に交換される可能性があります。

### A銀行
- 二段階認証：あり
- 手法：ワンタイムパスワード
- 補足：ログインをメールで通知機能あり

### B銀行
- 二段階認証：あり
- 手法：セキュリティカードを本人確認先に郵送しておき、ログイン時に掲載された番号を入力

### A証券
- 二段階認証：なし
- 代替策：ログインできるPCを登録しておくサービス

### B証券
- 二段階認証：なし
- 代替策：ログインパスワードの他に取引パスワードを設定

### Aクレジットカード
- 二段階認証：あり
- 手法：クレジットカードの名義より指定する2文字を入力

### Bクレジットカード
- 二段階認証：なし
- 代替策：なし

### Cクレジットカード
- 二段階認証：あり
- 手法：ワンタイムパスワード、利用するPCを指定

## その他

slackやメルカリなどの上記に分類されないサービス、ポイントカードなどです。ポイントカードやnanacoはポイント交換を不正に行われる可能性があります。

### slack
- 二段階認証：あり
- 手法：SMSの認証コード、または認証アプリ
- 設定方法： my.slack.com/account/settings ブラウザでワークスペースにログインし、2要素認証を有効にする
- 補足：1つ1つのワークスペースで行う必要あり

### Qiita
- URL：https://qiita.com/
- GoogleまたはGithub、Twitter認証に対応

### YouTube
- URL：https://www.youtube.com/?gl=JP&hl=ja
- Google認証に対応

### メルカリ
- URL：https://www.mercari.com/jp/
- Googleまたはfacebook認証に対応

### JREPoint
- URL：https://www.jrepoint.jp/
- 二段階認証：無し
- 代替策：第２パスワード認証

### nanaco
- URL：https://www.nanaco-net.jp/pc/emServlet
- 二段階認証：無し

### t-point
- URL：https://tsite.jp/tm/pc/login/STKIp0001001.do
- Yahoo認証に対応

### Pontaカード
- URL：https://point.recruit.co.jp/point/
- 二段階認証：なし

### majica
- URL：https://www.donki.com/majica/
- 二段階認証：なし
- 補足：カードが無いと不正利用は行えないため実害なしと思われる

## おわりに

今回の記事を書くにあたり、自分が良く使うサービスのセキュリティを再点検することができたので良かったです。取り上げたサービスは自分基準なので偏っていますが、皆様のお役に立てば幸いです。特に楽天と証券会社ですが、出来る限り多くのサービスが二段階認証に対応してくれることを望みます。