OpenSSLの基本的な使用方法

SSLの概要

ネットワーク通信をより安全にするために、認証と暗号化が必要です。認証は相手が正しいことを確認し、暗号化は中間者がメッセージ内容を取得できないようにします。このため、TCPの上にセキュアな通信層を作成するSSL(Secure Sockets Layer)が設計されました。HTTP on SSLはHTTPSであり、現在ほとんどの銀行サイトはHTTPSを使用しています。

OpenSSLの機能

OpenSSLは、鍵と証明書の管理、対称暗号化、非対称暗号化を実現します。

1.1 暗号化コマンド

openssl enc -e -des3 -a -salt -in testfile -out testfile.cipher
openssl enc -d -des3 -a -salt -in testfile.cipher -out testfile

対称暗号化アルゴリズムにはAES、DES、Blowfish、CAST、IDEA、RC2、RC5があります。これらのアルゴリズムはECB、CBC、CFB、OFBの4つのモードをサポートしています。

非対称暗号化アルゴリズムにはDH、RSA、DSA、楕円曲線アルゴリズム(EC)があります。

1.2 ハッシュコマンド

openssl dgst -md5 [-hex] /PATH/SOMEFILE
openssl dgst -md5 testfile

OpenSSLはMD2、MD5、MDC2、SHA(SHA1)、RIPEMDの5種類のハッシュアルゴリズムを実装しています。

1.3 パスワード生成とBase64エンコード

openssl passwd -1 -salt string -in file

1.4 乱数生成

openssl rand -out file -base64 -hex num

1.5 鍵ペアの生成

openssl genrsa -out privatekey.pem 2048
openssl rsa -in privatekey.pem -pubout -out publickey.pem

1.7 証明書の作成

CA証明書と申請証明書を作成するには、配置ファイルを確認する必要があります。具体的には/etc/pki/tls/openssl.cnfファイルを参照してください。

  1. CAに必要なディレクトリとファイルを作成する。
  2. 証明書の開始番号を指定する。
  3. 私有鍵を生成する。
  4. 自己署名証明書を生成する。
openssl req -new -x509 -key privatekey.pem -out cacert.pem -days 365

(2)証明書の発行

証明書を使用するホストで証明書要求を生成し、それを信頼できる方法でCAホストに送信します。

(3)証明書の失効

証明書の失効はCAサーバー上で実行します。

openssl ca -revoke cert.pem
echo 01 > /etc/pki/CA/crlnumber
openssl ca -gencrl -out /etc/pki/CA/crl/ca.crl

タグ: OpenSSL SSL HTTPS 対称暗号化 非対称暗号化

6月2日 23:44 投稿