No156 パスワードを忘れても忘れない方法

今回はパスワードの解説の最終回となります。

パスワードはうまく運用すれば強固なブロックができますが、最大
の問題は「ヒトは忘れる」点にあります。

じゃあ忘れても大丈夫にすればいいんだ、ということで登場した
のがブラウザによるパスワード保存機能や、パスワード管理ソフト
なわけです。
ただ、こういったツールを使ったとしても、個々のパスワードが
誰かが覚えている(保管している)ことに変わりありません。
そのため、こういったツールの利用に二の足を踏む場合もあるで
しょう。実際、以前の筆者はそうでした。

ですが、個々のパスワードを覚えず、しかもどこにも保存しない、
という方法があるのをご存知でしょうか?

今回はその方法について解説します。


1. 大規模な不正ログイン事件

2020年4月上旬に任天堂がなりすましでの不正ログインが16万件発生
していた、と発表がありました。

この攻撃がどのように行われたのかは公表されていませんので、
以下は筆者の推測です。

10万件を超えるような不正ログインができたのですから、ログイン
できる見込みの高いメールアドレスをダークウェブなどの闇市場で
仕入れてきた可能性があります。

パスワードはメールアドレスとセットで仕入れたのか、別途で入手
したのかもしれませんが、これも闇市場では出回っています。

準備したデータは100万件を超えていることでしょう。
これを試すには違った場所に設置した大量のコンピュータが必要
です。
サービスの提供側は常に不正ログインに目を光らせています。
もし同じコンピュータから何千、何万もの違ったメールアドレス
によるログインをしようとすると、たちまちそのコンピュータは
ブロックされます。
その監視の目をかいくぐるには、パスワードスプレイ攻撃と呼ば
れる方式がよく用いられます。
これは多数(例えば数千台)のコンピュータから少数回(例えば
日に数十回)の攻撃を繰り返す方式です。
仮に5000台で30回の攻撃なら、一日で5000x30=15万回、一ヶ月
(30日)なら450万回の攻撃ができる計算になります。

こういった攻撃には、ボットネットが多用されます。
(ボットネットについては、2019年9~10月に配信したNo126~
 No129をご参照ください)

この事例はパスワードの使いまわし、弱いパスワードが危険で
あることを示しています。

攻撃側も最近は分業が進んでいます。
不正侵入してIDやパスワードを入手する業者、そのリストを販売
する業者、ボットネットを時間貸しする業者、不正ログインして
金品を盗み取る業者などなど。
いずれも犯罪行為ですが、被害を受けるのは一般の方々やマジメ
にサービスを提供している側なのです。


2. ハッシュ関数を使ったパスワード生成法

この連載で何度も書いていますが、パスワードの使いまわしは
やめてください。
もちろん、カンタンなパスワード(123456だとかpassword)も
使っちゃダメです。

それでもサービスごとにパスワードを変えるのは面倒な話です。

今回は、その方法としてハッシュ関数を用いたパスワード生成
法というかなりマイナーな方式をご紹介します。
筆者はこの方法をかなり愛用していますが、同様の方法を使って
いる人にあったことがありません。

ですが、この方式にはたくさんのメリットがあります。
1)ランダムなパスワードが生成できる
2)記号の有無、大文字小文字の混在などの自由度が高い
3)個々のパスワードを覚える必要がない
  (マスターパスワードは必要)
4)個々のパスワードは計算できるので、保管不要

逆にデメリットもあります。
1)パスワードの計算をするのにアプリが必要


3. ハッシュ関数?

ハッシュ関数というのはデータを(ルールに従って)かきまぜた
結果を求める計算方法のことです。

例えば、
 10x10=100
ですよね。
誰がいつ計算したって必ず同じ結果です。

ハッシュ関数も同じです。
「えがおIT研究所」をMD5というハッシュ関数で計算させると
fea5b4cd7d975cb35125de4eb9d71dfe
という値になります。

計算方法ですから、与える値が同じなら、答えも常に同じです。
10x10と同じで、誰がいつ計算しても同じ値になります。

これを利用すれば、パスワードを覚えておかなくても必要な時に計算
すればイイんじゃないか?というアイデアが出てきます。

と書くだけではイメージがわかりにくいので、実際にパスワード
を生成させるページで実験してみましょう。


