July 30, 2021

SYLエコシステムでの非対称暗号化(公開鍵暗号)

5 MIN READ – TEAM XSL LABS

Share on twitter
Share on telegram
Share on email
Share on linkedin
Share on facebook

XSL Labsのテクニカル記事に続いて、暗号化プロセスに焦点を当てます。

その理由は、XSL Labsのエコシステムは、非対称暗号化(Asymmetric Encryption)の原則に基づいており、エコシステムのさまざまなエンティティ間での信頼を確立することができるようになります。

この投稿では、SDIに関する関心と実装を理解するため、暗号化技術の歴史と進化を手短に説明します。

古代より、ローマの軍事的指導者ガイウス・ユリウス・カエサル(英語読み:「シーザー」)は、戦争中、重要なメッセージを伝えるために、平文の各文字を辞書順で3文字分をずらして暗号文とするアルファベットを使用しました:aの場合はdを書いたり、bの場合、eを書いたりします。

これは、「シーザー暗号」と呼ばれ、最も初期の知られた暗号化方式のひとつです。

これは換字式暗号プロセスであり、アルゴリズムまたは暗号化の方法により、アルファベットの各文字が暗号アルファベットの文字に置き換えられます。

この方法の安全性のレベルが低かったので、カエサルは、ガリア人に読まれなかったギリシャ語の文字を使用し、単語ごと訳せず、 暗号メッセージを作っていました。その後、ますます複雑な方法が発明されました。

ヨーロッパでは、この方法は15世紀と16世紀に再現されました。最も有名な方法は、ヴィジュネル暗号です。多表式の複雑な換字式暗号のことであり、キーシステムを使用します。

鍵(キー)のおかげで、(通常、鍵は単語または文章である)、通信システムに従ってメッセージの各文字を置き換えることができます。以下の表式に従って、同じ文字を別の文字に置き換えることができるようになりました。

ヴィジュネル暗号

原則として、このような場合、2人の通信員はこの鍵を持つ必要があります。送信者は鍵を使用して暗号化し、受信者はこの鍵を使用してテキストを復号化します。

1863年に、フリードリッヒ・カシスキが鍵のサイズを理解できる方法を発見しました。

実際、非常に長い鍵でも、このプロセスの安全性を確保することはできません。さらに、20世紀に、このシステムは、ランダムな文字で形成された鍵を使用してこの新しい方法を開発しようとしましたが、機械的な暗号機に置き換えられてしまいました。

最もよく知られているものは、エニグマ (英:Enigma、「謎」との意味で)である。第二次世界大戦でナチスが用いたローター式暗号機で、ローターを駆動することにより、そのローターの単文字換字表から関連付けられた26の多表を切り替えて利用できます。

現在、機械的な暗号機が消えて、コンピューターを利用されています。IT標準では、コンテンツの保護・発行者を認証するため、さまざまなプロトコルが使用されています。

フランスの暗号学者「ジャック・スターン」が発表した通り:「インターネットとWebによって、暗号学は秘密の科学から信頼の科学に変わりました。」 

暗号化とは、文字通りに「秘密のメッセージ」で、暗号が必要とされる理由は、送信される情報の機密性を確保するためです。

特徴が3つあります:

  • 機密性:許可された人のみが情報にアクセスできること。
  • 信頼性:情報が正当な送信者より送信されたことの確認。(この情報のソースを確認できることが重要です)
  • 整合性:データが正当であることの確認。 つまり、通信中にデータが変更されていないことを確認できるということです。

暗号化方式は、対称暗号化と非対称暗号化の2つの種類に分けられます。この記事では、非対称暗号化に焦点を当てています。

秘密鍵暗号化とも呼ばれる対称暗号化(Symmetric Cryptography)については、最初に送信者と受信者はメッセージの読み取りを可能にするため、一意の鍵を交換する必要があります。したがって、鍵は送信者と受信者の間で共有されます。

したがって、送信者と受信者の間で鍵が共有されます。送信者は鍵を使用してメッセージを暗号化します。次に、メッセージは受信者に送信され、受信者はこの鍵のおかげで、メッセージを復号化できます。

