個人情報を提供する公共サービスで情報を保護するにはどうすればよいですか?
このサービスは、クライアントが送信したユーザー名とパスワードに基づいていくつかの情報を提供します。例えば:
リクエスト
<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>
サービスは非常に使いやすく、新しいクライアントが出現できるようにする必要があるため、クライアントに関連付けられたキーを強制的に登録することはできません。
サーバーに秘密鍵を置き、クライアントが機密情報を暗号化するための公開鍵を送信するだけで十分でしょうか? そのため、サーバーのみがクライアントからのメッセージを復号化でき、すべてのクライアントが同じ公開鍵を使用するため、新しいクライアントを簡単に作成できます。
このサービスは、サービスが必要とするすべての情報 (ユーザー名/パスワードおよび個人情報の検索) を提供するレガシー データベースに接続しています。ユーザー名/パスワードのアプローチを維持し、データベースの変更 (たとえば、ユーザーの署名キーを保存するため) を回避することが推奨されます。