[要約] RFC 4270は、インターネットプロトコルにおける暗号ハッシュ関数への攻撃に関する文書です。このRFCの主な目的は、MD5やSHA-1などのハッシュ関数が直面している潜在的な脆弱性と、それらがセキュリティプロトコルに与える影響を分析し、説明することにあります。利用場面としては、セキュリティプロトコルの設計者や実装者が、これらの脆弱性を理解し、より安全なシステムを設計する際の参考資料として用いられます。関連するRFCには、MD5やSHA-1を定義するRFC1321、RFC3174があり、また、より安全なハッシュ関数への移行を促すRFC6194などが関連します。

Network Working Group                                         P. Hoffman
Request for Comments: 4270                                VPN Consortium
Category: Informational                                      B. Schneier
                                           Counterpane Internet Security
                                                           November 2005
        

Attacks on Cryptographic Hashes in Internet Protocols

インターネットプロトコルの暗号化ハッシュに対する攻撃

Status of This Memo

本文書の状態

This memo provides information for the Internet community. It does not specify an Internet standard of any kind. Distribution of this memo is unlimited.

このメモは、インターネットコミュニティに情報を提供します。いかなる種類のインターネット標準も規定していません。このメモの配布は無制限です。

Copyright Notice

著作権表示

Copyright (C) The Internet Society (2005).

Copyright(C)The Internet Society(2005)。

Abstract

概要

Recent announcements of better-than-expected collision attacks in popular hash algorithms have caused some people to question whether common Internet protocols need to be changed, and if so, how. This document summarizes the use of hashes in many protocols, discusses how the collision attacks affect and do not affect the protocols, shows how to thwart known attacks on digital certificates, and discusses future directions for protocol designers.

一般的なハッシュアルゴリズムでの予想よりも優れた衝突攻撃に関する最近の発表により、一部の人々は、一般的なインターネットプロトコルを変更する必要があるかどうか、変更する必要がある場合はどのように変更する必要があるかを疑問視しています。このドキュメントでは、多くのプロトコルでのハッシュの使用を要約し、衝突攻撃がプロトコルに及ぼす影響とプロトコルに影響を与えない方法、デジタル証明書に対する既知の攻撃を阻止する方法、およびプロトコル設計者の今後の方向性について説明します。

1. Introduction
1. はじめに

In summer 2004, a team of researchers showed concrete evidence that the MD5 hash algorithm was susceptible to collision attacks [MD5-attack]. In early 2005, the same team demonstrated a similar attack on a variant of the SHA-1 [RFC3174] hash algorithm, with a prediction that the normally used SHA-1 would also be susceptible with a large amount of work (but at a level below what should be required if SHA-1 worked properly) [SHA-1-attack]. Also in early 2005, researchers showed a specific construction of PKIX certificates [RFC3280] that use MD5 for signing [PKIX-MD5-construction], and another researcher showed a faster method for finding MD5 collisions (eight hours on a 1.6-GHz computer) [MD5-faster].

2004年の夏に、研究者のチームは、MD5ハッシュアルゴリズムが衝突攻撃の影響を受けやすいという具体的な証拠を示しました[MD5-attack]。 2005年の初めに、同じチームがSHA-1 [RFC3174]ハッシュアルゴリズムの変種に対して同様の攻撃を示しましたが、通常使用されるSHA-1も大量の作業に影響されやすい(ただし、以下は、SHA-1が適切に機能した場合に必要なこと)[SHA-1-attack]。また、2005年の初めに、MD5を使用して署名するPKIX証明書[RFC3280]の特定の構造[PKIX-MD5-construction]が示され、別の研究者がMD5衝突を検出するためのより高速な方法を示しました(1.6 GHzコンピュータで8時間) [MD5-faster]。

Because of these announcements, there has been a great deal of discussion by cryptography experts, protocol designers, and other concerned people about what, if anything, should be done based on the news. Unfortunately, some of these discussions have been based on erroneous interpretations of both the news and on how hash algorithms are used in common Internet protocols.

これらの発表により、暗号の専門家、プロトコル設計者、その他関係者の間で、ニュースに基づいて何をすべきかについて多くの議論がありました。残念ながら、これらの議論の一部は、ニュースの誤った解釈と、一般的なインターネットプロトコルでのハッシュアルゴリズムの使用方法に基づいています。

