やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

二段階認証について調べてみた

 素人が調べただけなので責任持てません。

前回

 パスワードだけだとアカウント・ハックされる場合がある。

観点

  • 二段階認証ってなに?
  • パスワードだけと比べて効果はどれくらい?
  • 二段階認証すべきなのはどういうとき?

二段階認証とは

 パスワードの他にワンタイムパスワード(OTP)も必要とする認証方法。

しくみ

 ログインするとき、以下のような流れになる。

sequenceDiagram participant サービス提供者 participant 利用者 サービス提供者->>利用者: 認証要求 利用者-->>サービス提供者: ユーザ名, パスワード送信 サービス提供者->>利用者: 二段階認証要求 利用者-->>サービス提供者: ワンタイム・パスワード送信

OTPを生成する方法

 2種類ある。

  • 電話
  • 認証アプリ(Googole Authenticator)
  • 認証アプリ(OTP自前計算)

電話

 電話にOTPが来る。それをPCで入力する。

  • ログインするたびに以下のリスクやコストが発生する
    • SMSや通話の電波を傍受される
    • SMS受信料(音声通話料)
    • 入力が面倒
  • PCと電話の両方必要
    • 電話の電池が切れていたら?

 ただし、PCと電話の両機が揃わないとログインできない。セキュリティは高い。

登録
sequenceDiagram participant サービス提供者 participant 利用者(TEL) サービス提供者->>利用者(TEL): 認証コード(6桁の数字)送信
sequenceDiagram participant サービス提供者 participant 利用者(PC) 利用者(PC)-->>サービス提供者: 認証コード(6桁の数字)送信
OTP生成
sequenceDiagram participant サービス提供者 participant 利用者(TEL) サービス提供者->>利用者(TEL): OTP(6桁の数字)送信
sequenceDiagram participant サービス提供者 participant 利用者(PC) 利用者(PC)-->>サービス提供者: OTP(6桁の数字)送信

認証アプリ(OTP自前計算)

 PCにインストールした認証アプリでOTPを生成する。電話の受信は不要。

登録
sequenceDiagram participant サービス提供者 participant 利用者(PC) サービス提供者->>利用者(PC): QRコード表示(認証コード) 利用者(PC)->>利用者(PC): QRコード読取,保存 利用者(PC)-->>サービス提供者: 認証コード送信

 (はてなが勝手にキーワードURLを生成するせいで図が壊れる……)

OTP生成
sequenceDiagram participant サービス提供者 participant 利用者(PC) サービス提供者->>利用者(PC): 二段階認証要求 利用者(PC)->>利用者(PC): OTP生成 利用者(PC)-->>サービス提供者: OTP送信

効果は?

  • ソーシャルエンジニアリング対策
    • 入力の様子を後ろから覗き見される
    • メモした紙を見られる
    • 酒を飲まされ喋らされる
    • スキミングICカード読取)
    • フィッシング(Webサイト偽装)
    • 身分や事情を偽った聞き取り
  • 通信傍受対策
    • 外出時、無線LAN接続してログインしたときに電波を傍受されパスワード、OTPを知られる

ハックされるとしたら?

  • OTP生成シークレット値を知られる
    • ネットワークから侵入され、シークレット保存データを見られる
    • シークレット保存デバイスを触られ、データを見られる
    • シークレット保存デバイスごと盗まれる
  • 認証後の通信を乗っ取られる

結論

 二段階認証は覗き見されたときの対策になる。

 ただし、シークレット値を知られるとアカウント・ハックされる。通信時にシークレット値が覗き見されることはない。ただしシークレット値を保存したデバイスを覗かれたら知られる。

 結局、ネットワーク対策とデバイス接触への対策が必要となる。これはパスワードだけのときと同じ。

スマホが危険

 特に危険なのがスマホ。小型のため物理的に紛失や盗難されやすく、広域無線Wi-Fiを使う。パスワードや二段階認証では防げないものへのリスクが全部ある。

対策

 接触対策は生体認証で。ネットワーク対策はファイアウォールを使う。以下のようなアプリがあるらしい。

 また、紛失・盗難対策として、紛失防止タグがある。
 デバイスが自分から何メートル以上離れたらブザーが鳴って知らせてくれる。BlueTooth接続が切れた場所・時刻を追跡できる。

破られる

 ただし、生体認証があっても本体を盗まれ、分解されて記憶装置からデータをコピーされたらシークレット値を知られうる。

 ここまでくると、どうにもできない。ファイルシステムの暗号化などで時間稼ぎをしている間に、他のデバイスでパスワード変更などの措置をとるしかない。

諸悪の根源は人

  • 忘却
    • パスワードを忘れる
    • バイスを置き忘れる
  • 盗難
    • 他者から盗もうとする欲
    • 世に己のハック能力を知らしめんとする自己顕示欲
    • 世に混沌をもたらさんとする愉快犯

 生きている以上、これらを完全に無くすことはできまい。生者目線では解決不能