記憶可能範囲でパスワードのセキュリティを高めるルール付加2012-11-19記憶可能範囲でパスワードのセキュリティを高めるルール付加セキュリティ部屋を整理していた勢いから、長い間混沌としていたパソコン内のデータの整理にも着手しています。メールは受け取りっぱなしだったりしていたので、不要なメルマガや広告は登録を解除しています。そのついでに、長い間昔のまま放置してあり、今となってはさすがにセキュリティ的に問題がありそうな各種パスワードも変更して回ることにします。大昔のパスワードとか5文字のとかあったりしたし。やってみると、Webサービスなどの利用数増加に伴ってその数が膨大になっていて、全部見て回るのがとても大変でした。いう状態でかなり苦労しました。忘れた時用のパスワード確認を求めたことも数知れず。これは私だけではなく、Webサービスなどが増えている昨今、このように管理するIDやパスワードが膨大な数になっている人も多いことでしょう。そのような広がりに伴い、最近ではそれらが盗まれたり、不正にアクセスされる事件も発生しています。サーバへのハッキングなどで盗まれた場合は補償が効くこともありますが、自分のパソコンなどからの盗難の場合はそれが困難なことも予想されます。それをさせないためのパスワードという存在。かかわらずこの手の被害は後が絶えません。その一因としては、パスワードに類推されやすいものを設定していた場合も多いようです。ちなみに最も危険性が高いとされる、ありふれたパスワードとされるものは以下の通り。www.garbagenews.net連番、よくある単語など。確かにこれらは危険で、パスワードの設定時でも避けるように警告されることが多いです。いえ、特にネットにそこまでくわしくない人は、誕生日とか記念日、お気に入りの単語以外でどのようなパスワードを作ったらよいか迷いますよね。そんなこともふまえて、今日はネットその他における実用的、すなわち、セキュリティはそれなりに保ったまま、覚えやすい(記憶していられる)パスワードはどういうものがあるか、について考えてみたいと思います。覚えていられないパスワードは、結局セキュリティを弱める可能性がある単一の文字列をパスワードとするのではなくそれを「ルール」によって動かす絶対に覚えていられる単語を2つ決める任意の数字を一つ決める任意の記号を一つ決める決めた「ルール」に従い、単語や数字をつっくけよう。覚えていられないパスワードは、結局セキュリティを弱める可能性があるさて前提。Googleが推奨するパスワードルール。Googleここに書かれていることはもっともで、Google以外でもこれに従うことがパスワードのセキュリティを高めることに繋がると思います。いえ、この通りに行けば理想ですが、現実的にはそううまくはいきません。いうのは、人間は総じて「忘れる」動物なので。パスワードが長くなれば、また意味のない文字列になればそれだけ記憶の結びつきから外れてしまうことになります。たしかにパスワードを忘れたときも、ほとんどのサービスには回復方法が備え付けられていますが、実はここがあまりこのテのパスワードセキュリティで言われていないネック。いうのはそのようなパスワード回復方法には単純な認証より手間がかかります。よってそれを何度も繰り返すようになるとパスワードをメモってしまい、結果それが他の人に見られるというパスワードの意味をなさないセキュリティホールになる可能性があるからです。代表的なのが、オフィスにおける付箋に書いてあるパスワードですね。ほかにもたまに変更できないけど意味のない文字列パスワードが発行されることがありますが、それを何カ所にもコピーしてしまった経験がある人もいるでしょう。すると、結局はそのメモでセキュリティホールを自分から広げているようなものなのですよね。結局のところ、セキュリティ意識をめんどくささが上回ってしまうケースというのは非常によくあると思われます。故に覚えていられるものではないとかえってセキュリティを下げてしまいかねない、というのが私の思うところです。それをふまえて、覚えやすく、且つセキュリティが保ちやすいものは何があるかを考えてみることにします。単一の文字列をパスワードとするのではなくそれを「ルール」によって動かすさて、パスワードといえばその種類を増やすために、いくつもの単語を、しかも他人には類推しにくい形で、且つ覚えていられるものを増やすのはけっこう頭を使うと思います。ここは記憶する単語を増やすのではなく、自分の中でその単語を動かす「ルール」を定め、それを念頭に置くことでその単語を応用する形ではどうかと。自分が思いつく方法で考えたその一例を以下に書いてゆきます絶対に覚えていられる単語を2つ決めるタイトル通り、とにかく覚えていられる単語を2つ用意します。ここではとりあえずikarugadariusとしておきます。ここではあえてシューティングゲームの名前を出しましたが、本当は自分だけにわかって、他の人には全く類推されないもののほうが好ましいかもしれません。ここではあくまで自分が覚えていられるものを最優先としてください。ちなみにアニメ嫁のように思いつくものが複数あると、それが時期によって脳内でこんがらがることもあるので注意(そういえば誰か昔ネットで、アニメ嫁の名前をパスワードにすると、3ヶ月ごとに変わるからセキュリティが高まるってこと言ってたなあ)。文字数はそれぞれ8文字以下くらいのほうがいいかなと。先にネタバレしますが、これらをくっつけて使うので、あまり長いと上限を超すことがあるので(そうじゃなくても超すことがありますが、それはあとで対処します)。ちなみに現代のZIPなどのパスワード解読においては全通り検索するのでははなく、あらかじめありそうな単語、というか英単語全般がすでにリストになっていて、そこから調べて検索時間を短縮する、というものがあります。故に辞書に載ってるような英単語をそのまま使うのはあまり好ましくないとされているようですので、辞書にない固有名詞、もしくは自分としてはやぼったく見えても日本語ローマ字打ちなどの方がよいかと思います(ただしtsuとtuをまちがえないように)。故に今回は辞書に載ってそうな「GRADIUS」「Rayforce(Ray+Force)」とか外したわけで。任意の数字を一つ決める文字通り、任意の数字をひとつ決めます。別に一番好きな数字でもなんでもかまいません。任意の記号を一つ決めるこれも数字と同じく。認証可能な半角記号の中から一つ。受け付けてもらえないものもあるので、_-@#あたりから選ぶのが無難かなと。これらで決めた単語ふたつ「ikaruga」「darius」、数字「9」、記号「-」。この4つはわざわざ単純なものにしたのでしっかり覚えておいてください。うまくいけば文字通り一生使えるレベルですので(まあもちろん変えてししょうがなければそれだけセキュリティが高まりますけど)じゃ、応用編。決めた「ルール」に従い、単語や数字をつっくけよう。お察しの方もいらっしゃるかも思いますが、先の二つの単語をつっくけたらそれだけで長い、しかもそれ単体としては単語ではなく類推されにくいパスワードになります。上の例で言えばikarugadariusですね。dariusikarugaでもOK。これで13文字の、しかも覚えやすいパスワード。定期的に前後を入れ替えるだけでも、覚えやすさを保ったまま十分セキュリティがアップします。これに数字を加えることで、さらに解読が難しくなります。これは自分の中でセキュリティを高めるだけではなく、Webサービス、とりわけ金融機関などでは数字交じりじゃないとパスワードとして登録できないことも多くなっているからですね。ここでちょっと問題となるのが、数字を加える場所。いい加減なところに入れると忘れてしまい、意味をなさないことになります。故に入れる場所も自分の中でどこか決めておくとよいでしょう。まあ今回は簡単に「数字は一番末尾」と自分ルールを定め、ikarugadarius9とします。記憶(短期的ではなく、10年くらいは覚えていられるという意味で)に自信があるなら「前から○番目が数字」とルールを定めてもいいです。単語の切れ目はおすすめしません。これも数字と同じく課すところが増えているのですが、ここで問題が。記号をパスワードとして認めてくれないところがあるのですよね。それなのに逆に記号必須のところもあるとかもうねという感じがしますが。よって記号は基本は使う場合、使わない場合を両方想定しておく必要があります。いっても、数字と同じように自分ルールを定めておき、今回は「記号は一番前」として-ikarugadarius9と置く場所を決めておいて、もし認証ではじかれたら「ikarugadarius9」にしておけばいいかと。記憶力に自信のある人なら記号の代わりの置き換え数字を用意して(たとえば「-」→「8」)、記号が認められないときは「8ikarugadarius9」とすればよいかと。ずらしてみようさて、これだけで相当なパスワードになったとは思いますが、記憶に残せる範疇でさらに堅牢にすることが出来ます。それはどういうことかというと、一番最初のふたつの単語だけを組み合わせたとき、単語同士を入れ替えて「ikarugadarius」を「dariusikaruga」を「入れ替え」ましたね。上のように「-ikarugadarius9」となった状態でも「-dariusikaruga9」と出来ます。その他記憶が許せば記号や数字を加えたりとか、他の入れ替えパターンを使って複数の組み合わせを作ることが出来るでしょう。文字をルールに沿って○文字アルファベット順、もしくは前後にずらしてみるわけです。「ikarugadarius」をアルファベットで1文字ずつ次に、すなわちiをjに、kをlにとずらすならjlbsvhbebsjvtと、全く類推が出来ないものになります。前に3文字スライドさせるとarugadariusikと、こっちも意味がわかりにくいものになるわけです。これ(特にアルファベットずらし)は単語としては記憶は非常にしにくく、いちいち単語を確認しながらキーボードを打つことになりそうなので、堅牢なパスが必要じゃない限りはそこまでは、という感じがします。後者はしょっちゅうパスワードを変える必要があった場合は、わりと使えるかもしれませんね。このように単語をルールに従って操作して、文字列の種類をいくつも作り出すことは可能、ということが可能なわけです。ルールを何種類か用意しておき、万一一つが暴かれた時にも全体に被害が及ばないようにリスクを分散するとなおよいでしょう。実はこのずらす方法、英数字のパスワードよりも本領を発揮するところがあります。それは数字4桁の暗証番号。こちらも誕生日や連番の簡単な数字で類推されてしまうケースがありますが、かといって関連づけのないものを暗証番号にしてもすぐに忘れてしまいます。これの応用で、数字として覚えておくものはひとつでも、いくつものパターンが生み出せます。「ずらず」なら「1220」や「0122」そして「3123」といったように、軸は同じでも多数のものが出来ます。覚えている「任意の数字」だけでは不安な人はこのような自分のルールを付け加えてはいかがかと。暗証番号は3回間違えるとロックがかかるので、より忘れないように注意。文字数制限が少ない場合の対処しかし、これですべてのパスワード使用場面で有効ということになればいいのですが、そうはいきません。前述のように記号を認めてくれないところもあります。それだけならまだいいのですが、やっかいなのが文字数制限。多くのサイトでは16文字くらいまでは認めてくれるので、最初に決めたように7文字+6文字の組み合わせてよいのですが、場所によっては11文字以下、ひどいところだと6文字までというものまであります。いうときはどうするか。一つの手段として、決めているパスワードの何文字目からから任意の文字数を切り取るという方法があります。11文字制限なら「ikarugadarius」を「ikarugadari」。後ろから「arugadarius」など。真ん中で「karugadariu」としてもよいでしょう。そのサイトに文字数制限があるということ自体は面倒ですがパスワード管理ソフトなどに目印をつけないといけないかもしれません。愚痴を言えば、ネットの世界におけるこのようなパスワードのルール、例えば文字数とかがばらばらなんですよね。いや、文字数が伸びるとか数字必須とかならまだいいのですけど、いまだに6文字が限度とかだとどうしろと感がかなりあります。そのへん是正してもらいたいところです。覚えること、もう一度さて、こんな感じでパスワードのことについて書いて来ました。・それらに数字、記号をくっつけるルール(複数覚えて使い分けるとなおよし)・(さらに堅牢にするなら)ずらすルールといったものだけです。上だけ覚えれば、くっつけるルールは何度かリトライすれば思い出せることもあるかなと。最近ではスマホアプリなどで、IDやパスワードを管理するアプリなども出てきてますので、そちらに頼る人も多いでしょうが。これも危険がないというわけではなく、逆に言うとそれを突破(主たる場合技術的よりも推測される暗証番号を打ち込まれるなどソーシャル的な方向で)されてしまうと、一気にあらゆるIDやパスワードが盗まれてしまう恐れがあり、これだけに依存は危険と思われます。故にそういったところのパスワード欄にも、上の応用でパスワードをそのまま書かずに単語や数字をバラバラに書いておいて、あとで自分で決めたルールを適用するだけでも、一定のセキュリティは保たれると思います。単語だけではなく、法則(ルール)を覚えることでの記憶いろいろ書いてきましたが、別にこの通りやる必要はなく、あくまで参考です。肝心なのは、ひとつの単語をもとにしても、簡単なルールを付け加えてゆくことで、パスワードとしてかなり堅牢な文字列になるのだというのだよということを証明したかったのでこのようなことをやってみました。あまりにも意味のない「単語の暗記」よりは「ルールの記憶」のほうがよほど頭に残ると思いますので。別に上で書いて来た方法は一例で、このようなルールを作って、それを並び替えなどで応用するような方法はいくらでも思いつくでしょう。それこそもっと覚えやすかったり、難解になる方法で(それも個人個人で違うと思いますが)。自分の中でそういった独自のルールも作って、パスワードを考えてみてはいかがかと。このようなパスワード管理の目的というのは、実は「絶対に解かれないこと」ではなく、「解くのを非常に難しくする」ことだと思います。セキュリティに完全なものというのは存在しません。どんな堅牢なセキュリティもいつかは破られたり、暗号も時間をかければ解かれてしまうようにパスワードも時間や工数をかければほぼ絶対的にどんなものでも解かれます。その時間や工数に手間がかかるようになれば、盗んだ人もわりにあわないとあきらめざるを絵無い状況になることが多いでしょう。「難しくする」という作業は、このようなちょっとした工夫次第で、単純な英単語をパスワードとするより、覚えやすさを保ったまま作ることが出来るのです、ということで。いっても、このパスワードや単語ルール自体をデスクトップに付箋で貼り付けたり、簡単に見られるようなところに置いておくと全く意味がなくなるのですけどね。結局こういうものはシステムなどより、個人個人の違式によるものなのでしょう(ハッキングも大半は技術的なものより、人の伝聞などから漏れ出すソーシャルハッキングだって言いますしね)。ま、パスワードを安易に晒すな、ということだけは意識しておく必要は、読まれた方はもちろんのこと、同じ職場とかでそうしている方に注意する必要はあるでしょうね。そのセキュリティホールから自分のセキュリティホールにも繋がりかねないので。古見さんは、コミュ症です。はてなブログProいろんな方面の文章を書くのが好き。ネット史とかゲーム史をまとめてゆきたい。ゲーム系ライターからシナリオライターまでお仕事募集しております(後者のほうが本業。ご希望なら経歴出します)。ご連絡は、Twitter(@nakakzs)か、コンタクトフォームよりお願いします(現在はTwitterのほうか確実かもしれません)。ツイート月別アーカイブブログパーツはてなブログをはじめよう!nakakzsさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。