ホンダ ジェイド250

Waste Days

バイクとPCと時々のぎ

pCloudを使用するうえでファイル暗号化が必要になったが
rcloneのデメリットの部分を何とかしたいなと思って見つけたのがcppcryptfsだ

cppcryptfs概要

元々はgocryptfsという暗号化アプリがあってこの開発環境がGo言語というGoogle開発のプログラミング言語が使われている
これを何らかの事情でC++言語に置き換えてWindowsに移植したのがcppcryptfsだ

rcloneと同じくスタンドアロンで動作するのでGitからDLして適当なフォルダに解凍すれば即使用することができる

cppcryptfsの私的設定

cppcryptfsの基本的な設定としては以下のような感じで使用している

File names   AES256-EME  ✓ Long file names
Long name max   230  ✓ Deterministic names
File data   AES256-GCM
Scrypt parameters   N=2^ 18  (256MB required)

ファイル名暗号化と長いファイル名への対応
ファイル名長は230文字まで
暗号化形式はAES256GCM
Scryptによる復号化負荷 N=2^18 はかなり高負荷
※デフォルトの16は現在のPC性能ではかなり低負荷なので注意

rcloneと比較して優れている点は以下

GUIベースの設定ファイルの作成及びマウント管理

rcloneでは簡易的にしかなかったGUIも本格的に用意されており使用開始や設定変更なども比較的簡単にできるのでよりハードルが低い印象を受けた

また設定ファルを複数作成して使い分けたりパスワードの自動入力に対応するなど個人用途には痒いところに手が届く機能もある

長いファイル名への対策

rcloneでは日本語ファイル名を暗号化するに際してファイル名自体が255文字を超えるケースが多くなり
緊急時など暗号化ファイルをローカルに保存するのに致命的な問題があるのだがcppcryptfsの場合は予め字数制限を設定すると暗号化名がそれを超えた場合に限り
自動的にファイル名を短くし本来のファイル名に復元するための情報を.nameファイルに分離保存することで長いファイル名へ対応してくれる機能もある
もちろんこの機能自体には暗号化後のファイル名がバッティングする可能性が高くなるなどのデメリットもある(Base64対応サービスならほぼ問題ないだろう)

AES256による強力な暗号化に加えScryptによるブルートフォース対策有り

ファイル自体の暗号化クラックもそうだが設定ファイルが流出してしまった場合
ブルートフォースなど理論上時間をかければ突破できてしまうようなクラック方法に対しても
Scryptというハッシュアルゴリズムによって難読性を高めている
これはわざとシステムに負荷をかけることによりパスワードクラックを遅延させクラッカーなどを疲弊、諦めさせる狙いがある

但しデメリットも多い

デメリット:rcloneなどのストレージマウントツールが必要

クラウドストレージに暗号化ファイルを置いたとしても復号化しつつファイル管理するためにはやはりrcloneなど何某かのマウントツールが必要になってくる
またローカル暗号化→リモートストレージマウント→リモート復号化という流れで都合3つほどマウントドライブが必要になっていてマウント地獄になる

デメリット:システム負荷が高め

ローカルドライブを暗号化するためだけならそこまで重くないので神経質にならなくていいが
これがクラウドなどネットワーク越しになるととたんに重くなる
特にフォルダ内にファイル数が多くなってくると顕著でクラウド側の帯域にも依るが頻繁にIOエラーが発生してしまう
pCloudなどは頻繁にネットが瞬断することがあってそれがIOエラーの一因ではないかと思う
そもそもrcloneのWinFSPにcppcryptfsのDokanで仮想化をレイヤーしているので何かの拍子に整合性などがぶっ壊れるんじゃないか冷や汗物

デメリット:整合性を乱しうるメタデータの存在(dirivおよびnameファイル)

暗号化設定によっては.dirivや.nameと言ったファイルが生成使用されるのだがこのファイルも何らかの不具合で破損したり削除されてしまうとファイルが復号化したり閲覧ができない状況に陥ることは十分有り得る
しかもrcloneのように復号化できないファイルのエラーを表示したりしてユーザーに周知させることもないので知らぬ間に復号化できないファイルが出来上がることもあるだろう
※dirivやnameファイルを使用しない設定もできるがセキュリティ低下や機能面で問題が出るので中々思うようにいかない

デメリット:結局転送にもrcloneを使う

cppcryptfsの暗号化ファイルを転送する方法は3つほどあるがどれも一長一短あって安定しない

①cppcryptfsでリモート側を標準マウントしたドライブにファイルをD&Dして転送

本来の使い方なのだろうがpCloud側がマルチスレッドコピーに対応しないためにファイルサイズが128MBを超えた辺りからエラーがでて転送できない
現状は128MB以下の小さなファイル向けの転送方法

②ローカルフォルダで暗号化したファイルをブラウザやrcloneマウントで転送

ローカルに暗号化用のフォルダを作ってそこを標準マウントすることで暗号化ファイルが作れる
この暗号化ファイルを直接転送してしまう方法だが
ブラウザかrcloneマウントドライブのどっちでもいいんだけど結局

ブラウザの場合はファイルパスの長さ制限でアップロードできない
rcloneマウントの場合は上記に加えマルチスレッドエラーに引っかかる


chromeなどブラウザはファイル名よりパス長に敏感だったりする
などの制限によりうまくコピーできないことも多い

③暗号化フォルダの構造を維持してrclone copyで転送

ローカルとリモートで暗号化フォルダの構造を維持しておいて
転送したいファイルをそのフォルダに置いてからrclone copyをすれば長いファイルパスやファイル名の場合でも問題なく転送できる
この場合はファイル単位ではなくフォルダ単位での転送になる

結局はrclone様々なのである

デメリットとまでは言わないが:confファイルかパスワード失くすとアウト

rcloneと違ってgocryptfs.confファイルも復号化に必要なキーファイルなので失くすとアウトとなる
これはrcloneのパスワードさえ覚えていれば良いという方式とはある意味セキュリティ的には良い面もあるが
なぜかGUIのデフォルトではconfファイルの作成先が暗号化フォルダのルートだったりするのでクラウドストレージを利用する際は逆に注意しないといけない
ちなみに同じパスワードでもrcloneと違って毎回違うキーデータがconfファイルに書き込まれるので必ず暗号化開始時のものをバックアップしておく必要がある



コメントを残す

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

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください


2025年4月
 12345
6789101112
13141516171819
20212223242526
27282930  

archives

  • 2026 (1)
  • 2025 (33)
  • 2024 (28)
  • 2023 (15)
  • 2022 (19)
  • 2021 (15)
  • 2020 (16)
  • 2019 (13)
  • 2018 (21)
  • 2017 (40)
  • 2016 (118)
  • 2015 (53)
  • 2014 (31)
  • 2013 (14)
  • 2012 (59)
  • 2011 (89)
  • 2010 (65)
  • 2009 (97)
  • 2008 (22)

Avisynth aviutl BDAV BitLocker BonDriverProxyEx CentOS Collapsing Categories cppcryptfs EDCB FAW2AAC Firefox GoogleDrive HDMIキャプチャ LAST NUMBER openSUSE pCloud Raspberry Pi 2 Techism TvRock TVTest Ubuntu Windows 7 Windows 8.1 Windows 10 Windows10 WordPress WordPressテーマ XFREE Zenfone 10 アカウント凍結 グラディウス2 ゲーム攻略 セキュリティ セキュリティソフト ドライバ関連 乃木坂46 乃木坂46時間TV 卒業 坂道シリーズ 小粋空間 日記 桜井玲香 橋本奈々未 深川麻衣 選抜発表