4. ハッシュ関数を使ったパスワードの生成例

ここでは、Password Hasher というのを使います。
(URLは https://milliways.cryptomilk.org/passhash.html

このページを開くと、SiteTag(サイト名)とMasterKeyの入力を
促されます。

まず、SiteTagに yahoo、MasterKeyに a と入力し、OKボタンを
押してみます。すると計算結果として、次の値が表示されます。

X5W3zrRMXhdA

これがyahooのパスワードになります。
この計算結果のどこを見ても、yahoo や a といった値は出てきま
せん。ランダムな値にしか見えませんが、これがハッシュ関数に
よって「正確にかきまぜられた結果」なのです。

さて、ここで yahooを amazon にして再度OKボタンを押してみて
ください。今度は次のように表示されます。これはamazonのパス
ワードです。

O79JytUvCaoV

サイト名を変えただけなのに、さっきとは全くパターンが違います。
同様に、いくつかのサービス名でパスワードを求めてるとこんな
感じです。

SiteTag   MasterKey 生成されたパスワード
yahoo       a        X5W3zrRMXhdA
amazon      a        O79JytUvCaoV
google      a        viLBT9tikhRA
twitter     a        5XSooemwY1R5
facebook    a        bumi3eKLICcs

ここで、MasterKeyを変えてみると、また違ったパスワードが
表示されます。

SiteTag   MasterKey 生成されたパスワード
yahoo       b        dRAJlMJSNHq3
amazon      b        4kc837TZu7j1
google      b        dEYVXmHY9AOu
twitter     b        W7wAejNdjsJ5
facebook    b        vmWRUIZ8r5GI

ここではMasterKeyが1文字という例ですが、実際には10文字
以上のものにすれば、そう簡単に破れないパスワードをサイト
毎に作れるというわけです。

しかも上記の値はいずれも計算式で求めたものですから、いつ
でも何度でも安全に再計算できます。計算結果をどこかに保存
しておく必要もありません。

この特徴をうまく使ってサイトごとに別のパスワードを作ろうと
いうのが、ハッシュ関数を使ったパスワード生成法というもの
なのです。

余談になりますが、ハッシュ関数と暗号化は違います。
暗号化の場合は復号(元に戻す)できないと意味がないですが、
ハッシュ関数はかきまぜることで、元データをわからなくするため
のものです。同じようにランダムに見えても目的が違うのですね。


5. アプリとオンラインサービスのご紹介

この方式を使ったパスワード生成アプリにはいくつかの種類が
あります。

提供しているスタイルも、Webページの中で計算できるものや
ブラウザ(ChromeやFirefox)のプラグインとしてインストール
できるものなどがあります。
多くは無料ですが、スマホのアプリなどで一部機能が有料のもの
もあります。

いくつかご紹介しておきましょう。

・Password Hasher
 https://milliways.cryptomilk.org/passhash.html
 上の計算例の説明でも使ったサイトです。
 やや古いサイトですが、文字種の調整など一通りの機能は
 そろっています。
 Chrome用のプラグイン(Password Hasher Plus)と
 Firefoxのプラグイン(Password Hasher NG)があります。

・Less Pass
 https://lesspass.com
 同じサイトの利用者ごとにパスワード設定ができるなど、
 機能的にも充実しています。パスワードに使える文字種の
 指定なども直感的でわかりやすいです。
 Chrome用とFirefox用のプラグインがあります。

・Master Password
 https://masterpassword.app/
 画面がずいぶんと今風です。iOSやAndroid用のアプリを配布
 している反面、Chromeなどのプラグインはありません。
 (Windows上で動作するアプリは配布されています)
 機能的には充実しています。

それぞれ作者が異なるだけでなく計算式も違うため、互換性は
ありません。
自分で使いやすいと思うサービスを見つけてください。

今回は、パスワードを保存しない、パスワード管理ソフトという
ちょっと変わったアプリのご紹介でした。

次回もお楽しみに。

このNoteは私が主宰するメルマガ「がんばりすぎないセキュリティ」からの転載です。
誰もが気になるセキュリティに関連するトピックを毎週月曜日の早朝に配信しています。
無料ですので、是非ご登録ください。
https://www.mag2.com/m/0001678731.html

いいなと思ったら応援しよう!