Proton

暗号化の解説

暗号化は、インターネット上のセキュリティの鍵となるものです。 個人情報をランダムなテキストのようにスクランブル(攪乱)することで、プライベートかつ安全に保ちます。 暗号化の詳細、その重要性、そしてProtonがどのようにお客様のデジタルライフを保護するために暗号化を使用しているかについて、このまま読み進めてご確認ください。

暗号化とは?

暗号化とは、正しい暗号鍵を持っていない限り誰も解読できないように、情報を読み取れないコードに変換する数学的なプロセスです。 暗号化がなければ、誰でも写真、パスワード、メッセージなどの機密データを傍受、閲覧、または改ざんできてしまいます。

暗号化とはどういう意味ですか?

簡単に言えば、正しい鍵がなければデータは読み取れないということです。 これにより、盗み見から情報を安全に守ることができます。

暗号化の仕組み

情報を暗号化する最も一般的な方法は、アルゴリズムと呼ばれる数学的操作を使用して、プレーンテキストと呼ばれる読み取り可能なテキストを、暗号文と呼ばれる読み取り不可能なテキストに変換することです。 これらのアルゴリズムは、暗号鍵、または共有された数学的値のセット(素数や楕円曲線など)を使用してファイルをスクランブルします。 一致する鍵だけがファイルを解読し、元の形式に戻すことができます。

正しい暗号鍵を持たない人にとって、暗号化済みファイルはランダムなデータのように見えますが、暗号化は論理的で予測可能なルールに従っています。 そうでなければ復号が不可能になってしまうため、そうでなくてはなりません。

暗号化アルゴリズムの安全性は、その複雑さに依存します。 現代の暗号化では、複雑なアルゴリズムと強力な鍵サイズを使用しているため、最強のスーパーコンピュータでさえ、妥当な時間内にすべての可能な答えを推測することはできません。

データは通常、保管済み(「保存中」)の場合と、デバイス間で送信済み(「転送中」)の場合に暗号化されます。

暗号化の例

暗号化の最もよく知られた例の一つは、ジュリアス・シーザーがメッセージをプライベートに保つために使用したシーザー暗号です。 この暗号では、元のテキストの各文字が、アルファベット順で一定数だけ前後にずらした別の文字に置き換えられます。 例えば、3文字後ろにずらすと、暗号文では「A」が「X」に、「B」が「Y」になります。

もちろん、暗号(暗号化に使用される特定のアルゴリズム)はその後進化してはるかに複雑になり、解読がはるかに困難になっています。 現代の暗号化は、プレーンテキストを暗号化し、暗号文をミリ秒単位で復号化できる複雑なアルゴリズムによって処理されるため、セキュリティのために利便性を犠牲にする必要はありません。

暗号化の種類

大きく分けて、暗号化には「共通鍵(対称)」と「公開鍵(非対称)」の2種類があります。 それぞれに長所と短所があります。

共通鍵暗号(対称暗号方式)

共通鍵暗号では、プレーンテキストの暗号化と暗号文の復号化に同じ鍵が使用されます。 シーザー暗号は、共通鍵暗号の歴史的な例です。

共通鍵暗号は公開鍵暗号(非対称暗号方式)よりもはるかに高速ですが、大きな欠点があります。攻撃者が鍵とメッセージの両方を傍受した場合、その内容を閲覧できてしまうことです。 送信中の鍵を保護するために、共通鍵暗号の鍵自体が公開鍵暗号を使用して暗号化されることがよくあります。

公開鍵暗号(非対称暗号方式)

公開鍵暗号では、情報の暗号化と復号化に異なる鍵が使用されます。 これらの鍵はペアになっています。差出人は公開鍵を使用して情報を暗号化し、宛先はプライベートなもの(秘密鍵)を使用してそれを復号化します。 誰でも公開鍵を使用して情報を暗号化できますが(これが公開鍵暗号とも呼ばれる理由です)、対応する秘密鍵を持っている人だけがそれを復号化できます。  

ドアに郵便受けがあるのと同じだと考えてください。誰でも手紙を投げ入れることはできますが、メールボックスを開けてそれらを読むには特別な鍵が必要です。 これにより、事前に秘密鍵を交換することなく、誰でもあなたにメッセージを送信できます。

