さて､ ファイル送信に使えるメソッドを説明する前に､ メタデータについて説明します｡
つまり､ 画像､ PDF､ 文書など､ どんなデジタルファイルにもメタデータがあるのです｡
つまり､ ファイルに添付された情報によって､ そのファイル自体に関する詳細な情報､ 例えば作成者などを明らかにすることができるということです｡
このアプリケーションの作成に使用したプログラム､ 作成時間など｡
一例をお見せしましょう｡
ここに古い携帯電話で撮った私の車の写真がありますが､ この写真を右クリックしてプロパティを表示すると､
その写真が表示されます｡
そして､ 画像タブに移動します｡
このように､ この写真については､ 多くの情報を得ることができます｡
さて､ 最初のいくつかは､ 画像の種類､ 幅､ 高さなど､ あまり面白くなさそうなものばかりかもしれません｡
でも､ 下に行くとカメラの種類があり､ アップル社でした｡
カメラの機種を見ることができます｡
iPhone six SEでした｡
この写真が撮影された日付､ 時間と共に正確な日付を見ることができます｡
フラッシュを使ったかどうかもわかります｡
さて､ これは写真の一例です｡
文書に対して同じことをすると､ 作成者､ オペレーティングシステム､ 作成に使用したプログラムなどが表示されます｡
したがって､ これらの情報をすべてつなぎ合わせると､ あなたがどのようなプラットフォームを利用しているかがわかり､
そこから匿名化に取り組むことができます｡
したがって､ 匿名でファイルを共有したい場合は､ これらの情報をすべて削除して､ 個人を特定できる情報を最小限にするのが実に良いアイデアです｡
さて､ 幸いなことに､ この方法は非常に簡単で､ メタデータを削除したいファイルを右クリックするだけでよいのです｡
そして､ クリーンメタデータをクリックします｡
これをワンクリックで｡
このプロセスで何かが壊れる可能性がある場合に備えて､ ここにあるように､ まずイメージのバックアップが作成されます｡
そして､ ここに画像そのものがあります｡
その中からメタデータを消去した後｡
そこで､ 右クリックして､ 今すぐプロパティを表示します｡
そして､ 画像タブを開くと､ ご覧の通り､ 私､ つまり画像を作成した人に関連する情報は一切表示されません｡
だから､ フォントの種類やカメラの種類､ 作成された時間などはわからない｡
さて､ 画像をクリアにしたら､ いよいよ共有です｡
そこで､ Google､ Drive､ Dropboxなど､ クリアネットで既にご存知のファイル共有サービスのいずれかを利用すればよいのです｡
ただ､ これらのサービスは､ 多くのクリアネットサービスと同様に､ プライベートなものではありません｡
データを記録するのだ｡
追跡される
しかも､ 安全性が確保されていない｡
それだけでなく､ これらのサービスの仕組みは､ オンラインサーバーやクラウドにファイルをアップロードするため､ あまりプライベートなものではありません｡
だから､ よし､ これを使うのはやめよう､ と思うかもしれません｡
前に紹介したメールサービスは､ どれも添付ファイルを送ることができるので使ってみようと思うのですが､
同じような問題に悩まされています｡
お客様のファイルは､ クラウド上のサーバーにアップロードされます｡
では､ どういうことか､ お見せしましょう｡
例えば､ Davidが右側のJohnにファイルを送りたい場合を考えてみましょう｡
そして､ 彼らがやりたいことは､ GoogleやDropbox､ あるいは先ほど紹介したメールサービスのいずれかを使いたい､
ということです｡
そのために､ ファイルはクラウド上のいずれかの企業が所有するサーバーにアップロードされることになるわけです｡
そして､ ジョンがこのファイルをクラウドからダウンロードするのです｡
その結果､ DavidとJohnの両方がファイルのコピーを持つことになり､ それは良いのですが､ 同時に､
ファイルをホストするために使用されているサーバーがこのファイルのコピーを持つことになり､ 多くの問題が発生します｡
このサーバーにアクセスできる人なら誰でもこのファイルにアクセスできる｡
つまり､ そのサーバーで働く従業員､ サーバーへのアクセスに成功したハッカー､
そしてサーバーの所有者と何らかの契約を結んでいる政府機関です｡
そのため､ この方法はあまりプライベートなものではなく､ 機密ファイルを共有する場合には不向きです｡
今回､ Firefoxの開発者は､ この問題を解決するために､ エンド・トゥ・エンドの暗号化を用いたファイル共有サービスを提供することを試みている｡
つまり､ クライアント側で実行されるコードを使って､ ファイルを暗号化するのです｡
つまり､ これは自分のローカルコンピューター上で動くコードなのです｡
まず共有したいファイルを暗号化し､ そのファイルだけを相手のサーバーにアップロードして､
復号化キーを含む特別なリンクをジョンと共有するのです｡
ジョンはこのリンクを使ってファイルをダウンロードし､ リンクには復号化キーが含まれているため､ ジョンはファイルを復号化し､
その内容を読むことができるようになります｡
では､ この方法を理解していただくために､ その仕組みを紹介し､ 次にこの方法の短所について説明します｡
では､ 私のタレスコンピュータに戻り､ 現時点でメタデータがないクリーニングした同じ画像を共有してみます｡
そして､ この画像は私のTorブラウザのディレクトリに保存されていることに留意してください｡ Torブラウザがテール上でどのように設定されているかを話したとき､
Torブラウザのディレクトリに保存されたファイルしかアップロードとダウンロードができないことを思い出してください｡
つまり､ 画像は正しい場所にあり､ 私を特定できるような情報は含まれていないのです｡
あとは､ この画像をアップロードするだけです｡
Torブラウザにアクセスすると､ すでにFirefoxが提供するファイル共有サービスのところにいるんです｡
send dot firefox dot comにアクセスすると､ アクセスすることができます｡
この講演の資料の中に､ そのリンクを載せておきます｡
そして､ ご覧の通り､ とてもシンプルで､ 使い勝手が良いのです｡
あとは､ アップロードしたいファイルをクリックするだけです｡
デフォルトでTorブラウザのディレクトリになります｡
共有したいファイルを選びたい｡
これが私の画像です｡ 「開く」をクリックして､ アップロードを開始します｡
ここで実際にプラスをクリックすると､ 複数のファイルを選択することができます｡
実際には､ このファイルは､ 例えば1回ダウンロードした後､ 一定量のダウンロード後に失効するように設定することができます｡
または､ 有効期限を設定することができます｡
そのため､ 5分後､ 1時間後､ 1日後､ 7日後に有効期限が切れます｡
また､ このボックスにチェックを入れることで､ ファイルをパスワードで保護することができます｡
そこで､ すべてをデフォルトのままにして､ アップロードをクリックすることにします｡
しかも完璧に｡
ご覧のように､ ここにダウンロードのリンクがありますので､ これをコピーして､ ダウンロードしてほしい人と共有することができます｡
だから､ コピーをクリックしてコピーし､ 新しいタブでリンクを貼り付けるんだ｡
このリンクにあるように､ これが復号化キーで､ ファイルをダウンロードした人が暗号化されていない状態で内容を見ることができるようにするために必要なキーです｡
この部分がなければ､ ファイルには何の情報も含まれていません｡
したがって､ Firefoxの所有者やそのサーバーにアクセスできる人であっても､ このキーがなければファイルの内容を見ることはできません｡
このキーは､ クライアント側で実行されるコード､ つまりブラウザ上で実行されるコードによって生成されることに留意してください｡
つまり､ 彼らのサーバーで実行されているコードではないので､ このキーを見ることはできないはずです｡
ここで､ Enterキーを押すと
ご覧のようにダウンロードページが表示され､ ダウンロードをクリックすると､ まず自分のローカルコンピュータのクライアント側で実行されるコードを使ってファイルを再び復号化し､
画像をダウンロードできるようになります｡
22セーブということにしておいて､ それがダウンロードされるはずです｡
だから､ ここに行けば｡
アップロードした画像と同じものが表示されているのがわかると思います｡
だから､ 完璧なんです｡
この方法は安全だと思われるかもしれませんし､ Google DriveやDropboxなどを使ってファイルをアップロードするよりもプライベート性が高いです｡
しかし､ それでも注意しなければならないことがいくつもあります｡
まず､ リンク先には復号化キーが含まれています｡
したがって､ リンクにアクセスできる人なら誰でもあなたのファイルをダウンロードし､ その内容を見ることができるのです｡
それから､ もうひとつの問題があります｡
そのサーバーは信用できるのか？
ファイルをサーバーにアップロードする前に暗号化し､ 暗号化はローカルで実行されるコードを使用して行われるため､
サーバーは復号化キーを知らない､ と申し上げましたが､ その通りです｡
しかし､ このコードが絶対に変わらないと本当に信じているのでしょうか？
もしハッカーが Firefox のサーバにアクセスし､ このコードの動作方法を変更して､ 実際にキーを彼らのサーバや自分のサーバに送るようにしたらどうでしょうか｡
もし､ Firefox が嫌いな社員が､ そのようなことをしたらどうしますか？
政府機関ではどうでしょうか？
この場合も､ 暗号化されているとはいえ､ サーバーを信頼しなければならないので､
通常のファイル共有サービスと同じ問題があります｡
つまり､ 私たちが直面している主な問題は､ これらのファイル共有サービスの実装方法であり､ 暗号化の問題ではありません｡
実際に､ 他のサーバーから引っ張ってきたコードに頼らず､ 手動でファイルを暗号化する方法について説明します｡
ここでの主な問題は､ ファイルが私たちのコントロールできない場所に保存されていることです｡
このファイルがどのように保存されているかにかかわらず､ 暗号化を使用しているかどうかは､ 実際には重要ではありません｡
理想は､ ファイルをローカルに保存し､ 完全にコントロールできる場所でのみ共有することです｡
そして､ これは次の講義でお見せするものです｡
さて､ もうひとつ付け加えるとすれば｡
このサービスが機能するためには､ 先ほど申し上げたように､ クライアント側のコードを使ってファイルを暗号化・復号化する必要があります｡
したがって､ セキュリティ設定を低または中にしないと動作しません｡ この作業をすべて行うクライアント側のコードはJavaScriptのコードで､
セキュリティレベルを高くすると､ ご存知のようにJavaScriptが無効になるからです｡
そのため､ 脅威モデルに合わないという理由で､ 中程度や標準的なセキュリティ設定を使用しない方がよいかもしれません｡
ですから､ これもまた､ このサービスを利用する上での問題点でしょう｡
しかし､ 一般的には､ あまり機密性の高くないものであれば､ これはファイル共有のための素敵で迅速な方法となり得るでしょう｡