何年にもわたって、私はこのシナリオに何度も遭遇しました。あるアプリケーションから別のアプリケーションに送信したいユーザー関連のデータがたくさんあります。2 番目のアプリケーションは、この「トークン」を「信頼」し、その中のデータを使用することが期待されます。盗難/再利用攻撃を防ぐために、タイムスタンプがトークンに含まれています。なんらかの理由で (ここでは気にしないでください)、SAML のような業界標準ではなく、カスタム ソリューションが選択されました。
私には、データにデジタル署名することがあなたがここで望んでいるように思えます。データを秘密にする必要がある場合は、暗号化することもできます。
しかし、私がよく目にするのは、開発者が AES などの対称暗号化を使用するということです。彼らは、データを「秘密」にすることに加えて、暗号化は 1) メッセージの完全性と 2) 信頼 (ソースの認証) も提供すると想定しています。
ここに固有の弱点があると疑うのは正しいですか? 対称キーが適切に管理されていれば、額面どおりに機能しているように見えます。そのキーがなければ、暗号化されたトークンを変更する方法や、いくつかのトークンを傍受した後に何らかの暗号攻撃を開始する方法がまったくわかりません。しかし、より巧妙な攻撃者は、ここで何かを悪用できるのでしょうか?