SHA-1 / SHA-2 の違いと、CData Arc のSHA-2への対応

CData Arc のDrummond® 認証には、2012 年にテストで導入された、オプションのSHA-2 プロファイルが含まれています。この追加により、SHA-2 証明書と署名を使用するパートナーとの相互運用性が保証されます。SHA-2 はSHA-1 よりもセキュアです。この記事では、SHA-1 とSHA-2 の違いに関する一般的な質問に回答します。また、AS2 に関する情報セキュリティにおけるアルゴリズムの役割についても説明しています。

SHA-2 とは

SHA-2 は、SHA-1 を置き換えるために作成されたハッシュアルゴリズムのファミリーです。SHA-2 は、SHA-224、SHA-256、SHA-384、およびSHA-512 アルゴリズムで構成されています。SHA-256 がこの標準の中で最も一般的な実装です。

ハッシュアルゴリズムとは:SHA-1 の代わりにSHA-2 を使用する理由

SHA-2 とSHA-1 は、データを表すために使用される一方向ハッシュです。データが1バイトでも変更されるとハッシュの値は完全に変更されますが、同じデータのセットはまったく同じ結果を生成します。しかし、ハッシュを単独で見て、どのデータがハッシュの作成に使われたかを知ることはできないため、この関数は一方向でしか機能しません(ハッシュは通常、元のデータと比較して短くなります)。

基本的な原則は、2つのデータセットを誰にも公開することなくパブリックに比較して、それらが同じであるかどうかを確認することができることです。それぞれの側が同じ既知のアルゴリズムを使用して比較対象のハッシュを計算し、2つの結果を比較します。もし第三者が元のデータを1バイトでも改ざんすれば、その後ハッシュは完全に違ったものになります。

これらのハッシュは一方向ハッシュであるため、バイトのランダムな配列を組み立て、(衝突と呼ばれる)同じ結果を持つハッシュを生成する可能性があります。これは非常に低確率で、難しく、時間がかかりますが、理論的には、既存の技術の範囲内でSHA-1 の衝突を生成することはまだ可能です。SHA-2 ハッシュの方が安全です:改良されたアルゴリズムと、より大きなハッシュを使用しています。

SHA-2 証明書とは

証明書は、鍵の発行者によって署名された鍵を含むファイルストアです。Windows で証明書の「Advanced」タブを調べると、鍵の署名に使用された署名アルゴリズムを確認できます。

SHA-2 証明書は、鍵の署名に使用される署名アルゴリズムがSHA-2 アルゴリズム(例:SHA-256)である証明書です。

証明書を使用してSHA-2 署名を作成することとの違い

証明書は、取引パートナーに公開鍵を提示する手段ですが、鍵自体は、通信中に追加の暗号化操作を実行するために使用されます。秘密鍵を使用してパートナーへのメッセージに署名することはできますが、その操作に対して選択された署名アルゴリズムは、証明書の作成に使用された署名アルゴリズムには関連付けられません。このようにして、(上の写真の証明書のような)SHA-1 証明書を使用してSHA-2 でメッセージに署名でき、同様に、SHA-2 証明書を使用してSHA-1 でメッセージに署名することができます。

アプリケーションのバージョン毎のサポート対象

AS2 コネクタの初期バージョン(/n software IP*Works! EDI AS2 Connector のバージョン7* および/n software AS2 Connector のバージョン2)は、SHA-2 署名の作成または検証をサポートしていませんが、アプリケーションでSHA-2 証明書を構成することは可能です。Windows が証明書の署名を検証するため、アプリケーションは証明書の鍵にアクセスするだけです。

AS2 コネクタのバージョン3 からCData Arc に続くこのアプリケーションは、SHA-2 証明書の構成と、SHA-2 署名の作成と検証の両方をサポートしています。ただし、SHA-2 署名はAS2 のオプションのプロトコルであり、すべてのAS2 ソリューションがSHA-2 署名で作成された転送をサポートしているとは限らないことに注意してください。



Ready to get started?

Use CData Arc's free 30-day trial to start building your own custom workflows today:

Download Now