macOS(OS X)、WindowsベースのFTPクライアント「Cyberduck」では、米国時間2017年5月9日付にてリリースされた「6.0.0 Build 24625」より、オープンソースの暗号化ソフトウェア「Cryptomator」が統合されています。当エントリでは 「Cyberduck」と「Cryptomator」の連携によるクライアントサイドでの暗号化を、手順等を含めた形で簡単に纏めてみたいと思います。
Table of Contents
クライアントサイドで、エンドツーエンドの暗号化と復号を実現
Cyberduckは、デフォルトにて「FTP(File Transfer Protocol)」「FTP-SSL(Explicit AUTH TLS)」「SFTP(SSH File Transfer Protocol)」等のプロトコルをサポートする他、各種のクラウドストレージ等に対する接続にも対応してます(FTPSは明示的な接続(Explicitモード)のみに対応し、暗黙的な接続(implicitモード)には対応しません)。
この中から、今回の暗号化と復号の実践には、クラウドストレージの「Google Drive」を使用する事とします。
CyberduckからGoogle Driveにアクセス
CyberduckからGoogle Driveに接続するための手順は、以下の通りとなっています。
- 「File(ファイル)」メニュー、或いはツールバーの「Open Connection(新規接続)」ボタンから、接続プロトコルとして「Google Drive」を選択
↑「Open Connection」から、接続プロトコルとして「Google Drive」を選択 - 「Connect(接続)」をクリックすると システム既定のWebブラウザが起動して、Googleアカウントのログイン画面に誘導されるので、ユーザー名とパスワードを入力して、Googleアカウントにログイン
- Google Driveに対して、Cyberduckからのアクセスを許可する
↑Google Driveに対して、Cyberduckからのアクセスを許可 - 発行された認証コードをコピーして、Cyberduckの認証ボックスにペースト
↑認証コードをコピーして、Cyberduckの認証ボックスにペースト - ボックス右下の「Continue」ボタンを押して、認証を完了
正しく認証されると、Google Driveのユーザールートにアクセスする事が可能となります。
↑正しく認証され、Google Driveのユーザールートにアクセス
Google Driveに暗号化フォルダーを作成
続いて、アクセスしたGoogle Driveに、暗号化フォルダーを作成する手順を以下に示します。
- 「File(ファイル)」メニュー、或いはツールバーの「Action(アクション)」ボタンから、「New Encrypted Vault…」を選択して実行
- アンロック(復号化)するためのパスワードを設定(パスワードのセキュリティレベルをグラフィカルに表示)
↑セキュリティレベルを確認しながら、アンロック(復号化)するためのパスワードを設定
設定した名称の暗号化フォルダーが、指定した階層に作成されている事を確認して、プロセスを完了します(暗号化するフォルダー名は「file-vault」と設定しました)。
暗号化フォルダーにファイルをアップロード
続いて、作成した暗号化フォルダーに、ファイルをアップロードする手順を以下に示します。
- 作成した暗号化フォルダー(file-vault)にアクセス
- アンロック(復号化)するためのパスワードの入力を促されるので、暗号化フォルダーを作成した時に設定したパスワードを入力
↑アンロック(復号化)するためのパスワードを入力 - 暗号化フォルダーへのアクセスに成功したら、「File(ファイル)」メニュー、或いはツールバーの「Action(アクション)」ボタンから、「upload…(アップロード…)」を選択して実行
- 専用のナビケーションサービスを通じて、ファイルシステムから対象のファイルを選択し、アップロードを実行
- 再度、アンロック(復号化)するためのパスワードの入力を促されるので、暗号化フォルダーを作成した時に設定したパスワードを入力して実行
指定したファイルが、ターゲットとなる暗号化フォルダーにアップロードされている事を確認して、プロセスを完了します。
↑暗号化フォルダーにアップロードされている事を確認
暗号化フォルダーからファイルをダウンロードし、整合性を確認
続いて、作成した暗号化フォルダーから、ファイルをダウンロードする手順を以下に示します。
- 作成した暗号化フォルダー(file-vault)にアクセス
- アンロック(復号化)するためのパスワードの入力を促されるので、暗号化フォルダーを作成した時に設定したパスワードを入力
- 暗号化フォルダーへのアクセスに成功したら、ダウンロード対象のファイルを選択
- 「File(ファイル)」メニュー、或いはツールバーの「Action(アクション)」ボタンから、「download…(ダウンロード…)」を選択して実行
「Transfers(転送)」ウインドウを開いてダウンロードの成功を確認し、プロセスを完了します。
↑「Transfers(転送)」ウインドウにて、ダウンロードの成功を確認
アップロード前とダウンロード後のファイルでハッシュ値(SHA-256)を計算して比較し、ファイルの整合性を確認します。
openssl dgst -sha256 /path/to/filename
最後に
FTPクライアントとしての機能に加えて、クラウドストレージへのアクセスや暗号化転送にも対応し、macOSにマッチするエレガントなユーザーインターフェイスを有するCyberduckは、個人的にも利用頻度の高いアプリケーションの一つです。
惜しむらくは、接続や転送でエラーが散見される事(私の環境に問題があるのかも知れませんが)ですが、Filezilla等との併用で、多くのタスクは 追加のコストを伴わすしてカバーする事ができるのでないかと認識しています。