0

複数のアプリケーションサーバーと複数のクライアントを備えたシステムの場合、相互認証と、TLSによって提供されるその他のセキュリティ保護を紹介したいと思います。

サーバーとクライアントは、同じネットワーク上だけでなく、異なるネットワーク上に配置されている場合があります。

各エンティティ(クライアントまたはサーバー)には、秘密鍵と公開鍵のペアを格納する独自の鍵ストアと、公開鍵をラップするX.509証明書があります。ただし、この時点で、証明書は自己署名されています。したがって、他の通信エンティティによって検証されることはありません。いくつかの調査の後、私はいくつかの解決策を見てきました:

  1. 証明書に署名するプライベートCAを作成します。私がよく理解している場合は、CAの証明書を使用して他のエンティティの証明書を検証できるように、CAの証明書が各エンティティのトラストストアに存在する必要があります。
  2. 最初のソリューションとしてプライベートCAを作成します。ただし、プライベートCAの証明書は、商用CA(Verisignなど)によって署名されています。以前のソリューションに何が追加されるのかわかりません。
  3. 商用CAによる各エンティティの証明書への署名。しかし、このソリューションは高価なようです。
  4. 自己署名証明書のみの使用。各エンティティの証明書は自己署名されており、通信する各エンティティのトラストストアに追加する必要があります。

これは、セキュリティに関する私の最初の経験です。有効と思われるソリューションのうち、どれをお勧めしますか?

ありがとう

4

1 に答える 1

1

読みやすくするために、オプションに番号を付けました。

オプション 4 には、最初のオプションと同等のセキュリティと管理の詳細があります。つまり、オプションは、独自の CA サービスとサードパーティの CA サービスに絞り込まれます。CA 機関から独自の CA 証明書を購入することもできますが、費用がかかります。ただし、どれくらいが「ロット」なのかは、CAのセールスマンがケースバイケースで判断します。

管理の複雑さの観点から、次の順序でそれらを配置します (最初が最も簡単です): 3、1、2、4

オプション 1、2、4 では、証明書を管理する必要があります。これには、PKI とそのセキュリティ手順 (純粋に技術的なことに加えて、秘密鍵が保護されていることを確認する必要があります) の知識と、証明書の生成と管理のためのソフトウェア (openssl など) の両方が必要です。ほとんどのアクティビティには十分ではなく、証明書を生成するために独自のコードを記述する必要がある可能性が高いです)。

また、オプション 1、2、4 の場合は自分で実行する必要がある OCSP サーバーも用意することをお勧めします。

于 2012-07-19T09:50:12.203 に答える