共通鍵暗号と比較して、公開鍵暗号は暗号鍵を安全に共有するという難題を排除できるため、一般的に安全性が高いと考えられています。 しかし、処理速度が大幅に遅くなる傾向があるため、大量のデータを暗号化する場合にはあまり望ましくない選択肢となります。

暗号化アルゴリズムとは?

データを暗号化するサービスを利用する場合、暗号化は複雑な数式であるアルゴリズムによって処理されます。 主な2つのカテゴリは、共通鍵(対称)アルゴリズムと公開鍵(非対称)アルゴリズムです。

暗号鍵の安全性は、その長さ(ビット単位)に関連しています。 鍵の解読の難易度は、長さが増すにつれて指数関数的に増大します。

例えば、1ビットの鍵には2つの可能な値(1または0)しかないため、推測するのは簡単です。 しかし、128ビットの鍵には340澗(340の後に0が36個続く数)通りの組み合わせがあり、ブルートフォース攻撃は事実上不可能です。

一般的に、256ビットの共通鍵暗号の鍵は安全と見なされていますが、同等のセキュリティレベルを提供するために、非対称鍵(公開鍵暗号の鍵)は数千ビットの長さが必要になることがあります。

共通鍵暗号アルゴリズム

共通鍵アルゴリズムは通常、情報をビット単位で(ストリーム暗号)、または数バイトのブロック単位で(ブロック暗号)暗号化します。

共通鍵暗号を使用する主な利点は高速であることで、フルディスク暗号化やVPNトラフィックなどに適しています。

共通鍵暗号アルゴリズムの例としては、AES (Advanced Encryption Standard) や ChaCha20があります。

公開鍵暗号アルゴリズム

公開鍵暗号は、暗号文の暗号化と復号化に行う数学的計算のため、共通鍵暗号よりも低速です。 遅延はミリ秒単位ですが、大きなファイルを扱う場合にはこれが蓄積されます。

つまり、公開鍵暗号は主に鍵交換を処理するために使用され、大量のデータの暗号化には使用されません。 一般的に、データの暗号化には共通鍵暗号の鍵が使用され、その後、インターネットのようなオープンなネットワーク上で安全に転送できるように、非対称暗号(宛先の公開鍵で暗号化するなど)が適用されます。

一般的な公開鍵暗号アルゴリズムには、RSA (Rivest–Shamir–Adleman) 暗号方式や、暗号鍵の安全な合意に使用されるECDH (Elliptic-curve Diffie–Hellman) などがあります。

ECDHは、楕円曲線暗号 (ECC) の一種です。 ECCは、楕円曲線の構造(写真参照)を利用して、鍵を長くすることなく高い安全性を実現しており、メッセージングなどリソースが限られているアプリに有用です。

共通鍵暗号と公開鍵暗号:その違い

共通鍵暗号と公開鍵暗号
共通鍵暗号と公開鍵暗号

共通鍵暗号(対称暗号方式)

共通鍵暗号(対称暗号方式)

公開鍵暗号(非対称暗号方式)

方法

暗号化と復号の両方に単一の鍵を使用

2つの異なる鍵を使用 — 暗号化用の公開鍵と復号用の秘密鍵

速度

高速

遅い

鍵の長さ

通常 128-256 ビット

通常 RSAは2048ビット以上、ECCは256ビット以上

主な用途

ローカルシステムやデータベースなどの大容量データの保護

メッセージやその他の通信の保護

AES、ChaCha20

RSA、ECDH

なぜ暗号化は重要なのか?

暗号化の主な利点は、特にインターネットを経由する際に、情報をプライベートに保つことです。 暗号化はオンライン、特にメッセージングアプリや銀行アプリのような機密データを扱うサービスで一般的になっています。

実際、ほぼすべてのウェブサイトが現在TLS(URLの先頭にある「https」で示される)によって保護されています。 TLSは公開鍵暗号を使用して共通鍵暗号の鍵を安全に交換し、その後、共通鍵暗号に切り替えてセッション中のデータを保護します。

強力な暗号化は企業にとって特に重要です。HIPAA(米国の健康データを管理)、GDPR(欧州の一般データプライバシーを管理)、PCI DSS(世界の決済システムを管理)などのデータ規則に準拠するには、強力なデータ保護が不可欠だからです。

