暗号化によるデータの保護とは?SSH・公開鍵・GPGの使い方を解説

情報漏洩や改ざんのリスクを防ぐうえで、暗号化技術は欠かせません。この記事では、Linux環境でよく使われる公開鍵暗号方式・SSH・GnuPG(GPG)の基礎と活用法をわかりやすく解説します。


目次

1. 公開鍵暗号とは?

公開鍵と秘密鍵のペア

公開鍵暗号方式は、以下の2つの鍵を利用します。

鍵の種類役割
公開鍵他人に渡しても安全な鍵
秘密鍵自分だけが保管すべき鍵
  • 公開鍵で暗号化 → 秘密鍵で復号
  • 秘密鍵で署名 → 公開鍵で検証

この仕組みにより、安全な通信・認証・署名が可能になります。


2. OpenSSHの鍵認証と設定方法

LinuxではSSH(Secure Shell)を使ってリモート接続が可能です。

鍵ペアの作成:ssh-keygen

ssh-keygen -t ed25519
  • -tは鍵のタイプ(rsa, ecdsa, ed25519が選べます)
  • ~/.ssh/id_ed25519:秘密鍵
  • ~/.ssh/id_ed25519.pub:公開鍵

公開鍵をサーバに配置

ssh-copy-id user@remote_host

または手動で:

cat ~/.ssh/id_ed25519.pub >> ~/.ssh/authorized_keys

エージェントに鍵を登録:ssh-agent, ssh-add

eval "$(ssh-agent)"
ssh-add ~/.ssh/id_ed25519

3. SSHポート転送(トンネリング)

安全な経路で他の通信を通したい場合に、SSHポート転送が使えます。

ローカルポートフォワーディング

ssh -L 8080:localhost:80 user@remote_host
  • localhost:8080 にアクセスすると、リモートの localhost:80 に接続されます。

リバースポートフォワーディング

ssh -R 2222:localhost:22 user@remote_host
  • リモート側の2222番ポートが、ローカルの22に転送されます。

4. GnuPG(GPG)によるデータの暗号化

GPGは、電子メールの署名・暗号化やファイルの保護に使用されるツールです。

鍵の作成

gpg --full-generate-key
  • 名前やメールアドレスを入力
  • ~/.gnupg/ に鍵と設定が保存されます

公開鍵のエクスポート

gpg --armor --export your@email.com

暗号化と復号化

# 暗号化
gpg -e -r recipient@email.com file.txt

# 復号化
gpg -d file.txt.gpg

署名と検証

# 署名付きファイルを作成
gpg -s file.txt

# 署名の検証
gpg --verify file.txt.gpg

5. 主な暗号化アルゴリズムと特徴

アルゴリズム特徴
RSA広く使われる。鍵サイズは大きいが安定。
ECDSA楕円曲線暗号。高速・軽量。
ED25519高速・セキュア。近年の推奨方式。

SSHやGPGのデフォルトとしてed25519が主流になりつつあります。


6. まとめ:暗号化はLinuxセキュリティの基本

暗号化は、Linuxシステムのセキュリティを守る第一の壁です。

対応項目ツール・コマンド例
リモート接続の暗号化ssh, ssh-keygen
データ・メールの暗号化gpg
安全なポート転送ssh -L, ssh -R
鍵管理ssh-agent, gpg-agent
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次