2

AWS S3 で署名付き URL を使用したいと考えています。私が気付いたのは、署名付き URL にaws_access_key_idと が含まれていることaws_security_tokenです。

私の理解でaws_security_tokenは、一時的なセキュリティ認証情報を使用しており、URL に適切に署名するために必要であるため、 は URL の一部です。

しかし、たとえばフロントエンド クライアントが画像をダウンロードするために URL を指定しても問題ないでしょうか。aws_security_tokenは URL の一部です (暗号化されていません) 。セキュリティが心配で、トークンの目的を理解できませんでした。そして、攻撃者が myaws_access_key_idと theでできることaws_security_token

4

2 に答える 2

4

はい、aws_access_key_id と aws_security_token (存在する場合) は安全に公開できると見なされます。

害を及ぼすには、理論的には、攻撃者はリクエスト パラメータと署名に基づいて 3 番目のコンポーネントである aws アクセス キー シークレットをリバース エンジニアリングし、代替リクエストに対して有効な代替署名を生成できるようにする必要があります。

それが可能であれば、攻撃者は一時的な資格情報が実行する権限を持っている任意のアクションを実行できますが、これには HMAC-SHA-256 の複数のラウンドをリバース エンジニアリングする必要があり、計算上実行不可能と見なされます。

さらに、一時的な認証情報 (aws_security_token が表示される場所) を使用する場合、いずれにせよ、認証情報は短時間しか有効ではありません。時間の。

セキュリティ トークン自体 (おそらく) は、一時的なアクセス キー ID とシークレットに付随するアクセス許可を記述した署名付き暗号化メッセージであり、AWS 内でのトークンに基づく承認決定の分散化を促進します。実際の内容 (文書化されていないようです) に関係なく、付随する一時的なアクセス キー ID とシークレットがなければ、単独では役に立ちません。また、シークレットは署名付き URL で開示されず、元に戻すことはできません。 -上記で説明したように設計されています。逆に、一時的なアクセス キーの ID とシークレットは、トークンがないと役に立ちません。

于 2016-04-04T19:41:52.167 に答える