Hash algorithms are used by cryptographers in a variety of security protocols, for a variety of purposes, at all levels of the Internet protocol stack. They are used because they have two security properties: to be one way and collision free. (There is more about these properties in the next section; they're easier to explain in terms of breaking them.) The recent attacks have demonstrated that one of those security properties is not true. While it is certainly possible, and at a first glance even probable, that the broken security property will not affect the overall security of many specific Internet protocols, the conservative security approach is to change hash algorithms. The Internet protocol community needs to migrate in an orderly manner away from SHA-1 and MD5 -- especially MD5 -- and toward more secure hash algorithms.

ハッシュアルゴリズムは、暗号技術者がインターネットプロトコルスタックのすべてのレベルで、さまざまな目的でさまざまなセキュリティプロトコルで使用します。これらは、2つのセキュリティプロパティがあるために使用されます。一方向であり、衝突がないことです。 (これらのプロパティについては、次のセクションで詳しく説明します。それらを壊すという観点から説明する方が簡単です。)最近の攻撃では、これらのセキュリティプロパティの1つが正しくないことが示されています。壊れたセキュリティプロパティが多くの特定のインターネットプロトコルの全体的なセキュリティに影響を及ぼさないことは確かに可能であり、一見さえありそうですが、保守的なセキュリティアプローチはハッシュアルゴリズムを変更することです。インターネットプロトコルコミュニティは、SHA-1およびMD5(特にMD5)から、より安全なハッシュアルゴリズムに向けて整然と移行する必要があります。

This document summarizes what is currently known about hash algorithms and the Internet protocols that use them. It also gives advice on how to avoid the currently known problems with MD5 and SHA-1, and what to consider if predicted attacks become real.

このドキュメントは、ハッシュアルゴリズムとそれらを使用するインターネットプロトコルについて現在知られていることを要約しています。また、MD5とSHA-1で現在知られている問題を回避する方法、および予測された攻撃が現実のものになった場合の考慮事項についてもアドバイスします。

A high-level summary of the current situation is:

現在の状況の概要は次のとおりです。

o Both MD5 and SHA-1 have newly found attacks against them, the attacks against MD5 being much more severe than the attacks against SHA-1.

o MD5とSHA-1の両方に新しく攻撃が見つかりました。MD5に対する攻撃は、SHA-1に対する攻撃よりもはるかに深刻です。

o The attacks against MD5 are practical on any modern computer.

o MD5に対する攻撃は、最近のどのコンピュータでも実用的です。

o The attacks against SHA-1 are not feasible with today's computers, but will be if the attacks are improved or Moore's Law continues to make computing power cheaper.

o SHA-1に対する攻撃は、今日のコンピューターでは実行可能ではありませんが、攻撃が改善されるか、ムーアの法則が計算能力をより安くし続ける場合に起こります。

o Many common Internet protocols use hashes in ways that are unaffected by these attacks.

o 多くの一般的なインターネットプロトコルは、これらの攻撃の影響を受けない方法でハッシュを使用します。

o Most of the affected protocols use digital signatures.

o 影響を受けるプロトコルのほとんどはデジタル署名を使用しています。

o Better hash algorithms will reduce the susceptibility of these attacks to an acceptable level for all users.

o より優れたハッシュアルゴリズムは、これらの攻撃の脆弱性をすべてのユーザーが許容できるレベルに減らします。

2. Hash Algorithms and Attacks on Them
2. ハッシュアルゴリズムとその攻撃

A "perfect" hash algorithm has a few basic properties. The algorithm converts a chunk of data (normally, a message) of any size into a fixed-size result. The length of the result is called the "hash length" and is often denoted as "L"; the result of applying the hash algorithm on a particular chunk of data is called the "hash value" for that data. Any two different messages of any size should have an exceedingly small probability of having the same hash value, regardless of how similar or different the messages are.

「完全な」ハッシュアルゴリズムには、いくつかの基本的なプロパティがあります。アルゴリズムは、任意のサイズのデータ​​のチャンク(通常はメッセージ)を固定サイズの結果に変換します。結果の長さは「ハッシュ長」と呼ばれ、しばしば「L」と表されます。データの特定のチャンクにハッシュアルゴリズムを適用した結果は、そのデータの「ハッシュ値」と呼ばれます。任意のサイズの2つの異なるメッセージは、メッセージの類似性や相違に関係なく、同じハッシュ値を持つ可能性が非常に低いはずです。

This description leads to two mathematical results. Finding a pair of messages M1 and M2 that have the same hash value takes 2^(L/2) attempts. For any reasonable hash length, this is an impossible problem to solve (collision free). Also, given a message M1, finding any other message M2 that has the same hash value as M1 takes 2^L attempts. This is an even harder problem to solve (one way).

この説明は、2つの数学的結果につながります。同じハッシュ値を持つメッセージM1とM2のペアを見つけるには、2 ^(L / 2)回の試行が必要です。妥当なハッシュ長の場合、これは解決が不可能な問題です(衝突なし)。また、メッセージM1が与えられた場合、M1と同じハッシュ値を持つ他のメッセージM2を見つけると、2 ^ L回試行されます。これは、解決がさらに難しい問題です(一方向)。

Note that this is the description of a perfect hash algorithm; if the algorithm is less than perfect, an attacker can expend less than the full amount of effort to find two messages with the same hash value.

これは完全なハッシュアルゴリズムの説明であることに注意してください。アルゴリズムが完全ではない場合、攻撃者は、同じハッシュ値を持つ2つのメッセージを見つけるために、全額未満の労力を費やす可能性があります。

There are two categories of attacks.

攻撃には2つのカテゴリがあります。

Attacks against the "collision-free" property:

「衝突のない」プロパティに対する攻撃:

o A "collision attack" allows an attacker to find two messages M1 and M2 that have the same hash value in fewer than 2^(L/2) attempts.

o 「衝突攻撃」により、攻撃者は2 ^(L / 2)回未満の試行で同じハッシュ値を持つ2つのメッセージM1とM2を見つけることができます。

Attacks against the "one-way" property:

「一方向」のプロパティに対する攻撃:

o A "first-preimage attack" allows an attacker who knows a desired hash value to find a message that results in that value in fewer than 2^L attempts.

o 「最初のプリイメージ攻撃」では、目的のハッシュ値を知っている攻撃者が、2 ^ L回未満の試行でその値になるメッセージを見つけることができます。

o A "second-preimage attack" allows an attacker who has a desired message M1 to find another message M2 that has the same hash value in fewer than 2^L attempts.

o 「2番目のプリイメージ攻撃」では、目的のメッセージM1を持つ攻撃者が、同じハッシュ値を持つ2 ^ L回未満の試行で別のメッセージM2を見つけることができます。

The two preimage attacks are very similar. In a first-preimage attack, you know a hash value but not the message that created it, and you want to discover any message with the known hash value; in the second-preimage attack, you have a message and you want to find a second message that has the same hash. Attacks that can find one type of preimage can often find the other as well.

2つのプリイメージ攻撃は非常に似ています。最初のプリイメージ攻撃では、ハッシュ値はわかっていますが、それを作成したメッセージはわかっていません。既知のハッシュ値を持つメッセージを発見したいとします。 2番目のプリイメージ攻撃では、メッセージがあり、同じハッシュを持つ2番目のメッセージを見つけたいとします。 1つのタイプのプリイメージを見つけることができる攻撃は、他のタイプも見つけることができます。

When analyzing the use of hash algorithms in protocols, it is important to differentiate which of the two properties of hashes are important, particularly now that the collision-free property is becoming weaker for currently popular hash algorithms. It is certainly important to determine which parties select the material being hashed. Further, as shown by some of the early work, particularly [PKIX-MD5-construction], it is also important to consider which party can predict the material at the beginning of the hashed object.

プロトコルでのハッシュアルゴリズムの使用を分析する場合、ハッシュの2つのプロパティのどちらが重要であるかを区別することが重要です。特に、現在一般的なハッシュアルゴリズムでは衝突のないプロパティが弱くなっているためです。ハッシュ化される素材を選択する当事者を決定することは確かに重要です。さらに、初期の作業の一部、特に[PKIX-MD5-construction]で示されているように、ハッシュされたオブジェクトの先頭でマテリアルを予測できる当事者を検討することも重要です。

2.1. Currently Known Attacks
2.1. 現在知られている攻撃

All the currently known practical or almost-practical attacks on MD5 and SHA-1 are collision attacks. This is fortunate: significant first- and second-preimage attacks on a hash algorithm would be much more devastating in the real world than collision attacks, as described later in this document.

MD5とSHA-1に対する現在知られているすべての実用的またはほぼ実用的な攻撃はすべて衝突攻撃です。これは幸運です。このドキュメントで後述するように、ハッシュアルゴリズムに対する重要な1回目と2回目のプリイメージ攻撃は、衝突攻撃よりも現実の世界では壊滅的なものになります。

It is also important to note that the current collision attacks require at least one of the two messages to have a fair amount of structure in the bits of the message. This means that finding two messages that both have the same hash value *and* are useful in a real-world attack is more difficult than just finding two messages with the same hash value.

また、現在の衝突攻撃では、2つのメッセージのうち少なくとも1つが、メッセージのビットにかなりの量の構造を持っている必要があることに注意することも重要です。つまり、同じハッシュ値を持つ2つのメッセージを見つけることは、同じハッシュ値を持つ2つのメッセージを見つけるよりも、実際の攻撃に役立つことになります。

3. How Internet Protocols Use Hash Algorithms
3. インターネットプロトコルでのハッシュアルゴリズムの使用方法

Hash algorithms are used in many ways on the Internet. Most protocols that use hash algorithms do so in a way that makes them immune to harm from collision attacks. This is not by accident: good protocol designers develop their protocols to withstand as many future changes in the underlying cryptography as possible, including attacks on the cryptographic algorithms themselves.

ハッシュアルゴリズムは、インターネットでさまざまな方法で使用されます。ハッシュアルゴリズムを使用するほとんどのプロトコルは、衝突攻撃による害を免れるようにハッシュアルゴリズムを使用します。これは偶然ではありません。優れたプロトコル設計者は、暗号化アルゴリズム自体への攻撃を含め、基礎となる暗号化の将来の多くの変更に耐えるようにプロトコルを開発します。

Uses for hash algorithms include:

ハッシュアルゴリズムの用途は次のとおりです。

o Non-repudiable digital signatures on messages. Non-repudiation is a security service that provides protection against false denial of involvement in a communication. S/MIME and OpenPGP allow mail senders to sign the contents of a message they create, and the recipient of that message can verify whether or not the signature is actually associated with the message. A message is used for non-repudiation if the message is signed and the recipient of the message can later use the signature to prove that the signer indeed created the message.

o メッセージの否認不可のデジタル署名。否認防止は、通信への関与の誤った拒否に対する保護を提供するセキュリティサービスです。 S / MIMEとOpenPGPを使用すると、メール送信者は作成したメッセージのコンテンツに署名でき、そのメッセージの受信者は、署名が実際にメッセージに関連付けられているかどうかを確認できます。メッセージが署名され、メッセージの受信者が後で署名を使用して、署名者が実際にメッセージを作成したことを証明できる場合、メッセージは否認防止に使用されます。

o Digital signatures in certificates from trusted third parties. Although this is similar to "digital signatures on messages", certificates themselves are used in many other protocols for authentication and key management.

o 信頼できるサードパーティからの証明書のデジタル署名。これは「メッセージのデジタル署名」に似ていますが、証明書自体は他の多くのプロトコルで認証とキー管理に使用されます。

o Challenge-response protocols. These protocols combine a public large random number with a value to help hide the value when being sent over unencrypted channels.

o チャレンジ/レスポンスプロトコル。これらのプロトコルは、公開された大きな乱数と値を組み合わせて、暗号化されていないチャネルを介して送信されるときに値を非表示にします。

o Message authentication with shared secrets. These are similar to challenge-response protocols, except that instead of using public values, the message is combined with a shared secret before hashing.

o 共有シークレットによるメッセージ認証。これらは、チャレンジ/レスポンスプロトコルに似ていますが、パブリック値を使用する代わりに、ハッシュする前にメッセージが共有シークレットと結合されます。

o Key derivation functions. These functions make repeated use of hash algorithms to mix data into a random string for use in one or more keys for a cryptographic protocol.

o 主要な派生関数。これらの関数は、ハッシュアルゴリズムを繰り返し使用して、データをランダムな文字列に混合し、暗号化プロトコルの1つ以上のキーで使用します。

o Mixing functions. These functions also make repeated use of hash algorithms to mix data into random strings, for uses other than cryptographic keys.

o ミキシング機能。これらの関数は、ハッシュアルゴリズムを繰り返し使用して、データをランダムな文字列に混合し、暗号化キー以外の用途にも使用します。

o Integrity protection. It is common to compare a hash value that is received out-of-band for a file with the hash value of the file after it is received over an unsecured protocol such as FTP.

o 完全性の保護。 FTPなどのセキュリティで保護されていないプロトコルを介して受信された後、ファイルの帯域外で受信されたハッシュ値をファイルのハッシュ値と比較することは一般的です。

Of the above methods, only the first two are affected by collision attacks, and even then, only in limited circumstances. So far, it is believed that, in general, challenge-response protocols are not susceptible, because the sender is authenticating a secret already stored by the recipient. In message authentication with shared secrets, the fact that the secret is known to both parties is also believed to prevent any sensible attack. All key derivation functions in IETF protocols take random input from both parties, so the attacker has no way of structuring the hashed message.

上記の方法のうち、最初の2つだけが衝突攻撃の影響を受け、それでも限られた状況でのみ影響を受けます。これまでのところ、送信者は受信者がすでに保存している秘密を認証しているため、一般的に、チャレンジ/レスポンスプロトコルは影響を受けないと考えられています。共有シークレットを使用するメッセージ認証では、シークレットが両方の当事者に知られているという事実も、賢明な攻撃を防ぐと考えられています。 IETFプロトコルのすべての主要な派生関数は、両方の当事者からランダムに入力を受け取るため、攻撃者はハッシュされたメッセージを構造化する方法がありません。

4. Hash Collision Attacks and Non-Repudiation of Digital Signatures
4. ハッシュ衝突攻撃とデジタル署名の否認防止

The basic idea behind the collision attack on a hash algorithm used in a digital-signature protocol is that the attacker creates two messages that have the same hash value, causes one of them to be signed, and then uses that signature over the other message for some nefarious purpose. The specifics of the attack depend on the protocol being used and what the victim does when presented with the signed message.

デジタル署名プロトコルで使用されるハッシュアルゴリズムへの衝突攻撃の背後にある基本的な考え方は、攻撃者が同じハッシュ値を持つ2つのメッセージを作成し、そのうちの1つに署名させ、その署名を他のメッセージに使用することです。いくつかの悪意のある目的。攻撃の詳細は、使用されているプロトコルと、署名されたメッセージが表示されたときに被害者が行うことによって異なります。

The canonical example is where you create two messages, one of which says "I will pay $10 for doing this job" and the other of which says "I will pay $10,000 for doing this job". You present the first message to the victim, get them to sign it, do the job, substitute the second message in the signed authorization, present the altered signed message (whose signature still verifies), and demand the higher amount of money. If the victim refuses, you take them to court and show the second signed message.

正規の例では、2つのメッセージを作成します。1つは「この仕事をするために10ドルを支払う」と言い、もう1つは「この仕事をするために10,000ドルを支払う」と言います。最初のメッセージを被害者に提示し、署名してもらい、仕事を行い、署名された承認の2番目のメッセージを置き換え、変更された署名付きメッセージ(署名はまだ検証されています)を提示し、より高い金額を要求します。被害者が拒否した場合は、法廷に連れて行き、2つ目の署名付きメッセージを表示します。

Most non-repudiation attacks rely on a human assessing the validity of the purportedly signed message. In the case of the hash-collision attack, the purportedly signed message's signature is valid, but so is the signature on the original message. The victim can produce the original message, show that he/she signed it, and show that the two hash values are identical. The chance of this happening by accident is one in 2^L, which is infinitesimally small for either MD5 or SHA-1.

ほとんどの否認防止攻撃は、意図的に署名されたメッセージの有効性を評価する人間に依存しています。ハッシュ衝突攻撃の場合、署名されたとされるメッセージの署名は有効ですが、元のメッセージの署名も有効です。被害者は元のメッセージを生成し、署名したことを示し、2つのハッシュ値が同一であることを示すことができます。これが偶然に発生する可能性は、2 ^ Lに1つです。これは、MD5またはSHA-1のいずれについても、非常に小さいものです。

In other words, to thwart a hash collision attack in a non-repudiation protocol where a human is using a signed message as authorization, the signer needs to keep a copy of the original message he/she signed. Messages that have other messages with the same hash must be created by the same person, and do not happen by accident under any known probable circumstances. The fact that the two messages have the same hash value should cause enough doubt in the mind of the person judging the validity of the signature to cause the legal attack to fail (and possibly bring intentional fraud charges against the attacker).

つまり、人間が署名付きメッセージを承認として使用している否認防止プロトコルでのハッシュ衝突攻撃を阻止するには、署名者は署名した元のメッセージのコピーを保持する必要があります。同じハッシュを持つ他のメッセージを持つメッセージは、同じ人物が作成する必要があり、既知の考えられる状況では偶然に発生することはありません。 2つのメッセージのハッシュ値が同じであるという事実は、署名の有効性を判断する人の頭に十分な疑念を引き起こし、法的攻撃を失敗させる可能性があります(攻撃者に対して意図的な不正請求をもたらす可能性があります)。

Thwarting hash collision attacks in automated non-repudiation protocols is potentially more difficult, because there may be no humans paying enough attention to be able to argue about what should have happened. For example, in electronic data interchange (EDI) applications, actions are usually taken automatically after authentication of a signed message. Determining the practical effects of hash collisions would require a detailed evaluation of the protocol.

自動化された否認防止プロトコルでのハッシュ衝突攻撃を阻止することは、何が起こったのかについて議論することができるように十分な注意を払っている人間がいない可能性があるため、潜在的にさらに困難です。たとえば、電子データ交換(EDI)アプリケーションでは、通常、署名されたメッセージの認証後にアクションが自動的に実行されます。ハッシュ衝突の実際的な影響を判断するには、プロトコルの詳細な評価が必要です。

5. Hash Collision Attacks and Digital Certificates from Trusted Third Parties

5. 信頼できるサードパーティからのハッシュ衝突攻撃とデジタル証明書

Digital certificates are a special case of digital signatures. In general, there is no non-repudiation attack on trusted third parties due to the fact that certificates have specific formatting. Digital certificates are often used in Internet protocols for key management and for authenticating a party with whom you are communicating, possibly before granting access to network services or trusting the party with private data such as credit card information.

デジタル証明書は、デジタル署名の特殊なケースです。一般に、証明書には特定のフォーマットがあるため、信頼できるサードパーティに対する否認防止攻撃はありません。デジタル証明書は、多くの場合、インターネットプロトコルでキー管理や、ネットワークサービスへのアクセスを許可する前、またはクレジットカード情報などのプライベートデータでパーティーを信頼する前に、通信相手の認証に使用されます。

It is therefore important that the granting party can trust that the certificate correctly identifies the person or system identified by the certificate. If the attacker can get a certificate for two different identities using just one public key, the victim can be fooled into believing that one person is someone else.

したがって、許可する側が、証明書が証明書によって識別される個人またはシステムを正しく識別することを信頼できることが重要です。攻撃者が1つの公開鍵だけを使用して2つの異なるIDの証明書を取得できる場合、被害者はだまされて1人が他の誰かであると信じ込むことができます。

The collision attack on PKIX certificates described in early 2005 relied on the ability of the attacker to create two different public keys that would cause the body of the certificate to have the same hash value. For this attack to work, the attacker needs to be able to predict the contents and structure of the certificate before it is issued, including the identity that will be used, the serial number that will be included in the certificate, and the start and stop dates of the validity period for the certificate.

2005年の初めに説明されたPKIX証明書に対する衝突攻撃は、証明書の本体に同じハッシュ値を持たせる2つの異なる公開鍵を作成する攻撃者の能力に依存していました。この攻撃が機能するためには、攻撃者は、発行される前に、使用されるID、証明書に含まれるシリアル番号、開始と停止など、証明書の内容と構造を予測できる必要があります。証明書の有効期間の日付。

The effective result of this attack is that one person using a single identity can get a digital certificate over one public key, but be able to pretend that it is over a different public key (but with the same identity, valid dates, and so on). Because the identity in the two certificates is the same, there are probably no real-world examples where such an attack would get the attacker any advantage. At best, someone could claim that the trusted third party made a mistake by issuing a certificate with the same identity and serial number based on two different public keys. This is indeed far-fetched.

この攻撃の効果的な結果として、単一のIDを使用する1人のユーザーが1つの公開鍵でデジタル証明書を取得できますが、別の公開鍵を使用しているように見せかけることができます(ただし、IDや有効期限は同じです)。 )。 2つの証明書のIDは同じであるため、このような攻撃が攻撃者に有利になる実際の例はおそらくありません。せいぜい誰かが、信頼できるサードパーティが、2つの異なる公開キーに基づいて同じIDとシリアル番号を持つ証明書を発行することで誤りを犯したと主張することができます。これは確かに遠いです。