Protonはどのように暗号化を使用していますか?

Protonでは、お客様のプライバシーとセキュリティを第一に考えており、そのため、エンドツーエンド暗号化 (E2EE) と業界をリードする暗号技術を使用するようにアプリを設計しています。

可能な限り、当社のアプリはE2EEを使用しています。つまり、データはお客様のデバイス上で暗号化され、宛先のデバイスに届くまで復号化されません。 

これは、標準的なメールやクラウドストレージサービスとは対照的です。これらのサービスは従来、転送中にメッセージやファイルを暗号化し、サーバーに到着した時点で復号化し、保管のために再暗号化します。これらはすべて、サービス側が管理する暗号鍵を使用しています。 サービスプロバイダーがお客様のメッセージやファイルにいつでもアクセスするために必要な鍵を保持しているため、これは本質的に安全性が低くなります。

E2EEを適用するために、当社はOpenPGP標準を使用しています。これはTLSと同様に、共通鍵暗号の速度と公開鍵暗号のセキュリティを組み合わせたものです。 さらに、OpenPGPはオープンソースであるため、誰でも分析してその安全性を検証し、改善することができます。

各Protonサービスは、そのサービスの利用方法に応じて、異なる方法で暗号化を適用しています。 お客様がご自身のデータを確実に管理できるようにするために、当社がどのように暗号化を使用しているかをご紹介します。

当社のメールアプリは、ある Proton Mail ユーザーから別の Proton Mail ユーザーに送信されたメールをエンドツーエンドで暗号化します。

Proton Mail から非ユーザーに送信するメールでも、Password-protected Emails 機能を使用すると E2EE を有効にできます。

Proton Mail 内のすべてのメッセージは、ゼロアクセス暗号化で保管されます。

Proton VPN では、安全な 2 つのアルゴリズムである ChaCha20 または AES-256 のいずれかによって、すべてのインターネットトラフィックが暗号化されます。

さらに、Proton VPN は完全転送秘密性をサポートする暗号方式とプロトコルのみを使用しています。そのため、将来の VPN セッションが侵害された場合でも、過去のセッションの安全性は維持されます。

OpenPGP標準とECCを使用する当社のE2EEのおかげで、許可なく他人がお客様のProton Driveファイルにアクセスすることはできません。

これはファイル共有にも適用されるため、プライバシーを守りながら安心してProton Driveの写真、フォルダー、その他のアセットを簡単に共有できます。

お客様のすべてのユーザー名とパスワードは、当社の安全なパスワードマネージャーでE2EEにより暗号化されます。 

256ビットAES-GCM暗号化により、保管済みのすべてのアイテムは、ブルートフォース攻撃が不可能なランダムに生成された32バイトの鍵で暗号化された保管庫に保存され、すべての認証情報が安全に保たれます。

Proton Calendar は、OpenPGP 標準と ECC を使用し、予定の調整を含め、お客様の予定や連絡先をエンドツーエンド暗号化で保護します。

予定に誰かを招待したとき、または誰かがお客様との予定を予約したとき、その相手の情報は誰にも本人を特定できないよう暗号化されます。

Proton Meet は常時有効の E2EE を使用して通話を保護し、音声、動画、チャット、画面共有にアクセスできるのは参加者のみであることを保証します。

Messaging Layer Security(MLS)プロトコルを使用し、すべてのデータは送信される前にお客様のデバイス上で暗号化され、参加者の参加や退出に応じて暗号鍵が更新されるため、グループ通話に前方秘匿性と強力な保護が提供されます。

Protonの暗号化で身を守る

暗号化の仕組みが分かったところで、実際に活用してみましょう。 Protonでデータを保護しましょう。

暗号化に関するよくある質問

すべての暗号化は等しく安全ですか?
暗号化は将来も有効ですか?
暗号鍵が盗まれた場合、過去のメッセージをすべて閲覧されてしまいますか?
日常的な使用に暗号化は必要ですか?
暗号化はどのようにハッカーから守るのですか?
暗号化はパスワードと同じですか?
暗号化によってパフォーマンスは低下しますか?
暗号化されたデータを他人と共有できますか?
政府や法執行機関は、エンドツーエンド暗号化されたメッセージにアクセスできますか?
暗号化は合法ですか?

暗号化について詳しく知る