投稿

ラベル(Linux)が付いた投稿を表示しています

[Linux]dm-crypt

はじめに システム上のデータを暗号化して保護する場合、その対象が少なければ、ファイル単位で1つずつ暗号化することは可能です。しかし、コンピュータ上に存在する全てのデータを保護したい場合や、あるパーティションのファイルをすべて保護したい場合、1ファイルずつ暗号化するのは現実的ではありません。 Linuxカーネルには、ファイルシステム全体を暗号化するdm-cryptという機能がサポートされています。 dm-cryptとは dm-cryptは、LinuxカーネルのDevice Mapperを利用したブロックデバイス暗号化機能で、任意のファイルをファイルシステムの用にマウントする機能です。 暗号化の際の鍵管理には、LUKSを使った運用が推奨とされています。 LUKSとは LUKS(Linux Unified Key Setup)は、「鍵をどう管理するか」を決めた規格です。つまりdm-cryptだけでは、「鍵をどこへ保存する?複数人で使う?パスワード変更する?」などが決まっていません。 そこでLUKSが「鍵スロット、メタデータ、暗号方式、UUID」などを管理します。 cryptsetupコマンド dm-cryptの暗号化ボリュームをセットアップするコマンドは、cryptsetupコマンドを使用します。 書式 cryptsetup [オプション] [サブコマンド] [サブコマンド引数] cryptsetupの主なサブコマンド サブコマンド 説明 open (旧 luksOpen) LUKSデバイスを復号して利用可能にする close (旧 luksClose) LUKSデバイスを復号して利用可能にする status 開いている暗号デバイスの状態を表示する luksFormat デバイスをLUKS形式で初期化する luksDump LUKSヘッダー情報を表示する luksUUID LUKSデバイスのUUIDを表示する luksAddKey 新しいパスフレーズを追加する luks...

[Linux]GPG (GNU Privacy Guard)

はじめに GPG(GNU Privacy Guard)は、通信やストレージを暗号化・復号化したり、署名を行ったりする際に用いるツールで、GNUプロジェクトによって開発されています。 OpenSSLと似た用途もありますが、OpenSSLはSSL/TLSや証明書管理が得意なのに対し、GPGは個人間の暗号化や電子署名が得意です。 LinuxでGPGを利用するには、gpgコマンドを使用します。 gpgコマンド 書式 gpg [オプション] [サブコマンド] [引数] gpgサブコマンド サブコマンド 説明 --generate-key (--gen-key 省略形) 新しい鍵ペアを生成 --full-generate-key (--full-gen-key 省略形) 全機能で詳細な鍵ペアを生成(推奨) --list-keys 公開鍵一覧 --list-secret-keys 秘密鍵一覧 --import 鍵の取り込み --export 公開鍵の書き出し --armor ( -a ) でASCII形式で出力 --encrypt ( -e ) 暗号化 --decrypt ( -d ) 複合 --sign ( -s ) 電子署名 --verify 署名検証 --delete-keys 公開鍵削除 --delete-secret-keys 秘密鍵削除 GnuPGの鍵管理ファイル ファイル名 説明 trustdb.gpg 信用データベース 保持している鍵の信用度や有効性を記録している pubring.kbx / keyboxd (旧 pubring.gpg) 公開鍵が保存されるキーリング private-keys-v1.d/ (旧 ...

[Linux]OpenSSL

イメージ
はじめに OpenSSL(Secure Sockets Layer)は、暗号化や電子証明書の作成・管理を行うための代表的なツールです。SSL/TLS証明書の作成だけでなく、RSA秘密鍵の生成、CSR(証明書署名要求)の作成、自己署名証明書の発行、ハッシュ値の計算など、さまざまな用途で利用されています。 しかし、初めてOpenSSLを触ると「秘密鍵」「CSR」「証明書」といった専門用語が次々と登場し、それぞれがどのような役割を持っているのか分かりにくいと感じることも少なくありません。 本記事では、Linux環境でOpenSSLを使用する基本的な方法を、図を交えながら分かりやすく解説します。まずはRSA秘密鍵・CSR・証明書の関係を理解し、その後で実際のOpenSSLコマンドを使った鍵や証明書の作成手順を順番に見ていきたいと思います。 各ファイルの役割 まずはじめに各ファイルの役割についてですが、「拡張子」と「中身」は必ずしも一致しません。 特に .pem は「ファイル形式」を表し、.key や .crt は「用途」を表すことが多いので注意です。 ここでは一般的な用途について記載します。 拡張子 主な役割 含まれる内容 公開してよい? .key 秘密鍵 RSA秘密鍵 × 絶対に公開しない .csr 証明書署名要求 公開鍵+申請者情報 ○ 認証局へ送る .crt 証明書 公開鍵+署名+所有者情報 ○ 公開してよい ※HTTPサーバではこのファイルを公開する .pem PEM形式のファイル 秘密鍵・証明書・CSRなど何でも入る 中身による 証明書作成の基本的な流れ SSLアクセスを実現するための証明書作成の流れは以下です。 秘密鍵 CSR 自己署名 or 認証局による署名 証明書 SSLアクセスは、自分の秘密鍵で署名する自己証明書使う方法と、認証局(CA)に署名してもらう方法があります。 自己証明書 認証局(CA)発行 ...