前提・実現したいこと
rcloneのgoogle driveへの暗号化バックアップにおいてアップロード処理がファイル破損なく正しく成功しているかの判定をしたい。
rcloneのmount機能によるnautilus上のアップロードでは、
アップロード前のローカル上での平文のチェックサムとアップロード後のリモート上の暗号化データの復号後の平文に戻したチェックサムを比較して、ファイルアップロード処理でデータ破損が起きてないか、きちんとチェックしてるのでしょうか?
クラウドストレージのバックアップにrcloneを使用しています。セキュリティのため、ローカルで暗号化後、google driveにあげています。 設定は以下のサイトの通りです。
https://bytesized-hosting.com/pages/rclone-gdrive
ただし、mountの際のオプションは
rclone mount --allow-non-empty --vfs-cache-mode writes gcrypt: ~/mnt/gdrive &
です。そして、実際の運用方法としては、nautilus上でrcloneでmountしたディレクトリにファイルをコピーし、ローカル上では見た目上ファイル名とファイル内容が平文で表示されるが、
実際はリモート上でファイル名とファイル内容が暗号化されてアップロードされるというものです。
また、ローカルのディスク容量が足りないので、同期機能は使用せず、アップロード処理が多数を占めます。
発生している問題・エラーメッセージ
そして、アップロード処理についてですが、
アップロード後のチェックサムの場合、暗号化後のチェックサムを受信しても平文のチェックサムとは異なって当然です。
(この点はgithubのissueに指摘があり、rclone checkでなくrclone cryptcheckを使えとありました。しかし、それは一々ファイルやディレクトリを指定する方法であり、同期でなくアップロードのみの運用の場合、自動化出来ず、面倒だし、
mountに対してアップロード毎にチェックサム検証の処理を可能にするオプションもあるべきですが、探してもなさそうです。リモートマウントしたディレクトリにローカルのデータをコピーしたら、自動で完全性検証がされるべきです。)
さらに、秘密鍵はローカルにあるので、一度アップロードした暗号化ファイルをダウンロードして復号した後のチェックサムと比較するべきです。
つまり、アップロード後にダウンロード処理が始まってgnome-system-monitorの受信速度に大きな変化が現れるはずです。
光回線なので、ベストエフォート1gbpsであり、google-drive-ocamlfuseによるnautilus上でのローカルへのダウンロードは30~60MB/sと高速になりますし、rcloneでも同様でした。
しかし、アップロード後の受信速度にはこのような高速な結果が一切見られないので、結局はアップロード成功判定を全くしてないのではと考えてます。
すると、せっかくアップロードしてもデータ破損の可能性があり怖いです。
それがあり、rcloneが暗号化バックアップが容易であると知っていたにも関わらず、
ずっと7zのlzma2のaes暗号化をしてました。
ただ、7zのAesもaes-256-cbcかaes-256-gcmなのか仕様が不明でしたし、仮に後者の比較的強い暗号化でも、同じパスワードとnonceの組だと68gbまで、同じパスワードだと、350gbまでしか使えず、
それ以降は解読攻撃が可能であり、rcloneに変更しようと思いました。
クラウドストレージへのバックアップの処理、
暗号、復号などの知識が必要ですが、どなたか回答お願いします。
補足情報(FW/ツールのバージョンなど)
ubuntu 18.10
rclone v1.46
- os/arch: linux/amd64
- go version: go1.11.5
あなたの回答
tips
プレビュー