1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ConoHaオブジェクトストレージでメタデータをつけたファイルをWEB公開した時の挙動

Posted at

オブジェクトにメタデータをつける

ConoHaオブジェクトストレージでオブジェクトとしてファイルを上げる際にファイルにメタデータをつけることができます。

そのため暗号化されたファイルをオブジェクトとして上げる場合、復号化キーのようなものをつけることができます。

メタデータはHTTPヘッダー「X-Object-Meta-{任意の名前}」に加える形で紐づけが可能です。

bundle exec ruby chino.rb -m FILE_CONTROL_KEY:1234567890ABCDEF -s ~/Grahics/wtest2/go.jpg -d /hogehoge
upload_url -> https://objectstore-r1nd1001.cnode.jp/v1/098203482342/hogehoge/go.jpg
{
"Content-Type"=>"image/jpeg", 
"X-Auth-Token"=>"d402844f5bdd46a0aee716caaf623150", 
"X-Object-Meta-FILE_CONTROL_KEY"=>"1234567890ABCDEF"
}
http_status -> 201

上記でオブジェクトには「FILE_CONTROL_KEY="1234567890ABCDEF"」
という情報が紐づけられます。
ファイルを"1234567890ABCDEF"というキーで暗号化していた場合、このメタデータから復号化することが可能です。

通常のトークン経由のアクセスであればこの仕様で問題ありません。

しかし、このオブジェクトをWEB公開モードでWEB公開していた場合、このメタデータは果たして一般公開されるのでしょうか?

オブジェクトをWEB公開したときメタデータは公開されてしまうのか?

$ curl -v https://objectstore-r1nd1001.cnode.jp/v1/98394824/go.jpg -O 
> GET objectstore-r1nd1001.cnode.jp/v1/98394824/go.jpg HTTP/1.1
> User-Agent: curl/7.37.1
> Host: objectstore-r1nd1001.cnode.jp
> Accept: */*
> 
  0     0    0     0    0     0      0      0 --:--:--  0:00:01 --:--:--     0< HTTP/1.1 200 OK
< Date: Tue, 20 Jan 2015 14:36:16 GMT
< Content-Type: image/jpeg
< Content-Length: 551367
< Connection: keep-alive
< Accept-Ranges: bytes
< Last-Modified: Tue, 20 Jan 2015 14:29:34 GMT
< Etag: 9876d66107098fef488e86225d941999
< X-Timestamp: 1421764173.86525
< X-Object-Meta-File-Control-Key: 1234567890ABCDEF
< X-Trans-Id: tx080a6f5fcaa14cd094614-0054be67e0
< 

・・としっかり、X-Object-Meta-File-Control-Keyの値が返却されるようになっていました。

解決策

オブジェクトに紐づけるメタデータをそのファイル自体の機密情報(たとえばファイル復号化キーや、ファイル削除を許可するキー)とする場合は、そのメタデータ自体を暗号化してひもづけるという手段で解決できます。
そうすることでHTTPヘッダーにその情報が流れても第三者がそのデータを復元することは困難な状態となります。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?