次の制約の下で、他のクライアント アプリケーションが接続するためのローカル ネットワーク経由でサーバーとして機能する必要がある製品を開発しています。
- 交換されるデータは非常に価値があり、ユーザーのネットワークまたはサーバーとして機能するマシンのセキュリティについては保証されません。したがって、どの SSL 証明書も「悪用」される可能性があります。
- ユーザー エクスペリエンスの混乱を最小限に抑えるために、クライアントがサーバーを識別する非電子的手段は、ポストイットに書き込むことができる情報に制限する必要があります (キー ファイルの交換ではなく、IP アドレス、パスコードなど)。
これらを考慮して、現在の SSL 戦略は次のとおりです。
- 信頼できるストアに SSL 証明書をインストールしたり、CA 証明書に対して証明書に署名したりしないでください。これにより、潜在的な攻撃者がすべてのクライアント マシンへのフロント ドア キーを取得する可能性があります。
- したがって、SSL 証明書は自己署名されます。サーバーを検証する方法がないため、中間者保護は提供されません。ただし、安全でないネットワークを使用しているがサーバーは安全なユーザーに盗聴保護を提供します.
- Rijndael 対称暗号化を使用して「パスコード」システムを上に実装します。これにより、証明書が侵害された場合でも、盗聴保護が行われます (多くの漏れのあるバケツは知っていますが、何もないよりはましです)。このパスコードは、クライアントのユーザー エクスペリエンスの中断を最小限に抑えて定期的に再生成できます。
これらの制約の中で、クライアントとサーバーが通信するためのより安全な戦略はありますか?