2段階?2要素?認証のトークン発行するやつ

結論

サービス名/アカウント名等任意に変更したかったらIIJ SmartKeyが良い

詳細

以下,一定時間毎に生成される6桁あるいは8桁の数値の事をトークンと表記します. また,Android上での話です.iPhoneとか他のOS載った端末はようわかりません.

OTPを生成するアプリは色々有ります.

  • Google 認証システム
  • Microsoft Authenticator
  • Salesforce Authenticator
  • Blizzard Authenticator

等々.んで,会社の端末では下記4つを使ってます.

  • Google 認証システム
  • Microsoft Authenticator
  • IIJ SmartKey
  • Adobe Authenticator

これらに,対応している各サービスで生成される2段階認証用のQR(コード)をスキャンして登録するわけですが,各アプリによって読み取れるURIのパラメータや登録後の可能な操作が異なるます. 読み込ませたサンプル [1] /個人的な雑感込みでそれらを書きます.

Google 認証システム

雑感

  • これ使えば たいてい [2] 問題ない.

状態等

  • 読み込ませたサンプル -> otpauth://totp/SERVICE:USER@DOMAIN?secret=IFBEGRA=&issuer=ISSUER&digits=8
  • SERVICE/USER/DOMAIN/ISSUERを表示
  • ISSUERは書換不可
  • digitsは無視
  • それら合わせて2行(上段がトークン,下段がSERVICE/USER/DOMAIN/ISSUER)で表示

画像等

google1

初回起動時

google2

初回登録画面

google3

初回登録完了後画面.digits=8は無視.

google4

初回登録以外はこんな感じ

google5

長押しで画面右上のアイコン=可能な操作が変わります. そして表示されてる6桁がクリップボードにコピーされる

google6

鉛筆?マークでLABELの情報書換が可能.あとで戻せるように全選択->切り取りで空欄にして保存してみましょう

google7

LABELの情報が入ってた場所は空っぽでも問題ないようです.戻しましょう. 長押しした 後,鉛筆ボタンタップ,貼り付け.

google8

Oh...

Microsoft Authenticator

雑感

  • MSがらみ(Office365とか)の場合id/passでログインする
    • それらに関してはPush通知してくれる.楽
  • 登録フローの画面遷移がGoogleのと比べて1ページ多い.(「会社アカウント/個人アカウント/それ以外」の選択画面がQRスキャン前に差し込まれる)

状態等

  • 読み込ませたサンプル -> otpauth://totp/SERVICE:USER@DOMAIN?secret=IFBEGRA=&issuer=ISSUER&digits=8
  • SERVICEのみ書換可能
  • USER/DOMAINは表示のみ
  • ISSUERは表示しない?無視?
  • SERVICEを別で格納してるのか,書き換えてもアイコンは維持されていた.(AWSのIAMのやつとか)
  • それら合わせて3行(上段がSERVICE,中段がUSER/DOMAIN,下段がトークン)で表示

画像等

ms1

初回起動時

ms2

種別の選択.MSにログインするやつ以外は「他のアカウント」を選択

ms3

QR読み込んだら登録完了

ms4

右上のボタンからアカウントの編集をクリック

ms5 ms6

鉛筆ボタンでSERVICEの書き換えが出来ます

ms7

SERVICEが空欄はダメ

ms8

削除しようとすると確認画面

IIJ SmartKey

雑感

  • 国産
  • トークンは画面下部に横並び.追加すると右に並んでいく.
  • 画面下段左右横並びのSERVICEを選択すると画面中央にトークン表示.選択中以外のトークンは表示されない.

状態等

  • 読み込ませたサンプル -> otpauth://totp/SERVICE:USER@DOMAIN?secret=IFBEGRA=&issuer=ISSUER&digits=8
  • SERVICEとISSUERある場合はSERVICE優先.読み取りはしていて,書換可能.ただしサービス名は一意である必要あり.
  • digits=8も読み取れる
  • それら合わせて3行?(上段:画面中央がトークン,中段:トークンの下辺りがUSER/DOMAIN,下段:左右横並びでSERVICE列挙)で表示

画像等

iij1

初回起動時.右上の+ボタンでカメラ起動

iij2

QR読み込んだらその段階である程度情報を変えられる

iij3

8桁!右上の歯車マークから設定画面

iij4

画像下部の「登録サービス」のSERVICEをタップすると編集可能

iij5 iij6

読み取り直後に出来た編集操作と同じ事ができる.ただしSERVICEが空欄はダメ

iij7

削除しようとすると確認画面

Adobe Authenticator

雑感

  • SERVICE/USER/DOMAIN/ISSUERの書き換えが出来ない

状態等

  • 読み込ませたサンプル -> otpauth://totp/ISSUER:USER@DOMAIN?secret=IFBEGRA=&issuer=ISSUER&digits=8
    • 上3アプリで読み込ませたサンプル: otpauth://totp/SERVICE:USER@DOMAIN?secret=IFBEGRA=&issuer=ISSUER&digits=8 は SERVICEとISSUERが不一致の為読み込めない

画像等

adobe1

初回起動時

adobe2

QR読み込み後

adobe3

トークンの右側のメニューから削除

adobe4

削除しようとすると確認画面.この後の画面で私はパターン認証の画面になったので端末に設定しているロック解除操作が必要になる模様.

[1]

サンプルは Google AuthenticatorのGithubのページ に記載の下記を元に作成. IIJ SmartKeyが読み取るURIのフォーマット も同じ構造してます.

otpauth://TYPE/LABEL?PARAMETERS

今まで見たQRコードの情報は全部の形だった.たとえば,AWSのIAMで設定する際に表示されたQRは,こう

otpauth://totp/Amazon%20Web%20Services:<iam_name>@<account_name>?secret=<略>&issuer=Amazon%20Web%20Services

たまにTYPEがtotpじゃないやつがある(yahooとか).

totpのRFCは 6238

[2]今までGoogleのやつに登録できなかったのは Yahooのワンタイムパスワード だけです.yahooのは TYPEがyotp otpauthの 部分が yjotp になってるんで多分他のやつも読めないんじゃないかと思われます.