ファイルを暗号化してみる

共通鍵方式

暗号化につかうパスワード、複合化につかうパスワードがともに同じな方式
だからこちらでパスワードを掛けて、暗号化したファイルを送って、のちに別の送信方法でパスワードを送る。
これで相手側も暗号化したファイルを戻せる

使うコマンドはopenssl

他、共通鍵方式としてはwindowsで一般的な zip コマンドで圧縮する際にパスワードを埋め込む方法です
*gzipには解凍パスワード機能はないみたい
使い方は
「zip -e <圧縮+パスワード込みファイル> <入力ファイル>」
で、実行後に「パスワード」が問われます

[caster@c ~]$ gtar cf Micrographs.tar ./Micrographs/*.mrc
[caster@c ~]$ ls -lh Micrographs.tar
-rw-r--r-- 1 caster domain users 6.3G  8月  8 01:34 Micrographs.tar
[caster@c ~]$
[caster@c ~]$ 
[caster@c ~]$ zip -e Micrographs.tar.zip Micrographs.tar
Enter password:                     <--- パスワード入力
Verify password:                    <--- パスワード再入力
  adding: Micrographs.tar (deflated 35%)
 
[caster@c ~]$ 
[caster@c ~]$ ls -lh Micrographs.tar.zip
-rw-r--r-- 1 caster domain users 4.1G  8月  8 02:14 Micrographs.tar.zip
[caster@c ~]$

*マシンが非力ならGB単位のファイルの圧縮は避けたほうがいいかもしれません。圧縮に掛ける時間で転送が終わるかも..

公開鍵方式

いわゆる「秘密鍵」と「公開鍵」でファイルを暗号化、複合化、あるいは署名とか言った事を行う
ここでは再度 openssl を使ってファイルを暗号化/複合化しますが、その鍵には ssh-keygen で作られる

を使ってみます。
gpgで鍵を作って、暗号化、復号化もありますが、、

利用シーンとしては、相手に送りたいファイルがある。これをownCloudとかクラウドストレージに配置するが、
取られても中身が見られないように暗号化する。っで、相手から「公開鍵」を送ってもらって、「公開鍵」で暗号化する
まずは送られてきた公開鍵をopensslで使うために変換する

[caster@c ~]$ ssh-keygen -f <ssh公開鍵> -e -m PKCS8  >   <ssh公開鍵.変換>
 
[caster@c ~]$ ssh-keygen -f id_rsa.pub -e -m PKCS8  >  id_rsa.pub.conv

変換した鍵を使って対象ファイルを暗号化します

[caster@c ~]$ openssl rsautl -encrypt -pubin -inkey id_rsa.pub.conv -in Micrographs.tar -out Micrographs.tar.enc

できた「Micrographs.tar.enc」を相手が取得可能な場所に置いてURLを伝える。

相手方は、「Micrographs.tar.enc」をダウンロードして、自身が保有する「秘密鍵」で復号させる

[assassin@c ~]$ openssl rsautl -decrypt -inkey id_rsa -in Micrographs.tar.enc -out Micrographs.tar

tarファイルを作りつつ暗号化

tarでめとめたファイルをパイプ(|)で繋いで、暗号を施して「-out」に出してます

[caster@c ~]$ gtar cf - ./junk | openssl enc -e -aes256 -out junk.tar.enc -k RuleBreaker

暗号化しただけでは中途半端で、復号化は下記のように行う。単にopensslで複合化した標準出力をパイプ(|)でtarに繋げているだけ

[caster@c ~]$ openssl enc -d -aes256 -salt -k RuleBreaker -in junk.tar.enc | gtar xf -
最新の60件
2025-01-13 2025-01-12 2025-01-08 2024-12-30 2024-12-29 2024-12-24 2024-12-22 2024-12-20 2024-12-17 2024-12-15 2024-12-14 2024-12-12 2024-12-11 2024-12-10 2024-12-09 2024-12-08 2024-12-04 2024-11-28 2024-11-22 2024-11-15 2024-11-14 2024-11-12 2024-11-06 2024-11-05 2024-11-04 2024-11-02 2024-11-01 2024-10-29 2024-10-28 2024-10-27 2024-10-23 2024-10-18 2024-10-17 2024-10-15 2024-10-14 2024-10-13 2024-10-11 2024-10-10 2024-10-09 2024-10-08 2024-10-05 2024-10-04 2024-10-03

edit


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-08-17 (木) 07:33:26