2FA とセキュリティキー

なぜセキュリティキーを使うのか

セキュリティキーを使用することで、Google社員のフィッシング詐欺被害がゼロになったというニュースがあってから、セキュリティキーを用いた2FAの安全性が認識されて、 Titan key や Yubi key を買った人も多いと思う。 当時俺は2FAとセキュリティキーについて調べたが、パスワード認証をやめてセキュリティキー認証にかわるわけではなかったので、「結局パスワード覚えなあかんやん」と思って、導入には消極的だった。

だが最近、いろんな組織がパスワード漏洩しまくったおかげで、Googleのパスワードマネージャが「漏洩パスワードと一致 or 類似のパスワードをかえろ」と警告しているのに気付いた。 昔はGMailがなくなってもまったく痛くもかゆくもなかったが、最近はアカウントのハブになりつつあり、使えなくなるといろいろ不便だと感じるようになってきたので、セキュリティキー導入に踏み切った。

どこまで守ろうか

まじめにセキュリティ対策を行うと手間だし不便なので、現実的にパスワード管理についてのみ考えた。

OS認証においてもセキュリティキーを検討するか →しない

PCが多すぎるし、WindowsMacLinux、全部あるし、デュアルブートとかもあるので、無理。本当に使うPCがもっと減ったときあらためて検討。

パスワード管理ツールを使うか →使わない

すべてのアカウントを守る気になって1passwordのセットアップを始めてみたが、考えてみると使えなくなっても全く困らないアカウントがほとんどだ。使えなくなると困るのはわずかだったので、1passwordは解約した。

課金アカウントを守るか →守る

不要な課金アカウントは全部解約削除して、必要なものだけ残した。

課金してないけど守りたいアカウントとかあるか →ある

Google系とかはいろんなアカウントのハブになってるからな。復旧できなくても、金銭的には痛くないが、超不便。不便すぎるのでGoogle系は復旧対象にしたい。

結論

  • 課金アカウントを守ろう
  • ハブアカウントを守ろう

セキュリティキーによる2FAのサポート状況

結論からというと、「技術力があってセキュリティ意識の高い会社のサービスがセキュリティキーによる2FAを扱っている」ようだ。Google系、Microsoft系、1passwordがいける。

セキュリティキーを導入してみて

普通に使ってると、運用シーンがイメージできるようになってきた。

セキュリティキー・OTPの複数登録はできるか →できないのが多い

バックアップコードってどこいったか忘れちゃうと思うから、どっちも複数端末から使えるほうがよいと思う。

いきなり死んだらどうしよう →どうしようw

今の世の中本人確認だらけだが、本人が死んだら代わりの人が手続しないといけない訳で、法的にはきっと何かできるんだろうな。遺言に書いとくとかもできるんかな。

セキュリティキーの今

Google Titan Security Key がサイドチャンネル攻撃で突破された。すごい。 gigazine.net

ネットワーク越しの攻撃に対する脆弱性がある訳ではないので、そこまで神経質にならなくてよいが。。

安全性というものは、下がることはあっても上がることはないんだね。

セキュリティキーって使わないといけないの?

トラブったときにどう対応するか分かるなら使ってもよいが、無理して使わなくてよいと思う。過去にフィッシング詐欺被害にあって、今後二度とあいたくないなら、がんばってもいいのかもしれないが。。

ローカルパスワード管理+パスワード認証(2FAなし) →運任せ

ほとんどの人はこの方式だと思う。が、管理しきれずに覚えやすいパスワードを使うので、ブルートフォースアタックであっさり乗っ取られるし、どこかのサービスがパスワード漏洩したら、パスワードの安全性が一気に下がるので、パスワード全部付け直しになる。そして、すべてのパスワードをこれまでとまったく異なるルールで作り直すことになるので、実際はそこまでできない。パスワード漏洩は日常的に起こっているので、常に危険な管理方法。自分で工夫して管理できないなら、おすすめしない。

パスワード管理サービス+パスワード認証(2FAなし) →だいぶマシ

