
暗号学において、暗号化(より正確には符号化)とは、理想的には権限のある者だけが解読できるような方法で情報を変換するプロセスである。このプロセスでは、平文と呼ばれる情報の元の表現が、暗号文と呼ばれる別の形式に変換される。暗号化は、その目的にもかかわらず、それ自体が傍受を防ぐものではなく、傍受しようとする者に対して理解可能な内容を遮断するものである。
技術的な理由から、暗号化方式では通常、アルゴリズムによって生成された擬似乱数暗号鍵が使用されます。鍵を持っていなくてもメッセージを復号することは可能ですが、適切に設計された暗号化方式では、相当な計算リソースとスキルが必要となります。権限のある受信者は、送信者から提供された鍵を使ってメッセージを容易に復号できますが、権限のないユーザーには復号できません。
歴史的に、暗号化を支援するためにさまざまな形式の暗号化が使用されてきました。初期の暗号化技術は、軍事メッセージングでよく使用されていました。それ以来、新しい技術が登場し、現代のコンピューティングのあらゆる分野で一般的になっています。[ 1 ]現代の暗号化方式は、公開鍵[ 2 ]と対称鍵[ 1 ]の概念を使用します。現代の暗号化技術は、現代のコンピュータが暗号化を解読するのに非効率的であるため、セキュリティを保証します。
最も初期の暗号化方式の 1 つは記号置換であり、これは紀元前 1900 年頃のエジプトに住んでいたクヌムホテプ 2 世の墓で初めて発見されました。記号置換暗号化は「非標準」であり、記号を理解するには暗号または鍵が必要です。この種の初期の暗号化は、古代ギリシャとローマで軍事目的で広く使用されました。[ 3 ] 最も有名な軍事暗号化の 1 つはシーザー暗号で、平文の文字をアルファベットに沿って固定数だけずらして暗号化された文字を取得します。このタイプの暗号化でエンコードされたメッセージは、シーザー暗号の固定数で復号できます。[ 4 ]
西暦800年頃、アラブの数学者アル・キンディは、シーザー暗号を含む暗号を体系的に解読しようとする試みである頻度分析の手法を開発しました。 [ 3 ]この手法は、暗号化されたメッセージ内の文字の頻度を調べて適切なシフトを決定します。たとえば、英語のテキストで最も頻繁に出現する文字はEであり、したがって、暗号文で最も頻繁に出現する文字で表される可能性が高いです。この手法は、アル・カルカシャンディ(1355~1418年)[ 2 ]とレオン・バッティスタ・アルベルティ(1465年)によって記述された多表式暗号によって無効になりました。多表式暗号は、暗号化の進行に伴って置換アルファベットを変化させることで、このような分析を混乱させました。
1790年頃、トーマス・ジェファーソンは、軍事通信のより安全な方法を提供するために、メッセージを暗号化および復号化する暗号を考案した。今日ではホイール暗号またはジェファーソンディスクとして知られるこの暗号は、実際に製作されることはなかったが、最大36文字の英語のメッセージを混乱させることができるスプールとして構想された。メッセージは、同じ暗号を備えた受信機に混乱したメッセージを差し込むことで復号化できた。[ 5 ]
ジェファーソン・ディスクに似た装置であるM-94は、1917年にアメリカ陸軍少佐ジョセフ・モーボーンによって独自に開発された。この装置は1942年までアメリカ軍の通信に使用された。[ 6 ]
第二次世界大戦中、枢軸国はM-94の改良版であるエニグマ暗号機を使用しました。エニグマ暗号機は、ジェファーソン・ホイールやM-94とは異なり、文字の組み合わせが毎日全く新しい組み合わせに変わるため、より複雑でした。毎日の組み合わせは枢軸国のみが知っていたため、多くの人は暗号を解読するには24時間以内に17,000以上の組み合わせを試すしかないと考えていました。[ 7 ]連合国はコンピューターの処理能力を利用して、毎日チェックする必要のある妥当な組み合わせの数を大幅に制限し、エニグマ暗号機の解読に成功しました。
今日では、セキュリティと商取引のために、インターネットを介した通信の転送に暗号化が使用されています。 [ 1 ]コンピューティング能力が増大し続けるにつれて、盗聴攻撃を防ぐためにコンピュータ暗号化は絶えず進化しています。[ 8 ]最初の「現代的」暗号スイートの 1 つです。DESは72,057,594,037,927,936 通りの可能性がある 56 ビットの鍵を使用していました。これは 1999 年にEFF のブルートフォースDES クラッカーによって解読されましたが、解読には 22 時間 15 分かかりました。現代の暗号化標準では、AES (256 ビット モード)、TwoFish、ChaCha20-Poly1305、Serpent (最大 512 ビットまで設定可能) など、より強力な鍵サイズがよく使用されます。 AESのように128ビット以上の鍵を使用する暗号スイートは、鍵の総数が3.4028237e+38通りもあるため、総当たり攻撃で解読することはできません。鍵サイズが大きい暗号を解読する最も可能性の高い方法は、暗号自体の脆弱性(固有のバイアスやバックドアなど)を見つけるか、サイドチャネル攻撃による物理的な副作用を利用することです。例えば、ストリーム暗号であるRC4は、暗号自体の固有のバイアスと脆弱性によって解読されました。
暗号化の文脈では、暗号化は機密性を確保するためのメカニズムとして機能します。[ 1 ]データはインターネット上で閲覧可能になる可能性があるため、パスワードや個人的な通信などの機密情報は、傍受される可能性があります。[ 1 ]メッセージの暗号化と復号化のプロセスには鍵が関係します。暗号システムにおける鍵の主な種類は、対称鍵と公開鍵(非対称鍵とも呼ばれる)の 2 つです。[ 9 ] [ 10 ]
多くの複雑な暗号アルゴリズムは、その実装において単純なモジュラ演算をよく使用する。[ 11 ]
対称鍵方式では、[ 12 ]暗号化鍵と復号鍵は同じです。安全な通信を実現するには、通信当事者は同じ鍵を持っている必要があります。ドイツのエニグマ暗号機は、メッセージの暗号化と復号に毎日新しい対称鍵を使用していました。
公開鍵暗号方式では、暗号化キーは誰でも使用してメッセージを暗号化できるように公開されます。ただし、メッセージを読み取ることができる復号キーにアクセスできるのは受信者のみです。[ 13 ]公開鍵暗号は、1973 年に秘密文書で初めて記述されました。[ 14 ]それ以前は、すべての暗号化方式は対称鍵(秘密鍵とも呼ばれる)でした。[ 15 ] : 478その後に発表されましたが、ディフィーとヘルマンの研究は読者数の多い雑誌に掲載され、その方法論の価値が明確に説明されました。[ 16 ]この方法は、ディフィー・ヘルマン鍵交換として知られるようになりました。
RSA(Rivest–Shamir–Adleman)は、もう1つの注目すべき公開鍵暗号システムです。1978年に開発され、現在でもデジタル署名を含むアプリケーションで使用されています。[ 17 ] RSAアルゴリズムは数論を用いて2つの素数を選択し、暗号化キーと復号キーの両方を生成します。[ 18 ]
Pretty Good Privacy (PGP)と呼ばれる公開鍵暗号化アプリケーションは、 1991 年にPhil Zimmermannによって作成され、ソースコードとともに無料で配布されました。PGP は2010 年にSymantecに買収され、定期的に更新されています。[ 19 ]
暗号化は、秘密通信を容易にするために、軍隊や政府によって長年使用されてきました。現在では、多くの種類の民間システム内の情報を保護するために一般的に使用されています。たとえば、コンピュータセキュリティ研究所は、2007年に調査した企業の71%が転送中のデータの一部に暗号化を使用し、53%が保存中のデータの一部に暗号化を使用したと報告しています。[ 20 ]暗号化は、コンピュータやストレージデバイス( USBフラッシュドライブなど)に保存されている情報など、「静止状態」のデータを保護するために使用できます。近年、ラップトップやバックアップドライブの紛失や盗難により、顧客の個人記録などの機密データが漏洩したという報告が多数あります。静止状態のファイルを暗号化することで、物理的なセキュリティ対策が失敗した場合にデータを保護するのに役立ちます。[ 21 ] [ 22 ] [ 23 ] 著作権で保護された素材の無断使用や複製を防止し、ソフトウェアをリバースエンジニアリングから保護するデジタル著作権管理システム(コピープロテクションも参照)は、静止状態のデータに暗号化を使用するもう1つのやや異なる例です。[ 24 ]
暗号化は、ネットワーク(インターネット、電子商取引など)、携帯電話、ワイヤレスマイク、ワイヤレスインターホンシステム、Bluetoothデバイス、銀行のATM を介して転送されるデータなど、転送中のデータを保護するためにも使用されます。近年、転送中のデータが傍受されたという報告が多数あります。[ 25 ]不正なユーザーによるネットワーク トラフィックの盗聴を防ぐために、ネットワークを介して送信されるデータも暗号化する必要があります。[ 26 ]
暗号化は、機密データの保護に関する規制要件を満たす上で中心的な役割を果たします。HIPAAセキュリティ規則では、電子保護医療情報(ePHI)の暗号化は「対応可能な」実装仕様として分類されており、対象事業体はそれを実装するか、同等の代替措置が合理的かつ適切である理由を文書化する必要があります。[ 27 ]特に、HIPAA侵害通知規則は暗号化されたデータに対してセーフハーバーを提供しており、NIST標準に従って暗号化されたePHIを含む侵害は報告対象の侵害とはみなされません。HIPAAセキュリティ規則の提案された更新(NPRM、2024年12月)では、ePHIの保存時および転送時の暗号化を必須要件とし、現在の「対応可能な」ステータスを削除します。[ 28 ]
ペイメントカード業界データセキュリティ基準(PCI DSS)では、カード所有者データの保存時(要件3)と公開ネットワークを介した送信時(要件4)の両方で暗号化を要求しており、強力な暗号化アルゴリズムの使用を規定している。[ 29 ]
ストレージ デバイスからデータを完全に削除する従来の方法では、デバイスの内容全体をゼロ、イチ、またはその他のパターンで上書きします。このプロセスは、ストレージ メディアの容量と種類によっては、かなりの時間がかかる場合があります。暗号化は、消去をほぼ瞬時に行う方法を提供します。この方法は、クリプト シュレッディングと呼ばれます。この方法の実装例はiOSデバイスで見ることができ、暗号鍵は専用の「消去可能なストレージ」に保存されます。[ 30 ]鍵が同じデバイスに保存されているため、この設定だけでは、不正な人物がデバイスに物理的にアクセスした場合、完全なプライバシーまたはセキュリティ保護を提供することはできません。
21世紀において、暗号化はデジタルデータや情報システムを保護するために用いられています。長年にわたりコンピューティング能力が向上するにつれ、暗号化技術はより高度化し、安全性も高まってきました。しかしながら、この技術の進歩は、今日の暗号化方式における潜在的な限界も露呈させています。
暗号化キーの長さは、暗号化方式の強度を示す指標です。例えば、元の暗号化キーであるDES(データ暗号化標準)は56ビットで、2^56通りの組み合わせが可能でした。今日のコンピューティング能力では、56ビットキーはもはや安全ではなく、総当たり攻撃に対して脆弱です。[ 31 ]
量子コンピューティングは、量子力学の特性を利用して大量のデータを同時に処理します。量子コンピューティングは、今日のスーパーコンピュータよりも数千倍速い計算速度を達成することがわかっています。[ 32 ]この計算能力は、今日の暗号化技術にとって課題となります。たとえば、RSA暗号化では、非常に大きな素数の乗算を使用して、公開鍵の半素数を生成します。秘密鍵なしでこの鍵を解読するには、この半素数を因数分解する必要がありますが、これは現代のコンピュータでは非常に長い時間がかかります。スーパーコンピュータでも、この鍵を因数分解するには数週間から数か月かかります。[ 33 ]しかし、量子コンピューティングは、通常のコンピュータが生成するのと同じ時間で量子アルゴリズムを使用してこの半素数を因数分解できます。これにより、現在の公開鍵暗号化で保護されているすべてのデータが量子コンピューティング攻撃に対して脆弱になります。[ 34 ]楕円曲線暗号や対称鍵暗号などの他の暗号化技術も、量子コンピューティングに対して脆弱です。
量子コンピューティングは将来的に暗号化のセキュリティに対する脅威となる可能性があるが、現状の量子コンピューティングはまだ非常に限定的である。量子コンピューティングは現在商用利用できず、大量のコードを処理できず、コンピュータではなく計算装置としてのみ存在する。[ 35 ]さらに、量子コンピューティングの進歩は暗号化にも役立つ可能性がある。国家安全保障局(NSA)は現在、将来に向けたポスト量子暗号化標準を準備している。[ 36 ]量子暗号化は、量子コンピューティングの脅威に対抗できるレベルのセキュリティを約束する。[ 35 ]
暗号化は重要なツールですが、機密情報のセキュリティやプライバシーをそのライフサイクル全体にわたって確保するには、それだけでは不十分です。ほとんどの暗号化アプリケーションは、情報を保存時または転送時にのみ保護し、機密データは平文のまま残るため、クラウドサービスなどによる処理中に不正に開示される可能性があります。準同型暗号化とセキュアマルチパーティ計算は、暗号化されたデータを計算するための新しい技術です。これらの技術は汎用的でチューリング完全ですが、計算コストや通信コストが高くなります。
保存データの暗号化に対応して、サイバー攻撃者は新しいタイプの攻撃を開発しました。保存データの暗号化に対する最近の脅威には、暗号攻撃[ 37 ] 、盗まれた暗号文攻撃[ 38 ]、暗号鍵への攻撃[ 39 ] 、内部攻撃、データ破損または完全性攻撃[ 40 ] 、データ破壊攻撃、ランサムウェア攻撃などがあります。データ断片化[ 41 ]およびアクティブ防御[ 42 ]データ保護技術は、暗号文を分散、移動、または変更して識別、盗難、破損、または破壊をより困難にすることで、これらの攻撃の一部に対抗しようとします[ 43 ] 。
国家安全保障の必要性とプライバシーの権利のバランスを取るという問題は、暗号化が今日のデジタル社会で重要になって以来、長年にわたって議論されてきた。現代の暗号化に関する議論[ 44 ]は、米国政府が国家安全保障を脅かすとして暗号化を禁止しようとした1990年代頃に始まった。この議論は、2つの相反する見解に二分されている。強力な暗号化は犯罪者がオンラインで違法行為を隠蔽しやすくする問題だと考える人々と、暗号化によってデジタル通信が安全になると主張する人々である。この議論は、AppleやGoogleなどの大手テクノロジー企業がデバイスで暗号化をデフォルトで設定した2014年に激化した。これが、政府、企業、インターネットユーザーを危険にさらす一連の論争の始まりとなった。
暗号化自体はメッセージの機密性を保護できますが、メッセージの完全性と真正性を保護するには、他の技術も必要です。たとえば、メッセージ認証コード(MAC)やデジタル署名の検証は、通常、ハッシュアルゴリズムまたはPGP署名によって行われます。認証付き暗号化アルゴリズムは、暗号化と完全性保護の両方を同時に提供するように設計されています。暗号化を実行するための暗号化ソフトウェアとハードウェアの標準は広く利用可能ですが、セキュリティを確保するために暗号化をうまく使用することは困難な問題となる可能性があります。システム設計または実行における単一のエラーが、攻撃の成功につながる可能性があります。攻撃者は、暗号化を直接解除することなく、暗号化されていない情報を取得できる場合があります。たとえば、トラフィック分析、TEMPEST、またはトロイの木馬を参照してください。[ 45 ]
MACやデジタル署名などの完全性保護メカニズムは、通常メッセージの作成に使用されたデバイス上で、メッセージがエンドツーエンドで伝送経路全体にわたって保護されるように、暗号文が最初に作成されたときに適用する必要があります。そうしないと、送信者と暗号化エージェントの間のどのノードでも改ざんされる可能性があります。作成時に暗号化することは、暗号化デバイス自体が正しい鍵を持ち、改ざんされていない場合にのみ安全です。たとえば、エンドポイントデバイスが攻撃者が制御するルート証明書を信頼するように構成されている場合、攻撃者はメッセージの経路上のどこでも中間者攻撃を実行することで、暗号化されたデータを検査したり改ざんしたりできます。ネットワークオペレーターによるTLS傍受の一般的な慣行は、このような攻撃の制御され、制度的に承認された形態を表していますが、国はこのような攻撃を制御と検閲の形態として利用しようともしています。[ 46 ]
暗号化によってメッセージの内容を効果的に隠蔽し、改ざんを防ぐことができる場合でも、暗号文の長さは機密情報を漏洩させる可能性のあるメタデータの一種として残ります。たとえば、HTTPSに対する有名なCRIMEおよびBREACH攻撃は、サイドチャネル攻撃として暗号化されたメッセージの長さによる情報漏洩を悪用しました。[ 47 ]トラフィック分析は、メッセージのサイズやタイミングなどのメタデータを使用して通信パターンに関する情報を推測する技術をより広義に指します。
暗号化前にメッセージにパディングを適用すると、実際の平文の長さを隠蔽するのに役立ちますが、暗号文のサイズが大きくなり、帯域幅のオーバーヘッドが増加します。パディングはランダムまたは決定論的に適用でき、それぞれ異なるトレードオフがあります。データを暗号化してパディングし、パディングされた均一ランダムブロブ(PURB)を生成すると、暗号文が平文の構造に関するメタデータを一切明らかにせず、漸近的に最小限の情報しか漏洩しないことが保証されます。その長さを通して情報が得られる。 [ 48 ]
{{citation}}ISBN /日付の不一致(ヘルプ)