infiniCLOUDでWebDav接続して暗号化ファイルバックアップ

【LCTZ5】登録後にマイページでこの紹介コードを入力すると、今なら5GBプレゼント!国産クラウドストレージ「infiniCLOUD」

てことでWebDav使えるとこを探して試しに登録してみました.
infiniCLOUDは無料で20GB+紹介コード入力で+5GBの国内クラドサービスです.

登録してWebDav接続して,gocryptfsのreverse mountを使い暗号化バックアップまで試してみました.

infiniCLOUDは現在すぐに登録出来ません.一旦仮登録して順番待ちに入り,そこから待ちが解消されたらメールで連絡が来て本登録となっています.
今回は仮登録から本登録まで7日ほどかかりました.

本登録時には無料で20GB利用できます.ここで「マイページ」の「紹介ボーナス情報」→「紹介コードを入力する」で紹介コードを入力すると容量が5GB追加されます.

紹介コードは私のコードを使ってもらえるなら「LCTZ5」を入力してください.若しくはWeb検索やSNS検索でもたくさん出てきます.

WebDav接続

infiniCLOUDはWebDavに対応していますが標準では利用できません.マイページで有効にする必要があります.

マイページに移動し,「外部アプリ接続」→「外部アプリ接続を許可する」にチェックすると,「アプリパスワード」が払い出されます.このパスワードをメモしておきます.

infiniCLOUD dav01

この後,WebDav clientで httpss://higa.teracloud.jp/dav に「接続ID」と「アプリパスワード」で接続できるようになります.
ファイラーのNautilusやPC-ManFM-qtでは davs://higa.teracloud.jp/dav で接続できます.

infiniCLOUD PC ManFM01

gocryptfsのreverse modeで暗号化backup

WebDavでファイルを転送してみます.でも以下のような話もあるし事業者側でチェックできないよう暗号化してから転送することにします.

この記事ではCryptomatorやRcloneが紹介されています.ここではgocryptfsのreverse modeで任意のディレクトリを暗号化マウントして暗号されたディレクトリ以下を転送してみます.

Tip

以下はコマンドでゴニョゴニョやっていますが,Cryptomatorは基本GUIですし,gocryptfs対応のGUIアプリもあります.

Note

以前Cryptomatorを試して「鹿児島Linux勉強会 2021.09」で発表した資料.

今回は以下のようなディレクトリ構成です.

  • バックアップ対象ディレクトリ(平文)を ~/backup

  • reverse modeでリバースマウントした暗号化されたディレクトリを ~/fuse/crypt

  • infiniCLOUDのWebDavのマウントポイントを ~/fuse/WebDav

先ずはreverse modeの初期化を行います.これは初回のみ必要です.
パスワードを求められます.ある程度複雑で長いパスワードを指定します.このパスワードを紛失するとデータは失われます.

初期化(初回のみ)
$ gocryptfs -reverse -init ~/backup
Choose a password for protecting your files.
Password:
Repeat:

Your master key is:

    eb790dfd-6ef73a50-479c61a2-4241ad29-
    d7fca680-e2b285ed-8f8d253d-4de67707

If the gocryptfs.conf file becomes corrupted or you ever forget your password,
there is only one hope for recovery: The master key. Print it to a piece of
paper and store it in a drawer. This message is only printed once.
The gocryptfs-reverse filesystem has been created successfully.
You can now mount it using: gocryptfs -reverse . MOUNTPOINT
設定ファイルが作られている
$ ls -A ~/backup/.gocryptfs.reverse.conf
/home/matoken/backup/.gocryptfs.reverse.conf
$ cat ~/backup/.gocryptfs.reverse.conf
{
        "Creator": "gocryptfs 2.6.1",
        "EncryptedKey": "tDNot8rK0TgXqbeailSl1ivc6BtfJadyruGrT6jH+MTz9w0kiwc7GeetpZlg+XuZkmgbR+IgxCLVjZmneCSLVQ==",
        "ScryptObject": {
                "Salt": "Ua4Sh5RA8XSws5HPfP2nZngtu9MDtXdlPU+3GsZ07qM=",
                "N": 65536,
                "R": 8,
                "P": 1,
                "KeyLen": 32
        },
        "Version": 2,
        "FeatureFlags": [
                "HKDF",
                "GCMIV128",
                "DirIV",
                "EMENames",
                "LongNames",
                "Raw64",
                "AESSIV"
        ]
}
gocryptfsのreverse modeでマウント
$ gocryptfs -reverse ~/backup ~/fuse/crypt
Password:
Decrypting master key
Filesystem mounted and ready.
$ ls -A ~/fuse/crypt
BRR2b2p5T-5OJ6Z5sGNF3Q  gocryptfs.conf  gocryptfs.diriv
$ cat ~/fuse/crypt/gocryptfs.conf
{
        "Creator": "gocryptfs 2.6.1",
        "EncryptedKey": "tDNot8rK0TgXqbeailSl1ivc6BtfJadyruGrT6jH+MTz9w0kiwc7GeetpZlg+XuZkmgbR+IgxCLVjZmneCSLVQ==",
        "ScryptObject": {
                "Salt": "Ua4Sh5RA8XSws5HPfP2nZngtu9MDtXdlPU+3GsZ07qM=",
                "N": 65536,
                "R": 8,
                "P": 1,
                "KeyLen": 32
        },
        "Version": 2,
        "FeatureFlags": [
                "HKDF",
                "GCMIV128",
                "DirIV",
                "EMENames",
                "LongNames",
                "Raw64",
                "AESSIV"
        ]
}
rsyncコマンドでファイル転送.
$ rsync -avcP ~/fuse/crypt ~/fuse/WebDav/
mountして復号できるか確認
$ gocryptfs ~/fuse/crypt ~/fuse/decrypt
Password:
Decrypting master key
Filesystem mounted and ready.
$ ls ~/fuse/decrypt
  :
アンマウント
$ fusermount3 -u ~/fuse/decrypt/
$ fusermount3 -u ~/fuse/crypt/

という感じで自分のデータを暗号化してWebDav経由でinfiniCLOUDに転送して復号化までできることを確認しました.

同じデータを複数人で使いたい場合はNextcloudなどでE2EEなどを使うのが良さそうですが,自分だけで使う分にはこれで十分かなと.

コメントを残す

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です

To respond on your own website, enter the URL of your response which should contain a link to this post's permalink URL. Your response will then appear (possibly after moderation) on this page. Want to update or remove your response? Update or delete your post and re-enter your post's URL again. (Find out more about Webmentions.)