2FAはすべてのサービスで提供されているわけではないので、これが一番現実的だと思う。1passwordなどといったパスワード管理サービスでパスワードを一括管理する。パスワードを乱数生成して、生成したパスワードをサービスのパスワードに設定するので、パスワードは予測しにくいものになる。複数人のパスワードを管理することができるものもある。一定の利便性を保ちつつ、セキュリティ確保するための最低ラインな気がする。

パスワード管理サービス+パスワード認証(ほとんどは2FAなし)+OTP(重要なのは2FA) →だいぶいい

重要なアカウントだけ2FAにして、それ以外はパスワード認証にする。OTPはある約束された規則にしたがった番号を入力するので、結局フィッシング詐欺に対して有効ではない。なので、そこは使う人が気を付けることになる。でも、パスワード認証のみの場合よりめちゃくちゃ安全になった。

パスワード管理サービス+パスワード認証(ほとんどは2FAなし)+OTP(重要なのは2FA)+セキュリティキー(もっと重要なのは2FA) →現状考えられる一番マシな状態

本当に守りたいアカウントだけ2FA+セキュリティキーにし、守りたいのになぜかセキュリティキーに対応してないサービスの場合は2FA+OTPにし、それ以外はパスワード認証にする。物理的にセキュリティキーを持っていないとログインできないので、フィッシング詐欺に対しては有効になった。おそらく普通の人が行うアカウント乗っ取り対策としては、現状最も安全性が高い方式だと思う。

余談

上記アカウントセキュリティ対策以前にそもそも、端末のセキュリティがしっかりしてないとダメだけどね。

あぁ、想定読者がよくわからないことになってしまった。俺が考えたことのメモなので、なんでもよいか。。

『ブライト』をみた。

人間、エルフ、オークが普通にいっしょに生活する世界で、魔法のワンドを使ってすごい力を発現できるブライトという存在をめぐって展開される話。人間、エルフ、オークがいっしょに行動し、人間は表彰され、オークは純血と認められる。

オークと人間のやりとりがおもしろかったので、エルフももうちょっと絡んでほしかった。

elm 開発環境 on Ubuntu

Ubuntuマシンにelm開発環境を入れていく。

OS

$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04.1 LTS"

node.js install

nにしてみた。node専用か?結構癖がありそう。 qiita.com

elm, elm-format, elm-test install

$ sudo npm i -g elm --unsafe-perm=true --allow-root
$ elm --version
0.19.1

$ sudo npm i -g elm-format --unsafe-perm=true --allow-root
$ sudo npm i -g elm-test --unsafe-perm=true --allow-root

qiita.com

elm-plugin

モダンなのがいいならこれを使えという。。 marketplace.visualstudio.com

elm-plugin settings

    "[elm]": {
        "editor.formatOnSave": true
    },
    "elmLS.elmFormatPath": "/usr/local/bin/elm-format",
    "elmLS.elmTestPath": "/usr/local/bin/elm-test",
    "elmLS.elmPath": "/usr/local/bin/elm",

qiita.com

Huawei MateBook を買って Ubuntu 入れた。

気付くと大体のマシンにVirtualBoxが入ってて、Ubuntu何度も入れてる気がしてきたので、Ubuntuマシンを用意した。

ひとつのマシンで完結するのは便利かもしれないが、こんだけマシンいっぱいあったら、完結しなくても問題ない。用途でマシンが分かれるのは至極当然。

ということで、Ubuntuいれたときに絶対やること。

ホームディレクトリ配下のディレクトリを英語にする

qiita.com

VSCodeインストール

qiita.com

git install

loumo.jp

『史上最強の哲学入門』をみた。

分野を真理、国家、神、存在の4つに絞って、その分野の最強の哲学者を決めるという形式で、哲学を紹介した本。

哲学者の考え方を雰囲気的に捉えることができるが、もっと哲学について知りたいという感じの紹介ではない。どちらかというと楽しめる哲学入門という感じだろうか。これを読んで「もっと哲学について知りたい」と思う人は少ないような気がする。新書的。