中小企業・中堅企業における情報セキュリティ対策--パスワードの管理(2)

こんにちは、合同会社たいがの小西です。みなさまは、いかがお過ごしのことでしょうか。

さて、今回は前回に引き続き、広い意味でのパスワード(暗号化キー含む)の管理のおはなしです。

「6+-xR2gYr,pJ|.7m」←覚えられますか、そもそも作ることができますか?


「6+-xR2gYr,pJ|.7m」これは、ガイドブックに推奨されたルールである
「完全にランダムで英大文字小文字+数字+記号混じりで15 桁以上を推奨」
に基づいて作成したものです(15桁以上ということで、16桁にしています)。

ランダム」というのは、リンクにあるように
「法則性(規則性)がなく、予測が不可能(英語版)な状態」
です。
だから、どんな順番や規則、パターンがあってはいけないというのが「ランダム」の意味です。

なぜ「ランダムである必要があるか?」というと、もちろん、悪意ある者に推測されないようにするためです。
皆さま、或いは家族の名前や電話番号、住所など身近なものをパスワードに入れていたら、すぐに推測されますから。

しかし・・・この文字羅列、覚えられますか?もちろん、私は無理です。
まあ、記憶力の良い方なら覚えられるかもしれませんが。
だって、「ランダム」の名の通り、規則性やパターンがほとんどないのですから、覚える側も大変なのです。

また、そもそも上のような文字羅列を、作り出すことができますか?

順番や規則、パターンがあってはいけないというのが「ランダム」の意味ですが、これを作り出すのは、現実的にも、そして理論的にも、実はなかなかに難しいのです。

人間の知覚や認識は、一見、混とんとした物事の中に、規則性やパターンを見出そうとする、本来の習性がありますが(その最たるものが学問です。学問は、自然や社会の中に存在する規則性やパターンを「発見する」行為ですから)、それと逆行することをするのですから、難しいのは当たり前です。
(実は「ランダム」の概念は奥深く、哲学的議論になるくらいです)

まあ、上の16文字程度の文字列なら、頑張れば「ランダムっぽい」文字列を作ることも可能でしょうが、そのためにいちいち時間をかけるのは、本当にアホらしい話です。

作るのも大変、そして覚えるのも大変、でも、
「ランダムで複雑にしろ」
「同じパスワードをいろんなところで、使いまわすな」
という・・・どうしたらいいでしょうか。

パスワード管理ソフト+ノートでのパスワード管理をお勧めします


そこで「パスワード管理ソフト」の登場です。これは、一般に以下の機能を持ちます。
  1. いろんなシステム(Webサイト含む)にログインする際のIDとパスワードの組み合わせ、あるいは暗号化キーなどを一元的に管理する広い意味でのパスワード管理台帳の機能
  2. 新しいパスワードや、暗号化キーなどを作る必要がある場合、「ランダムな」文字羅列を自動生成するパスワード/暗号化キー生成機能
  3. パスワードデータが万一、外部に流出した際にも、すぐにそれが悪意ある者に使われないようにするための暗号化機能
1については、それぞれのシステムのID+パスワードや、暗号化キーを覚えておく必要はなく、必要な時にこのソフトを開いてパスワードを入力、あるいはコピー&ペーストすればよい、ということです。
→ソフトによっては、IDとパスワードとともに、ログインするWebのURLも登録することで、そのWebページを開けばIDとパスワードを自動入力してくれる機能もあります。

2については、新しいパスワードや暗号化キーが必要な場合に、ソフトがランダムなパスワード、暗号化キーを自動生成してくれる機能です。
→サブタイトルの「6+-xR2gYr,pJ|.7m」も、私のパスワード管理ソフトが自動生成してくれたものです。

また、Webサイトによっては、パスワードの制限、例えば、「パスワードは10文字以内で、英数字のみ、記号はダメ」などの制限があるかもしれません。
そうした場合に、その制限内で、できるだけランダムな文字羅列も作成することができます。

#ちなみに・・・いまどき、パスワードに文字数や、使う文字種類を制限することは、実はセキュリティ的に間違っている、ということは、ご認識ください。

なぜなら、十分に長い、複雑なパスワードのほうがよいからですし、そもそもパスワードとは「自分を証明するために、自分しか知らないことを伝える」ためのものなのだから、使う側が勝手に決めてよいものだからです。

従って、そのようなシステムやサイトは「セキュリティの観点が乏しいシステム・サイトである」判断の一つになります。