It is very important to note that collision attacks only affect the parts of certificates that have no human-readable information in them, such as the public keys. An attack that involves getting a certificate with one human-readable identity and making that certificate useful for a second human-readable identity would require more effort than a simple collision attack.

衝突攻撃は、公開鍵など、人間が読める情報が含まれていない証明書の部分にのみ影響することに注意してください。人間が読み取れる1つのIDを持つ証明書を取得し、その証明書を2番目の人間が読み取れるIDに役立てる攻撃には、単純な衝突攻撃よりも多くの労力が必要になります。

5.1. Reducing the Likelihood of Hash-Based Attacks on PKIX Certificates
5.1. PKIX証明書に対するハッシュベースの攻撃の可能性の低減

If a trusted third party who issues PKIX certificates wants to avoid the attack described above, they can prevent the attack by making other signed parts of the certificate random enough to eliminate any advantage gained by the attack. Ideas that have been suggested include:

PKIX証明書を発行する信頼できるサードパーティが上記の攻撃を回避したい場合、攻撃によって得られる利点を排除するために証明書の他の署名された部分をランダムにすることで攻撃を防ぐことができます。提案されているアイデアは次のとおりです。

o making part of the certificate serial number unpredictable to the attacker

o 証明書のシリアル番号の一部を攻撃者が予測できないようにする

