したがって、C1 と C2 の 2 つのクライアントがあり、各クライアントには GUID が関連付けられているとします。
C1 から送信されたと思われるメッセージを C2 で受信した場合(GUID をチェックし、それが C1 の GUID と一致することを確認することによって)、メッセージが C1 から送信されたことが保証されていないため (C3 が送信した可能性があるため)、どうすればよいでしょうか。メッセージ ヘッダーで C1 の GUID を送信するメッセージ)、メッセージが実際に C1 から送信されたことを確認する必要があります。
私は、非対称暗号化 (RSA) を使用して、C1 に で構成されるメッセージを送信[C1.GUID; RSAEncrypt(C2.PUBLIC_KEY, C1.GUID); MESSAGE]
させ、次に C2 に基本的に次のようなチェックを行わせることを検討しています (python 擬似コード):
message.GUID == RSADecrypt(C2.PRIVATE_KEY, message.ENCRYPTED_GUID)
これは実行可能なアプローチですか?または、メッセージの送信者を確認するための他の賢い/より明白な方法はありますか?