ただし、対称暗号化の主な問題は、鍵の送信です。なぜかというと、実際には鍵を使用すると、メッセージの暗号化と復号化が両方できますが、この鍵を送信するだけで情報の機密性を損なうリスクがあります。このせいで、ユーザーが多い場合、客ユーザーに1つの鍵を使用する必要があることを意味します。この仕組みは複雑で便利ではありませんので、この問題を解決するために、「非対称暗号化」はザ・ソリューションです。

非対称暗号化とは(英:「公開鍵暗号化」と呼ばれ)、パブリックデータとプライベートデータを区別する暗号化の仕組みのエリアである。この仕組みは、鍵のペアを使用します。

  • 誰でもアクセスできる公開鍵を使用すること。
  • 所有者しかアクセスできない秘密鍵を使用すること。

キーペアは、暗号化アルゴリズムを使用して、一方向性関数の形式で生成されます。

このシステムのおかげで、各ユーザーは公開鍵を使用してメッセージを暗号化できます。 ただし、メッセージを復号化できる人は、この公開鍵と一致する「秘密鍵」を持っている人のみです。

しかし、対称暗号化方式と異なり、この方式のおかげで、メッセージまたは情報の送信者を安全で明示的に識別できます。

このように、発行者は、署名された文書が自分のものであることを証明する必要があります。 ここでは、逆の手順を行います:秘密鍵を使用して文書に電子署名ができ、公開鍵を使用する場合、電子署名を検証できます。

実際は、指紋またはメッセージの「ハッシュ」は送信者によって作成され、メッセージの署名を作成するために秘密鍵で暗号化されます。 次に、メッセージと署名が受信者に送信されます。

メッセージの受信者自体は、発行者と同じハッシュ関数を使用してメッセージの指紋を生成します。 次に、受信者は発行者の公開鍵を使用して署名を復号化し、その「値」をメッセージの指紋の値と比較します。

2つの値がイコールの場合は、署名は本物であることを認めます。つまり、受信者は発行者が本人であり、メッセージが統合されたことを確認できます。得られた値が違う場合、メッセージを認証・確認することができません。

分散型識別子についての仕組みは、デジタル署名などの認証手段が含まれます。 この認証手段は、DIDに関連するW3Cプロセスで言及されていますが、どのツールが使用されているかは指定されていません。信頼システムを作成するため、送信されたデータの整合性を証明でき、発行者の信頼性を検証できる必要があります。

XSL LabsのSDIソリューションは要件を満たすために、特にデジタル署名を使用して非対称暗号化方式に依存しています。

秘密鍵と公開鍵のペアは、SDIが作成される時に生成されます。 SDIサブジェクトは秘密鍵を保持し、公開鍵の方は、スマートコントラクトに転送されます。

このように、検証可能なプレゼンテーションを送信するとき、または認証されたリファレンスの要求の際、そして、SDIサブジェクト・他のDIDでのインタラクションのとき、検証可能なプレゼンテーションを送信するときおよび認証されたリファレンスと関連付けられる認証機関が要求する際、デジタル署名の仕組みを使用できるように、公開鍵が直接に利用可能になります。

これを特に使われているケースは、SDIサブジェクトが発行者に検証可能なリファレンスを要求するときです。信頼できる発行者は、署名のおかげで、要求したSDIサブジェクトが本人であることを確認・検証する必要があります。

例えば、SDIサブジェクトが信頼できる発行者に検証可能なリファレンスの要求を行い、発行者は、署名のおかげで、要求が実際にSDIサブジェクトからのものであることを確認する必要があります。

同様に、検証可能なリファレンスを取得したSDIサブジェクトは、検証可能なプレゼンテーションを送信したい場合、自分の秘密鍵を使用してプレゼンテーションに署名します。これにより、SDIサブジェクトの公開鍵にアクセスできる検証者は、信頼性を確保できます。

これは信頼のエコシステムの誕生です。このユーザーID・送信するデータの整合性を保証できるエコシステムです。

ユーザーのアイデンティ・ユーザーが送信するデータの整合性を保証できる「エコシステム・オブ・トラスト」の誕生と考えられています。

すでに述べたように、暗号は古代から使用されるようになりましたが、開発者よりのイノベーションおよび計算能力のおかげで、このテクノロジーは進化し続けています。

暗号化であろうと署名・公開鍵証明書であろうと、現在、暗号化は、デジタルの世界と共に、信頼と機密性に対する多くの要求を満たすことを目的とします。

Copyright © 2020 XSL Labs – All rights reserved