暗号ツールはそれぞれ異なるセキュリティ課題を解決します。エンコーディングは表現を変え、ハッシュは変更を検出し、対称暗号は共有秘密でデータを保護し、非対称暗号は公開鍵と秘密鍵を分離します。この実践コースでは、こうした境界を理解し、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 モードを記録して、許可された監査の準備をします。パスワードの推測や復元は範囲外です。
ラボの設定を本番環境の鍵管理にそのまま使えますか?
使えません。操作に集中できるよう、ラボでは単純なパスワード、パスフレーズ未設定の訓練用秘密鍵、自動信頼設定を使用し、その簡略化も明示します。実際の鍵と秘密には、強固な保護、本人確認、組織的な鍵管理が必要です。





