強力なパスワードを作成する方法
世間を騒がす「LINE乗っ取り事件」に遭いまして、それからというものパスワードはサービスごとに全て異なるものに順次切り替え中です。
LINE曰く、他サービスから流出したパターンを利用されただけで、LINEから漏れたわけではないのでLINEは悪くないんだと言ってますので、それが本当かどうかは知りませんが、過去の他社の事例を考えても関係のないサービスからID・パスワードが流出してしまう可能性は往々にしてあり得ますので、そんなことをやっているのです。
強力なパスワードを作成する方法
一般的には以下のようなルールのもとに「強力なパスワード」が作成できると言われています。
- 字数を長く(7文字以上)
- 数字を入れる(1,2,3…)
- 英語の大文字を入れる(A,B,C…)
- 記号を入れる(#,$,%,&)
- ユーザー名と同じものを使用しない
- 生年月日は使用しない
- 電話番号は使用しない
上記の全てを満たすパスワードは強力であると言えます。こういった内容は大体みんな知っているはずですが、それでもパスワードを見破られてしまうケースは後を絶ちません。
全員が全員そうだとは思いませんが、強力なパスワードの作成方法はなんとなく知っていても、作ったパスワードが複雑すぎて覚えるのが難しいからという理由で、以外と上記ルールに従わないパスワードを作ってしまっているんじゃないかと想像してます。
あるいはですが、上記のルールに従って強力な(はず)のパスワードを作っていたとしても、複数のサービスで同じものを使い回している場合もあるのではないかと。そうなると冒頭のLINE乗っ取り事件のように他社から漏れてしまえば意味はありません。
つまり、より万全を期するなら上記に加えて
- サービスごとに異なるパスワードを用意する
- 定期的にパスワードを変更する
このルールも盛り込む必要があります。恐らく、こういった内容もみんな知っているはず。でも、実際にこれら全てを実践するのは途方もなく面倒くさい。
悪意を込めてですが、LINEの社員だって、強力とは言えないパスワードを使用したり、同じパスワードを使い回したり、全てのパスワードを定期的に変更してなかったりする人もいるはず。なぜなら、絶対に面倒くさいから。
とは言え、また被害に遭いたくない私はこれらのルールを踏まえたパスワード管理をしておりますので、参考までに共有したいと思います。
1.強力かつ覚えやすいパスワードを作る方法
やっぱり身近なものや自分自身に関わる内容でないと覚えにくいものです。全く意味をなさない文字列の組み合わせのパスワードは強力なものが作りやすいのは理解できますが、日常使いにはチョットつらい。そこで、結果として強力でかつ他人には意味のなさない文字列のパスワードを作る方法を考えました。これは先に例を見た方が理解が早いと思いますので、まずは
自分に関連する文章を英文に変換し、単語の頭文字をとって並べる
例)
私は東京都渋谷区で働いています。↓
I am working in Shibuya-ku, Tokyo.
↓
iawist
とこのように自分に関連があることを英語に直して、各単語の頭文字を並べるという方法です。ただしこれだけだと数字が入っていないし少し短いので、数字が入るように工夫をしてみます。
数字を挿入できるような内容を考える
例)
私は東京都渋谷区で働いています。なので朝7時30分に起床します。↓
I am working in Shibuya-ku, Tokyo. So I get up to 7:30 in the morning.
↓
iawistsigut7itm
とこんな具合です。少し長すぎるなと思う場合や、サービスによっては上限があるので削る必要があれば、例えば「in the morning.」を削るなどで、「iawistsigut7」とするなどで調整すると良いかと。
しかしこれだと記号が入ってませんので、記号を入れる方法を考えます。いくつか方法は考えられますが、
記号を入れる方法
例)
iawistsigut7↓
!am!sts!gut7
アルファベットの「i」がびっくりマーク「!」に似ているので置き換えてみました。
この以外では、元の日本語を少し変えて、
例)
私は渋谷で働いているので、9時に渋谷駅で降ります。↓
Since I’m working in Shibuya, I get off at Shibuya Station at 9:00.
↓
siwisigo@ss@9
とこのように、あえて「at」を使う英文を考えて、記号の「@」に置き換える方法です。
大文字の使用
パスワードは大文字小文字を区別するので、大文字を織り交ぜることにより強力度は格段に上昇します。この場合も覚えやすくするため、一人称、人名、地名など、本来の英語でもそもそも大文字にするものを大文字としてみます。先ほどのパスワードにそのルールに当てはめると、
例)
Since I’m working in Shibuya, I get off at Shibuya Station at 9:00.↓
sIwiSIgo@SS@9
とこのように都合よく大文字と小文字の混じったパスワードの完成です。
サービス毎に異なるパスワードを作成する方法
さて、すでに強力なパスワードの作成には成功しました(たぶん)ので、今度はサービスごとに異なるパスワードの作成をしてみたいと思います。
異なるパスワードを作るだけなら時間をかければたやすいはずですが、やはりここは覚えやすいもので作成したいと思います。
各サービスのサイトURL/ドメインの文字列を取り入れる
こちらも先に例を見た方が早いと思いますので、
amazonの例)
I get off at Shibuya Station at 9:00. @amazon↓
Igo@SS@9@am
例では末尾にamazonの前から2文字の「am」をとって「@am」としました。「@amazon」という表現が「アマゾンで〜」という感じなので覚えやすかなと。
なお、「a」1文字ではなく、「am」と2文字にしたのは他のサービスとの重複を考えてのことです。例えば、「amazon.co.jp」と「apple.com」はどちらも最初の1文字が「a」なので、より区別しやすいようにとの考えです。
- Igo@SS@9@am → これはamazon
- Igo@SS@9@ap → これはapple
前半部分は共通ですが、末尾が違うので結果的に全く異なり、かつ覚えやすいパスワードを作成することができました。
定期的にパスワードを変更する
これは実現できれば素晴らしく強力なセキュリティ対策となると思いますが、ほぼ机上の空論になってしまうと思っています。企業内のシステムであればまだしも、日常使うサービスの全てでこれを実践できるとは到底思えません。はっきり言って相当面倒くさいです。
根本的な解決方法になり得るとは思えませんが、一応アイデアはあります。
パスワードの中に当月(当年)の数字を取り込む
10月の例)
I get off at Shibuya Station at 9:00. @amazon@10↓
Igo@SS@9@am@10
と、こんな感じです。最後の「@10」はもちろん「10月」という意味合いです。これは毎月変更するという前提で10月としましたが、1年に1度はと考えた場合は最後に「2014年」を意味する「@14」とでも付けるようにするなどです。
私も上記の全てのルールに基づきパスワードを作っておりまして、さすがに慣れてきているのでほぼ考えずにパスワード入力ができるようになっていますが、それでも頭の中では例えば「I get off at Shibuya Station at 9:00. @amazon@10」などと若干考えながらですので、最後の「10」を打つ時、そういえば11月になったな〜変えないといけないな〜くらいの考えは頭に浮かびます。必ず実践するかどうかはもちろん別ですが。
パスワードを記憶してくれるツールを使う
最後に、パスワードを記憶してくれるツールの紹介をします。その機能は文字通りです。この手のツールは「パスワードマネージャー」などと呼ばれているようですので、こちらで紹介する以外のツールを探す場合はそういったキーワードで探してみても良いと思います。
さて、私が長年お世話になっているツールは「Last Pss」です。
iPhoneアプリもあります。PCは基本無料でiPhoneアプリもアプリ自体は無料ですが、実際に使うとなるとプレミアム会員(年間12ドル)となる必要があります。1月換算すると1ドル(110円前後)なので、スマホ・タブレットをガンガン使う人でメリットを感じられるのであればアップグレードしても良いかも。スマホは特にパスワードの入力がストレスだったりしますので。
私はこちらのツールを7年以上使っている気がします。その間に色々機能も強化されたりして、その使い勝手には満足しています。Last Passの名前の由来は「(覚える)最後のパスワード」とのことでして、つまりこのツールを使うためにID(メールアドレス)とパスワードを入力するのですが、そのパスワードが覚えるべき最後のパスワードで、それさえ覚えておけば後は覚えなくてよいというものです。
このツールを使っていれば、実際に各サービスのパスワードは覚えておかなくても良いのですが、自分の使用しているPC以外を使う場合や、テレビ(huluやu-nextとか)でログインする際に覚えてないと不便なこともあるので、とりあえずは覚えられるようなパスワードを使うようにしています。