opensslコマンドでデータを暗号化してバックアップする

Mar 17, 2024 13:45 · 943 words · 2 minute read 小技 Security

ちょっとしたデータを共有したい時や会社のオンラインストレージにバックアップしたい時に、opensslコマンドで暗号化すると便利です。 職場で同僚に伝えたら反応が良かったので、ブログにも残しておきます。 自分もブログに書いておくとコマンドサンプルを流用できて便利ですし。

目次

1つのファイルを暗号化したいとき

暗号化

コマンドサンプルです。暗号は必要に応じて強弱を調整してください。

openssl enc -aes-256-cbc -pbkdf2 -in inputfile.txt -out encryptedfile.txt

passwordもコマンドに含めて記録したい場合はこちら。

openssl enc -aes-256-cbc -pbkdf2 -in test.txt -out encryptedfile.txt -pass pass:aaaaa

復号

openssl enc -aes-256-cbc -pbkdf2 -d -in encryptedfile.txt -out decryptedfile.txt
or
openssl enc -aes-256-cbc -pbkdf2 -d -in encryptedfile.txt -out decryptedfile.txt -pass pass:aaaaa

複数のファイルをディレクトリごと暗号化してバックアップしたいとき

例えばLogseqで作った大量のmdファイルを暗号化してバックアップしたいときは、一度zipにしてから暗号化します。 暗号化して会社のオンラインストレージにバックアップしておけば、パソコンが壊れた時もLogseqのノートを復旧できるので安心です。

関連記事:ObsidianからLogseqに乗り換えてみた · kapieciiのブログ

暗号化

コマンドサンプルです。暗号は必要に応じて強弱を調整してください。 「 -x “.DS_Store” “__MACOSX*"」でmacの作成するファイルを除外しています。

zip -r Logseq-bak.zip Logseq-files -x "*.DS_Store" "*__MACOSX*"
openssl enc -aes-256-cbc -pbkdf2 -in Logseq-bak.zip -out Logseq-bak-enc -pass pass:12345

復号

openssl enc -aes-256-cbc -pbkdf2 -d -in Logseq-bak-enc -out Logseq-bak.zip -pass pass:12345
unzip Logseq-bak.zip

どの暗号技術を使えばいいのか迷った時の参照情報

どの暗号を使えばいいか迷った場合は、下記のドキュメントを参照してください。 「この暗号で本当に大丈夫なの?」と聞かれた場合の根拠情報としても使えます。

関連記事: サーバのTLSセキュリティ設定でIPAの資料がとても親切だった · kapieciiのブログ

最後に

opensslコマンドを使える環境は多いので、これらのコマンドは汎用性が高く便利です。 よければお役立てください。

tweet Share