o adding a randomly chosen component to the identity

o ランダムに選択されたコンポーネントをアイデンティティに追加する

o making the validity dates unpredictable to the attacker by skewing each one forwards or backwards

o 有効期限を攻撃者が予測できないようにするには、それぞれを前方または後方にスキューします。

Any of these mechanisms would increase the amount of work the attacker needs to do to trick the issuer of the certificate into generating a certificate that is susceptible to the attack.

これらのメカニズムのいずれかにより、攻撃者が証明書の発行者をだまして攻撃を受けやすい証明書を生成させるために実行する必要がある作業量が増加します。

6. Future Attacks and Their Effects
6. 将来の攻撃とその影響

There is a disagreement in the security community about what to do now. Even the two authors of this document disagree on what to do now.

セキュリティコミュニティでは、今何をすべきかについて意見の相違があります。この文書の2人の著者でさえ、今何をするかについて意見が分かれています。

One of us (Bruce) believes that everyone should start migrating to SHA-256 [SHA-256] now, due to the weaknesses that have already been demonstrated in both MD5 and SHA-1. There is an old saying inside the US National Security Agency (NSA): "Attacks always get better; they never get worse." The current collision attacks against MD5 are easily done on a single computer; the collision attacks against SHA-1 are at the far edge of feasibility today, but will only improve with time. It is preferable to migrate to the new hash standard before there is a panic, instead of after. Just as we all migrated from SHA-0 to SHA-1 based on some unknown vulnerability discovered inside the NSA, we need to migrate from SHA-1 to SHA-256 based on these most recent attacks. SHA-256 has a 256-bit hash length. This length will give us a much larger security margin in the event of newly discovered attacks. Meanwhile, further research inside the cryptographic community over the next several years should point to further improvements in hash algorithm design, and potentially an even more secure hash algorithm.

