アカウント名:
パスワード:
動画見た感じだとブラウザで暗号化するのかな。リンクもブラウザで生成してサーバ経由しないなら安心。でも復号キーもリンクに含まれるんだから、結局ダウンロードすればMozilla側に漏洩するってことだよね。
ソース [github.com]を読んでみた。
モダンブラウザーが必要な理由は、暗号化・復号にWebCrypto APIを使っているから。あと暗号化を全部メモリ上でやっているので、(1GB制限しなくても)あまり大きすぎるファイルはメモリ不足で扱えない。
Windowsなら「仮想メモリ」設定で「ページング ファイルなし」にしていない限り、大きいファイルでも仮想メモリが使われるだけなので、メモリ不足で扱えないなんてことは起こりません。
暗号鍵とかそういう機密データがHDDやSSDにスワップするのはセキュリティ上好ましくないからといってもWindowsは欠陥OSなのでアプリ側からスワップを回避するのは困難(というかOSのカーネルレベルを書き換えないと無理)ですだから、WebCrypto APIもスワップを完全
Win32APIのVirtualLock()が機能しないケースがあるってこと? 初めて聞いたしググっても出てこないな。ソースあります?
A.8.4 Pageant は VirtualLock() を使って秘密鍵がディスクに書き込まれないようにできませんか [ranvis.com]
残念ながらできません。 Windows API の VirtualLock() は適切に動作しません。プロセスの動作中にプロセスメモリの一部がディスクにページアウトしないようにできますが、プロセスが長期間非アクティブなときにプロセスメモリ全体をディスクにスワップアウトしないようにはできないのです。
ほかにも罠があって、この関数は成功すると0以外の値が返る仕様なのに、Windows 9x だと常に失敗するのに成功扱いの「0以外」が返ってきてしまいセキュリティ上問題がある。 [microsoft.com]
こういうことがあるから、プログラマーはOSのバージョンを取得して対応OS以外をはじく実装をしているのに、Microsoft は内部バージョンの偽装した上で、関数が実装されているかどうかは実際にその関数を動作させて戻り値を見れば良いとか訳の分からんことを言い出している。
こういう糞実装から考えればわかると思うけど、Microsoftは VirtualLock() をセキュリティ上の機密を保護するための関数だとは考えていない。単にパフォーマンス上の理由で極力スワップさせないための関数と考えてるだけ。
あと、異常終了時のメモリダンプの問題もあるし、ノートPCだったら電池残量が少なくなっただけでデフォルト設定だと勝手に休止状態になってメモリの内容がストレージに書き出される。
機密情報のディスクの書き出しすらまともに制御できない糞OSなので、セキュアなプログラムは Unix 系OSじゃないとできない。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
目玉の数さえ十分あれば、どんなバグも深刻ではない -- Eric Raymond
暗号化 (スコア:0)
動画見た感じだとブラウザで暗号化するのかな。
リンクもブラウザで生成してサーバ経由しないなら安心。
でも復号キーもリンクに含まれるんだから、結局ダウンロードすればMozilla側に漏洩するってことだよね。
Re: (スコア:2, 参考になる)
ソース [github.com]を読んでみた。
メモリ不足でも「仮想メモリ」が使われるだけ (スコア:1)
モダンブラウザーが必要な理由は、暗号化・復号にWebCrypto APIを使っているから。
あと暗号化を全部メモリ上でやっているので、(1GB制限しなくても)あまり大きすぎるファイルはメモリ不足で扱えない。
Windowsなら「仮想メモリ」設定で「ページング ファイルなし」にしていない限り、
大きいファイルでも仮想メモリが使われるだけなので、メモリ不足で扱えないなんてことは起こりません。
暗号鍵とかそういう機密データがHDDやSSDにスワップするのはセキュリティ上好ましくないからといっても
Windowsは欠陥OSなのでアプリ側からスワップを回避するのは困難(というかOSのカーネルレベルを書き換えないと無理)です
だから、WebCrypto APIもスワップを完全
Re: (スコア:0)
Win32APIのVirtualLock()が機能しないケースがあるってこと? 初めて聞いたしググっても出てこないな。
ソースあります?
Re:メモリ不足でも「仮想メモリ」が使われるだけ (スコア:0)
Win32APIのVirtualLock()が機能しないケースがあるってこと? 初めて聞いたしググっても出てこないな。
ソースあります?
A.8.4 Pageant は VirtualLock() を使って秘密鍵がディスクに書き込まれないようにできませんか [ranvis.com]
ほかにも罠があって、この関数は成功すると0以外の値が返る仕様なのに、Windows 9x だと常に失敗するのに成功扱いの「0以外」が返ってきてしまいセキュリティ上問題がある。 [microsoft.com]
こういうことがあるから、プログラマーはOSのバージョンを取得して対応OS以外をはじく実装をしているのに、Microsoft は内部バージョンの偽装した上で、関数が実装されているかどうかは実際にその関数を動作させて戻り値を見れば良いとか訳の分からんことを言い出している。
こういう糞実装から考えればわかると思うけど、Microsoftは VirtualLock() をセキュリティ上の機密を保護するための関数だとは考えていない。単にパフォーマンス上の理由で極力スワップさせないための関数と考えてるだけ。
あと、異常終了時のメモリダンプの問題もあるし、ノートPCだったら電池残量が少なくなっただけでデフォルト設定だと勝手に休止状態になってメモリの内容がストレージに書き出される。
機密情報のディスクの書き出しすらまともに制御できない糞OSなので、セキュアなプログラムは Unix 系OSじゃないとできない。