私はサーバーエンジンを持っていますが、これは通常サーバーで動作します(想像上)。しかし、場合によってはクライアントで実行されたり、別のサーバーで実行されたりして、このサーバーを使用して追加の処理を実行したい場合があります。
間のリンクは、ssl/tls と証明書によって保護されます。したがって、通信は安全ですが、呼び出しエンジンが私のコードであるかどうかはわかりません。
そのエンジンをどのように証明しますか。この件について、アリスとボブは何と言うでしょうか?
私はサーバーエンジンを持っていますが、これは通常サーバーで動作します(想像上)。しかし、場合によってはクライアントで実行されたり、別のサーバーで実行されたりして、このサーバーを使用して追加の処理を実行したい場合があります。
間のリンクは、ssl/tls と証明書によって保護されます。したがって、通信は安全ですが、呼び出しエンジンが私のコードであるかどうかはわかりません。
そのエンジンをどのように証明しますか。この件について、アリスとボブは何と言うでしょうか?
これを行う 100% の方法は見つかりません。
以来:
基本的に、カールはアリスに電話してボブのふりをすることができるので、ボブの声を聞き、ボブが知っていることすべて (逆アセンブルされたコード) を知っているので、アリスがそれが本当にボブであること、または単に非常に優れたなりすましであることを確認する方法はありません。 .
TPMまたは同様のテクノロジを使用して、特定の種類のハードウェアでのみ実行できるようにソフトウェアを設計する場合、可能性はあるかもしれませんが、ソフトウェアだけでは 100% のソリューションを作成することはできません。
TPM 対応のソリューションを使用しても、詐欺師が間に座って回避するリスクは依然としてあります。
それはすべて、防止したい攻撃の種類によって異なります。
この問題の一般的な解決策はありません。リモート マシンが攻撃者に支配されていないことを確実に知ることはできません。したがって、通信しているリモート コードが、本来通信しようとしていたコードであると完全に確信することはできません。
人々は TPM や同様のメカニズムを使用して、リモート ハードウェアの信頼性をリモートで証明しようとしますが、リモート側で何が実行されているかを知ることができないため、純粋にソフトウェアでそのようなことを行おうとするのは絶望的です。一般的なケースでは、十分な時間があれば、攻撃者は TPM をサブボーンすることもできます。