1. 弱い暗号化
暗号化とは、特殊なアルゴリズムを使用して元の情報データを変更し、権限のないユーザーが暗号化された情報を取得した場合でも、その情報を知ることができないようにすることを指します。 . 復号化方法ではまだメッセージの内容を理解できません。一般的な暗号化アルゴリズムは、主に対称暗号化、非対称暗号化、一方向暗号化に分類できます。暗号化アルゴリズムはさまざまなシーンで使用されており、計算速度、セキュリティ、鍵管理方法など、暗号アルゴリズムの特性に応じて適切なアルゴリズムを選択しますが、セキュリティは暗号アルゴリズムの品質を測る重要な指標です。解読されやすい暗号化 DES アルゴリズムのように、網羅的な手法を使用して限られた時間内に解読できるアルゴリズムは弱い暗号化アルゴリズムと呼ばれます。この記事では、JAVA 言語のソース コードを例として、暗号化が弱い原因と修復方法を分析します。
2. 弱い暗号化の危険性
攻撃耐性の弱い暗号アルゴリズムは、一度悪用されると個人のプライバシー情報が漏洩し、財産上の損失が発生する可能性があります。 。 2018 年 1 月から 2019 年 4 月までに、CVE に関連する脆弱性情報が合計 2 件ありました。脆弱性情報は次のとおりです。
脆弱性の概要 | |
---|---|
CA Privileged AccessManager 2.x でパスワードを送信するときに弱い暗号化が使用されるため、パスワード クラッキングの複雑さが軽減されます。 |
3. サンプル コード
以下で使用するサンプル コードは、Benchmark (https://www.owasp.org/) からのものです。インデックス .php/Benchmark)、ソース ファイル名: BenchmarkTest00019.java。
3.1 欠陥コード
上記のサンプル コード操作は、第 49 章でリクエスト内のコンテンツを読み取り、暗号化することです。 Line は、構成ファイル
benchmarkprops
を読み取るインスタンスを取得します。構成ファイルを 50 行目でロードし、構成ファイルの 52 行目から 53 行目で属性 cryptoAlg1
を読み取ります。そのような属性がない場合、デフォルトでは DESede/ECB/PKCS5Padding# が使用されます。 ## から
algorithm への割り当て。行 54 では、暗号化オブジェクト c を構築するための暗号化アルゴリズムとして
algorithm
result
になります。 DES アルゴリズムで生成される鍵は 56 ビットと短く、演算速度が遅い上に、DES アルゴリズムは鍵に完全に依存しているため、網羅的検索攻撃に対して脆弱です。Code Guard を使用して上記のサンプル コードを検出すると、「弱い暗号化」の欠陥が検出でき、表示レベルは中です。図 1 に示すように、この欠陥はコードの 57 行目で報告されます。
図 1: 弱い暗号化の検出例
3.2 修復コード
Code Guard を使用して修復されたコードを検出すると、「弱い暗号化」欠陥がないことがわかります。図 2 に示すように:
##図 2: 修復後の検出結果
4. 弱い暗号化を回避する方法 ###高度なセキュリティ要件があるシステムでは、安全な暗号化アルゴリズム (AES、RSA など) を使用して機密データを暗号化することをお勧めします。 ###以上がC言語で弱い暗号化を回避する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

ドリームウィーバー CS6
ビジュアル Web 開発ツール

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

WebStorm Mac版
便利なJavaScript開発ツール
