0

個人情報を提供する公共サービスで情報を保護するにはどうすればよいですか?

このサービスは、クライアントが送信したユーザー名とパスワードに基づいていくつかの情報を提供します。例えば:

リクエスト

<get-my-info>
 <username>username</username>
 <password>password</password>
</get-my-info>

応答

<your-info>
 <private-info-a>private-info-a</private-info-a>
 <private-info-b>private-info-b</private-info-b>
</your-info>

サービスは非常に使いやすく、新しいクライアントが出現できるようにする必要があるため、クライアントに関連付けられたキーを強制的に登録することはできません。

サーバーに秘密鍵を置き、クライアントが機密情報を暗号化するための公開鍵を送信するだけで十分でしょうか? そのため、サーバーのみがクライアントからのメッセージを復号化でき、すべてのクライアントが同じ公開鍵を使用するため、新しいクライアントを簡単に作成できます。

このサービスは、サービスが必要とするすべての情報 (ユーザー名/パスワードおよび個人情報の検索) を提供するレガシー データベースに接続しています。ユーザー名/パスワードのアプローチを維持し、データベースの変更 (たとえば、ユーザーの署名キーを保存するため) を回避することが推奨されます。

4

2 に答える 2

1

あなたは近くにいます....

ここでは、ユーザーの認証とデータの保護 (暗号化) という 2 つの概念を混同している可能性があります。セキュリティで保護されたプロトコルがどのように機能するか(https、SSL)について詳しく説明することなく..サービスがホストされているサーバーには証明書が必要です。あなたが言ったように、サーバーには他の誰も知らない秘密鍵と公開鍵があります誰でも知ることができます...これで、クライアントはサーバーの公開鍵を使用してデータを暗号化します(ブラウザーがこれを処理します)。これにより、サービスのみが(秘密鍵を使用して)データを復号化できることが保証されます。したがって、データは安全な...

(オリジンの整合性)を保証するために、サービスは(ユーザー名とパスワード)を使用してクライアントを認証する必要があります

つまり、サーバーの証明書を購入して登録する必要があります。クライアントは自分自身を認証する必要があります

于 2013-07-17T04:42:24.653 に答える
0

標準の https を使用する場合、各会話を開始する何らかの認証と承認の手順があれば、中間者攻撃から安全です。各リクエストでセキュリティ トークンを送信することもできます。

于 2013-05-02T19:04:59.627 に答える