認証を残りのWebサービスに一元化し、この認証をすべてのWebサービスで同じにする必要があります。そこで、認証を管理するために外部Webサービスを作成し始めました。
互換性を保つために、認証は単一のリクエストと一緒にHMAC署名(秘密鍵を使用して署名)を使用して実行されたため(したがって、いかなる種類のトークンもありません)、すべてのWebサービスが着信リクエストに含まれるHMACを送信するようにしようと思いましたおよびStringToSign(HMACの生成に使用されるデータの表現)。
したがって、Authorizationサービスは(秘密鍵を知っている)同じ署名を作成しようとすることができます。それが一致する場合は、200 OK
「承認済み」と言うJSONオブジェクトで応答します。
この通信はすべてHTTPSを介して行われますが、誰かがこの回答を傍受または変更した場合に何が起こる可能性があるかを理解しようとしてい403 Forbidden
ます200 OK
...
これが元の答えであることを認識するために、何らかの方法を使用する必要がありますか?もしそうなら、私は何ができますか?
CAによってリリースされたSSL証明書が安全であることに同意しますが、攻撃者が認証応答を変更できるようにHTTPSレイヤーが危険にさらされていないことを確認するにはどうすればよいですか?
PSは、標準ソリューションがある場合はそれを提供してください。各サービスが独自のスタックを使用する可能性があり、実際には.NETなどにしたくないため、現在使用しているテクノロジーに関連させたくありません。それ以外の場合は、認証メカニズムに独自の実装があるためです。