<とは言え・・・金融機関も含めて、昔からの慣習やシステムの作り上、そのような制限を設けたままにしていることも多いので、やむを得ず、そのシステムやサイトを使う必要があれば、それに合わせるしか仕方がないのですが・・・>

話をパスワード管理ソフトに戻しますと、3の暗号化機能です。
ソフトで管理しているパスワードデータが万一、外部に流出した場合=これは不注意のこともあるし、マルウェアなどにより盗まれることも考えられます=パスワードをそのまま保管していれば、すぐにパスワードと分かり、悪用されます。

これを防ぐために、管理しているパスワードデータを暗号化して保存しているのも、パスワードソフトの機能です。
EXCELやパソコンなどのメモ帳では、データ自体の暗号化はしてくれませんから。
(別途、暗号化ソフトなどを使っている場合を除く)

というわけで、サブタイトルの
「6+-xR2gYr,pJ|.7m」←覚えられますか、そして、そもそも作ることができますか?
に答えてくれるものが、パスワード管理ソフトである、ということです。

ただし・・・パスワード管理ソフトを使うのに、一点だけご理解いただきたい注意点があります。それは
パスワード管理ソフトを管理するパスワード(暗号化キー)だけは、パスワード管理ソフトでは管理できないので、ご自身で厳重に管理してください。
ということです。

パスワード管理ソフトのデータを開くためには、一般にマスターパスワードと呼ばれるパスワードを入力する必要があります。

このパスワードは、パスワードデータを開くためのパスワード(だから「マスターパスワード」という)ですから、ソフトで管理しても、意味がありません。
(管理しているパスワードデータを開くためのパスワードですから、それをソフトで保管しても、使えないですよね。少し、ややこしいですが)

また、マスターパスワードは、暗号化キーも兼ねており、このパスワードを入力したとき、ソフトが、暗号化したパスワードデータの暗号を解除し、素のデータに戻す仕組みになっています。

ですから、暗号化されたパスワードデータと、マスターパスワードが悪意ある者に洩れたら、一発で悪用されるということです。

では、このマスターパスワードを厳重に管理するためには、どうすればよいでしょうか。
厳重な管理とは、ガイドブックにあるように
「ランダムで複雑な、長いパスワードを作る」ことと、
「このパスワードを誰にも見られないように保管・管理する」ことでしたね。

まず「このマスターパスワードを誰にも見られないように保管・管理する」については、
ご自身が管理しているノートに記録して、なくさないようにしてください
です。

もちろん、ご自身の記憶に絶対の自信があれば記憶でも構わないと思いますが、「ランダムで複雑な、長いパスワード」ですから、やはり念のため、ノートに記録しておいたほうがよいでしょう。

私は使ったことはないのですが、パスワード管理用の専門ノートも売っているので、興味のある方は、Webで検索してもよろしいかと思います。

要は、

  • お仕事で使う、パソコンやスマホのログインパスワード/PIN
  • パスワード管理ソフトのマスターパスワード
は、パスワード管理ソフトでは管理できないので、ご自身のノートで管理してください、ということです。
他の、システムのパスワードやWebサイトのパスワード、あるいは種々の暗号化キーは、パソコンやスマホにログインし、パスワードソフト管理で管理すればよいのですから。

次に「複雑で長いパスワードを作る」は、パスワード管理ソフトのパスワード自動生成機能を使ってよいと思います。

マスターパスワードをソフトで保管(管理)することは先に述べた通り意味がないですが、パスワード管理ソフトにはパスワード自動生成機能があるので、これでランダムで複雑なパスワードを作り、それをノートにメモしておけばよいと思います。

ちなみに、弊社は、パスワード管理ソフトとして無料のパスワード管理ソフトであるKeePassというものを使っています。

以前にお話しした「無料のコスト」を、十分理解したうえで。

弊社は零細で従業員数も少なく、
・私がインターネットバンキングなどの重要なWebサイトのパスワードを管理する
・弊社の社内IT管理者は社内システムの重要な管理者パスワードや暗号化キーなどを管理する
必要があり、どうしてもパスワード管理ソフトが必要です。
ほかのメンバーは、管理するパスワードの数は少ないので、ノートか記憶です。

