企業におけるクラウドサービスの利用が拡大するに当たり、企業の社内システム以外に従業員のパスワードが保存されることは一般的になりました。
では、企業はどのようにパスワード管理について考えればよいのでしょうか。以下で解説します。なお、以下の内容の多くは、アメリカ国立標準技術研究所(NIST)が作成した、Digital Identity Guidelines (英語) から引用を行っております。
企業におけるパスワード管理
何かしらのサービスまたはシステムへのログインを行う方法は色々あります。指紋、虹彩、静脈といった生体認証、物理トークン、ソフトウェアトークンのような乱数を利用した認証、証明書による認証などです。こうした認証の中で、手軽さの観点から最も普及しているのがパスワードによる認証です。
パスワードは、ユーザー自身が記憶しておいて、キーボードで文字列を入力することで認証を行います。特別な認証デバイスを必要としないことから、世界で最も普及している認証といっても過言ではありません。しかし、この「記憶」「キーボード入力」という特性から、管理上の問題が多発していることもまた事実です。
さて、企業におけるパスワード管理を考えるには、2つの視点が必要です。「パスワードを要求する企業・サービス側」と、「パスワードを作成・入力するユーザー側」です。
パスワードを要求する側の「パスワード管理」
まず、自社のシステムへのログインに従業員のパスワードを要求する、あるいは、不特定多数に向けたサービスのログインにパスワードを要求する、といった場合に、システム・サービスの開発者や運用者が留意すべき点について考えます。ここでは、「ユーザーからパスワードを要求する際の注意事項」に絞って、5点を上げます。
1.強度を満たすパスワードを要求する
ユーザーはパスワードを覚えるのが面倒なので、手軽なパスワードで済まそうとするかもしれません。例えば自分の誕生日の「1203」や、自分の名前「Hiroshi」などです。強度が低いパスワードは容易にハッカーに破られてしまうので、「ユーザーが設定する場合は、最低8文字」「管理者が設定する場合は、最低6文字」のパスワードが必要とされています。
そして、文字数に加えて、以下に該当するパスワードをはじく設定を導入すべきです。
- 「straight」「scientist」のような、辞書に含まれる単語を使ったパスワード
- 「abcdefgh」「12345678」のような、文字や数字を順番に並べたパスワード
- サービス名、ユーザー名から容易に推定されるパスワード。例えば、「moveforward」というサービスで「moveforward」というパスワードを設定したり、「ktomioka」というユーザー名で「ktomioka」というパスワードを設定するなど。
- 過去に漏えいが確認された危険なパスワードの設定。例えば、キーボードの文字列を左から右に入力した「qwerty」や、「ログインさせて」という意味の「letmein」など。
2.認証失敗回数の制限を設ける
最近では、大量に物理サーバーマシンを購入しなくても、クラウドでマシンパワーを借りてくることができるようになりました。便利になったのはハッカーにとっても同じで、過去であれば行えなかったような大規模で繰り返しの攻撃を行えるようになっています。
例えば、1つのアカウントに対して「よく用いられているパスワード」上位数百個を繰り返し試す、といった攻撃などです。もし、認証に失敗しても何度も何度も繰り返しログインを試行できる場合、数百回目に攻撃が成功してしまう可能性があるのです。
こうした攻撃を防ぐためには、「5回認証失敗が連続したら、アカウントがロックされて、自動送信されたメールにあるリンクからパスワードを再設定するまでは、全ての認証試行を拒否する」設定が必須です。
3.パスフレーズの利用を認める
「パス『ワード』」とは、認証を行うための「ワード(単語)」という意味ですが、パスワードは文字数を増やすほど安全であることが証明されています。とはいえ、無意味な文字列を何十桁も記憶することは難しいため、最近では「パス『フレーズ』」の利用が推奨されています。「ワード」の代わりに複数の単語からなる「フレーズ」を用いるというものです。
例えば、「h7GX@m$s1!jEn&dXpHxQq#dik$eKBvp2」という、無意味な32桁の文字列を記憶するのは容易ではありません。しかし、同じ32桁でも「My daughter works at supermarket(私の娘はスーパーマーケットで働いています)」だと、意味のあるフレーズであることから、より簡単に記憶できます。
ユーザーの利便性の高さ、パスワード強度の高さから、パスフレーズを利用するためにパスワードの文字数上限を緩和し、かつスペースの利用を認めることが推奨されています。
4.パスワード強度メーターを表示する
ハンドメイド作品販売サービス minne のパスワード強度メーター
ユーザー自身が設定しようとしているパスワードが強いものか、弱いものかを視覚的に表示して注意を促すのが、パスワード強度メーターです。
パスワードの文字数が足りているか、半角英数が含まれているか、また当サービスが推奨している数字、記号の利用がされているかを視覚的に分かりやすく表示しています。こうしたメーターの設置により、ユーザーが自主的に強度の高いパスワードを設定するように促すことができます。このため、サービス提供者はパスワード強度メーターの設置を行うべきです。
5.パスワードの強制変更を行わない
「90日に一度」「180日に一度」にシステム側が、ユーザーにパスワードを強制的に変更を促すという運用は長らく一般的に行われてきました。しかし、「認証方法自体が破られる(ユーザーのパスワードが漏洩する)」などの例外を除き、こうした強制変更を行うべきでないとされました。
アメリカ連邦取引委員会の2016年の報告によると、パスワードの強制変更によって変更されるパスワードは、「数字を増やす」「”S”を”$”に変更する」「文字や記号を追加する」「前後の文字を入れ替える」といった安易なパターンの変更であり、これらのパターンはハッカーに既に解読されているとされています。
このように、パスワードの強制変更を行っても、パスワードの強度を高めることにはならないため、強制変更は行うべきではありません。
パスワードを作成・入力する側の「パスワード管理」
次に、パスワードを作成・入力するシステム・サービス利用者の側から「パスワード管理」について考えてみたいと思います。
1.パスワードをメモしない
パスワードを忘れないように、手帳などにメモを残している方や、専用のパスワード管理ブックを購入し利用している方もいます。また、Excelなどにまとめて管理している方もいます。
しかし、パスワードを自分の記憶以外の何かに記録して保管している場合、メモやファイルが持ちされたり、ハッキングを受けてパスワード管理用のExcelファイルが盗まれた場合は、自分が管理しているパスワード全てが筒抜けになる危険があります。
これが個人のパスワードだけであれば、自身だけの損害で済みますが、企業となると被害や影響が大きくなり、責任問題にもなります。よって、パスワードをメモすべきではありません。
2.パスワードを使い回さない
ハッカーがとあるサイトへの攻撃に成功して、登録されているパスワード情報を持ち去った場合、何が起こるでしょうか。
ハッカーは、盗んだ大量のパスワードを利用して、他のサイトへの攻撃を行います。それと同時に、そのパスワード情報を「ダークウェブ」と呼ばれる匿名性が高い場所で足がつかないように販売します。そして、ダークウェブ上で大量のパスワードを購入した人も、同じように他のサイトを攻撃していきます。
仮に、「test@test.com」というログインID(ユーザー名)と「aVre$hX2」というパスワードを、複数のサイトで使い回している人がいたとします。その人が登録しているサイトの1つでパスワードが盗まれた場合、登録している他のサイトでも同じパスワードで攻撃される可能性は極めて高いです(ハッカーは世界中にいますので、海外でも有名なサイト・サービスであればなおさら狙われやすいと言えます)。
いくら複雑で長いパスワードを用いていたとしても、盗難されてしまっては意味がありません。パスワードは1つのサービスに対して独自のものを1個作成し、決して他で使い回すべきではありません。
3.長いパスワードを設定する
多くのサービスでは、「ログインパスワードは最低8文字」と設定されています。しかし、「最低8文字」だからといって、パスワードを「8文字きっかり」に設定する必要はありません。むしろ、文字数は増やすべきです。
パスワードの文字数を1文字増やすだけで、ハッキングされにくさは少なくとも何十倍になることが証明されています。利用者側からすると、8文字のパスワードを記憶する手間と、9文字のパスワードを記憶する手間はさほど変わらないはずです。よって、8文字という最低文字数にとらわれずに長めのパスワードを設定しましょう。記憶できるなら、長ければ長いほどよいです。
なお、サイトによっては、パスワードより長いパスフレーズの利用を認めている場合があります。「aVre$hX2」という文字列だけのパスワードではなく、「my sister worked at investment bank」というようなフレーズを「パスフレーズ」として認証に利用できます。もしパスフレーズを利用できる場合は、積極的に利用すべきです。
4.類推しやすい文字列をパスワードに含めない
ハッカーが類推しやすいパスワードを設定しないことも重要です。サービスによっては、類推されやすい文字列を登録できないように管理者側で設定しており、入力しようとしても拒否される場合もあります。しかし、こうした「類推しやすいパスワードをはじく」設定がされていないサービスもあるため、パスワード作成時には、以下のような情報を含んだパスワードを設定しないよう、自身で注意する必要があります。
- ID名
- 自分の名前
- サービス名・商標
- 辞書に載っている単語
- 地名
- 組織名、組織名の略語
- 「1234」「1111」「ABGD」「AAAA」といった規則性のある文字列
- キーボードの配列と同じ文字列
5.パスワード管理製品を検討する
パスワード管理において最も難しいことの1つは、「複雑で長いパスワードを使い回さずに記憶しておくこと」です。複雑で長いパスワードを全く使い回さず、メモも取らずに頭の中だけで記憶しておくのは、実際のところ極めて難しい、いや多くの人にとって無理な話です。
よって、企業向けのパスワード管理製品を利用することが推奨されます。例えば、「複雑で長いパスワードを1つ入力すると、パスワード管理製品側で記録した各サイトのそれぞれ違うパスワードを自動入力してくれる」というサービスであれば、難しいパスワードを1つ記憶しておくだけで、各種サイトに安全なログインが行えるようになります。当社の「トラスト・ログイン」もそうした製品の1つです。
企業がパスワード管理製品を選ぶ際には、「個人向けではなく企業向けの製品を選ぶこと(管理機能が大きく異なる)」、ならびに「セキュリティ面で信頼できる企業の製品を選ぶこと」の2点が特に重要となります。個人向けの製品では、企業のシステム管理者が一元的な管理を行ったり、利用ログを取得することができません。また、セキュリティ面で信頼できない会社の製品の場合は、パスワードを集中管理するため最も堅牢であるべきサービスのセキュリティが、あっさり破られてしまうことになりかねません。
管理者はセキュリティの正しい理解を・ユーザーはパスワード管理製品の検討を
本記事で引用したNISTのガイドラインのようなパスワード管理に関する重要な内容は、定期的にアップデートされており、5年前、10年前の常識とは異なる点が多数あります。例えば、パスワードの定期変更はかつては推奨されていた内容でしたが、現在は「すべきでない」と180度異なっています。
システム・サービスの管理者は、かつての常識を鵜呑みにしたままだとユーザーの安全性を損なってしまいます。よって、最新のセキュリティ情報を把握してサービス提供するように心がけるべきです。
・参考
世界の電子認証基準が変わる:NIST SP800-63-3を読み解く
また、システム・サービスを利用するユーザーならび、ユーザーのセキュリティを考える部署は、「パスワード管理は各自が努力して行うもの」という前提を疑う必要があります。
「パスワードを使い回さない」「メモせず全て記憶する」「十分な長さのパスワードを設定する」ことをユーザーに要求している時点で、無理なことをユーザーに押し付けているという認識を持つべきです。ユーザーは、無理なことを要求されても、できないことはできません。よって、「使い回す」「メモする」という方向に走ってしまいます。
全ての企業は、ユーザーに無理をさせずにパスワード管理を行うためのツールとして、パスワード管理製品を検討すべき段階に来ています。当社が開発する企業向けパスワード管理製品「トラスト・ログイン」もそうしたツールの1つです。基本機能無料で、ユーザー数や登録するサービス数無制限で利用できますので、ぜひご評価いただければと存じます。