macOS、iOS、Android版の提供から数週間を経て、IBM Fully Homomorphic Encryption Toolkitが、UbuntuやFedora、CentOSなどのx86プラットフォーム、さらにはIBM自身のZアーキテクチャ用Ubuntuといった、さまざまなLinuxディストリビューションにもインストールできるようになった。
IBMの Fully Homomorphic Encryption (FHE) Toolkitは、開発者が自らのソリューションにFHEを容易に導入可能にするためのものだ。暗号化されたデータを直接操作可能にするFHEには、高度に規制された産業におけるデータセキュリティとプライバシを劇的に変える影響力がある、とIBMは言う。FHEは、データを処理する前に復号化が必要であるために盗聴や改ざんに対して脆弱になるという、従来の暗号化システムにあった大きな弱点を克服する。
完全準同型暗号(fully homomorphic encryption)では、データを復号化することなく、ファイル上に保存し、共有し、コラボレーションすることが可能になります。
IBMのFlavio Bergamaschi、Eli Dow両氏によると、IBM FHE Toolkitの6月の初回リリースに対する反応は素晴らしく、公式GitHubリポジトリには25のフォークが生まれているという。
IBM FHE Toolkitのおもな目的は、開発者によるIBMのHELibの導入と、このテクノロジで必要とされる特殊なスキルセット構築を支援することにある。IBMのエンジニアリーダのひとりがRedditでツールキットについて説明しているように、FHEは、暗号化されていない"実"データを、表現に600ビットのオーダが必要な係数を使用した、10K近い大きな多項式中に埋め込むことによって機能する。
実データ以外の多項式の内容にも、ある種の意図的なランダムノイズ(あるいは意図的な曖昧性)が埋め込まれていて、サーバの観点から問題をさらに混乱させるようになっています。多項式をこれほど大きくする必要があるのは、データを隠蔽して十分なノイズで囲むことによって、そのノイズから実データを取り出すことを不可能にするためなのです。
"実"データに基づく演算はこれらの多項式を操作することによって行うため、例えば2を加えるような単純な計算であっても、一連の長い多項式に変換されることになる。
これによる影響は数多くある。第1に、実データの重要性は暗号化データと、それを用いて行う計算処理から完全に抽象化される。一方で、この方法には望ましくない影響もある。すなわち、各計算ステップを通じてノイズが蓄積するため、適切な方法でそれを管理する必要があるのだ。これらすべてが、メモリとCPU時間において50倍という、FHEのリソース要件の高さを説明する理由となっている。
macOS、iOS、Android版のFHE Toolkitと同じプライバシ保護データベース検索に加えて、Linux版のToolkitでは、金融業界を対象とした第2のユースケースが含まれている。新たなサンプルはクレジットカード詐欺の検出を取り上げたもので、完全準同型暗号化されたデータセットとモデル上でニューラルネットワークを使用することによって、匿名トランザクションに基づく詐欺行為を検出する。
ToolkitのLinux版はDockerイメージとしてパックされているので、Windows 10のLinuxサブシステムなど、最新のDockerを持つ任意のプラットフォームで使用できるものと期待される。ビルド済のDockerイメージもDocker Hubから入手可能だ。