\r\n\r\n
暗号化はよくニュースで取り上げられますが、大抵は**間違った政策やテロの一部**の受け皿になっています。
これは、お客様の情報を安全に保つために、ほとんどのインターネットサービスで採用されている暗号化の重要性を無視したものです。
多くの種類があり、用途も異なる。では、「最適」な暗号の種類を知るにはどうすればよいのだろうか。
ここでは、主な暗号化の仕組みと、独自に暗号化を行うことが得策でない理由を説明します。
暗号用語の最大の誤解の一つは、暗号の種類、暗号アルゴリズム、それぞれの利点の違いからくるものです。
また、この後の議論を容易にするために、いくつかの暗号用語に慣れておく必要があります。
暗号の形式は、暗号の強さを担う暗号化アルゴリズムの基本であり、ここでは暗号の強さをビット数で説明する。
さらに、暗号化アルゴリズムについては、あなたが知っている以上に知っていることでしょう。ここでは、最も一般的な暗号化の種類と、その仕組みについての情報を紹介します。
データ暗号化規格は、アメリカのオリジナル**暗号化規格です。当初は解読不可能とされていたが、計算能力の向上とハードウェアのコスト削減により、56ビット暗号はほぼ時代遅れとなった。特に機密性の高いデータについては、その傾向が顕著です。
Deep Crackプロジェクトを担当するEFFの共同設立者John Gilmore氏は、"社会のセキュリティシステムやインフラを設計する際には、政治家ではなく暗号学者の意見を聞くことが重要だ "と述べている。同氏は、DESのクラッキングに記録的な時間がかかったことは、データのプライバシーを守るためにDESに依存している人々にとって「警鐘を鳴らす」べきだと警告している。
それにもかかわらず、DESは多くの製品に搭載されています。低レベルの暗号化は、多くの計算能力を必要とせず、簡単に実装することができます。そのため、ICカードやリソースが限られたデバイスに共通する特徴である。
TripleDES(3DESまたはTDESと表記されることもあります)は、DESの新しいバージョンで、より安全です。23時間足らずでDESが破られたことで、大きな問題が発生したことを認識したのです*2。そこで生まれたのが、DESを3回実行することで暗号化処理を拡張するTripleDESである。
データは暗号化され、復号化された後、再び暗号化されるため、有効な鍵長は168ビットとなります。機密性の高いデータにも十分な強度を誇ります。しかし、tripletは標準的なDESより強力ですが、それなりの欠点もあります。
TripleDESには3つのキーポイントがあります。
キーイングオプション1が最も強い。キーイングオプション2はそれほど強力ではありませんが、それでも単純にDESで2回暗号化するよりは保護されます。 TripleDESはパケット暗号で、データは固定ブロックサイズで順次暗号化されることを意味します。しかし、TripleDESのブロックサイズは64ビットと小さいため、特定の攻撃(ブロックコンフリクトなど)に対してやや脆弱である。
RSA(考案者のRon Rivest、Adi Shamir、Leonard Adlemanにちなんで命名)は、最初の公開鍵暗号アルゴリズムの1つである。先にリンクした記事にある一方向非対称暗号関数を使用しています。
RSAアルゴリズムは、インターネットの様々な場面で広く使われている。SSH、OpenPGP、S/MIME、SSL/TLSなど多くのプロトコルの主要機能です。また、ブラウザは安全でないネットワーク上で安全な通信を確立するためにRSAを使用しています。
RSAは、鍵の長さが1024ビットまたは2048ビットであるため、非常に人気があります。しかし、セキュリティ専門家は、1024ビットのRSAはすぐにクラックされると考えており、多くの**や商業組織は、より堅牢な2048ビットの鍵に移行するよう促しています。
AES(Advanced Encryption Standard)は、現在、米国**の暗号化規格として信頼されています。
ベルギー人の暗号学者Joan DaemenとVincent Rijmenが開発したRijndaelアルゴリズムがベースになっています。ベルギーの暗号技術者が米国標準技術局(NIST)に提出したアルゴリズムは、DESの正式な後継となるべく他の14のアルゴリズムと競われ、Rijndaelが「勝利」して2000年10月にAESアルゴリズム案として採用されたのである。
AESは、対称型パケット暗号を用いた共通鍵アルゴリズムである。128ビット、192ビット、256ビットの3つのキーサイズを含んでいます。また、鍵のサイズごとに暗号化ホイールが異なる。
ラウンドとは、平文を暗号文に変換する処理のことで、128ビットでは10ラウンド、192ビットでは12ラウンド、256ビットでは14ラウンドあります。
AESアルゴリズムに対する理論的な攻撃はありますが、いずれも現代では実現不可能な程度の計算能力とデータストレージを必要とします。例えば、攻撃を受けると約38兆テラバイトのデータが必要になりますが、これは2016年に世界中のすべてのコンピュータに保存されていたデータよりも多い量です。また、AES-128の鍵を暴力的に破るのに必要な総時間は数十億年という試算もあります。
したがって、暗号学者のBruce Schneierは、理論的な学術的暗号のブレークスルーを除いて、「誰かがRijndaelトラフィックを読むことができる攻撃を見つけるとは思わない」と述べています。シュナイアーのTwofish暗号アルゴリズム(後述)は、新しい****アルゴリズムの選択競争において、Rijndaelに直接挑戦するものである。
Twofishのアルゴリズムは、128、196、256ビットの鍵サイズと複雑な鍵構造を持ち、クラックを困難にしています。
セキュリティ専門家は、Twofishは最も高速な暗号化アルゴリズムの1つであり、ハードウェアとソフトウェアに最適な選択肢であると評価しています。また、Twofishのパスワードは誰でも無料で利用できます。
VeraCrypt(ドライブの暗号化)、PeaZip(ファイルのアーカイブ)、KeePass(オープンソースのパスワード管理)など、最高のフリー暗号化ソフトウェアや、OpenPGP標準に登場します。
皆さんは、最高の暗号化アルゴリズム(現在は消滅している)をいくつかご覧になったことがあると思います。これらのアルゴリズムは、(少なくとも現時点では)基本的に破ることができないので、最高のものです。
しかし、自作の暗号化アルゴリズムを作るのはどうだろう?安全でプライベートなシステムを作れば、データの安全性は保たれるのか?クイックリリース、ダメです!あるいは、もっといいのは、「いいえ、でも」と言うことです。
最高の暗号化アルゴリズムは、数学的に安全であり、最も強力なコンピュータと最も優秀な頭脳でテストされています。新しい暗号化アルゴリズムには、他のアルゴリズムを破ることが知られているテストや、新しいアルゴリズムに対する攻撃など、厳しい一連のテストが行われます。
AESアルゴリズムを例にして説明します。
つまり、真に安全で耐久性のある強固な暗号を作るには、地球上で最も強力なセキュリティ組織のいくつかが時間をかけて綿密に分析する必要があるということです。あるいは、ブルース・シュナイアーが言ったように。
「誰にも破れない暗号を作るのは簡単だが、誰にも破れない暗号を作るのは難しい。
それが、butの仕事です。もちろん、テキストを受け取って、各文字の文字値を13倍して、61を足して、相手に送るプログラムを書くこともできる。
出力はめちゃくちゃですが、受信者が解読方法を知っていれば機能する仕組みです。しかし、自作の暗号を野放しにして、プライベートな情報や機密情報を送信すると、嫌な思いをすることになる。
さらに仮説があります。暗号や暗号技術について学びたい方は、個人的に開発した暗号アルゴリズムの開発と解読に挑戦することを強くお勧めします。ただ、誰にも使わせないでください
暗号化は重要です。仕組みを理解しておくと便利ですが、使うことが必須というわけではありません。日常生活を簡単に暗号化する方法はたくさんあります。まずはハードディスクを暗号化することから始めましょう。
ハイパーネットワーク化されたグローバルコミュニティが安全であり続けるためには、暗号化が必要であることを認識することが不可欠です。残念ながら、より弱い暗号化規格を望む**や**機関**はたくさんあります。そんなことはあってはならない。
ルート証明書とは何か、そしてルート証明書がどのように安全なWebブラウジングを支援するのかをご存知ですか?