エンコーディングvs。非対称暗号化のサインイン
1. 序章
暗号化は、コンピューティングの世界で多くの用途があります。 これらの使用法のいくつかは、機密性に直接関係しています。 たとえば、ファイルをエンコードしたり、さまざまな暗号化プロトコルを使用してネットワーク通信を保護したりできます。 ただし、他の目的にも暗号化を使用できます。 たとえば、デジタルデータの信頼性を保証するために使用できます。
デジタルデータの信頼性を保証する一般的な方法は、非対称暗号化方式のキーを使用して署名することです。 このようなシナリオでは、必要な暗号化リソースは、データに機密性を提供することと同じです。 ただし、データに署名するには、これらのリソースを別の方法で使用する必要があります。
このチュートリアルでは、非対称暗号化方式を使用してデジタルデータをエンコードおよび署名するプロセスを調査します。 最初に、暗号化について簡単に説明します。 次に、非対称暗号化を使用してデータをエンコードする方法を説明します。 これで、デジタルデータの署名プロセスを理解できます。 最後に、体系的な要約で記事を締めくくります。
2. コンピューティングにおける暗号化
通常の方法では、暗号化方式を使用してデジタルデータの機密性を保証します。これは、元のデータ(プレーン)をデータ(暗号)の真の意味をカバーするコードに変換することを意味します。
暗号化方式には、対称と非対称の2つの主要なカテゴリがあります。
- 対称:対称暗号化では、単一のキーを使用してデジタルデータをエンコードおよびデコードします。 したがって、エンコードされたデータの読み取りまたは書き込みを目的とするすべてのユーザーは、同じ暗号化キーにアクセスする必要があります。 対称暗号化方式の例は、 AES 、DES、およびQUADです。
- 非対称:非対称暗号化では、キーのペアを使用してデジタルデータをエンコードおよびデコードします。 このように、これらのキーの1つを使用してデータをエンコードすると、他のキーのみがデータをデコードできます。 これらのキーは通常、秘密キーおよび公開キーと呼ばれます。 秘密鍵は非表示のままです。 次に、公開鍵はすべての人に公開されます。 非対称暗号化方式の例は次のとおりです。 RSA およびECC
次の画像は、非対称暗号化方式を使用してデータをエンコードおよびデコードするプロセスを示しています。
対称暗号化は、非対称暗号化と比較して、せいぜい単純で軽量です。
次のセクションでは、詳細な調査、例の確認、および非対称暗号化アプリケーションの比較を行います。
3. 非対称暗号化によるデータのエンコード
コンピューティングの世界では、非対称暗号化の主な用途はデータのエンコードであり、機密性を提供します。非対称暗号化方式では、公開鍵と秘密鍵のペアの鍵を使用します。
データをエンコードするときは、通常、特定のエンティティのみが元のコンテンツにアクセスできるようにすることを目的としています。 非対称暗号化の場合、一方のキーでデータをエンコードすると、もう一方のキーを持つエンティティのみがデータをデコードできます。 このようにして、オープンアクセス公開鍵を使用して、秘密鍵の所有者のみがデコードするデータをエンコードできます。
したがって、説明したシナリオを考慮すると、公開鍵は暗号化鍵であり、秘密鍵は復号化鍵であると理解できます。
次の画像は、非対称暗号化を使用したデータのエンコードとデコードのプロセスをまとめたものです。
非対称暗号化の使用の良い例は、トランスポート層セキュリティ(TLS)プロトコルです。 このプロトコルにより、クライアントとサーバーはキーをネゴシエートしてネットワークトラフィックをエンコードおよびデコードできます。 したがって、それらの間の通信を秘密に保つことが可能です。
シーリングAPIは別の例です。 シーリングAPIは、システムの機密データと秘密鍵を保護するための戦略を提供します。 つまり、公開キーを使用して接続された環境でデータをエンコードできます。 ただし、秘密鍵を使用したデータのデコードは、オフライン環境でのみ実行する必要があります。
4. 非対称暗号化を使用したデータへの署名
以前、キーでエンコードされたデータは、パブリック/プライベートペアのもう一方のキーによってのみデコードされることを調査しました。 したがって、公開鍵はデータをエンコードしたいすべての人が利用できるようになり、秘密鍵の所有者と機密情報をやり取りできるようになります。
ただし、その逆も有効です。 たとえば、データが秘密鍵で暗号化されている場合、公開鍵のみがデータをデコードします。
自分の身元を証明するために、秘密鍵の所有者は署名をエンコードし、メッセージとともに送信します。したがって、受信者は署名をデコードし、受信したデータの予想される署名に対応するかどうかを確認します。 署名が予想と一致する場合、秘密鍵の所有者が受信したデータを提供したと見なすことができます。
次の画像は、非対称暗号化を使用してデジタルデータに署名するプロセスを例示しています。
プレーン署名に関しては、さまざまな方法で作成できます。 ただし、署名は通常、 ハッシュ関数 プレーンデータに適用されます。 これらの関数は、秘密鍵で後方にエンコードされたハッシュコードを生成します。
署名としてハッシュコードを使用する主な利点は、信頼性に加えて、特定のレベルのデータ整合性を保証できることです。
これは、受信者がプレーンデータを使用してハッシュコードを再計算し、署名として受信したものと比較できることを意味します。 それらが一致しない場合、2つのシナリオが考えられます。スプーフィングされた署名(信頼性の侵害)または破損したデータ(整合性の侵害)がありました。
5. 体系的な要約
前のセクションでは、デジタルデータに機密性、信頼性、および整合性を提供するという観点から、非対称暗号化について学習しました。
要約すると、非対称暗号化を使用する目的に関係なく、同じリソース(秘密鍵と公開鍵)が必要です。 ただし、暗号化の目的に応じて、これらのリソースを異なる方法で使用する必要があります。
このように、次の表は、非対称暗号化を使用したデジタルデータのエンコードと署名の主な特徴を示しています。
6. 結論
現在、私たちはあらゆる情報を保持および送信するためにデジタルデータを大規模に採用しています。 ただし、場合によっては、デジタルデータに個人情報や機密情報が含まれています。 そのため、機密性、信頼性、および整合性を保証することが重要な関心事になりました。 したがって、非対称暗号化はこのコンピューティングの世界に関連するリソースであると結論付けることができます。