私たちの1人(ブルース)は、MD5とSHA-1の両方ですでに実証されている弱点のため、誰もが今すぐSHA-256 [SHA-256]への移行を開始すべきであると考えています。米国国家安全保障局(NSA)の内部には、「攻撃は常に良くなるが、悪化することは決してない」という古い格言があります。 MD5に対する現在の衝突攻撃は、1台のコンピューターで簡単に実行できます。 SHA-1に対する衝突攻撃は、今日の実現可能性の限界にありますが、時間の経過とともに改善するだけです。パニックが発生する前ではなく、発生する前に、新しいハッシュ標準に移行することをお勧めします。 NSA内で発見されたいくつかの未知の脆弱性に基づいて全員がSHA-0からSHA-1に移行したように、これらの最新の攻撃に基づいてSHA-1からSHA-256に移行する必要があります。 SHA-256のハッシュ長は256ビットです。この長さにより、新たに発見された攻撃が発生した場合のセキュリティマージンが大幅に増加します。その間、今後数年間にわたる暗号化コミュニティ内部のさらなる研究により、ハッシュアルゴリズムの設計がさらに改善され、場合によってはさらに安全なハッシュアルゴリズムが示されるはずです。

The other of us (Paul) believes that this may not be wise for two reasons. First, the collision attacks on current protocols have not been shown to have any discernible real-world effects. Further, it is not yet clear which stronger hash algorithm will be a good choice for the long term. Moving from one algorithm to another leads to inevitable lack of interoperability and confusion for typical crypto users. (Of course, if any practical attacks are formulated before there is community consensus of the properties of the cipher-based hash algorithms, Paul would change his opinion to "move to SHA-256 now".)

