情報セキュリティの重要性が高まるにつれ、さまざまなフロントエンド暗号化がますます重要になっています。通常、データ転送のセキュリティを確保し、サーバーとのやり取り中にデータが他人に取得されたり改ざんされたりするのを防ぐために、https の適用に加えて、転送されるデータの暗号化と復号化も必要です。
現在一般的な暗号化アルゴリズムは3つのカテゴリに分けられます
2. 対称暗号化アルゴリズム 対称暗号化 (秘密鍵暗号化とも呼ばれる) とは、暗号化と復号化に同じ鍵を使用する暗号化アルゴリズムを指します。安全に通信するには、送信者と受信者がキーについて合意する必要があります。対称アルゴリズムのセキュリティはキーに依存します。キーが漏洩すると、誰でも送受信したメッセージを解読できるため、キーの機密性は通信のセキュリティにとって非常に重要です。 特徴
エーエス AES: Advanced Encryption Standard は、最も一般的な対称暗号化アルゴリズムです (WeChat ミニプログラムは、暗号化された送信にこの暗号化アルゴリズムを使用します)。 キー: プレーンテキストを暗号化するために使用されるパスワード。キーは受信者と送信者の間の交渉によって生成されますが、ネットワークを介して直接送信することはできません。そうしないと、キーが漏洩することになります。通常、キーは非対称暗号化アルゴリズムを使用して暗号化され、ネットワークを介して相手に送信されるか、直接対面してキーについて話し合われます。キーは絶対に漏洩してはなりません。漏洩すると、攻撃者が暗号文を復元してデータを盗む可能性があります。 プロジェクトでAES暗号化が必要な場合は、オープンソースのjsライブラリcrypto-jsを使用できます。
3. 非対称暗号化アルゴリズム 非対称暗号化アルゴリズムには、公開鍵 (publickey: 公開鍵と呼ばれる) と秘密鍵 (privatekey: 秘密鍵と呼ばれる) の 2 つの鍵が必要です。公開鍵と秘密鍵はペアになっています。公開鍵でデータを暗号化した場合、対応する秘密鍵でのみ復号化できます。暗号化と復号化に 2 つの異なるキーが使用されるため、このアルゴリズムは非対称暗号化アルゴリズムと呼ばれます。 特徴
RSAA の RSA 暗号化アルゴリズムは、最も一般的な非対称暗号化アルゴリズムです。 RSA は、1977 年に Ron Rivest、Adi Shamir、Leonard Adleman によって提案されました。 RSA は姓の最初の文字で構成されています。 プロジェクトでRSA暗号化が必要な場合は、オープンソースのjsライブラリjsencryptを使用できます。
4. ハッシュアルゴリズム ハッシュは、一般的に「ハッシュ」と翻訳され、「ハッシュ」と直接書き起こされることもあります。ハッシュは、ハッシュ アルゴリズムを使用して、任意の長さの入力 (プレマッピング、プレイメージとも呼ばれます) を固定長の出力に変換します。出力はハッシュ値です。この変換は圧縮マッピングです。つまり、ハッシュ値のスペースは通常、入力のスペースよりもはるかに小さく、異なる入力が同じ出力にハッシュされる可能性があり、ハッシュ値から入力値を一意に特定することは不可能です。 簡単に言えば、任意の長さのメッセージを固定長のメッセージ ダイジェストに圧縮する機能です。 特徴
MD5 MD5 は比較的一般的なハッシュ アルゴリズムです。MD5 には 2 つの重要な特徴があります。まず、ハッシュ後のプレーンテキスト データの値は固定長です。次に、ハッシュ後のプレーンテキスト データの結果は常に変更されない必要があります。前者は、2 つのプレーンテキスト ハッシュが同じ結果を生成する可能性があることを意味し、後者は、特定のデータをハッシュすると、結果が同じになる必要があることを意味します。 例えば、ログイン時にパスワードは md5 で暗号化されてサーバーに送信されます。サーバー内のパスワードも md5 で暗号化されて保存されます。この場合、暗号化された暗号文が一貫しているかどうかを確認するだけで済みます。 プロジェクトでMD5暗号化が必要な場合は、オープンソースのjsライブラリを使用できます: JavaScript-MD5
5. Base64エンコード Base64 エンコーディングは単なるエンコーディング形式であり、暗号化アルゴリズムではありません。HTTP 環境でより長い識別情報を送信するために使用できます。 特徴
現代のブラウザはBase64エンコードとデコードメソッドbtoa()とatob()を提供しています。
VI. 結論 ビジネス HTTP リクエストでは、フロントエンドで AES キーがランダムに生成され、サーバーから RSA 公開キーが取得され、AES キーが非対称暗号化され、暗号化されたキーがリクエスト ヘッダーでサーバーに渡され、本文が AES で暗号化されます。サーバーはリクエスト ヘッダー内の暗号化されたキーを受信し、それを RSA キーで復号化し、プレーンテキストの AES キーを取得して、本文を復号化できます。 md5 には文字列の一貫性を検証する機能があります。リクエストが傍受された後に本文が改ざんされるのを防ぐために、リクエストを送信するときに本文の文字列を md5 で暗号化し、リクエスト ヘッダーで送信することができます。サーバーはリクエストを受け取った後、本文を復号化し、リクエスト ヘッダーで md5 を検証して、リクエストが改ざんされていないかどうかを確認します。 |
<<: COVID-19パンデミックの影響を受けて、世界のエッジAIソフトウェア市場は急速な発展を遂げている
>>: 人工知能は今日私たちに何をもたらすのでしょうか?知らないブラックテクノロジーをチェック
最近、国立国防科技大学の徐凱教授のチームは、高速移動に対するランダム最適化に基づくオンライン RGB...
毎年、春節の祝祭舞台ではさまざまな「ブラックテクノロジー」が必ず使われています。2021年の丑年春節...
現在、革命的な変化の波が進行しており、企業が顧客や企業にサービスを提供する方法を変えていると考えられ...
[[236037]]顔認識は携帯電話のロックを解除したり逃亡者を捕まえたりできるだけでなく、あなた...
サイバー脅威は高度化、蔓延しているため、企業は常に警戒を怠ってはなりません。 2022年には、4億9...
エッジ コンピューティングは、IT アーキテクトや組み込み開発者にさまざまな選択肢を提示する難しい問...
[[438361]]次世代自動運転システムの設計における反復的な更新は、主に新機能の継続的な反復に反...
負荷分散の開発基盤は負荷分散アルゴリズムです。次に、サーバーごとに持つ機能や必要な機能が異なるため、...
機械学習は、COVID-19 によって揺さぶられた世界におけるスムーズな移行を可能にしています。機械...