GET メソッドを使用して jQuery AJAX 呼び出しを介して WCF サービスを使用しています。
POST メソッドの作業を使用して jQuery AJAX を介して WCF 呼び出しを取得できないため、GET メソッドを使用しています。GET メソッドでは、JavaScript を介して WCF メソッドの URL が公開されます。したがって、暗号化またはその他の方法を使用して、フロントエンドとバックエンド間の通信を保護する方法が必要です。
したがって、認証文字列を作成します。認証文字列は、フロントエンド (JavaScript) で暗号化され、バックエンド (WCF) で認証される一意のデータのセットとして定義できます。認証文字列には、ユーザー名、パスワード、WCF サービス名、WCF メソッド名、タイムスタンプなどの情報を含めることができます。
例: 一意のデータの組み合わせを暗号化します: admin_admin_member_getmemberbyid_201305171604 は 816dd1f8cd17256fc343948df5ffdf3b (MD5 を使用) になり、バックエンドに送信されるデータに加えて送信されます。
MD5 暗号化を使用すると、操作に関するいくつかの情報の組み合わせをフロントエンドで暗号化できます。バックエンドでは、同じ情報の組み合わせを暗号化し、それに対して検証する必要があります。MD5 は復号化できないため、データを暗号化することはできません。暗号化する文字列を構築するために使用される組み合わせを知っている人なら誰でも、MD5 ハッシュを生成して使用することができます。
MD5 とは異なり、共有キー暗号化を使用してデータを暗号化できるため、バックエンドで事前共有キーを使用して復号化することで元のデータを取得できます。ただし、事前共有キーはフロントエンドのソース コードで確認できます。したがって、暗号化は役に立たなくなります。
公開鍵暗号のセキュリティは、2 つの要素を推測またはハッキングする必要があることです。1 つはデータまたはパラメーター パターンで、もう 1 つは認証文字列です。ただし、ブラウザでデバッグすると、JavaScript から読み取ることができます。
注: MD5 文字列または事前共有キーでタイムスタンプを使用すると、ネットワーク遅延などの遅延により、実際には失敗する可能性があります。
GET を使用して REST を介して公開された WCF サービスをセキュリティで保護する方法はありますか?