私たちのもう一人(ポール)は、これは2つの理由から賢明ではないと考えています。第1に、現在のプロトコルに対する衝突攻撃は、識別可能な実際の影響があることは示されていません。さらに、どの強力なハッシュアルゴリズムが長期的に適切な選択になるかはまだ明確ではありません。あるアルゴリズムから別のアルゴリズムに移行すると、相互運用性の欠如と、一般的な暗号化ユーザーの混乱が避けられなくなります。 (もちろん、暗号ベースのハッシュアルゴリズムのプロパティに関するコミュニティの合意が得られる前に実際的な攻撃が定式化された場合、ポールは彼の意見を「今すぐSHA-256に移行する」に変更します。)

Both authors agree that work should be done to make all Internet protocols able to use different hash algorithms with longer hash values. Fortunately, most protocols today already are capable of this; those that are not should be fixed soon.

両方の著者は、すべてのインターネットプロトコルがより長いハッシュ値で異なるハッシュアルゴリズムを使用できるようにするための作業を行う必要があることに同意します。幸いなことに、今日のほとんどのプロトコルはすでにこの機能を備えています。修正されていないものはすぐに修正する必要があります。

The authors of this document feel similarly for new protocols being developed: Bruce thinks they should start using SHA-256 from the start, and Paul thinks that they should use SHA-1 as long as the new protocols are not susceptible to collision attacks. Any new protocol must have the ability to change all of its cryptographic algorithms, not just its hash algorithm.

