mbedTLS (以前の PolarSSL) を使用して 2 つのピア間で ECDHE-PSK 暗号化を実行する方法を理解しようとしています。残念ながら、使用する必要のある API に関する記事やドキュメントはまったくありません。
1 に答える
ECDHE-PSK は、TLS で使用される鍵交換方式です。最初に mbed TLS TLS チュートリアルをご覧ください。
次に、両端で事前共有キーを構成する必要があります。これには通常、mbedtls_ssl_conf_psk()
クライアント側の使用が含まれます。単一のクライアントとのみ通信することを期待している場合、理論的には同じ関数をサーバー側でも使用できますが、実際にはほとんどの場合mbedtls_ssl_conf_psk_cb()
、コールバックを設定するために使用する必要があります。クライアントごとに適切な事前共有キーを選択する関数。
また、許可された暗号スイートのリストを調整する必要があります。これは、実行時に を使用して実行できますmbedtls_ssl_conf_ciphersuites()
。または、ECDHE-PSK のみを使用することがわかっている場合は、ビルドをカスタマイズして他のすべてのキー交換を無効にすることもできます。これにより、フットプリントも最小限に抑えられます。
最後に、 ssl_client2.cおよびssl_server2.cとして mbed TLS ディストリビューションの ECDHE-PSK に基づくものを含め、さまざまな暗号スイートで TLS を実行する完全に機能する例を見つけることができます。上記の関数が例でどのように使用されているかを確認できます。特に、サーバー側のPSK callbackの例を見つけることができます。