で、無料(正確には「オープンソース」と言います)のKeePassと言うソフトを使っている理由は、
  1. 無料であるにも関わらず、有料のパスワード管理ソフトにひけをとらない管理・セキュリティ機能を有している
  2. 仮に有料になっても使い続けるという判断(値段にもよりますが)
  3. 仮にサービスが止まっても、使っているのは少人数、かつ、複雑なシステム・大量のデータを管理しているシステム(ソフト)ではないので、ほかの有料のパスワード管理ソフトに移行が容易
ということで、「無料のコスト」のリスクを踏まえたうえで使っています。

もし皆さまの中で興味のある方がいらっしゃれば、お問い合わせいただければ使い方などご説明させていただきますし、あるいは要件をお伺いして、他のパスワード管理ソフトのご紹介などもさせていただきます。

パスワードの定期的な変更は不要、むしろやらないほうがよい


最後に、これはガイドブックにも明確に記載されていることですが、
パスワードの定期的な変更は不要
です、というか、むしろ、セキュリティ的によくない場合が多いです。

セキュリティの世界だけに限らないのですが
「昔は常識だったことが、今は非常識」
ということがしばしばあります。「パスワードの定期変更」も、その一つで、昔はセキュリティの基本の基本でした。
※今も、実践している会社は相当数あります。インターネットバンキングでも、それを奨励している銀行はいまだに多いです。

なぜ、昔は「基本の基本」だったかというと
  1. 今使っているパスワードが万一、外部の悪意ある者に漏れた場合でも、例えば3か月後に変更するルールになっていれば、前のパスワードは使えなくなるので、永遠にパスワードが悪用され続けることはない
  2. パスワードが暗号化された状態で漏れても、暗号を解読するまで時間がかかる。その間、変更時期にきていれば、次のパスワードに変わっているので、安全
という考え方に基づいています。

しかし・・・1の前提は
「今のパスワードは盗めたが、次のパスワードは盗めない、あるいは盗むのに時間がかかる」(だからこそ「永遠に悪用されない」が成り立つ)
ですが、いったん、盗まれているのに、次は盗まれないなんて、都合の良い話は成り立ちませんよね。
→むしろ、この場合の真の対策は「盗まれた経路を明らかにして、その経路を防ぐ」です。

2の前提は
「暗号されたものを解読するのに時間がかかる」(だからこそ「解読したときには、次のパスワードに変わっているから大丈夫」)
ですが、今は、コンピュータの処理能力が格段に上がったことに加え、悪意ある者は技術も上がっており、暗号を解読することも昔より格段に速くなっているので、これも成り立たないのです。
<だいたい、Webで探せば、暗号解読ツールなんて、すぐに検索にヒットします>

むしろ、パスワードを定期的に変更することのリスクは、
「人間は、そうそう簡単に"ランダムで複雑なパスワード"を作れるわけがない。
定期的な変更を強いられることで、却って自分が覚えやすいパスワード=悪意ある者も推測しやすいパスワード=を作っていまう」
ことです。

たとえば、私が最初に「P@ssw0rd1」という、一見複雑そうなパスワードを作ったとします。
(まあ、実は上のパスワードも、分かりやすくて、全然ランダムではないですが)

変更時期が来たので、自分が忘れないため、末尾の1だけを変更して「P@ssw0rd2」、また変更時期が来たので「P@ssw0rd3」→「P@ssw0rd4」→「P@ssw0rd555」・・・のような変更をしてしまうのです。

こんな変更をしても、もし、この一つが悪意ある者にばれたとしたら、意味がないですよね。
悪意ある者は「今のは"P@ssw0rd5"だったから、次は"P@ssw0rd6"かな?」くらい、容易に推測できるのです。

実際、このルールを行っていた事業体からパスワードが漏れて、変更後も容易に推測できので、長期間にわたってパスワードが悪用され、大量の情報が盗まれたということが、何度も発生したのです。

だから、昔の「パスワードは定期的な変更をする」というルールは、
「人間の行う本性(というと大げさですが)を分かっていない」
という点で、ダメなルールなんですね。

ですから、「パスワードは最初に十分に複雑でランダムなものを作り、使い続ける」が、今は正しい運用です。

もちろん、
もし、そのパスワードが漏れたと判明したら、速攻で、異なるパスワードを作る
ことは必要ですから、これはお忘れなく。

ということで、改めてパスワードや暗号化キーなどのお話をさせて頂きました。
しかし・・・パスワードに関しては、前の記事でも申し上げた通り、基本的には
「パスワードだけに頼らない」
が、セキュリティ対策として、優れた方法であることを、今一度、念を押して申し上げます。

それでは次回も、よろしくお願い申し上げます。