このドキュメントの作成者は、開発中の新しいプロトコルについても同じように感じています。ブルースは最初からSHA-256の使用を開始する必要があると考えており、ポールは、新しいプロトコルが衝突攻撃の影響を受けない限り、SHA-1を使用する必要があると考えています。新しいプロトコルは、ハッシュアルゴリズムだけでなく、すべての暗号化アルゴリズムを変更できる必要があります。

7. Security Considerations
7. セキュリティに関する考慮事項

The entire document discusses security on the Internet.

ドキュメント全体では、インターネットのセキュリティについて説明しています。

The discussion in this document assumes that the only attacks on hash algorithms used in Internet protocols are collision attacks. Some significant preimaging attacks have already been discovered [Preimaging-attack], but they are not yet practical. If a practical preimaging attack is discovered, it would drastically affect many Internet protocols. In this case, "practical" means that it could be executed by an attacker in a meaningful amount of time for a meaningful amount of money. A preimaging attack that costs trillions of dollars and takes decades to preimage one desired hash value or one message is not practical; one that costs a few thousand dollars and takes a few weeks might be very practical.

このドキュメントの説明では、インターネットプロトコルで使用されるハッシュアルゴリズムに対する唯一の攻撃が衝突攻撃であると想定しています。いくつかの重要なプレイメージング攻撃がすでに発見されています[プレイメージング攻撃]は、まだ実用的ではありません。実用的なプレイメージング攻撃が発見された場合、それは多くのインターネットプロトコルに劇的な影響を及ぼします。この場合、「実用的」とは、意味のある金額で、意味のある時間内に攻撃者によって実行される可能性があることを意味します。 1兆ドルのコストがかかり、1つの目的のハッシュ値または1つのメッセージのイメージを作成するのに数十年かかるイメージ作成前の攻撃は、現実的ではありません。数千ドルの費用がかかり、数週間かかるものは非常に実用的かもしれません。

8. Informative References
8. 参考引用

[MD5-attack] X. Wang, D. Feng, X. Lai, and H. Yu, "Collisions for Hash Functions MD4, MD5, HAVAL-128 and RIPEMD", August 2004, <http://eprint.iacr.org/2004/199>.

[MD5-attack] X. Wang、D。Feng、X。Lai、およびH. Yu、「ハッシュ関数MD4、MD5、HAVAL-128およびRIPEMDの衝突」、2004年8月、<http://eprint.iacr。 org / 2004/199>。

[MD5-faster] Vlastimil Klima, "Finding MD5 Collisions - a Toy For a Notebook", March 2005, <http://cryptography.hyperlink.cz/ md5/MD5_collisions.pdf>.

[MD5-faster] Vlastimil Klima、「Finding MD5 Collisions-a Toy for a Notebook」、2005年3月、<http://cryptography.hyperlink.cz/ md5 / MD5_collisions.pdf>。

[PKIX-MD5-construction] Arjen Lenstra and Benne de Weger, "On the possibility of constructing meaningful hash collisions for public keys", February 2005, <http://www.win.tue.nl/~bdeweger/ CollidingCertificates/ddl-final.pdf>.

