前号: No 258 / 次号: No 260 / 一覧に戻る
前回は、サービス毎に違うパスワードを作る方法として、パスワード管理ソフトを使う方法、そして自力で長いパスワードを作る方法を解説しました。 今回は、短いパスワードが必要となる場面がありますのでその作り方について解説します。"1. 短いパスワードが必要なケース
ですが、どうしてリスクが高くなる短いパスワードを作る必要などあるのでしょう? これはサービス事業者側が短いパスワードしか許してくれない場合のやむを得ない対策です。 さすがに最近はパスワードが8文字以下などというサービスは見なくなりましたが、今でも16文字以下といったサービスはちらほら見かけます。 残念ながら、前回の方式は、文字数が多くなるため短いパスワードしか使えないサービス では使えない場合があるからです。2. 短いパスワードしか使えないサービス事業者は安全なのか?
本題に入る前に、皆さんにお願いです。 攻撃側の技術向上により、短いパスワードが破られるリスクが高まっている今、短いパスワードしか使わせてくれないサービス事業者は時代の要請に応えていないと言えます。 皆さんには「本当にこのサービスを使い続けることが必要か?」という点をぜひ自問いただきたいと思います。 他の類似サービスではダメか?また、そのサービス利用をやめることはできないか?といった視点で考えてみてください。 やっぱり必要ということであれば、サービス事業者にパスワード文字数上限を改善するようにお願いしてください。 サービス事業者のお問合せ窓口などで「パスワードの最大文字数が少ないため、安全なパスワード付与が困難です。パスワード文字数を50文字以上に増やしてください」などとお願いをしてみてください。 この類の要請は社内でマジメに検討されています。 パスワード上限の変更は多くの場合、小規模な改修でしょうから、受け入れてもらえる可能性は高いと思います。 これを受け入れていただければ、そもそも短いパスワードなんて要らなくなります。 そうなれば皆がハッピーです。 もっとも、システム改修には時間が必要です。その制約がある間は短くても安全なパスワードを使わざるを得ません。3. パスワード管理機能/パスワード管理ソフトはいかが?
前回、パスワード管理機能/パスワード管理ソフトの紹介をし、こういった機能やソフトを使うことも有力な選択であることを示しました。 実のところ、サービスごとに違ったパスワードを少ない文字数で手作りしようとすると、十分に安全なパスワードを維持するのはかなり大変です。 短くても安全なパスワードを維持することはパスワード管理機能/ソフトの得意領域ですから、長いパスワードの場合以上に有意義です。 パスワードをあずけることに抵抗がない方は検討の価値があります。4. 短くても堅牢なパスワードを作る方法
さて、手作業でも短くて安全なパスワードをサービス毎に作ることは可能です。 基本的な作り方は前回の長いパスワードと同様で、ベースとなるパスワードにサービス毎に異なる文字を追加する形となります。 さて、「短い」といっても8文字以下などの極端に短いパスワードはいただけません。 2022年現在では12文字が最低ラインと考えてください。 作る手順は、次の通りとなります。1. ベースのパスワードを決める
2. サービスごとに使う文字を決める。
3. ベースのパスワードとサービスごとの文字を合成する。
以下に準に解説します。5. ベースのパスワードを決める
まず、ベースとなるパスワードを考えます。 パスワード全体で12文字と考え、10文字をベースパスワード、2文字をサービスごとに使い分ける文字、の合計12文字とします。 ベースパスワードは好きなコトバや数字を2つ以上組み合わせるてください。2つ以上を組み合わせるのがポイントです。 前々回も書いたように、パスワードが1つの単語だけだと、辞書アタック(辞書に載っている単語を使ってパスワードを推測する攻撃)に対して弱くなるためです。 ・ hasiru 1970 (走る+大阪万博の年) ・ kureo um151 (隣人のペットの名前+手元のボールペンの型番) ・ 2510 bonchi (九九(にごじゅう)+好きなお菓子メーカ名) 上記はいずれも数字を含むようにしましたが、短いパスワードでは数字を必須としているサービスも多いので、2単語のうち1つには数字を含むようにしましょう。 どうしても数字が思い付かない場合は、好きなタレントの誕生日、自宅の家電(冷蔵庫やエアコン)の型番、よくいくお店の電話番号、などはいかがでしょうか。 そうそう、身内の誕生日や電話番号はダメですよ。ご注意ください。 ベースパスワードの一部を大文字にしたり、記号を混ぜておくのも良いと思います。 さて、ここで作ったベースパスワードですが、ひょっとすると誰もが思いつくものになってしまっているかもしれません。 とすれば、漏洩した実績があるかないかを確認したいですよね。 世の中には、そんな漏洩したパスワードを調べることのできるサービスがあります。 ここでは、 Have I been pawned ? のサイトを紹介します。 https://haveibeenpwned.com/Passwords このサイトでパスワードを入力すると、それが今までに何回くらい漏洩しているか(=どれくらいの人が使っているか)を教えてくれます。 もちろん、その回数が少ない方が良いわけですが、数回や十数回くらいなら使用しても問題はないと思います。 さて、問題なさそうなベースパスワードが作れれば、これをがんばって暗記します。 lE8qYc#z9. といった無意味なものではないので、なんとか覚えられるのではないでしょうか。6. サービスごとに使う文字を決める
上記のベースパスワードを使い、サービス毎の個別パスワードを作っていきます。 具体的な方がわかりやすいですから、ここでは上で掲げた2つ目のベースパスワード(kureo um151)を使います。 ベースパスワードの空白部分にサービス名(ご自分のセンスでサービス名を2文字に短縮したもの)を埋め込みます。 例えば、twitterなら、twでもいいですし、ttでも、trでもOKです。 これをベースのパスワードに埋め込みます。 twなら → kureotwum151 ttなら → kureottum151 trなら → kureotrum151 といった感じですね。 これがtwitterのログインスワードになります。 同様にgoogleへのログインでサービス名を"gg"とすれば、 kureoggum151 となります。 この方式なら12文字という限られた文字数でサービスごとに違うパスワードを設定できます。 パスワードとしてもそこそこの堅牢さで、他のサービスへの横流しもかなり難しいです。 暗記するのはベースのパスワードだけです。 サービス名の短縮したものがわからなくなったとしても2文字の組み合わせはそれほどないでしょうから、数度リトライすればログインできることでしょう。 もし、サービス事業者が大文字を必須としている場合はサービス名を大文字にする、記号が必須なら、末尾に記号を1つ付ける、といった工夫をすればほぼ全てのパターンに対応できます。 覚えるのが大変、万一のために記録しておきたいという方は自宅や勤務先の机の中に紙のメモを残しておきましょう。紙のメモはいくらパソコンやスマホをハッキングしても盗めませんから安心です。 同じ理由でスマホやパソコンにメモを残すのはあまりオススメしません。8. パスワードを忘れても大丈夫な方法
かなりマイナーな方式なのですが、ハッシュ関数というのを用いてパスワードを生成する方式をかなり前に紹介しました。 No156 パスワードを忘れても忘れない方法(2020年4月配信) https://note.com/egao_it/n/n06c947cfa043 短いパスワードを作る場合には、この方式だと非常にシンプルに質の高いものが得られるのですが、その生成方法が非常にわかりにくく「怪し気」に見えてしまう方式です。 もちろん、技術的には全く問題のない方式で、筆者も短いパスワードしか使えないサイトでよく使っていましたが、今は利用頻度がかなり低くなっているため、バックナンバーの紹介にとどめておきます。 興味のある方はご一読ください。8. まとめ
現在のパスワードのトレンドは前回も書いたように3つ以上の単語をつないだ長いパスワードです。 ですが、サービス事業者側の事情で、短いパスワードしか使えないサービスもあります。 そういった場合は、前回に書いた長いパスワードが使えません。 今回は、12文字と限定された環境でのパスワードの作り方について解説をしました。 基本的な方法は長いパスワードの場合と同様ですが、サービス名の埋め込み方など短かくても強いパスワードとなるようにいくつかの工夫をしています。 パスワードの作り方は人それぞれに工夫があって良いと思います。 この記事が皆さんのパスワード強化の一助になれば嬉しく思います。 次回もお楽しみに。 (本稿は 2022年5月に作成しました) 本Noteはメルマガ「がんばりすぎないセキュリティ」からの転載です。 当所はセミナーなどを通して皆さんが楽しく笑顔でITを利用いただくために、 難しいセキュリティ技術をやさしく語ります。 公式サイトは https://www.egao-it.com/ です。