IntelAgilex FPGAを搭載したIA-840f PCIe FPGAカード。
パワフルなIA-840fのご紹介:エンタープライズクラスのIntelAgilex ベースFPGAアクセラレータ > 柔軟性、カスタマイズ可能なハードウェア > oneAPIソフトウェアサポート Mouserで購入 Powerに触れる
FPGAアクセラレーション は、暗号化されたデータに対して、鍵の解読や共有なしに計算を可能にする、このユニークなソリューションを実現します。
データを暗号化することは、医療ファイルや財務情報などの機密情報にとって必須であり、その量は飛躍的に増加している。このようなデータは、データベースのレコードを検索するなどの処理機能を含めて、経済的なパブリッククラウドインフラに保存されることが理想的です。しかし、暗号化されているため、クラウドストレージのプロバイダーが秘密鍵を必要とし、さらに検索語や検索結果を見ることができる。このように鍵を共有し、個人情報を公開することは、セキュリティ上大きなリスクとなります。
上記の例では、暗号化されたデータベースがパブリッククラウドサーバーに保存されています。検索などのデータを取得するためには、クラウドシステムはデータベースの暗号化を解除するための秘密鍵を持っていると同時に、検索語や検索結果を見ることができる必要があります。これらのデータは暗号化されてから安全でないリンクで渡されますが、クラウドプロバイダーが秘密鍵を持ち、セキュリティが侵害されないかどうかに依存していることがリスクとなります。
このため、医療記録など安全性の高いデータの多くは、パブリッククラウドを利用することができません。
しかし、数十年前の技術では、テキスト検索のような暗号化されたデータを、復号化したり秘密鍵にアクセスしたりすることなく処理することができます。また、処理要求(例えば、検索語)と結果も暗号化することができます。ストレージプロバイダーは、機密性の高い暗号化データをリスクなく保管・処理することができます。
この技術は同形暗号化(HE)と呼ばれ、必要な計算量が増加するにつれて、いくつかのレベルが用意されています。実際、BittWareの IA-440iのような強力な FPGA カードが利用できるようになるまでは、同形暗号に必要な計算量は、実用的な使用例を大きく制限していました。
今回はデータベースの検索について説明しましたが、同形暗号には他にも様々な用途が考えられます:
同型暗号化方式は、通常、2つのアプローチのいずれかに従います:
このアプローチにより、すべてのHE方式に内在する内部誤差が大きくなりすぎる前に、ある一定の処理を行うことができます。必要な処理の深さが事前に分かっていれば、適切な許容範囲を持つHEスキームを作成することができます。これにより、最小限の処理しか行わず、スループットを向上させることができるという利点があります。
この方式もノイズの増加に悩まされますが、「ブートストラップ」と呼ばれる技術を使って、誤差が大きくなる前に取り除くことができます。ブートストラッピングは非常に時間がかかりますが、最近、この性能のボトルネックを高速化 する動きが出てきています。
どのようなHEスキームを使用するかは、ユーザーの問題ケースに大きく依存します。したがって、1つのソリューションがすべてに適合することはまずありません。また、暗号化されたデータをHEで処理するのは非常に時間がかかり、有用であるためには、かなりのアクセラレーションが必要です。幸い、FPGAは暗号化スキームが必要とするタイプの計算に非常に優れており、どのHEスキームが適切であっても効率的に処理できる柔軟性を備えています。
同型暗号は、テキストベースのデータベース・アプリケーションに限定されるものではない。 上述した同じFPGAアクセラレーション システムは、機械学習(ML)推論などの計算のためのサービスとしてアクセラレーション を提供できます。例えば医療分野では、患者のX線写真を(画像として)送信して、クラウドベースのMLモデルで異常を検出することができます。しかし、データベースの例と同様に、このような検索を行うには、個人の医療情報(レントゲン画像)を共有のMLモデルプロバイダーに送る必要があり、プロバイダーは推論を行うために画像の暗号化を解除する必要があります。次の図は、FPGAで高速化されたHEと推論システムが、多くのユーザーに安全なルックアップを提供する様子を示しています:
このHEセキュアシステムでは、患者のX線写真、学習済みMLモデル、および結果は、共有プロバイダのシステムで暗号化されたままである。 データベース検索の例と同様に、理想的なホストは、共有リソース上で多くのユーザーとルックアップを処理する。このようなシステムを保護するための同型暗号では、レイアウトはデータベース検索の例と非常に似ています。
今日の性能限界
なお、FPGAによる高性能なアクセラレーション 、HEシステムは、今日では 桁違いの速さは、暗号化されていない同等品よりも優れています。したがって、この性能差を縮め、より広く普及させるためには、さらなる研究が必要です。
完全同型暗号(FHE)が実現する以前から、いくつかの有名な暗号方式は、すでにいくつかの部分同型性を示していた。暗号化方式RSAは、2つの暗号化された暗号文を掛け合わせ、復号化したときに同等の平文の掛け合わせ結果を返すという、乗法的同型性を示している。
Paillier暗号は加算型暗号方式の一例であるがこれは次のように書くことができる...。
前述のように、完全同型暗号化(FHE)方式とは、加算と乗算の両方の演算が可能な方式を指します。この場合、暗号文の乗算や加算を繰り返しても、元の平文を復元することが可能です。
HE方式で乗算と加算の両方が可能であれば、論理NANDゲート、つまりあらゆる論理回路を実現できる。
最初のFHE方式のひとつにDGHV方式があります。これは、安全性を確保するために、非常に大きな暗号文に依存していた。暗号化方式と復号化方式は次の式で表されます。
暗号文は、良好な暗号化のためには非常に大きく、数千万ビットでなければならず、秘密鍵pは数千ビット、ノイズの値も大きくなる。暗号化スキームが線形代数攻撃に対して脆弱でないことを保証するために、ノイズ(r)を審議導入する必要があります。これを以下に図示する。
このように大きな暗号文を使用すると、1ビットの平文が数百万ビットの暗号文に拡張されるため、性能上の問題があることは明らかであり、実際の使用例では実用的ではありません。しかし、これは最初に作られた機能的なHEスキームの1つであり、HEに関する学術研究を再起動させました。
DGHV方式のもう一つの問題は、暗号化に必要なランダムファクターが加わることで生じるノイズの増大でした。この場合、暗号文の足し算ではこのノイズが1ビットずつ増加するが、掛け算ではその都度ノイズが2倍になる。
図は、秘密鍵のサイズqに対して乗算ノイズρが2倍になることを表しています。ノイズがqを超えると、もはや平文をエラーなく復元することはできなくなります。つまり、処理が破綻するまでの限られた回数の処理しかできないのです。
この誤差の拡大を解消するために、ブートストラップという技法が使われます。ブートストラップは、暗号化ロジックに暗号文を通し、共有の公開鍵を用いて暗号化することで、ノイズを除去することができます。これは、暗号文を復号化(ノイズを除去)して再暗号化することと同じですが、公開鍵を使用して元の平文を復元することができないため、データは終始非公開のままです。このプロセスは計算量が多いのですが、ノイズを除去することで暗号化された計算を無制限に行えるようになります。
LWE(Learning With Error)方式は、多項式評価に基づいており、暗号鍵はN次多項式の係数となる。多項式の係数は、ワードサイズ素数qの有限体である。安全性を高めるには、システムにノイズ(e)を加える必要があるが、そうでなければ線形代数を使ってこの方式は簡単に解ける。
2つの多項式を足すと同じ次数の3番目の多項式ができますが、2つの多項式を掛けると(n+1)2係数の2次多項式になります。この多項式の項数の増加を補正するために、再直線化と呼ばれる技法が使われます。多項式の2次項を公開し、2値分解で結果から減算することで、拡張された多項式を再び(n+1)個の係数に戻すことができる。この乗算はDGHVと同じようにノイズが増加しますが、モジュラススイッチングと呼ばれる技術を使って、その影響を軽減することができます。
係数を新しい素数でスケーリングして、新しい係数「c」がcnew= c mod 2と等価になるようにすれば、復号化結果は変わらないことがわかります。この関係を利用すると、ノイズの指数関数的な増加を線形にすることができ、ノイズの増加が大きくなりすぎる前に、暗号文に対してより多くの演算を行うことができる(下図参照)。
これがLevelled FHEと呼ばれるものです。計算の深さがわかっていれば、与えられた問題に対して、初期モジュラスの大きさを十分な大きさに選ぶことができ、高価なブートストラップ段階を避けることができます。
LWEスキームの拡張として、Nを2のべき乗とする多項式リングを使用することができます。 .この場合、2つの多項式を足したり掛けたりしても、係数は素因数分解されて減少する。乗算後、2N個の係数は、(X)で割ったときの余りを取ることで減少する。N + 1).
多項式の乗算は、係数の数が通常N = [210、214]の範囲であることを考えると、このHE実装の主要なボトルネックである。多項式乗算の最適化として、ネガシクル数論変換(NTT)があります。これにより、計算回数がNNからNlog(N)に減少する。NTTは、整数の有限体上の高速フーリエ変換(FFT)である。
2つの多項式f(x)とg(x)を掛け合わせると、次のようになります。
インブNTT(FwdNTT(f(x))* FwdNTT(g(x)))です。
公開されているHE APIは複数あり、そのほとんどがCPUに最適化されています。以下はその例である:
IntelもHEXLライブラリの並列FPGAブランチを持っています。Intel Homomorphic Encryptionアクセラレーション Library for FPGA(HEXL-fpga)は、HE関数のFPGA実装例をいくつか提供するオープンソースライブラリです。
現在、FPGA APIに含まれている演算子は以下の通りです:
これにより、ユーザーはFPGA上でさまざまなHEワークフローを試すことができる。BittWare USM (Unified Share Memory) BSPは、このライブラリと互換性があります。
同形暗号の潜在的な利点は大きく、医療や金融の分野で使用されるようなリスクの高いデータに対して、公共の共有リソースをより良く利用することができます。HEは、新しい技術で性能の問題に対処するために進化しています。
BittWare IA-440iのようなFPGAカードは、学術的な研究から実世界での展開まで、ホモモーフィック暗号の導入を促進するのに最適なテクノロジーと言えます。
HE: Homomorphic Encryption
RSAです:リベスト、シャミア、アドルマン
FHE: Fully homomorphic Encryption(完全同型暗号)。
DGHV:Digi Gentry Halevi Vaikuntanathan(デジ・ジェントリー・ハレヴィ・ヴァイクンタナサン
RLWE: 誤差を伴うリング学習
パワフルなIA-840fのご紹介:エンタープライズクラスのIntelAgilex ベースFPGAアクセラレータ > 柔軟性、カスタマイズ可能なハードウェア > oneAPIソフトウェアサポート Mouserで購入 Powerに触れる
IA-860m 大容量メモリバンド幅 次世代PCIe 5.0 + CXL M-SeriesAgilex HBM2e を搭載 IntelAgilex M-Series FPGA は、スループットを重視するアプリケーション向けに最適化されています。
Atomic Rules社のPCIe Gen4データムーバーIPです。BittWareの PCIe Gen4 カードを使用して最大 220 Gb/s を達成し、標準 DMA よりも高い性能が必要な場合に開発チームの負担を軽減します。特徴DPDKおよびAXI規格、パケットやその他のデータフォーマットでの動作、最大400GbEまでのあらゆるラインレートでの動作。
BittWare オンデマンド・ウェビナー エンタープライズクラスのFPGAサーバー:TeraBoxのアプローチ FPGAベースのカードは、データセンターとエッジコンピューティングのための重要なデバイスとして成熟しています。しかし、その一方で
45 South Main Street, Concord, NH 03301|コンコード、ニューハンプシャー州 603-406-6200 | 連絡先