[PKIX-MD5-construction] Arjen LenstraおよびBenne de Weger、「公開鍵に対して意味のあるハッシュ衝突を構築する可能性について」、2005年2月、<http://www.win.tue.nl/~bdeweger/ CollidingCertificates / ddl -final.pdf>。

[Preimaging-attack] John Kelsey and Bruce Schneier, "Second Preimages on n-bit Hash Functions for Much Less than 2^n Work", November 2004, <http://eprint.iacr.org/2004/304>.

[プレイメージング攻撃] John KelseyおよびBruce Schneier、「2 ^ nをはるかに下回る作業のためのnビットハッシュ関数の第2プリイメージ」、2004年11月、<http://eprint.iacr.org/2004/304>。

[RFC3174] Eastlake, D. and P. Jones, "US Secure Hash Algorithm 1 (SHA1)", RFC 3174, September 2001.

[RFC3174] Eastlake、D。およびP. Jones、「US Secure Hash Algorithm 1(SHA1)」、RFC 3174、2001年9月。

[RFC3280] Housley, R., Polk, W., Ford, W., and D. Solo, "Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile", RFC 3280, April 2002.

[RFC3280] Housley、R.、Polk、W.、Ford、W。、およびD. Solo、「Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List(CRL)Profile」、RFC 3280、2002年4月。

[SHA-1-attack] Xiaoyun Wang, Yiqun Lisa Yin, and Hongbo Yu, "Collision Search Attacks on SHA1", February 2005, <http://theory.csail.mit.edu/~yiqun/shanote.pdf>.

[SHA-1攻撃] Xiaoyun Wang、Yiqun Lisa Yin、Hongbo Yu、「Collision Search Attacks on SHA1」、2005年2月、<http://theory.csail.mit.edu/~yiqun/shanote.pdf>。

[SHA-256] NIST, "Federal Information Processing Standards Publication (FIPS PUB) 180-2, Secure Hash Standard", August 2002.

[SHA-256] NIST、「Federal Information Processing Standards Publication(FIPS PUB)180-2、Secure Hash Standard」、2002年8月。

Appendix A. Acknowledgements
付録A謝辞

The authors would like to thank the IETF community, particularly those active on the SAAG mailing list, for their input. We would also like to thank Eric Rescorla for early material that went into the first version, and Arjen Lenstra and Benne de Weger for significant comments on the first version of this document.

著者らは、IETFコミュニティ、特にSAAGメーリングリストで活動しているコミュニティに情報を提供してくれたことに感謝します。また、最初のバージョンに入った初期の資料についてはEric Rescorlaに感謝し、このドキュメントの最初のバージョンについての重要なコメントについてはArjen LenstraとBenne de Wegerに感謝します。

Authors' Addresses

著者のアドレス

Paul Hoffman VPN Consortium

ポールホフマンVPNコンソーシアム

   EMail: paul.hoffman@vpnc.org
        

Bruce Schneier Counterpane Internet Security

Bruce Schneier Counterpaneインターネットセキュリティ

   EMail: schneier@counterpane.com
        

Full Copyright Statement

完全な著作権表示

Copyright (C) The Internet Society (2005).

Copyright(C)The Internet Society(2005)。

This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights.

このドキュメントは、BCP 78に含まれる権利、ライセンス、および制限の対象であり、そこに記載されている場合を除き、著者はすべての権利を保持します。

This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

このドキュメントとここに含まれる情報は、「現状のまま」で提供され、寄稿者、彼/彼女の代理人、または(もしあれば)組織、インターネットエンジニアリングおよびインターネットエンジニアリングタスクフォースは、すべての保証を明示的または明示的に提供します。ここに含まれる情報の使用により、商品性または特定の目的への適合性に関するいかなる権利または黙示の保証も侵害されないという保証を含みますが、これに限定されるものではありません。

Intellectual Property

知的財産

The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79.

IETFは、このドキュメントに記載されているテクノロジーの実装または使用に関連すると主張される可能性がある知的財産権またはその他の権利の有効性または範囲、またはそのような権利に基づくライセンスが適用されるかどうかに関係なく、いかなる立場も取りません。利用できる;また、そのような権利を特定するために独立した取り組みを行ったことを表すものでもありません。 RFC文書の権利に関する手順に関する情報は、BCP 78およびBCP 79にあります。

Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr.

IETF事務局に対して行われたIPR開示のコピー、および利用可能になるライセンスの保証、または一般ライセンスを取得しようとした試み、またはこの仕様の実装者またはユーザーがそのような所有権を使用するための許可を取得した結果を取得できます。 http://www.ietf.org/iprのIETFオンラインIPRリポジトリから。

The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org.

IETFは、この規格の実装に必要となる可能性のある技術をカバーする可能性のある著作権、特許、特許出願、またはその他の所有権に注意を向けるよう、利害関係者に呼びかけます。 IEETのietf-ipr@ietf.orgに情報を送信してください。

Acknowledgement

謝辞

Funding for the RFC Editor function is currently provided by the Internet Society.

RFC Editor機能への資金提供は、現在Internet Societyから提供されています。