the bucket

Wasabiでは、どのように大切なデータを保護しているか?~暗号化について~

Wasabiでは、どのように大切なデータを保護しているか?~暗号化について~

Kazuyuki Fukaya
By Kazuyuki Fukaya
シニア ソリューション アーキティクト

2024年3月27日

このブログでは、Wasabi Hot Cloud Storageを利用する全ユーザーを対象に、セキュリティの中で重要なトピックである「データ保護」に関して、基礎的な内容から、少し深堀をして、関わる暗号化技術の詳細を解説したいと思います。

Wasabiのサービスをご利用頂いている人には、既にデータ保護に関する記事として、Knowledge Baseに掲載されている内容を読んだことがあるかもしれません。本ブログでは、サポートされている技術を紹介するだけではなく、どのような背景があり、それがどうしてデータ保護に繋がるかを補足できるようにしています。

暗号化とは

ここで解説する内容を正しく理解するために、暗号化に関して、少し基礎的な部分をまず解説します。
暗号化とは何かを聞かれたときに、一般的に皆さんがイメージするのは、「金庫と鍵」の例だと思います。ITで用いられる暗号化の技術を理解するために、ここでは、この「金庫と鍵」の例を使って説明をします。

共通鍵暗号方式

鍵がないと金庫が開けれなく、その中に保管しているものは、誰でも取り出したり、見ることができなく、安全だと言うことになります。この例では、鍵を持っていなければ、金庫の中身を見ることができません。当たり前のようですが、この場合、鍵は、1つのみでありますが、その鍵を他人が盗んだり、または、複製すれば、金庫を開くことができます。金庫に対しては、鍵は、1つのみ(同じ形状)です。ITでの暗号化では、このようなアプローチを「共通鍵暗号方式」と呼んでいます。この共通鍵は、暗号化パスワードに相当するものです。
「共通鍵暗号化方式」では、鍵の長さを長くしたり、鍵として使う文字や記号を増やすことで、暗号強度は上げられますが、最終的には、鍵の伝達を必ず必要としており、暗号化を行った者と、復号化を行う者の間では、共通の鍵を交換することが必須になります。これが、「共通鍵暗号方式」での大きな課題であり、避けては通れないものになります。

公開鍵暗号方式

公開鍵暗号方式では、実は世の中では理解しづらいのですが、「金庫と鍵」で例えると、金庫が1つに対して、それを開けるための鍵は、2つ組み合わせて使うものになります。2つの鍵は、ある法則に基づき、1のペアとして、組み合わせが決まっています。1つの鍵(鍵A)を使って、金庫を施錠した場合、もう1つの鍵(鍵B)でしか、開錠できないような仕組みとなっています。逆の使い方も可能でして、鍵Bで施錠した場合、鍵Aでしか開錠できないようになります。
この仕組みは、数学的には素因数分解を用いてものですが、本ブログでは、詳細は省略します。興味がある方は、ぜひ、インターネットで検索して見て下さい。さまざまな、分かりやすい記事があるかと思いますので、ぜひ、探して、読んで見て下さい。
話は戻りますが、公開鍵暗号方式でのメリットとは、何でしょうか?共通鍵暗号方式と比較して、どのような利用シナリオが考えられるかを見ていきましょう。鍵が2つあり、片方で暗号化したら、もう片方でしか、復元できない特徴を活かして、実は、共通鍵暗号方式の課題である「鍵の交換」問題を解決するのに、使われています。また、暗号化演算処理において、実は、共通鍵暗号方式は、公開鍵暗号方式に比べて、断然高速です。そのため、その二つの暗号方式を使い分けたり、組み合わせて、利用することで、暗号化処理が実装されています。

データ保護のための暗号化について

クラウドサービスにおいて、データの保護のためには、暗号化が用いられます。そして、それは、大きく2つの観点から実装されており、それぞれ、「転送データの暗号化( Encryption In Transit)」と「保存データの暗号化( Encryption At Rest )」なります。

転送データの暗号化とは

「転送データの暗号化」とは、なんでしょうか?これは、クラウドストレージにデータをアップロードする過程で、データ保護のために用いられる手法です。通常、クラウドサービスへのアクセスは、インターネットが利用されますが、この環境では、誰でも自由にコミュニケーションができる反面、自由にデータを覗いたりすることが出来ます。データを暗号化して、あなたの大切なデータが転送されている間でも、誰にも見られないようにします。

