opensslによるファイルの暗号化

OpenSSLによる暗号化・復号化できる。その方法には、「共通鍵による暗号化」と「公開鍵による暗号化」がある。

Opensslによる共通鍵暗号化・復号化

共通鍵によるファイルの暗号化
 ・共通パスワード(パスフレーズ)を直指定する場合
  $ openssl enc -e -aes256 -in secret.txt -out secret.sec.txt -k hogehoge
※暗号化時にパスワード(パスフレーズ)を求められたくなければ、「-k」オプションを指定する
※パスワードが表示されているので、セキュリティのことを考えれば次の「共通鍵(パスフレーズ)定義ファイル」での暗号化をお勧めする。
・共通鍵(パスフレーズ)定義ファイルを指定する場合
  $ openssl enc -e -aes256 -in original.txt -out original.txt.sec -kfile ./passphrase.txt
※passphrase.txtには、共通鍵となるパスフレーズのみを記入する。

・参考:パイプで連携して暗号化する場合
inオプションでファイルを指定せず、コマンド実行結果をパイプで繋ぎ、暗号化することもできる。
  $ cat  original.txt| openssl enc -e -aes256 -out original.txt.sec -kfile ./passphrase.txt

共通鍵によるファイルの復号化
  $ openssl enc -d -aes256 -in original.txt.sec -out original.txt -k hogehoge



Opensslによる公開鍵暗号化・復号化

Opensslによる公開鍵暗号化・復号化には、「秘密鍵・公開鍵」による方法と「秘密鍵・証明書」による方法がある。

公開鍵による暗号化・復号化

※この方法で暗号化できるファイルサイズはとても小さいです。
秘密鍵・公開鍵の作成
・秘密鍵作成
 $  openssl genrsa -des3 -out private-key.pem  2048

・パスフレーズ無しの秘密鍵を作成する場合
 $ openssl genrsa -out private-key.pem 2048 
・公開鍵作成
  $ openssl rsa -pubout -in private-key.pem -out public-key.pem

公開鍵によるファイルの暗号化
$ openssl rsautl -encrypt -pubin -inkey public-key.pem -in original.txt -out original.txt.sec 
※パイプ/リダイレクトによる暗号化
  $ echo "HELLO" | openssl rsautl -encrypt -pubin -inkey public-key.pem > original.txt.sec 
公開鍵によるファイルの復号化
  $ openssl rsautl -decrypt -in original.txt.sec -out original.txt -inkey private-key.pem
※パイプ/リダイレクトによる復号化
  $ cat original.txt.sec | openssl rsautl -decrypt -inkey private-key.pem > original.txt 


証明書による暗号化・復号化

ここで説明する手順は、秘密鍵から作成した証明書を利用して、ファイルを暗号化する方法です。
この方法は、メモリを大量に使用する。暗号化するファイルサイズ以上にメモリを使用することになる。
秘密鍵、証明書の作成
・秘密鍵
  openssl genrsa -des3 -out private-key.pem  2048
・電子証明要求書
  openssl req -new -key private-key.pem -out smime.csr
・電子証明書(10年有効)
  $ openssl req -x509 -in smime.csr -key private-key.pem -out smime.cer -days 3650

■証明書による暗号化
  $ openssl smime -encrypt -binary -aes256 -in original.txt -out original.txt.sec smime.cer

■秘密鍵・証明書による復号化
  $ openssl smime -decrypt -binary -aes256 -in original.txt.sec -out original.txt -inkey private-key.pem -recip smime.cer





[OpenSSH[実践]入門  ]の書籍横断比較とレビュー

OpenSSH[実践]入門
著者:川本 安武
出版日:2014-11-01
出版社:技術評論社

[実用SSH 第2版―セキュアシェル徹底活用ガイド]の書籍横断比較とレビュー

実用SSH 第2版―セキュアシェル徹底活用ガイド
著者:Daniel J. Barrett
出版日:2006-11-22
出版社:オライリー・ジャパン




Google+