暗号技術の基礎

セキュリティにおける暗号技術の実践的な応用を学びます。エンコーディングと暗号化の違いを理解し、暗号学的ハッシュの種類を識別し、OpenSSL や GPG を使用して対称鍵および非対称鍵暗号化を行うスキルを習得します。

Cybersecurity Engineerサイバーセキュリティ

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

暗号ツールはそれぞれ異なるセキュリティ課題を解決します。エンコーディングは表現を変え、ハッシュは変更を検出し、対称暗号は共有秘密でデータを保護し、非対称暗号は公開鍵と秘密鍵を分離します。この実践コースでは、こうした境界を理解し、Linux ターミナルから各方式を使えるようになります。

Base64、URL エンコード、16 進数データを変換し、ファイルハッシュを生成・検証し、パスワードハッシュの候補形式を識別し、OpenSSL と GPG でファイルを暗号化します。最後の調査チャレンジでは、Base64 のデコード、分離署名の検証、アルゴリズム特定、AES 復号を一つの証拠主導型ワークフローとして組み合わせます。

学習内容

  • コマンドラインツールで Base64、パーセントエンコードされた URL、16 進数データをエンコード・デコードする
  • エンコーディングが機密性ではなく互換性を提供する理由を説明する
  • MD5、SHA-1、SHA-256 のダイジェストを生成し、入力変更が結果に与える影響を観察する
  • SHA-256 チェックサムファイルを作成・検証してファイル変更を検出する
  • 構造化データからハッシュを抽出し、長さ、文字集合、hashid からアルゴリズム候補を立てる
  • パスワード復元を行わず、候補となるハッシュ形式を Hashcat モードへ対応付ける
  • OpenSSL AES-256-CBC と PBKDF2 のパスワードベース鍵導出でファイルを暗号化・復号する
  • GPG 鍵ペアを生成し、公開鍵暗号を使い、分離されたデジタル署名を検証する

このコースの対象者

この中級コースは、エンコード、ハッシュ化、暗号化されたデータを扱う実践的基礎を必要とするサイバーセキュリティ学習者、アナリスト、システム管理者、開発者を対象としています。数学的証明や暗号実装より、コマンドライン実験とセキュリティ上の意味の解釈を重視します。

前提知識: Linux ターミナルでファイルを読み、コマンドをパイプでつなぎ、出力をリダイレクトできること。ファイル、パスワード、公開鍵と秘密鍵の基本概念があると役立ちますが、プログラミングや高度な数学は不要です。

学習環境: サンプルファイルが用意された対話型 Ubuntu 22.04 ターミナルで、Python、Base64、xxd、OpenSSL、GPG、チェックサムツール、hashid を使用します。鍵、パスワード、データはすべてラボ専用です。

よくある質問

Base64 は暗号化の一種ですか?

いいえ。Base64、URL エンコード、16 進数表現は秘密鍵を使わずに元へ戻せる表現方式です。コースでは簡単にデコードできることを確認し、鍵を使う暗号化との違いを明確にします。

ハッシュの長さだけで生成アルゴリズムを確定できますか?

できません。長さと文字集合は有用な手掛かりで、hashid も候補形式を示しますが、複数のアルゴリズムが似た外観を持つ場合があります。信頼できる識別には、生成元アプリケーションや保存形式などの文脈も必要です。

このコースでパスワードハッシュを解析して復元しますか?

いいえ。ハッシュを抽出し、候補アルゴリズムを評価し、対応する Hashcat モードを記録して、許可された監査の準備をします。パスワードの推測や復元は範囲外です。

ラボの設定を本番環境の鍵管理にそのまま使えますか?

使えません。操作に集中できるよう、ラボでは単純なパスワード、パスフレーズ未設定の訓練用秘密鍵、自動信頼設定を使用し、その簡略化も明示します。実際の鍵と秘密には、強固な保護、本人確認、組織的な鍵管理が必要です。

講師

labby
Labby
Labby is the LabEx teacher.