このデータ転送での暗号化とは、具体的にはどのように行われるかは、おそらく、皆さん想像つくかと思います。そうです!インターネット通信、特にブラウザを用いて、ウェブサイトをサクセスする際に使われるSSL/TLSです。Wasabiコンソールだけではなく、S3 APIを用いて、直接Wasabi Hot Cloud Storageへアクセスする際には、SSL/TLSによる通信が行われて、転送データの暗号化が実現されています。Wasabiでは、AWS S3と同じSSL/TLSバージョンがサポートされておりますので、移行時などでも、特にアプリケーションやシステムでの変更は必要が有りません。詳細の情報に関しては、こちらの記事(英語)をご参照ください。 

でも、この転送データの暗号化において、2つの暗号方式が利用されているのはご存じでしょうか?これは、SSL/TLSプロトコル仕様に関わりますが、簡単に説明すると、送るデータの暗号化自体には、共通鍵が、用いられますが、その前段で共通鍵を交換するために、公開鍵暗号方式が使われています。

公開鍵暗号方式で使われる2つの鍵の内、1つは相手に公開するもの(公開鍵と呼び)とし、もう1つは誰にも公開せず、秘密(そのため、秘密鍵と呼ぶ)にします。この一連の処理は、利用者による何らかの設定等は必要とせず、Wasabiクラウドストレージサービスと利用するソフトウェア(Wasabiコンソールをご利用の場合には、ご利用のブラウザ)で自動的に行われます。ちなみに、Wasabiでは、TLSは、最新バージョンをサポートしております。

保存データの暗号化とは

「保存データの暗号化」とは、データを保管された状態でも、データが保管されているストレージそのものにアクセスできたとしても、読めないようにすることです。つまり、保存するデータを暗号化して、第三者に対して、復号化ができないようにする手法です。Wasabiでの保存データの暗号化には、2つの方法がサポートされています。

  • Server-Side Encryption (SSE)
  • Server-Side Encryption with Customer-provided keys (SSE-C)

どちらの方法でも、暗号化には、共通鍵暗号方式が使われておりますが、鍵の管理において、大きく異なります。

SSE (Wasabiでの保存データの暗号化でのデフォルト)
SSEにおいて、データがストレージに保存される際に、Wasabiストレージのソフトウェアがランダムな鍵を生成し、データを暗号化します。その後、暗号化に利用した鍵は、暗号化データと紐づく形で、Wasabi側で保管されます。データを読み出したり、取り出したりするときには、Wasabiのソフトウェアが、必要な鍵を特定して、データを復号化し、元に戻します。このアプローチでは、利用者の立場では、データの暗号化と復号化は、自動的に行われ、全体のデータ保護機能の恩恵を受けれながら、暗号化のための操作は不要となります。

SSE-C(オプション)
SSEは、お客様が必要と判断された場合に、用意されている保存データの暗号化のためのオプションです。お客様が暗号・復号の処理に用いられる共通鍵を生成して、データの保存時およびデータの取り出し時にWasabiストレージサービスに渡すことで、データの保護が実現できる方法です。これは、お客様しかデータが見れなく、クラウドストレージサービスを提供しているWasabiでさえも、データが見れないようにしたい場合に用いる選択となります。このオプションにおいて、Wasabiストレージのソフトウェアは、データの暗号化と復号化を行いますが、その代わり、生成した共通鍵の情報は、お客様ご自身で管理・保管する必要が有ります。暗号化は、オブジェクトのメタデータは対象外になっていますので、オブジェクトの管理に用いられるキー名やタグ情報などは、従来通り、利用可能です。このオプションの利用は、S3 APIを用いることになりますので、必要に応じて、AWS S3 APIの詳細をご確認下さい。

最後にですが、このオプションをご利用にあたり、1つ重要なポイントがあります。暗号化のための共通鍵、管理はお客様ご自身になりますので、例えば、SSE-CでデータをWasabi Host Cloud Storageに保管して、暗号化の鍵を紛失してしまった場合、Wasabiから暗号化されたままのデータは、取り出せても、データの復元が出来なくなります。その点も考慮して、このオプションの利用の際には、正しく、安全に鍵を管理できるようにして下さい。

まとめ

最後まで読んで頂き、ありがとうございます。
Wasabi Hot Cloud Storageを利用する際、あなたの環境からクラウドストレージサービスまで、またストレージサービスにデータを保管する間でも、データが保護されていることが理解できたかと思います。Wasabi Hot Cloud Storageを利用する上、あなたの大切なデータがどのように保護されているかご理解頂けて、安心して、そのデータをWasabiに預けることに繋げれば幸いです。

the bucket
Kazuyuki Fukaya
By Kazuyuki Fukaya
シニア ソリューション アーキティクト