私は、cqlsh設定を含め、Cassandra 3.3でノード間およびクライアント/ノード間の暗号化を正常にセットアップしました。私の質問は、それがすべて実際にどのように機能するかについてです。Cassandraノード間およびクライアント/ノード間の暗号化は実際にどのように機能しますか?
どちらの場合でも、私は各アクタ(ノードとクライアント)の鍵証明書を提供する必要があります。これは暗号化または認証に使用されますか?私はそれが認証だけに使用されることを強く期待しています。そして、暗号化のために対称鍵が生成されます。これは正しいですか?クライアントからノードへの暗号化では、ノードとクライアントの両方に鍵証明書が必要であることに気付くので、交換はサーバ認証だけでなくクライアント認証でもあると仮定します。これは正しいです?
注:上記の私は、アクターがお互いの身元の詳細を知っているのではなく、お互いを信頼できることを意味するために「認証」を使用します。これは、Cassandraがユーザーを認証する方法とはまったく別物です。
ノード間暗号化のためにすべてのノードで固有の自己署名証明書を使用することと、クライアント/ノード間の暗号化に別の固有の自己署名証明書を使用することを考えているため、私の理解が正しいなら、これは暗号化を妥協することはないでしょう。これは正しいですか?
お返事ありがとうございます!私がしようとしているのは、すべてのノードが共有する一意のキーストア/トラストストアを使用することです。ノードごと、クラスタごとにキーストア/トラストストアではありません。私はそれを試して、それは動作します。私もCAの方法を試してみましたが、それもうまくいったけど、もっと面倒で、私は利益を見ることができません。 – marcv81
共有キーストア/トラストストアを使用することもできます。厳密に言えば、単一のノードが侵害された場合、攻撃者は他のすべてのノード間のすべての通信を解読することができるため、安全性は低くなります。しかし、それがどれくらいあなたに影響を与えるかを決めることは、もちろんあなた次第です。 –
これを指摘してくれてありがとう。ノードが侵害されると、すべてのデータにアクセスできますが、他のノードを聴くと、データを見るだけでは利用できない情報(タイミングなど)が明らかになる可能性があります。私はそれが多くの人に違いをもたらすとは思わないし、確かに私の場合はそうではありません。 – marcv81