昨今、マルウェアによる乗っ取りや、管理者権限を悪用するなど内部犯行による情報漏えい事故が多発している。このような事故は被害が甚大だが、セキュリティ対策として、単なるデータの暗号化だけでは事故防止は困難だ。その抜本的な対策として、データを暗号化したままで処理を行う秘密計算技術が注目されている。
秘密計算技術の中でも「マルチパーティ計算」は、複数のサーバにデータを“秘密分散”して格納し、各サーバ間で協調して目的の計算を行うことで、より安全なデータ処理が可能。このため、管理者権限が悪用されて1つのサーバから処理中のデータを窃取されても、強固に情報を守ることができる。しかし、処理速度が非常に遅いため、30年前に“理論”として提案されて以来、実用化は進んでいなかった。
NEC<6701>は、データを暗号化したまま処理し、機密情報の漏えいを強固に防止する秘密計算において、「処理速度が飛躍的に向上する基本アルゴリズム」および「データベースでの集計を可能にする高速な検索方式」の2つの手法を開発した。
今回開発した基本アルゴリズムは、3台のサーバ構成において、分散するデータ量を2倍にして冗長性を持たせ、通信をせずにサーバ内で処理できる計算の割合を増やすことで、各サーバ間の通信量を1/5に削減する。これにより、サーバ全体の処理量も1/3に削減した。
ネットワーク認証方式の1つであるKerberos(ケルベロス)認証はシングルサインオンなどに利用される、共通鍵暗号を利用した認証方式。通常、クライアントの秘密鍵は処理時には復元される。Kerberos認証にこの技術を用いることで、各サーバがクライアントの秘密鍵を復元することなく認証処理が実行可能になる。
今回、この技術をKerberos認証サーバで検証し、毎秒3.5万回の認証処理速度を確認した。これは、10万人規模の大企業の認証サーバでも十分に実用可能な性能だという。
また、マルチパーティ計算による集計処理では、前処理である、集計対象のデータを検索する処理に時間がかかることがボトルネックになっていた。今回、「マルチパーティ計算」と暗号化したままの検索が可能な暗号を組み合わせ、データを暗号化したまま高速なフィルタリングを実現する方式を開発した。また、同方式を用いて分析用データベースを開発し、暗号化しない場合と比較して、6倍のサーバリソースで同程度の処理速度を達成した。この速度は従来の秘密計算を適用した場合と比較して、2桁高い性能に相当し、1,000万件のデータに対して、複雑なクロス集計を1分で実施できるという。
今後、NECはこの技術による秘密計算の基本性能をさらに向上し、生体認証情報や顧客情報、住民情報など機密情報の活用と保護が求められるアプリケーションへの適用を拡大していく方針だ。(編集担当:慶尾六郎)