web-dev-qa-db-ja.com

セキュリティと認証の問題

サンプルシナリオがあり、考えられるセキュリティスキームに関するフィードバックとソリューションをいくつか受け取りたいと考えています。

まず、実際のシナリオを想像してみましょう。

ユーザーが大学(所有者)のロッカーを所有し、クリーナーが大学(許可されたユーザー)のすべてのロッカー(暗号化されたデータ)のキーを持っていると想像してください。さらに、他の学生(パブリック)は、各ロッカーの所有者の名前が付いたラベルを読むことができます。 (暗号化されていないデータ)。

ここで、悪意のあるユーザーがすべてのロッカーのキーをクリーナーから盗み出したとします。ロッカーの実際のロックを変更せずに(侵害されたキーを無効にするための最良の解決策は何ですか?

所有者と自動化されたユーザーがオフラインで動作している間は、セキュリティスキーム全体が適用されることに注意してください。

enter image description here

5
glarkou

取り消し のあいまいな領域に入ります。基本的には、「機能する」が、キャンセルスイッチを備えたシステムが必要です。すべてが暗号化やその他のすべてで合法に見えても、開かないでください。

システムが完全にオフラインの場合、解決策はありません。 「クリーナー」には、すべてのロッカーを開ける力があります。クリーナーステートのハイジャックに関する情報(彼のキーの盗難)は完全にオフラインのシステムに入ることができないので、すべてがオフラインの場合は、このパワーを失うことはありません。問題を解決するには、必要に応じて少なくとも断続的なネットワークが必要です。

たとえば X.509 の通常の解決策は、「今のところそれを宣言する短命のsignedオブジェクトを使用することです。 、 すべて順調"。クリーナー/ロッカーの例えで:

  • 各ロッカーには時計があり、現在の日時がわかります。
  • 掃除機は毎朝、メインの掃除所に行き、彼の顔と鍵を警官に見せ、その掃除人が本当に合法でアクセスが許可されていることを確認します。次に、役員は、「クリーナーXは3月8日23:00 UTCまでアクセスが許可されています」と書かれた署名付きの「アクセストークン」をクリーナーに渡します。
  • クリーナーがロッカーを開きたい場合、彼は自分のキーアクセストークンを挿入する必要があります。ロッカーは、役員の署名を確認し、アクセストークンの有効期限がまだ切れていないことも確認します。

X.509では、「アクセストークン」はCRLまたはOCSP応答です。オブジェクトがどのようにバリデーター(ここではロッカー)に渡されるかは、詳細が異なります。上記の類推では、「断続的なネットワーク」はセントラルオフィスです。これは、システムが一時的に「オンライン」になるポイントです。または、署名されたアクセストークンを他のユーザーが積極的にロッカーに配布することもできます。

重要なのは、バリデーターが適切な時間の概念のために信頼できる時間ソースを持たなければならないということです(精度と正確さの点で必ずしも多くは必要ありません)。

4
Thomas Pornin