第14章サイバー資源の品質とサイバーコンピューティングのガバナンス
Open Problems in Cryptography暗号技術の未解決問題
The ongoing attacks and the need to defend crypto schemes require staying on top of best practices. Ideally, developers should write code that can be changed easily. Also, remember not to develop your own cryptographic mechanisms. Go through peer review and apply Kerckhoff’s principle. Do not even implement the underlying crypto, and do not misuse existing crypto.
英語のヒント
続く攻撃と暗号方式を防御する必要性から、最善の慣行に常に通じていなければならない。理想的には、開発者は容易に変更できるコードを書くべきである。独自の暗号機構を開発しないことも忘れてはならない。査読を受け、Kerckhoffの原理を適用する。基礎となる暗号そのものを実装することさえ避け、既存の暗号も誤用してはならない。
Information about a particular implementation could leak (e.g., power consumption, electromagnetic radiation, timing, errors). Attacks based on this are referred to as “side-channel attacks.” As an example, simple power analysis (SPA) may be used to interpret power traces during a cryptographic operation. Simple power analysis (Figure 14.17) can reveal the sequence of instructions that have been executed.
英語のヒント
特定の実装について、消費電力、電磁放射、タイミング、エラーなどの情報が漏れる場合がある。それに基づく攻撃を「サイドチャネル攻撃」という。たとえば単純電力解析(SPA)は、暗号演算中の電力の変化を解釈するために使える。SPA(図14.17)は、実行された命令の順序を明らかにできる。
Image omitted because its reuse rights could not be verified.権利の確認ができないため画像を割愛。
Figure 14.17 Simple power analysis can reveal specific instructions such as those shown here. (attribution: Copyright Rice University, OpenStax, under CC BY 4.0 license; credit: reproduced with permission from Dave Levin)
図14.17 単純電力解析は、ここに示すような特定の命令を明らかにできる。(帰属表示:著作権 Rice University、OpenStax。CC BY 4.0ライセンス。出典:Dave Levinの許可を得て転載。)
Assuming the program execution path depends on the inputs (i.e., key/data), SPA can be used to reveal the keys. Different from SPA, which visually inspects a single run, differential power analysis (DPA) can operate interactively and reactively across multiple samples. Using this approach, DPA can produce new plain text messages that can be passed as inputs repeatedly.
英語のヒント
プログラムの実行経路が入力、つまり鍵やデータに依存すると仮定すれば、SPAで鍵を明らかにできる。一回の実行を目視で調べるSPAと異なり、差分電力解析(DPA)は、複数のサンプルを対象に、対話的かつ反応的に動作できる。この方法では、入力として繰り返し渡せる新しい平文メッセージを生成できる。
In order to counter these types of attacks, it is necessary to hide information by making sure that the execution paths do not depend heavily on the inputs. This may require dropping optimizations that depend on specific bit values in keys. In the past, Chinese remainder theorem (CRT) optimizations allowed remote timed attacks on Secure Socket Layer (SSL) servers. In general, cryptosystems should be designed to resist information leaks.
英語のヒント
この種の攻撃に対抗するには、実行経路が入力に強く依存しないようにし、情報を隠す必要がある。そのために、鍵の特定のビット値に依存する最適化を捨てる必要があるかもしれない。過去には、中国剰余定理(CRT)による最適化が、Secure Socket Layer(SSL)サーバーへの遠隔タイミング攻撃を可能にした。一般に暗号システムは、情報漏えいに耐えるよう設計すべきである。
A different type of side-channel attack happens when keys are safely stored in memory, and attackers do not have access to a machine. In that case, if the attacker can access the physical machine and reboot it into an OS they control, it becomes possible for the attacker to look at the memory contents. While memory loses its state without content, it does so much more slowly at very cold temperatures. Therefore, an attacker could cool down the memory, shut down the machine, move the memory to a different machine, and boot it into a different OS. All that is left to do then is to scan the memory image for keys, which is difficult but feasible, assuming the keys have a format that is easy to detect. A couple of techniques can be used to counter these types of attacks. One solution is to encrypt all the memory, which requires additional CPU power. Another solution, which is used on Xbox, requires a trusted platform module (TPM) to store hardware keys, making installing them very difficult. Some TPM self-destruct when tampered with or keep keys in memory for a limited time (e.g., the keys are removed from memory when going to sleep mode).
英語のヒント
別の種類のサイドチャネル攻撃は、鍵がメモリーに安全に保存され、攻撃者が機械へアクセスできない場合に起こる。その場合でも、攻撃者が物理的な機械に触れ、自分の管理するOSで再起動できれば、メモリーの内容を見られるようになる。メモリーは内容を保てなくなると状態を失うが、非常に低い温度では、その進行がずっと遅い。したがって、メモリーを冷やして機械を停止し、別の機械へメモリーを移し、別のOSを起動できる。その後は、メモリーイメージを走査して鍵を探せばよい。難しいが、鍵の形式が検出しやすければ実行可能である。対抗策はいくつかある。一つは、追加のCPU能力を必要とするが、メモリー全体を暗号化することだ。もう一つはXboxで使う方法で、ハードウェア鍵を保存するためにTrusted Platform Module(TPM)を必要とし、その取り付けを非常に難しくする。TPMの中には、不正に触れると自壊するものや、鍵を限られた時間だけメモリーに置くものがある。たとえば、スリープモードに入ると鍵をメモリーから消去する。
There are new mechanisms to permit new types of interactions. A style of interaction that has been getting a lot of attention is the following:
新しい種類のやり取りを可能にする、新しい仕組みがある。大きな注目を集めてきたやり取りの形は、次のようなものである。
• Alice has proprietary data.
英語のヒント
• Aliceは、専有データを持っている。
• Bob has proprietary code (or computational resources).
• Bobは、専有コード、または計算資源を持っている。
• The goal is for Bob to run his code on Alice’s data without learning her input or the output.
英語のヒント
• 目標は、BobがAliceの入力や出力を知ることなく、彼女のデータに自分のコードを実行することである。
There are problems introduced earlier that still require usable solutions:
先に紹介した問題の中には、利用可能な解決策がまだ必要なものもある。
• Secure multiparty computation: For example, Alice and Bob both have data and want to know the output of a function over their private data without having to reveal their data to each other (e.g., “which of us has more money” without having to reveal exactly how much either has).20 Communication overhead and vulnerability to attacks from colluding parties are the main challenges. While there are techniques to solve these problems, they usually come with higher computational costs.
英語のヒント
• 安全なマルチパーティー計算:たとえばAliceとBobがそれぞれデータを持ち、互いにデータを明かさず、その非公開データに対する関数の出力を知りたい場合である。具体的には、双方の所持金を正確に明かさずに「どちらが多くのお金を持つか」を知る。20 主な課題は通信の余分な負担と、結託した参加者による攻撃への弱さである。解決手法はあるが、通常は計算コストが増える。
• Fully homomorphic encryption: Homomorphic encryption (HE) can perform computations on encrypted data without first decrypting it with a secret key. It then encrypts the computation results, and only the owner or the private key can decrypt them.21 Partial HE systems have been around since the 1970s, and a fully HE scheme that makes it possible to apply mathematical operations to encrypted data was first developed by Craig Gentry in 2009. However, fully homomorphic encryption in its current form is impractically slow.
英語のヒント
• 完全準同型暗号:準同型暗号(HE)は、秘密鍵で先に復号せず、暗号化データに対して計算できる。その後、計算結果を暗号化し、所有者または秘密鍵だけが復号できる。21 部分的なHEシステムは1970年代から存在する。暗号化データに数学的演算を適用できる完全HE方式は、Craig Gentryが2009年に初めて開発した。しかし現状の完全準同型暗号は、実用にならないほど遅い。