特にISO、PCIなどのセキュリティ認証に関連するパスワードの有効期限/ローテーションのアイデアについて、2017年の現在の状態はかなり混乱しています パスワードの有効期限はあまり役に立ちません 、しかし、それがポリシー/ルール(ISOおよびPCIの場合)の一部であると思われるいくつかのスライドを見つけました。
私には少し不自然に思える特定の部分が1つあります。これは(強力なパスワードポリシーが適用されていると仮定すると、既に用意されているものです)、古いパスワードハッシュをデータベースに保存して、ユーザーが設定できないようにする必要があります。現在の期限が切れたときの古いパスワード。
私は常に(誤って)有効期限がソーシャルアングル(パスワードが重要であることをユーザーに伝える方法)を使用して問題に近づいていると想定していました。したがって、新しいパスワードは現在のパスワードとは異なるものである必要がありますが、過去のレコードを確認する必要はありません。
これは安全ではないという直感がありましたが、 大企業はUIのヒントを提供するためにこれを使用しています (ただし、これらの組織がより適切に制御できると思うのは当然ですが)中小企業よりもバックアップがあり、ミスが発生する可能性が高くなります)。
私は 記事 を読みましたが、NISTはもはやパスワードの有効期限を強制しないようです。とにかく、要件のためにシステムにパスワードの有効期限が設定されるようになったので、これらの認定に存在する要件にある程度一致させることは理にかなっていると考えていました。
2017年のこれらの認定(ISO、PCIなど)のパスワードの有効期限/ローテーションの状態はどうですか?それはまだそれらの一部ですか?.
保存する必要がある古いパスワードの数/期間をターゲット/言及していますか?.
採用プロセスに入っていないので、元のドキュメントにアクセスすることはできませんが、一般的に言えば知っておくとよいでしょう。
PCIの現在のバージョンDSSは3.2 、およびセクション8.2.4では、ユーザーは90日ごとにパスワードを変更する必要があります。セクション8.2.5では、パスワードは以前の4つのパスワードのいずれとも同じではない(これがどのように実行されるかを規定していないことに注意してください。標準では、「ハッシュの保存」が必要であると明確に述べられていません。)
ただし、このドキュメントは、最新のパスワードセキュリティに基づいていないことは明らかです。なぜなら、同じドキュメントのセクション8.2.3には、パスワードが「最小7文字以上」であり、「数字とアルファベットの両方」が含まれている必要があるためです。最近のコンピューターは、7文字の英数字のパスワードを数秒でブルートフォースするパスワードクラッキングソフトウェアを実行できます。この不十分な要件だけが原因で、彼らのパスワードセキュリティアドバイスのいずれかが研究に基づいているか、または有用でさえあるとは信じがたいです。
とはいえ、この標準が十分ではないという私たちの知識は、それを無視できることを意味するものではありません。 PCIを満たす義務があるため、攻撃者に対して有用な防御を提供するかどうか、またはユーザーに不便や追加のリスクをもたらすかどうかに関係なく、90日間のローテーションポリシーが適用されます。標準。代わりに、この点で標準が不十分であることを認識しているため、既知の問題に対処する責任のあるセキュリティポリシーを組織に実装する必要があります(他の要件を満たす14文字のパスワードが必要です ドラフトNIST)推奨 (たとえば、5.1.1.2)DSSのすべての要件に準拠しています。組織のセキュリティポリシーを定め、それに従うことはDSSの要件12であり、実際には非常に優れています。
最初に質問に答えるために、ISO 27001の観点から、しないは有効期限を指定します。また、保持する必要がある古いパスワードの数も指定しません。
代わりに、パスワード管理に関する一般的なガイドラインを提供します。コンプライアンスのため、および監査人を満足させるために、パスワードの有効期限を90日以内に設定し、再利用を防ぐために少なくとも最後の2つのパスワードを保持することをお勧めします。
ISO 27k1は、「以前に使用されたパスワードの記録を維持し、再利用を防止する必要がある」 "と明示的に述べていますが、その数は指定していません保持されます。
全体の制御と実装はこのようなものについて言及しています。
コントロールA.9.4.
パスワード管理システムはインタラクティブであり、高品質のパスワードを保証するものとします。
ISO 27001のとおり、パスワード管理システムは(自分のコメントを追加して)する必要があります。
個別のユーザーIDとパスワードの使用を強制することにより、説明責任を維持します。
ユーザーは必要に応じてパスワードを選択および変更できる必要があります。つまり、基本的にユーザーは自分のパスワードを制御できます。
ユーザーがログインを間違えた場合の入力エラーを許可するための確認手順を含めます。
良質のパスワードを強制します。これは、理想的にはパスワードポリシーで定義し、アプリケーションで強制する必要があります。
ユーザーが初めてログオンするときにパスワードを変更するように強制します。これがないと、ユーザーはデフォルトのパスワードをまったく変更することはほとんどありません。パスワードの強制更新は、管理者がリセットしたときにも実装する必要があります。
定期的にパスワードの変更を強制します。理想的には90日以内にする必要があります。監査人は30日を好むようですが、それは多すぎるかもしれません。
以前に使用したパスワードを保持し、それらの再利用を防止しますが、保存するパスワードの数は指定されていません。
入力時に画面にパスワードを表示しない、これは論理的です。
パスワードデータをアプリケーションシステムデータとは別に保存しますが、アーキテクチャの観点からこれを実装するのがどれほど実用的かはわかりません。
オンラインアプリケーションのSSLなど、保護された形式でパスワードを保存および送信します。