現在、多くのスマートフォンはSDカードへのアプリのインストールをサポートしており、ユーザーの容量を大幅に節約するのに役立ちますが、多くのハッカーはユーザーのプライバシーを盗むためにこれを利用することもあります。一般的に、アプリはSDカードへの読み書きアクセス権を持っており、もちろん他のアプリからもSDカードに保存されたデータを読み取ることができます。つまり、悪意のあるアプリをインストールすれば、そのアプリはSDカード上のすべてのデータに簡単にアクセスできるのです。
もちろん、データセキュリティのためにSDカード上のデータを暗号化することは可能ですが、これは多かれ少なかれ携帯電話のパフォーマンスに影響します。
しかし、フェイスブックは「Conceal」と呼ばれるセキュリティ・ツールのソースコードを公開しました。このツールは、暗号化Java APIインターフェイスを提供し、アプリケーションでデータを暗号化するための使いやすいインターフェイスです。
Concealはスピードに特化して設計されており、小型で高速です。facebookのソフトウェアエンジニアはブログで、"これは、暗号化することによってSDカード上のデータを保護し、ユーザーのセキュリティをより良くする機会です。"と述べています。
このツールは、OpenSSLベースの暗号化アルゴリズムを使用しています。
"コンシールの暗号化アルゴリズムは、OpenSSLに基づいていますが、arm7の下でOpenSSLライブラリのサイズが1MBであった、OpenSLLライブラリの内容を削減し、コンパイルした後、今、彼はわずか85KBです。"
Concealは、現在のどのJava暗号化ライブラリよりも軽量で高速であり、データの悪意のある改ざんを防ぐためにAES-GCMアルゴリズムを使用しています。
このライブラリは、アンドロイドの脆弱な乱数生成器のセキュリティを向上させるために、秘密鍵を保存・管理するためのリソースも提供します。現在公式にサポートされているのはバージョン2.3以上です。ただし、バージョン2.2でも動作します。
Facebookのアプリはこのツールを使ってデータを保護しています。開発者はGitHubでこのプロジェクトの詳細を知ることができます。