0

Alice は Bob から重要なリソースの場所を知りたがっています。ボブは親切にもアリスに場所を教えますが、アリスはどのようにしてボブの身元を確認できますか?

Bob は OpenBSD サーバーであり、データのソースは Python/C++ アプリです。

私のアイデアは:

アリスはボブの公開鍵を知っています。

Alice は Bob の公開鍵でランダムな文字列を暗号化し、Bob に送信します。

ボブはランダムな文字列を復元し、それをハッシュします。Bob は機密リソースをハッシュと共に送り返します。

この方法の問題点は、Bob (サーバー) に秘密鍵を安全に保存できるかどうかです。どのように?より良い解決策はありますか?

4

2 に答える 2

1

Bob が秘密鍵を持っていない場合、Bob が自分自身を識別するために使用できることを他に一意に知っているものは何でしょうか? また、Bob が秘密鍵を安全に保管することを信頼できない場合は、何をしても沈んでしまいます。

余分なお金を使う価値がある場合、できることの 1 つは、オンラインではなく、ボブとのみ通信でき、特定の種類の通信のみを行う別のマシン (Cipherclerk と呼びます) を用意することです。Cipherclerk は秘密鍵を保持し、それを使用して Bob の暗号を解読します。次に、ボブがリモートで危険にさらされたとしても、少なくとも秘密鍵が危険にさらされることはありません。

あなたのアイデアを強化するには、Bob に Alice のランダムな文字列を対称キーとして使用させ、リソースを暗号化します。

于 2011-10-03T00:33:21.630 に答える
0

誰かが中間者攻撃をマウントできる場合、この方法は完全に安全ではありません。攻撃者であるマロリーは、機密情報を単純に取り除き、それを彼女の情報に置き換えて、アリスに転送することができます。

解決策は、TLS または SSH を使用することです。どちらの場合でも、アリスがボブの公開鍵または鍵の指紋を持っていることを確認してください。これは広く使用されているソリューションであり、Alice が格納するデータを変更したり、Bob ストアのデータを読み取ったりできないと仮定すると安全です。

于 2011-10-10T01:04:57.060 に答える