2017-02-01 11 views
0

私は、KMSの代わりにS3を使用して、基本的には資格情報ファイルを保存し、Pythonはファイルの内容を読み込みます。S3暗号化ファイルを復号化する必要はありますか?

私は手動でのプロパティに行く、S3にそれをクリックすることで、暗号化されたファイルに設定 - 詳細 - サーバ側での暗号化:AES-256

をそして、私のPythonスクリプトでは、私はときに私から変更せずにキーを読み込みますファイルが暗号化されていないときにそのファイルを読み取ります。また、ファイルをダウンロードして解読するなどの操作をすることなくファイルを開くこともできました。私はそれを解読する必要があると思っていたので、少し混乱しています。

私は、サーバー側の暗号化が何を保護するのかを理解できません。既にS3/S3バケットにアクセスしている人なら誰でもファイルを読むことができますか?誰がファイルを開くことができないでしょうか?

答えて

4

「サーバー側」暗号化を有効にすると、残りの暗号化が有効になります。これは、ファイルがS3に置かれている間に暗号化されていることを意味します。しかしS3は、ファイルをダウンロードするときにデータを送信する前に、そのファイルを復号化します。

ファイルが暗号化されているかどうかにかかわらず、ファイルをダウンロードするときの処理方法に変更はありません。

このタイプの暗号化では、APIを使用するなどの有効な方法でファイルをダウンロードした場合、ファイルを保護しません。誰かがS3データセンターなどを迂回していた場合にのみ、ファイルが読み取りから保護されます。

ファイルを保護する必要がある場合、ダウンロード時に暗号化を解除する必要がある場合は、S3にアップロードする前にクライアント側で暗号化する必要があります。

あなたは価値があると思われるクライアント側の暗号化方式を使用することができます.AES256などですが、S3はそれを行いません。

+0

ご清聴ありがとうございます。私はちょうど私が作ったキーを使ってS3にファイルをアップロードし、それをダウンロードし、それを見ることができました。これは正常ですか?ダウンロードのためにファイルを送信する前にS3がそれを解読しましたか? – simplycoding

+0

アップロードする前に暗号化すると、ダウンロードした後に暗号化を解除する必要があります。 S3はあなたのためにそれをしません。 S3サーバー側の暗号化を使用している場合、S3はファイルを復号化してからデータを送信します。実際には、クライアント側の暗号化とサーバー側の暗号化の両方を行うことができます。 S3はデータを与える前にあなたのためにサーバー側の暗号化を解読しますが、クライアント側の暗号をさらに解読する必要があります。 –