JP7466800B2 - 情報処理システム、情報処理方法、および、情報処理プログラム - Google Patents

情報処理システム、情報処理方法、および、情報処理プログラム Download PDF

Info

Publication number
JP7466800B2
JP7466800B2 JP2023567036A JP2023567036A JP7466800B2 JP 7466800 B2 JP7466800 B2 JP 7466800B2 JP 2023567036 A JP2023567036 A JP 2023567036A JP 2023567036 A JP2023567036 A JP 2023567036A JP 7466800 B2 JP7466800 B2 JP 7466800B2
Authority
JP
Japan
Prior art keywords
server device
client
model
execution unit
information processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2023567036A
Other languages
English (en)
Other versions
JPWO2023119421A5 (ja
JPWO2023119421A1 (ja
Inventor
綱人 中井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of JPWO2023119421A1 publication Critical patent/JPWO2023119421A1/ja
Publication of JPWO2023119421A5 publication Critical patent/JPWO2023119421A5/ja
Application granted granted Critical
Publication of JP7466800B2 publication Critical patent/JP7466800B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)

Description

本開示は、情報処理システム、情報処理方法、および、情報処理プログラムに関する。特に、連合学習に代表される分散型機械学習システムである情報処理システム、情報処理方法、および、情報処理プログラムに関する。
従来の連合学習に代表される分散型機械学習システムは、学習データをクライアントからサーバへ収集するのではなく、クライアントで学習したモデルであるクライアントモデルをサーバに収集する。これにより、クライアントの学習データに含まれるプライバシ情報に配慮したモデルの学習が行われてた。しかしながら、クライアントモデルからクライアントの学習データに含まれるプライバシ情報が漏洩することが指摘されはじめた。
非特許文献1では、サーバ上のセキュアな実行環境であるTEEを用いて、TEE内でクライアントモデルを処理することで、プライバシ情報に配慮したモデルの学習を行っている。TEEは、Trusted Execution Environmentの略語である。
L. Zhao et al.,"SEAR: Secure and Efficient Aggregation for Byzantine-Robust Federated Learning," IEEE Transactions on Dependable and Secure Computing, 2021
従来の連合学習に代表される分散型機械学習システムには、以下の3つの主なセキュリティ・プライバシの問題がある。
(1)機器あるいはエッジから送信されるクライアントモデルからのプライバシ情報漏洩の問題
(2)悪意ある機器あるいはエッジからの偽情報による学習汚染および妨害の問題
(3)グローバルモデルの窃取あるいは複製の問題
しかしながら、従来のセキュリティ・プライバシに配慮した技術には、上記3つの問題すべてを解決するものはない。例えば、非特許文献1では、上記の問題(1)および(2)に対しては、TEEといったセキュアな実行環境を用いた解決策を提案している。しかし、問題(3)に対する解決策は開示されていない。さらに、非特許文献1では、セキュアな実行環境を用いることによるシステムへの負荷が大きくなるという課題がある。
本開示では、セキュリティ対策によるシステムへの負荷を抑えつつ、セキュリティ・プライバシに配慮した連合学習を実現する情報処理システムを提供することを目的とする。
本開示に係る情報処理システムは、
サーバ装置とクライアント装置とを備え、前記サーバ装置と前記クライアント装置との間で、学習に用いられるモデル情報を授受する情報処理システムにおいて、
前記サーバ装置と前記クライアント装置との各装置は、
仮想的に分離された実行環境として、通常の実行環境である通常実行部とセキュアな実行環境であるセキュア実行部とを備え、
前記サーバ装置と前記クライアント装置との各装置の通常実行部は、
各装置のセキュア実行部の起動の正しさを互いに認証し、各装置のセキュア実行部の起動の正しさが認証されると、各装置のセキュア実行部同士の間で暗号化されたデータを送受信するセキュアな通信路を確立し、
前記サーバ装置のセキュア実行部は、
前記クライアント装置から前記セキュアな通信路を介して提供されたモデル情報を復号して集約する集約処理を実行し、集約処理により得られたモデル情報を暗号化して前記サーバ装置の通常実行部に送信し、
前記サーバ装置の通常実行部は、
前記集約処理により得られたモデル情報を暗号化された状態で記憶部に格納する。
本開示に係る情報処理システムでは、サーバ装置のセキュア実行部は、クライアント装置からセキュアな通信路を介して提供されたモデル情報を復号して集約する。そして、サーバ装置のセキュア実行部は、集約により得られたモデル情報を暗号化してサーバ装置の通常実行部に送信する。サーバ装置の通常実行部は、集約により得られたモデル情報を暗号化された状態で記憶部に格納する。よって、本開示に係る情報処理システムによれば、セキュリティ対策によるシステムへの負荷を抑えつつ、セキュリティ・プライバシに配慮した連合学習を実現する情報処理システムを提供することができる。
実施の形態1に係る情報処理システムの構成例を示す図。 実施の形態1に係るサーバ装置のハードウェア構成例を示す図。 実施の形態1に係る情報処理システムにおけるクライアントモデル収集の動作を示すシーケンス図。 実施の形態1に係る情報処理システムにおけるグローバルモデル配信の動作を示すシーケンス図。 実施の形態1の変形例に係る情報処理システムのハードウェア構成例を示す図。 実施の形態2に係る情報処理システムの構成例を示す図。 実施の形態2に係る情報処理システムにおけるクライアントモデル収集の動作を示すシーケンス図。 実施の形態2に係る情報処理システムにおけるグローバルモデル配信の動作を示すシーケンス図。 実施の形態3に係る情報処理システムの構成例を示す図。 実施の形態3に係る情報処理システムにおけるクライアントモデル収集の動作を示すシーケンス図。 実施の形態3に係る情報処理システムにおけるグローバルモデル配信の動作を示すシーケンス図。 実施の形態4に係る情報処理システムの構成例を示す図。
以下、本実施の形態について、図を用いて説明する。各図中、同一または相当する部分には、同一符号を付している。実施の形態の説明において、同一または相当する部分については、説明を適宜省略または簡略化する。
実施の形態1.
***構成の説明***
図1は、本実施の形態に係る情報処理システム100の構成例を示す図である。
情報処理システム100は、サーバ装置101とクライアント装置102と認証サーバ装置103を備える。クライアント装置102は、複数存在する。サーバ装置は、サーバ部ともいう。クライアント装置は、クライアント部ともいう。認証サーバ装置は、認証サーバ部ともいう。
情報処理システム100は、サーバ装置101とクライアント装置102との間で、学習に用いられるモデル情報を授受する。
モデル情報には、クライアントモデルとグローバルモデルが含まれる。クライアントモデルは、クライアント装置102からサーバ装置101に提供される学習モデルである。グローバルモデルは、サーバ装置101からクライアント装置102に配信される学習モデルである。グローバルモデルは、クライアント装置102から収集されたクライアントモデルを集約することにより生成される。
サーバ装置101とクライアント装置102と認証サーバ装置103は、それぞれコンピュータであり、ネットワークを介して情報のやり取りが行われる。
なお、サーバ装置101とクライアント装置102と認証サーバ装置103が、それぞれ個別のコンピュータに搭載されていてもよい。あるいは、サーバ装置101とクライアント装置102と認証サーバ装置103が、1つのコンピュータに搭載され、仮想的に3つのコンピュータが構成されていてもよい。あるいは、サーバ装置101とクライアント装置102と認証サーバ装置103のうち、サーバ装置101と認証サーバ装置103といった1部が1つのコンピュータに搭載されて、仮想的に複数のコンピュータが構成されていてもよい。
以下の説明において、サーバ装置101とクライアント装置102と認証サーバ装置103の各々を情報処理システム100の各装置と呼ぶ場合がある。
情報処理システム100の各装置は、コンピュータである。情報処理システム100の各装置は、プロセッサを備えるとともに、メモリ、補助記憶装置、入力インタフェース、出力インタフェース、および通信装置といった他のハードウェアを備える。プロセッサは、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
サーバ装置101とクライアント装置102との各装置は、仮想的に分離された実行環境として、通常の実行環境である通常実行部とセキュアな実行環境であるセキュア実行部とを備える。仮想的に分離された実行環境については、後で説明する。
サーバ装置101は、機能要素として、通常実行部104とセキュア実行部105を備える。通常実行部104は、連合学習管理部108と認証管理部109を備える。セキュア実行部105は、認証部110と暗号化復号部111と再暗号化復号部112と集約部113と汚染検知部114を備える。
なお、図示は無いが、通常実行部104とセキュア実行部105は、それぞれ記憶部を備える。記憶部には、情報処理に用いられるクライアントモデル、グローバルモデル、鍵、および、認証情報といった情報が記憶される。
以下の説明において、「通常実行部に格納する」あるいは「通常実行部に記憶する」と記載した場合は、「通常実行部に割り当てられた記憶部に格納する」あるいは「通常実行部に割り当てられた記憶部に記憶する」ことを意味するものとする。また、「セキュア実行部に格納する」あるいは「セキュア実行部に記憶する」と記載した場合は、「セキュア実行部に割り当てられた記憶部に格納する」あるいは「セキュア実行部に割り当てられた記憶部に記憶する」ことを意味するものとする。以下のクライアント装置102および認証サーバ装置103においても同様である。
クライアント装置102は、機能要素として、通常実行部106とセキュア実行部107を備える。通常実行部106は、連合学習管理部115と認証管理部116と学習・推論管理部117を備える。セキュア実行部107は、認証部118と暗号化復号部119と学習部120と推論部121を備える。
なお、図示は無いが、通常実行部106とセキュア実行部107は、それぞれ記憶部を備える。記憶部には、情報処理に用いられるクライアントモデル、グローバルモデル、鍵、および、認証情報といった情報が記憶される。
認証サーバ装置103は、機能要素として、検証部122を備える。
なお、図示は無いが、認証サーバ装置103は、記憶部を備える。記憶部には、検証部122により検証される認証情報といった情報が記憶される。
図2は、本実施の形態に係るサーバ装置101のハードウェア構成例を示す図である。
図2のサーバ装置101を例に、情報処理システム100の各装置のハードウェア構成例について説明する。クライアント装置102と認証サーバ装置103のハードウェア構成例については、サーバ装置101と同様であるため図示を省略する。
サーバ装置101は、コンピュータである。サーバ装置101は、プロセッサ910を備えるとともに、メモリ921、補助記憶装置922、入力インタフェース930、出力インタフェース940、および通信装置950といった他のハードウェアを備える。プロセッサ910は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
サーバ装置101において、通常実行部104とセキュア実行部105の機能は、ソフトウェアにより実現される。記憶部は、メモリ921に備えられる。なお、記憶部は、補助記憶装置922に備えられていてもよいし、メモリ921と補助記憶装置922に分散して備えられていてもよい。
プロセッサ910は、サーバ装置101において情報処理プログラムを実行する装置である。情報処理プログラムは、情報処理システム100の各装置の機能を実現するプログラムである。
プロセッサ910は、演算処理を行うIC)である。プロセッサ910の具体例は、CPU、DSP、あるいはGPUである。ICは、Integrated Circuitの略語である。CPUは、Central Processing Unitの略語である。DSPは、Digital Signal Processorの略語である。GPUは、Graphics Processing Unitの略語である。
メモリ921は、データを一時的に記憶する記憶装置である。メモリ921の具体例は、SRAM、あるいはDRAMである。SRAMは、Static Random Access Memoryの略語である。DRAMは、Dynamic Random Access Memoryの略語である。
補助記憶装置922は、データを保管する記憶装置である。補助記憶装置922の具体例は、HDDである。また、補助記憶装置922は、SD(登録商標)メモリカード、CF、NANDフラッシュ、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVDといった可搬の記憶媒体であってもよい。なお、HDDは、Hard Disk Driveの略語である。SD(登録商標)は、Secure Digitalの略語である。CFは、CompactFlash(登録商標)の略語である。DVDは、Digital Versatile Diskの略語である。
入力インタフェース930は、マウス、キーボード、あるいはタッチパネルといった入力装置と接続されるポートである。入力インタフェース930は、具体的には、USB端子である。なお、入力インタフェース930は、LANと接続されるポートであってもよい。USBは、Universal Serial Busの略語である。LANは、Local Area Networkの略語である。
出力インタフェース940は、ディスプレイといった出力機器のケーブルが接続されるポートである。出力インタフェース940は、具体的には、USB端子またはHDMI(登録商標)端子である。ディスプレイは、具体的には、LCDである。出力インタフェース940は、表示器インタフェースともいう。HDMI(登録商標)は、High Definition Multimedia Interfaceの略語である。LCDは、Liquid Crystal Displayの略語である。
通信装置950は、レシーバとトランスミッタを有する。通信装置950は、LAN、インターネット、あるいは電話回線といった通信網に接続している。通信装置950は、具体的には、通信チップまたはNICである。NICは、Network Interface Cardの略語である。
情報処理プログラムは、サーバ装置101において実行される。情報処理プログラムは、プロセッサ910に読み込まれ、プロセッサ910によって実行される。メモリ921には、情報処理プログラムだけでなく、OS(Operating System)も記憶されている。プロセッサ910は、OSを実行しながら、情報処理プログラムを実行する。情報処理プログラムおよびOSは、補助記憶装置922に記憶されていてもよい。補助記憶装置922に記憶されている情報処理プログラムおよびOSは、メモリ921にロードされ、プロセッサ910によって実行される。なお、情報処理プログラムの一部または全部がOSに組み込まれていてもよい。
サーバ装置101は、プロセッサ910を代替する複数のプロセッサを備えていてもよい。これら複数のプロセッサは、情報処理プログラムの実行を分担する。それぞれのプロセッサは、プロセッサ910と同じように、情報処理プログラムを実行する装置である。
情報処理プログラムにより利用、処理または出力されるデータ、情報、信号値および変数値は、メモリ921、補助記憶装置922、または、プロセッサ910内のレジスタあるいはキャッシュメモリに記憶される。
通常実行部104とセキュア実行部105の各部の「部」を「回路」、「工程」、「手順」、「処理」、あるいは「サーキットリー」に読み替えてもよい。情報処理プログラムは、通常実行処理とセキュア実行処理を、コンピュータに実行させる。通常実行処理とセキュア実行処理の「処理」を「プログラム」、「プログラムプロダクト」、「プログラムを記憶したコンピュータ読取可能な記憶媒体」、または「プログラムを記録したコンピュータ読取可能な記録媒体」に読み替えてもよい。また、情報処理方法は、情報処理システム100の各装置が情報処理プログラムを実行することにより行われる方法である。
情報処理プログラムは、コンピュータ読取可能な記録媒体に格納されて提供されてもよい。また、情報処理プログラムは、プログラムプロダクトとして提供されてもよい。
***機能の説明***
次に、図1を用いて、情報処理システム100の各装置の機能について説明する。
図1に示す情報処理システム100は、サーバ装置101とクライアント装置102で構成されるような、連合学習に代表される分散型機械学習システムにおける情報処理システムに、認証サーバ装置103を追加したものである。
サーバ装置101とクライアント装置102との各装置は、仮想的に分離された実行環境として、通常の実行環境である通常実行部とセキュアな実行環境であるセキュア実行部とを備える。
サーバ装置101は、通常実行部104とセキュア実行部105に仮想的に分離できる。
サーバ装置101では、通常実行部104に、連合学習管理部108と認証管理部109とを備える。
連合学習管理部108は、連合学習に代表される分散型機械学習の実行を管理する。
認証管理部109は、セキュア実行部105の正しさを検証する。
また、サーバ装置101では、セキュア実行部105に、認証部110と暗号化復号部111と再暗号化復号部112と集約部113と汚染検知部114とを備える。
認証部110は、セキュア実行部105の正しさを検証するための認証情報を提供する。
暗号化復号部111は、クライアント装置102とやり取りするモデル情報を暗号化あるいは復号処理する。クライアント装置102とやり取りするモデル情報は、クライアントモデルおよびグローバルモデルである。
再暗号化復号部112は、通常実行部104とやり取りする情報を再暗号化あるいは復号処理する。
集約部113は、クライアントモデルを集約する。
汚染検知部114は、クライアントモデルの汚染を検知する。
クライアント装置102は、通常実行部106とセキュア実行部107に仮想的に分離できる。
クライアント装置102では、通常実行部106に、連合学習管理部115と認証管理部116と学習・推論管理部117とを備える。
連合学習管理部115は、連合学習に代表される分散型機械学習の実行を管理する。
認証管理部116は、セキュア実行部107の正しさを検証する。
学習・推論管理部117は、モデル情報の学習と推論の実行を管理する。
また、クライアント装置102では、セキュア実行部107に、認証部118と暗号化復号部119と学習部120と推論部121とを備える。
認証部118は、セキュア実行部107の正しさを検証するための認証情報を提供する。
暗号化復号部119は、サーバ装置101とやり取りするモデル情報を暗号化あるいは復号処理する。サーバ装置101とやり取りするモデル情報は、クライアントモデルあるいはグローバルモデルである。
学習部120は、モデル情報の学習を実行する。
推論部121は、モデル情報を用いて推論を実行する。
認証サーバ装置103は、検証部122を備える。
検証部122は、セキュア実行部105およびセキュア実行部107の各々の認証情報を検証する。
以下において、例えば、サーバ装置101のセキュア実行部105と、クライアント装置102のセキュア実行部107とを説明する場合がある。このとき、セキュア実行部105および107、セキュア実行部105あるいは107、あるいは、セキュア実行部105と107、のように構成要素名を省略する場合がある。
図1の情報処理システム100は、上記のような構成とすることで、クライアントモデルおよびグローバルモデルを保護し、セキュア実行部105および107の各々の正しさとクライアントモデルの汚染を検知する。これにより、セキュリティ・プライバシに配慮した連合学習が実現される。
***機能の詳細説明***
次に、図1を用いて、情報処理システム100の各装置の機能についてより詳細に説明する。
連合学習に代表される分散型機械学習アルゴリズムは、サーバ装置101とクライアント装置102の各々の連合学習管理部108および115同士のやり取り123で実行される。クライアント装置102は複数存在することを想定する。
通常実行部104および106と、セキュア実行部105および107の仮想的な分離は、例えば、Arm Trustzone、あるいは、Intel(登録商標) SGXといったTEE技術によって実現される。
連合学習管理部108と115は、連合学習のためのクライアントモデルの収集、あるいは、グローバルモデルの配信を行う。また、連合学習管理部108と115は、認証管理部109と116で、互いのセキュア実行部105と107の正しさを検証する(処理124,125)。
なお、図1において、構成要素間の矢印に番号が付与されている。この矢印は構成要素間のやり取りを示している。以下の説明では、この矢印に示されたやり取りを「処理」と呼ぶものとする。以下の図6、図9,および図12においても同様とする。
認証管理部109と116は、セキュア実行部105と107にある認証部110と118から、セキュア実行部105と107の正しさを検証するための認証情報を取得する(処理126,127)。
認証部110と118は、認証情報を出力する(処理126,127)。認証情報は、例えば、起動したセキュア実行部のハッシュ値と署名である。セキュア実行部105および107の認証は、例えば、Remote Attestation技術によって実現される。
認証サーバ装置103の機能要素について説明する。
検証部122は、認証管理部109と116の各々からの認証情報を取得し、セキュア実行部105と107の各々が正しく起動しているかを検証する(処理128,129)。
サーバ装置101の機能要素について説明する。
暗号化復号部111は、連合学習管理部108によりクライアント装置102から収集されたクライアントモデルをクライアントごとに復号処理する(処理130)。または、暗号化復号部111は、連合学習管理部108によりクライアント装置102へ配信されるグローバルモデルをクライアントごとに暗号処理する(処理130)。
再暗号化復号部112は、収集されたクライアントモデルを一時的な共通な鍵で再暗号化処理し(処理131,132)、通常実行部104の記憶部へ格納する。または、再暗号化復号部112は、通常実行部104から再暗号化されたクライアントモデルを取得し、復号処理する(処理132)。
集約部113は、収集された復号済みのクライアントモデルを取得し(処理133)、集約を行う。集約とは、例えば、クライアントモデルの平均値を算出することである。
汚染検知部114は、収集された復号済みのクライアントモデルを取得し(処理134)、クライアントモデルの汚染検知を行う。汚染検知とは、例えば、クライアントモデル間のモデル間距離を算出し、距離が大きい場合はそのクライアントモデルは汚染されていると検知することである。
クライアント装置102の機能要素について説明する。
暗号化復号部119は、連合学習管理部115によりサーバ装置101へ提供するクライアントモデルの暗号化処理をする(処理135)。または、暗号化復号部119は、連合学習管理部115によりサーバ装置101から配信されたグローバルモデルを、復号処理する(処理136)。
学習・推論管理部117は、サーバ装置101から配信されたグローバルモデルを用いて、学習または推論処理の実行を管理する(処理136)。
学習部120は、学習・推論管理部117より、暗号化復号部119で復号されたグローバルモデルを用いて(処理137)、学習を実行する。
推論部121は、学習・推論管理部117より、暗号化復号部119で復号されたグローバルモデルを用いて(処理138)、推論を実行する。
機械学習演算を実行するための学習・推論管理部117、学習部120、および推論部121は、ディープラーニングに限定されるものではない。例えば、学習・推論管理部117、学習部120、および推論部121は、回帰法、決定木学習、ベイズ法、あるいはクラスタリングといった手法を用いた演算であってもよい。
***動作の説明***
次に、本実施の形態に係る情報処理システム100の動作について説明する。情報処理システム100の動作手順は、情報処理方法に相当する。また、情報処理システム100の動作を実現するプログラムは、情報処理プログラムに相当する。
図3は、本実施の形態に係る情報処理システム100におけるクライアントモデル収集の動作を示すシーケンス図である。
図4は、本実施の形態に係る情報処理システム100におけるグローバルモデル配信の動作を示すシーケンス図である。
このシーケンス図は、情報処理システム100におけるサーバ装置101とクライアント装置102のやり取りを、通常実行部104および106と、セキュア実行部105および107に分けて示す。
<クライアントモデル収集>
図3を用いて、情報処理システム100におけるクライアントモデル収集処理の動作について説明する。
まず、サーバ装置101とクライアント装置102との各装置の通常実行部104と106は、各装置のセキュア実行部の起動の正しさを互いに認証する。各装置のセキュア実行部の起動の正しさが認証されると、各装置のセキュア実行部同士の間で暗号化されたデータを送受信するセキュアな通信路を確立する。すなわち、各装置のセキュアな実行環境同士の間で、セキュアな通信路が確立される。
具体的には、以下の通りである。
ステップS101において、サーバ装置101の通常実行部104は、クライアント装置102の通常実行部106にクライアントモデルの提供依頼を送信する。
ステップS102において、クライアント装置102の通常実行部106は、サーバ装置101のセキュア実行部105の正しさを検証するために、サーバ装置101の通常実行部104にセキュア実行部の認証依頼を送信する。
ステップS103において、サーバ装置101の通常実行部104は、サーバ装置101のセキュア実行部105に認証情報の提供依頼を送信する。
ステップS104において、サーバ装置101のセキュア実行部105は、サーバ装置101の通常実行部104に認証情報と公開鍵PKsを送信する。
ステップS105において、サーバ装置101の通常実行部104は、クライアント装置102の通常実行部106に認証情報と公開鍵PKsを転送する。クライアント装置102の通常実行部106は、認証サーバ装置103の検証部122に認証情報の検証依頼を送信する。認証サーバ装置103の検証部122は、クライアント装置102の通常実行部106に検証結果を送信する。クライアント装置102の通常実行部106は、サーバ装置101のセキュア実行部105の正しさを検証できた場合、クライアント装置102のセキュア実行部107に公開鍵PKsを送信する。
ステップS106において、クライアント装置102のセキュア実行部107は、サーバ装置101のセキュア実行部105と公開鍵PKsを用いて鍵交換を行い、送受信データが暗号化されるセキュアな通信路を確立する。
ステップS107において、クライアント装置102のセキュア実行部107は、セキュアな通信路上で、サーバ装置101のセキュア実行部105にクライアントモデルMを送信する。
ここで、サーバ装置101は、セキュア実行部105の消費メモリを抑えるために以下のように動作する。
サーバ装置101のセキュア実行部105は、クライアント装置102からセキュアな通信路を介して提供されたクライアントモデルを復号する。そして、サーバ装置101のセキュア実行部105は、復号したクライアントモデルを再暗号化してサーバ装置101の通常実行部104に送信する。
サーバ装置101の通常実行部104は、再暗号化されたクライアントモデルを記憶部に格納する。
具体的には、以下の通りである。
ステップS108において、サーバ装置101のセキュア実行部105は、クライアントモデルMを演算用の一時鍵MKsで再暗号化する。具体的には、サーバ装置101のセキュア実行部105は、ステップS107でクライアント装置102から受信したクライアントモデルMを復号し、演算用の一時鍵MKsで再暗号化する。そして、サーバ装置101のセキュア実行部105は、サーバ装置101の通常実行部104に、一時鍵MKsで再暗号化されたクライアントモデルEncMKs(M)を送信する。サーバ装置101の通常実行部104は、一時鍵MKsで再暗号化されたクライアントモデルEncMKs(M)を記憶部に格納する。
このステップS108の処理により、サーバ装置101は、セキュア実行部105の消費メモリを抑えることができる。
情報処理システム100では、ステップS101からステップS108の処理を、各クライアント装置102で実行し、各クライアント装置102からクライアントモデルを収集する。全クライアントモデルの収集が完了後、次のステップに進む。
<クライアントモデルの集約>
次に、サーバ装置101では、クライアントモデルの集約し、グローバルモデルを生成する。
サーバ装置101のセキュア実行部105は、クライアント装置102からセキュアな通信路を介して提供されたモデル情報を復号して集約する集約処理を実行する。
サーバ装置101のセキュア実行部105は、集約処理により得られたモデル情報を暗号化してサーバ装置101の通常実行部104に送信する。ここでは、モデル情報は、クライアントモデルである。
サーバ装置101の通常実行部104は、集約処理により得られたモデル情報をグローバルモデルとして、暗号化された状態で記憶部に格納する。
具体的には、以下の通りである。
次に、ステップS109において、サーバ装置101の通常実行部104は、再暗号化されたクライアントモデルEncMKs(M)をサーバ装置101のセキュア実行部105に送信する。具体的には、サーバ装置101の通常実行部104は、再暗号化された全クライアントモデルEncMKs(M)を分割してサーバ装置101のセキュア実行部105に送信する。サーバ装置101のセキュア実行部105は、再暗号化された全クライアントモデルEncMKs(M)をいくつかに分割して、送信する。
サーバ装置101のセキュア実行部105は、分割されたクライアントモデルEncMKs(M)を復号する。サーバ装置101のセキュア実行部105は、復号されたクライアントモデルDecMKs(M)を、格納する。セキュア実行部105に格納されるクライアントモデルDecMKs(M)は、全クライアントモデルの一部である。
このステップS109の処理により、サーバ装置101は、セキュア実行部105の消費メモリを抑えることができる。
サーバ装置101のセキュア実行部105は、サーバ装置101の通常実行部104から送信されたクライアントモデルに対して集約処理を実行することによりグローバルモデルを生成する。このとき、サーバ装置101のセキュア実行部105は、クライアントモデルに対して汚染検知処理を行い、汚染が検知されたクライアントモデルは集約しない。
具体的には、以下の通りである。
ステップS110において、サーバ装置101のセキュア実行部105は、復号されたクライアントモデルDecMKs(M)を用いて、汚染検知と集約を実行する。
サーバ装置101のセキュア実行部105は、分割されたクライアントモデルDecMKs(M)ごとに集約処理を実行する。
また、サーバ装置101のセキュア実行部105は、復号されたクライアントモデルDecMKs(M)が汚染されているか否かを検知する汚染検知処理を実行する。そして、サーバ装置101のセキュア実行部105は、汚染が検出されたクライアントモデルは集約しない。
情報処理システム100では、ステップS109からステップS110の処理を、全クライアントモデルの分割単位に、繰り返し実行する。全クライアントモデルの集約が完了後、次のステップS111に進む。なお、ステップS110では、分割単位で集約された分割数分のクライアントモデルを集約して1つのグローバルモデルを生成してもよい。あるいは、分割単位で集約された分割数分のクライアントモデルを、分割数分のグローバルモデルとしてもよい。
最後に、サーバ装置101のセキュア実行部105は、グローバルモデルを暗号化してサーバ装置101の通常実行部104に送信する。
サーバ装置101の通常実行部104は、暗号化されたグローバルモデルを記憶部に格納する。
具体的には、以下の通りである。
ステップS111において、サーバ装置101のセキュア実行部105は、集約したクライアントモデルをグローバルモデルGとして配信用の一時鍵GKsで暗号化する。サーバ装置101のセキュア実行部105は、サーバ装置101の通常実行部104に暗号化されたグローバルモデルEncGKs(G)を送信する。サーバ装置101の通常実行部104は、暗号化されたグローバルモデルEncGKs(G)を格納する。
<グローバルモデル配信>
図4を用いて、情報処理システム100におけるグローバルモデル配信処理の動作について説明する。
ステップS112において、サーバ装置101の通常実行部104は、クライアント装置102の通常実行部106に、グローバルモデルの配信通知を送信する。あるいは、クライアント装置102の通常実行部106からサーバ装置101の通常実行部104にグローバルモデルの配信要求を送信してもよい。
ステップS113において、サーバ装置101の通常実行部104は、クライアント装置102のセキュア実行部107の正しさを検証するために、クライアント装置102の通常実行部106にセキュア実行部の認証依頼を送信する。
ステップS114において、クライアント装置102の通常実行部106は、クライアント装置102のセキュア実行部107に認証情報の提供依頼を送信する。
ステップS115において、クライアント装置102のセキュア実行部107は、クライアント装置102の通常実行部106に認証情報と公開鍵PKcを送信する。
ステップS116において、クライアント装置102の通常実行部106は、サーバ装置101の通常実行部104に認証情報と公開鍵PKcを転送する。サーバ装置101の通常実行部104は、認証サーバ装置103の検証部122に認証情報の検証依頼を送信する。認証サーバ装置103の検証部122は、サーバ装置101の通常実行部104に検証結果を送信する。サーバ装置101の通常実行部104は、クライアント装置102のセキュア実行部107の正しさを検証できた場合、サーバ装置101のセキュア実行部105に公開鍵PKcを送信する。
ステップS117において、サーバ装置101のセキュア実行部105は、クライアント装置102のセキュア実行部107と公開鍵PKcを用いて鍵交換を行い、送受信データが暗号化されるセキュアな通信路を確立する。
ステップS118において、より、サーバ装置101のセキュア実行部105は、セキュアな通信路上で、クライアント装置102のセキュア実行部107に配信用の一時鍵GKsを送信する。
ステップS119において、サーバ装置101の通常実行部104は、クライアント装置102の通常実行部106に暗号化されたグローバルモデルEncGKs(G)を送信する。
最後に、ステップS120において、クライアント装置102の通常実行部106は、学習または推論処理を実行するために、クライアント装置102のセキュア実行部107に暗号化されたグローバルモデルEncGKs(G)を送信する。クライアント装置102のセキュア実行部107は、暗号化されたグローバルモデルEncGKs(G)を配信用の一時鍵GKsで復号し、学習または推論処理を実行する。
***本実施の形態の効果の説明***
以上のように、本実施の形態に係る情報処理システム100によれば、クライアントモデルおよびグローバルモデルは暗号化されてサーバ装置101とクライアント装置102でやり取りされる。また、クライアントモデルおよびグローバルモデルは、セキュア実行部105と107でのみ復号される。このため、本実施の形態に係る情報処理システム100によれば、クライアントのプライバシ、およびグローバルモデルのセキュリティを確保することができる。
本実施の形態に係る情報処理システム100では、サーバ装置101とクライアント装置102のセキュア実行部105と107は、その正しさを検証されている。このため、本実施の形態に係る情報処理システム100によれば、不正なサーバ装置101とクライアント装置102での不正な処理を防止できる。
さらに、クライアントモデルの集約時にモデル汚染を検知することで、悪意あるクライアントからの学習妨害を防止できる。サーバ装置101のセキュア実行部105におけるクライアントモデルの集約とモデル汚染検知は、セキュア実行部105のメモリリソースの制限より、分割展開・実行による省メモリ化を実現している。
クライアントモデルおよびグローバルモデルは、暗号化された状態で通常実行部に格納されるので、セキュア実行部のリソース負担を軽減することができる。
グローバルモデルは、クライアントモデルの暗号化鍵とは別に、配信用の一時鍵で暗号化される。これにより、モデルベンダが配信用の一時鍵を有し、グローバルモデルを調整することも可能となる。この時、モデルベンダは、クライアントモデルの暗号化鍵は保有しないため、クライアントのプライバシは守られる。
***他の構成***
本実施の形態では、サーバ装置101、クライアント装置102、および認証サーバ装置103の各装置の機能がソフトウェアで実現される。変形例として、サーバ装置101、クライアント装置102、および認証サーバ装置103の各装置の機能がハードウェアで実現されてもよい。
具体的には、情報処理システム100は、プロセッサ910に替えて電子回路909を備える。
図5は、本実施の形態の変形例に係る情報処理システム100のハードウェア構成例を示す図である。
電子回路909は、サーバ装置101、クライアント装置102、および認証サーバ装置103の各装置の機能を実現する専用の電子回路である。電子回路909は、具体的には、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックIC、GA、ASIC、または、FPGAである。GAは、Gate Arrayの略語である。ASICは、Application Specific Integrated Circuitの略語である。FPGAは、Field-Programmable Gate Arrayの略語である。
サーバ装置101、クライアント装置102、および認証サーバ装置103の各装置の機能は、1つの電子回路で実現されてもよいし、複数の電子回路に分散して実現されてもよい。
別の変形例として、サーバ装置101、クライアント装置102、および認証サーバ装置103の各装置の一部の機能が電子回路で実現され、残りの機能がソフトウェアで実現されてもよい。また、サーバ装置101、クライアント装置102、および認証サーバ装置103の各装置の一部またはすべての機能がファームウェアで実現されてもよい。
プロセッサと電子回路の各々は、プロセッシングサーキットリとも呼ばれる。つまり、サーバ装置101、クライアント装置102、および認証サーバ装置103の各装置の機能は、プロセッシングサーキットリにより実現される。
実施の形態2.
本実施の形態では、主に、実施の形態1と異なる点および実施の形態1に追加する点について説明する。
本実施の形態において、実施の形態1と同様の機能を有する構成については同一の符号を付し、その説明を省略する。
実施の形態1では、サーバ装置101は、TEEによる仮想的な分離実行環境を有する構成である。
一方、本実施の形態では、サーバ装置101にTEEによる仮想的な分離実行環境がないような場合に暗号化したまま演算を可能とする準同型暗号を用いた態様を示す。
***構成の説明***
図6は、本実施の形態に係る情報処理システム100の構成例を示す図である。
本実施の形態では、サーバ装置101は、通常の実行環境である通常実行部104のみを備える。サーバ装置101の通常実行部104は、連合学習管理部108と、集約部113と、汚染検知部114を備える。
また、本実施の形態のクライアント装置102は、実施の形態1と同様に、通常実行部106とセキュア実行部107を仮想的に分離できる構成を備える。
クライアント装置102の通常実行部106の構成は、実施の形態1と同様である。
クライアント装置102のセキュア実行部107は、実施の形態1と同様の構成に加えて、準同型暗号化復号部140を備える。
準同型暗号化復号部140は、サーバ装置101とやり取りするモデル情報を準同型暗号化・復号処理する。ここで、モデル情報とは、クライアントモデルおよびグローバルモデルである。
なお、本実施の形態では、クライアント装置102の暗号化復号部119は、サーバ装置101とやり取りするモデル情報を暗号化・復号処理する。
認証サーバ装置103は、実施の形態1と同様に、検証部122を備える。本実施の形態では、検証部122は、セキュア実行部107の認証情報を検証する。
図6の情報処理システム100は、上記のような構成とすることで、クライアントモデルおよびグローバルモデルを保護し、セキュア実行部107の正しさを検証する。また、図6の情報処理システム100は、サーバ装置101の通常実行部104において、準同型暗号化したままクライアントモデルの汚染検知と集約をする。これにより、セキュリティ・プライバシに配慮した連合学習が実現される。
なお、本実施の形態に係る情報処理システム100のハードウェア構成例については実施の形態1と同様である。
***機能の説明***
クライアント装置102のセキュア実行部は、サーバ装置101に提供するモデル情報であるクライアントモデルに対し準同型暗号化を実行する。
サーバ装置101の通常実行部104は、準同型暗号化されたクライアントモデルに対し、準同型暗号化したまま集約する集約処理を実行する。そして、サーバ装置101の通常実行部104は、集約処理により得られたグローバルモデルを準同型暗号化されている状態で記憶部に格納する。
また、サーバ装置101の通常実行部104は、準同型暗号化されたクライアントモデルに対し、準同型暗号化したまま汚染を検知する汚染検知処理を実行する。
***機能の詳細説明***
次に、図6を用いて、情報処理システム100の各装置の機能についてより詳細に説明する。実施の形態1で説明した部分については省略する場合がある。
連合学習に代表される分散型機械学習アルゴリズムは、サーバ装置101とクライアント装置102の各々の連合学習管理部108および115同士のやり取り123で実行される。クライアント装置102は複数存在することを想定する。
クライアント装置102の通常実行部106とセキュア実行部107の仮想的な分離は、例えば、Arm Trustzone、あるいは、Intel(登録商標) SGXといったTEE技術によって実現される。
連合学習管理部108と115は、連合学習のためのクライアントモデルの収集、あるいは、グローバルモデルの配信を行う。また、クライアント装置102の連合学習管理部115は、認証管理部116により、セキュア実行部107の正しさを検証する(処理125)。
セキュア実行部107の正しさを検証するための構成要素について説明する。
認証管理部116は、セキュア実行部107にある認証部118から、セキュア実行部107の正しさを検証するための認証情報を取得する(処理127)。
認証部118は、認証情報を出力する(処理127)。認証情報は、例えば、起動したセキュア実行部のハッシュ値と署名である。セキュア実行部107の認証は、例えば、Remote Attestation技術によって実現される。
検証部122は、認証管理部116からの認証情報を取得し、セキュア実行部107が正しく起動しているかを検証する(処理129)。
サーバ装置101が備える構成要素について説明する。
集約部113は、連合学習管理部108により収集された、準同型暗号化されたクライアントモデルを取得し(処理225)、集約を行う。集約とは、例えば、クライアントモデルの平均値を算出することである。ただし、準同型暗号化されたままの演算になる。
汚染検知部114は、連合学習管理部108により収集された準同型暗号化されたクライアントモデルを取得し(処理226)、クライアントモデルの汚染検知を行う。汚染検知とは、例えば、クライアントモデル間のモデル間距離を算出し、距離が大きい場合はそのクライアントモデルは汚染されていると検知することである。ただし、準同型暗号化されたままの演算になるため、距離の大きさの判定は、クライアント装置102で行う。
クライアント装置102が備える構成要素について説明する。
学習・推論管理部117は、サーバ装置101から配信されたグローバルモデルを用いて、学習または推論処理の実行を管理する(処理136)。
準同型暗号化復号部140は、連合学習管理部115によりサーバ装置101へ提供するクライアントモデルに対し準同型暗号化処理を行う(処理223)。または、準同型暗号化復号部140は、サーバ装置101から配信された準同型暗号化されたグローバルモデルを、復号処理する(処理224)。
暗号化復号部119は、準同型暗号化を復号されたグローバルモデルを再暗号化する。または、暗号化復号部119は、暗号化されたモデル情報を復号する(処理223)。
学習部120は、学習・推論管理部117より、暗号化復号部119で復号されたグローバルモデルを用いて(処理137)、学習を実行する。
推論部121は、学習・推論管理部117より、暗号化復号部119で復号されたグローバルモデルを用いて(処理138)、推論を実行する。
***動作の説明***
次に、本実施の形態に係る情報処理システム100の動作について説明する。情報処理システム100の動作手順は、情報処理方法に相当する。また、情報処理システム100の動作を実現するプログラムは、情報処理プログラムに相当する。
図7は、本実施の形態に係る情報処理システム100におけるクライアントモデル収集の動作を示すシーケンス図である。
図8は、本実施の形態に係る情報処理システム100におけるグローバルモデル配信の動作を示すシーケンス図である。
このシーケンス図は、本実施の形態に係る情報処理システム100におけるサーバ装置101とクライアント装置102のやり取りを、通常実行部104と106とセキュア実行部107に分けて示す。
<クライアントモデル収集>
図7を用いて、本実施の形態に係る情報処理システム100におけるクライアントモデル収集処理の動作について説明する。
ステップS201において、サーバ装置101の通常実行部104は、クライアント装置102の通常実行部106にクライアントモデルの提供依頼を送信する。
ステップS202において、クライアント装置102の通常実行部106は、クライアント装置102のセキュア実行部107から準同型暗号化されたクライアントモデルHEMKc(M)を取得する。
ステップS203において、クライアント装置102の通常実行部106は、サーバ装置101の通常実行部104に、準同型暗号化されたクライアントモデルHEMKc(M)を送信する。
以上のステップS201からステップS203を、各クライアントで実行し、サーバ装置101は、クライアントモデルを収集する。全クライアントモデルの収集が完了後、次のステップS204を実行する。
最後に、ステップS204において、サーバ装置101の通常実行部104は、準同型暗号化されたクライアントモデルHEMKc(M)を用いて、暗号化したまま汚染検知と集約を実行する。サーバ装置101の通常実行部104は、集約されたクライアントモデルをグローバルモデルとして、準同型暗号化されたグローバルモデルHEGKs(G)と汚染検知結果を記憶部に格納する。
<グローバルモデル配信処理>
図8を用いて、本実施の形態に係る情報処理システム100におけるグローバルモデル配信処理の動作について説明する。
ステップS205において、サーバ装置101の通常実行部104は、クライアント装置102の通常実行部106にグローバルモデルの配信通知を送信する。クライアント装置102の通常実行部106からサーバ装置101の通常実行部104へグローバルモデルの配信要求を送信してもよい。
ステップS206において、サーバ装置101の通常実行部104は、クライアント装置102のセキュア実行部107の正しさを検証するために、クライアント装置102の通常実行部106にセキュア実行部の認証依頼を送信する。
ステップS207において、クライアント装置102の通常実行部106は、クライアント装置102のセキュア実行部107に認証情報の提供依頼を送信する。
ステップS208において、クライアント装置102のセキュア実行部107は、クライアント装置102の通常実行部106に認証情報と公開鍵PKcを送信する。
ステップS209において、クライアント装置102の通常実行部106は、サーバ装置101の通常実行部104に認証情報と公開鍵PKcを転送する。サーバ装置101の通常実行部104は、認証サーバ装置103の検証部122に認証情報の検証依頼を送信する。認証サーバ装置103の検証部122は、サーバ装置101の通常実行部104に検証結果を送信する。サーバ装置101の通常実行部104は、クライアント装置102のセキュア実行部107の正しさを検証できた場合、サーバ装置101の通常実行部104に公開鍵PKcを送信する。
ステップS210において、サーバ装置101の通常実行部104は、クライアント装置102のセキュア実行部107と公開鍵PKcを用いて鍵交換を行い、送受信データが暗号化されるセキュアな通信路を確立する。
ステップS211において、サーバ装置101の通常実行部104は、セキュアな通信路上で、クライアント装置102のセキュア実行部107に準同型暗号化されたグローバルモデルHEGKs(G)と汚染検知結果を送信する。
ステップS212において、クライアント装置102のセキュア実行部107は、準同型暗号化されたグローバルモデルHEGKs(G)と汚染検知結果を復号する。クライアント装置102のセキュア実行部107は、汚染検知結果から、クライアントモデルに汚染がなければ、クライアントのモデル保護用鍵GKcでグローバルモデルを暗号化する。そして、クライアント装置102のセキュア実行部107は、クライアント装置102の通常実行部106に暗号化されたグローバルモデルEncGKc(G)を送信する。
最後に、ステップS214において、クライアント装置102の通常実行部106は、学習または推論処理を実行するために、クライアント装置102のセキュア実行部107に暗号化されたグローバルモデルEncGKc(G)を送信する。クライアント装置102のセキュア実行部107は、暗号化されたグローバルモデルEncGKc(G)をライアントのモデル保護用鍵GKcで復号し、学習または推論処理を実行する。
***本実施の形態の効果の説明***
以上のように、本実施の形態に係る情報処理システム100によれば、クライアントモデルおよびグローバルモデルは準同型暗号化されてサーバ装置101とクライアント装置102でやり取りされる。そして、クライアントモデルおよびグローバルモデルは、準同型暗号により暗号化したまま演算、または、クライアント装置102のセキュア実行部でのみ復号される。このため、クライアントのプライバシ、およびグローバルモデルのセキュリティを確保することができる。
また、クライアント装置102のセキュア実行部は、その正しさを検証されている。そのため、不正なクライアント装置102での不正な処理を防止できる。さらに、グローバルモデルとともに汚染検知結果をクライアント装置102のセキュア実行部で確認することで、悪意あるクライアントからの学習妨害を防止できる。
クライアントモデルおよびグローバルモデルは、暗号化された状態で通常実行部に格納されるので、セキュア実行部のリソース負担を軽減することができる。
実施の形態3.
本実施の形態では、主に、実施の形態1,2と異なる点、および実施の形態1,2に追加する点について説明する。
本実施の形態において、実施の形態1,2と同様の機能を有する構成については同一の符号を付し、その説明を省略する。
実施の形態2では、サーバ装置101にTEEによる仮想的な分離実行環境がない場合に、暗号化したまま演算を可能とする準同型暗号を用いた態様を説明した。
一方、本実施の形態では、サーバ装置101において、TEEによる仮想的な分離実行環境と暗号化したまま演算を可能とする準同型暗号とを併用した態様について説明する。
***構成の説明***
図9は、本実施の形態に係る情報処理システム100の構成例を示す図である。
サーバ装置101は、実施の形態1と同様に、通常実行部104とセキュア実行部105に仮想的に分離できる構成を有する。
また、クライアント装置102も、実施の形態1,2と同様に、通常実行部106とセキュア実行部107に仮想的に分離できる構成を有する。
サーバ装置101の通常実行部104は、連合学習管理部108と認証管理部109と集約部113と汚染検知部114を備える。
サーバ装置101のセキュア実行部105は、認証部110と暗号化復号部111と準同型暗号化復号部140とを備える。本実施の形態において、準同型暗号化復号部140は、サーバ装置101の通常実行部104とやり取りする情報を準同型暗号化・復号処理する。
クライアント装置102の通常実行部104は、実施の形態1と同様に、連合学習管理部115と、認証管理部116と、学習・推論管理部117とを備える。
クライアント装置102のセキュア実行部107は、実施の形態1と同様に、認証部118と、暗号化復号部119と、学習部120と、推論部121とを備える。
認証サーバ装置103は、検証部122を備える。
検証部122は、セキュア実行部105およびセキュア実行部107の各々の認証情報を検証する。
図9の情報処理システム100は、上記のような構成とすることで、クライアントモデルおよびグローバルモデルを保護し、セキュア実行部105および107の各々の正しさとクライアントモデルの汚染を検知する。これにより、セキュリティ・プライバシに配慮した連合学習が実現される。
なお、本実施の形態に係る情報処理システム100のハードウェア構成例については実施の形態1と同様である。
***機能の説明***
通常実行部104と106は、セキュア実行部105と107の起動の正しさを互いに認証する。セキュア実行部105と107の起動の正しさが認証されると、セキュア実行部105と107同士の間で暗号化されたデータを送受信するセキュアな通信路を確立する。
サーバ装置101のセキュア実行部105は、クライアント装置102からセキュアな通信路を介して提供されたモデル情報であるクライアントモデルに対し準同型暗号化を実行する。そして、サーバ装置101のセキュア実行部105は、準同型暗号化されたモデル情報を準同型暗号化されている状態で記憶部に格納する。
サーバ装置101の通常実行部104は、準同型暗号化されたモデル情報に対し、準同型暗号化したまま集約する集約処理を実行する。そして、サーバ装置101の通常実行部104は、集約処理により得られたモデル情報であるグローバルモデルを準同型暗号化されている状態で記憶部に格納する。
また、サーバ装置101の通常実行部104は、準同型暗号化されたモデル情報であるクライアントモデルに対し、準同型暗号化したまま汚染を検知する汚染検知処理を実行する。
***機能の詳細説明***
次に、図9を用いて、情報処理システム100の各装置の機能についてより詳細に説明する。
連合学習に代表される分散型機械学習アルゴリズムは、サーバ装置101とクライアント装置102の各々の連合学習管理部108および115同士のやり取り123で実行される。クライアント装置102は複数存在することを想定する。
クライアント装置102の通常実行部106とセキュア実行部107の仮想的な分離は、例えば、Arm Trustzone、あるいは、Intel(登録商標) SGXといったTEE技術によって実現される。
連合学習管理部108と115は各認証管理部109と116で、互いのセキュア実行部105と107の正しさを検証する。この処理は実施の形態1で説明したものと同様である。
暗号化復号部111は、連合学習管理部108により、クライアント装置102から収集されたクライアントモデルをクライアントごとに復号処理する。または、暗号化復号部111は、連合学習管理部108により、クライアント装置102へ配信されるグローバルモデルをクライアントごとに暗号処理する(処理130)。
準同型暗号化復号部140は、収集されたクライアントモデルを一時的な共通な鍵で準同型暗号化処理し(処理331)、通常実行部104へ格納する。または、準同型暗号化復号部140は、通常実行部104から準同型暗号化された状態のグローバルモデルを取得し、復号処理する(処理332)。
集約部113は、収集された準同型暗号化済みのクライアントモデルを取得し(処理332)、集約を行う。集約とは、例えば、クライアントモデルの平均値を算出することである。ただし、本実施の形態では、準同型暗号化されたままの演算になる。
汚染検知部114は、収集された準同型暗号化済みのクライアントモデルを取得し(処理333)、準同型暗号化したままクライアントモデルの汚染検知を行う。汚染検知とは、例えば、クライアントモデル間のモデル間距離を算出し、距離が大きい場合はそのクライアントモデルは汚染されていると検知することである。ただし、本実施の形態では、準同型暗号化されたままの演算になるため、距離の大きさの判定は、サーバ装置101のセキュア実行部105で復号してから行われる。
クライアント装置102におけるクライアントモデルをサーバ装置101へ提供する機能、および、サーバ装置101から配信されたグローバルモデルを用いて、学習または推論を行う機能については、実施の形態1で説明したものと同様である。
***動作の説明***
次に、本実施の形態に係る情報処理システム100の動作について説明する。情報処理システム100の動作手順は、情報処理方法に相当する。また、情報処理システム100の動作を実現するプログラムは、情報処理プログラムに相当する。
図10は、本実施の形態に係る情報処理システム100におけるクライアントモデル収集の動作を示すシーケンス図である。
図11は、本実施の形態に係る情報処理システム100におけるグローバルモデル配信の動作を示すシーケンス図である。
このシーケンス図は、情報処理システム100におけるサーバ装置101とクライアント装置102のやり取りを、通常実行部104および106と、セキュア実行部105および107に分けて示す。
<クライアントモデル収集>
ステップS301からステップS307までの処理は、実施の形態1で説明したステップS101からステップS107までの処理と同様である。すなわち、ステップS307において、クライアント装置102のセキュア実行部107は、セキュアな通信路上で、サーバ装置101のセキュア実行部105にクライアントモデルMを送信する。
ステップS308において、サーバ装置101のセキュア実行部105は、セキュア実行部105の消費メモリを抑えるために、一度、クライアントモデルMを演算用の一時鍵MKsで準同型暗号化する。そして、サーバ装置101のセキュア実行部105は、サーバ装置101の通常実行部104に準同型暗号化されたクライアントモデルHEMKs(M)を送信する。サーバ装置101の通常実行部104は、準同型暗号化されたクライアントモデルHEMKs(M)を格納する。
以上のステップS301からステップS308を、各クライアントで実行し、すべてのクライアント装置102からクライアントモデルを収集する。全クライアントモデルの収集が完了後、次のステップS309を実行する。
ステップS309において、サーバ装置101の通常実行部104は、準同型暗号化されたクライアントモデルHEMKs(M)を用いて、暗号化したまま汚染検知と集約を実行する。
ステップS310において、サーバ装置101の通常実行部104は、集約されたクライアントモデルをグローバルモデルとして、サーバ装置101のセキュア実行部105に準同型暗号化されたグローバルモデルHEGKs(G)と汚染検知結果を送信する。
最後に、ステップS311において、サーバ装置101のセキュア実行部105は、準同型暗号化されたグローバルモデルHEGKs(G)と汚染検知結果を復号する。汚染を検出した場合は、汚染されたクライアントモデルは、集約しない。例えば、汚染されたクライアントモデルが検知された場合はグローバルモデルを廃棄してもよい。サーバ装置101のセキュア実行部105は、グローバルモデルGを配信用の一時鍵GKsで暗号化し、サーバ装置101の通常実行部104に暗号化されたグローバルモデルEncGKs(G)を送信する。サーバ装置101の通常実行部104は、暗号化されたグローバルモデルEncGKs(G)を格納する。
<グローバルモデル配信>
図11を用いて、情報処理システム100におけるグローバルモデル配信処理の動作について説明する。
ステップS312からステップS320までの処理は、実施の形態1で説明したステップS112からステップS120までの処理と同様である。
すなわち、最後に、ステップS320において、クライアント装置102の通常実行部106は、学習または推論処理を実行するために、クライアント装置102のセキュア実行部107に暗号化されたグローバルモデルEncGKs(G)を送信する。クライアント装置102のセキュア実行部107は、暗号化されたグローバルモデルEncGKs(G)を配信用の一時鍵GKsで復号し、学習または推論処理を実行する。
***本実施の形態の効果の説明***
以上のように、本実施の形態に係る情報処理システム100では、クライアントモデルおよびグローバルモデルは暗号化されてサーバ装置101とクライアント装置102でやり取りされる。また、サーバ装置101の通常実行部においては、準同型暗号により暗号化したまま演算される。また、サーバ装置101とクライアント装置102の各装置のセキュア実行部でのみ復号される。このため、クライアントのプライバシ、およびグローバルモデルのセキュリティを確保することができる。
また、本実施の形態に係る情報処理システム100では、サーバ装置101とクライアント装置102の各セキュア実行部は、その正しさを検証されている。このため、不正なサーバ装置101とクライアント装置102での不正な処理を防止できる。
さらに、クライアントモデルの集約時にモデル汚染を検知することで、悪意あるクライアントからの学習妨害を防止できる。
また、サーバ装置101におけるクライアントモデルの集約とモデル汚染検知は、セキュア実行部のメモリリソースの制限より、準同型暗号を用いて暗号化したまま潤沢なメモリ・計算リソースがある通常実行部で演算することで実現している。
また、グローバルモデルは、クライアントモデルの暗号化鍵とは別に、配信用の一時鍵で暗号化する。これにより、モデルベンダが配信用の一時鍵を有し、グローバルモデルを調整することも可能となる。このとき、モデルベンダは、クライアントモデルの暗号化鍵は保有しないため、クライアントのプライバシは守られる。
実施の形態4.
本実施の形態では、主に、実施の形態1と異なる点、および実施の形態1に追加する点について説明する。
本実施の形態において、実施の形態1と同様の機能を有する構成については同一の符号を付し、その説明を省略する。
実施の形態1では、サーバ装置101のセキュア実行部105が汚染検知部114を備える構成である。本実施の形態では、クライアント装置102のセキュア実行部107が汚染検知部114を備える態様について説明する。
***構成の説明***
図12は、本実施の形態に係る情報処理システム100の構成例を示す図である。
本実施の形態では、実施の形態1で説明したサーバ装置101のセキュア実行部105に、汚染検知部114は無い。実施の形態1で説明したクライアント装置102のセキュア実行部107に、汚染検知部114を備える。
クライアント装置102のセキュア実行部107は、サーバ装置101に提供するクライアントモデルが汚染されているか否かを検知する汚染検知処理を実行する。そして、クライアント装置102のセキュア実行部107は、汚染されているクライアントモデルはサーバ装置101に提供しないようにする。
上記以外については、実施の形態1で説明した情報処理システム100の構成と同様である。
クライアント装置102では、セキュア実行部107に、認証部118と、暗号化復号部119と、汚染検知部114と、学習部120と、推論部121とを備える。
汚染検知部114は、サーバ装置101に提供するクライアントモデルの汚染を検知する。
図12の情報処理システム100では、上記のような構成とすることで、クライアントモデルおよびグローバルモデルを保護し、セキュア実行部105および107の各々の正しさとクライアントモデルの汚染を検知する。これにより、セキュリティ・プライバシに配慮した連合学習が実現される。
***機能の詳細説明***
次に、図12を用いて、情報処理システム100の各装置の機能についてより詳細に説明する。
連合学習に代表される分散型機械学習アルゴリズムは、サーバ装置101とクライアント装置102の各々の連合学習管理部108および115同士のやり取り123で実行される。クライアント装置102は複数存在することを想定する。
連合学習管理部108と115は各認証管理部109と116で、互いのセキュア実行部105と107の正しさを検証する。この処理は実施の形態1で説明したものと同様である。
サーバ装置101における、暗号化復号部111による処理、再暗号化復号部112による処理、および、集約部113による処理についても実施の形態1と同様である。
クライアント装置102における、暗号化復号部119による処理についても実施の形態1と同様である。
クライアント装置102の汚染検知部114は、サーバ装置101に提供するクライアントモデルの汚染検知を行う(処理435)。汚染検知とは、例えば、クライアントモデルと元のグローバル間のモデル間距離を算出し、距離が大きい場合はそのクライアントモデルは汚染されていると検知する、または、特定のテストデータに対する出力結果から汚染されていることを検知することである。
クライアント装置102における、学習・推論管理部117による処理、学習部120による処理、および、推論部121による処理については実施の形態1と同様である。ただし、学習・推論管理部117による処理、学習部120による処理、および、推論部121による処理において、汚染が検知されたクライアントモデルは使用しない。
なお、本実施の形態に係る情報処理システム100のハードウェア構成例については実施の形態1と同様である。
***動作の説明***
動作については、実施の形態1における汚染検知部114の処理が、サーバ装置101にクライアントモデルを提供される前に、クライアント装置102のセキュア実行部107における汚染検知部114にて実施される。その他に変更はない。
また、実施の形態2および3に本実施の形態を適用してもよい。実施の形態2および3においても、クライアント装置102のセキュア実行部107に、汚染検知部114を備えていてもよい。クライアント装置102のセキュア実行部107が、サーバ装置101に提供するクライアントモデルが汚染されているか否かを検知する汚染検知処理を実行する。そして、クライアント装置102のセキュア実行部107は、汚染されているクライアントモデルはサーバ装置101に提供しないようにする。
以上の実施の形態1から4では、情報処理システムの各装置の各部を独立した機能ブロックとして説明した。しかし、情報処理システムの各装置の構成は、上述した実施の形態のような構成でなくてもよい。情報処理システムの各装置の機能ブロックは、上述した実施の形態で説明した機能を実現することができれば、どのような構成でもよい。また、情報処理システムの各装置は、1つの装置でもよいし、複数の装置から構成されたシステムでもよい。
また、実施の形態1から4のうち、複数の部分を組み合わせて実施しても構わない。あるいは、これらの実施の形態のうち、1つの部分を実施しても構わない。その他、これら実施の形態を、全体としてあるいは部分的に、どのように組み合わせて実施しても構わない。
すなわち、実施の形態1から4では、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
なお、上述した実施の形態は、本質的に好ましい例示であって、本開示の範囲、本開示の適用物の範囲、および本開示の用途の範囲を制限することを意図するものではない。上述した実施の形態は、必要に応じて種々の変更が可能である。
100 情報処理システム、101 サーバ装置、102 クライアント装置、103 認証サーバ装置、104,106 通常実行部、105,107 セキュア実行部、108,115 連合学習管理部、109,116 認証管理部、110,118 認証部、111,119 暗号化復号部、112 再暗号化復号部、113 集約部、114 汚染検知部、117 学習・推論管理部、120 学習部、121 推論部、122 検証部、140 準同型暗号化復号部、909 電子回路、910 プロセッサ、921 メモリ、922 補助記憶装置、930 入力インタフェース、940 出力インタフェース、950 通信装置。

Claims (12)

  1. サーバ装置とクライアント装置とを備え、前記サーバ装置と前記クライアント装置との間で、学習に用いられるモデル情報を授受する情報処理システムにおいて、
    前記サーバ装置と前記クライアント装置との各装置は、
    仮想的に分離された実行環境として、通常の実行環境である通常実行部とセキュアな実行環境であるセキュア実行部とを備え、
    前記サーバ装置と前記クライアント装置との各装置の通常実行部は、
    各装置のセキュア実行部の起動の正しさを互いに認証し、各装置のセキュア実行部の起動の正しさが認証されると、各装置のセキュア実行部同士の間で暗号化されたデータを送受信するセキュアな通信路を確立し、
    前記サーバ装置のセキュア実行部は、
    前記クライアント装置から前記セキュアな通信路を介して提供された前記モデル情報を復号して集約する集約処理を実行し、集約処理により得られたモデル情報を暗号化して前記サーバ装置の通常実行部に送信し、
    前記サーバ装置の通常実行部は、
    集約処理により得られたモデル情報を暗号化された状態で記憶部に格納する情報処理システムであって、
    前記モデル情報は、前記クライアント装置から前記サーバ装置に提供されるクライアントモデルと、前記サーバ装置から前記クライアント装置に配信されるグローバルモデルとを含み、
    前記サーバ装置のセキュア実行部は、
    前記クライアント装置から前記セキュアな通信路を介して提供されたクライアントモデルを復号し、復号したクライアントモデルを再暗号化して前記サーバ装置の通常実行部に送信し、
    前記サーバ装置の通常実行部は、
    再暗号化されたクライアントモデルを記憶部に格納する
    情報処理システム。
  2. 前記サーバ装置の通常実行部は、
    前記再暗号化されたクライアントモデルを前記サーバ装置のセキュア実行部に送信し、 前記サーバ装置のセキュア実行部は、
    前記サーバ装置の通常実行部から送信されたクライアントモデルに対して前記集約処理を実行することにより前記グローバルモデルを生成し、前記グローバルモデルを暗号化して前記サーバ装置の通常実行部に送信し、
    前記サーバ装置の通常実行部は、
    暗号化されたグローバルモデルを記憶部に格納する請求項1に記載の情報処理システム。
  3. 前記サーバ装置の通常実行部は、
    前記再暗号化されたクライアントモデルを分割して前記サーバ装置のセキュア実行部に送信し、
    前記サーバ装置のセキュア実行部は、
    分割されたクライアントモデルごとに集約処理を実行する請求項1または請求項2に記載の情報処理システム。
  4. 前記サーバ装置のセキュア実行部は、
    前記復号したクライアントモデルが汚染されているか否かを検知する汚染検知処理を実行し、汚染されているクライアントモデルは集約しない請求項1から請求項3のいずれか1項に記載の情報処理システム。
  5. 前記クライアント装置のセキュア実行部は、
    前記サーバ装置に提供するクライアントモデルが汚染されているか否かを検知する汚染検知処理を実行し、汚染されているクライアントモデルは前記サーバ装置に提供しない請求項1から請求項3のいずれか1項に記載の情報処理システム。
  6. サーバ装置とクライアント装置とを備え、前記サーバ装置と前記クライアント装置との間で、学習に用いられるモデル情報を授受する情報処理システムにおいて、
    前記サーバ装置と前記クライアント装置との各装置は、
    仮想的に分離された実行環境として、通常の実行環境である通常実行部とセキュアな実行環境であるセキュア実行部とを備え、
    前記サーバ装置と前記クライアント装置との各装置の通常実行部は、
    各装置のセキュア実行部の起動の正しさを互いに認証し、各装置のセキュア実行部の起動の正しさが認証されると、各装置のセキュア実行部同士の間で暗号化されたデータを送受信するセキュアな通信路を確立し、
    前記サーバ装置のセキュア実行部は、
    前記クライアント装置から前記セキュアな通信路を介して提供された前記モデル情報に対し準同型暗号化を実行し、準同型暗号化されたモデル情報を準同型暗号化されている状態で記憶部に格納し、
    前記サーバ装置の通常実行部は、
    準同型暗号化されたモデル情報に対し、準同型暗号化したまま集約する集約処理を実行し、集約処理により得られたモデル情報を準同型暗号化されている状態で記憶部に格納する情報処理システム。
  7. 前記サーバ装置の通常実行部は、
    準同型暗号化されたモデル情報に対し、準同型暗号化したまま汚染を検知する汚染検知処理を実行する請求項に記載の情報処理システム。
  8. 前記クライアント装置のセキュア実行部は、
    前記サーバ装置に提供するモデル情報が汚染されているか否かを検知する汚染検知処理を実行し、汚染されているモデル情報は前記サーバ装置に提供しない請求項に記載の情報処理システム。
  9. サーバ装置とクライアント装置とを備え、前記サーバ装置と前記クライアント装置との間で、学習に用いられるモデル情報を授受する情報処理システムに用いられる情報処理方法において、
    前記サーバ装置と前記クライアント装置との各装置は、仮想的に分離された実行環境として、通常の実行環境とセキュアな実行環境とを備え、
    前記サーバ装置と前記クライアント装置との各装置の通常の実行環境において、各装置のセキュアな実行環境の起動の正しさを互いに認証し、各装置のセキュアな実行環境の起動の正しさが認証されると、各装置のセキュアな実行環境同士の間で暗号化されたデータを送受信するセキュアな通信路を確立し、
    前記サーバ装置のセキュアな実行環境において、前記クライアント装置から前記セキュアな通信路を介して提供された前記モデル情報を復号して集約する集約処理を実行し、集約処理により得られたモデル情報を暗号化して前記サーバ装置の通常の実行環境に送信し、
    前記サーバ装置の通常の実行環境において、集約処理により得られたモデル情報を暗号化された状態でメモリに格納する情報処理方法であって、
    前記モデル情報は、前記クライアント装置から前記サーバ装置に提供されるクライアントモデルと、前記サーバ装置から前記クライアント装置に配信されるグローバルモデルとを含み、
    前記サーバ装置のセキュアな実行環境において、前記クライアント装置から前記セキュアな通信路を介して提供されたクライアントモデルを復号し、復号したクライアントモデルを再暗号化して前記サーバ装置に送信し、
    前記サーバ装置のセキュアな実行環境において、再暗号化されたクライアントモデルをメモリに格納する情報処理方法。
  10. サーバ装置とクライアント装置とを備え、前記サーバ装置と前記クライアント装置との間で、学習に用いられるモデル情報を授受する情報処理システムに用いられる情報処理方法において、
    前記サーバ装置と前記クライアント装置との各装置は、仮想的に分離された実行環境として、通常の実行環境とセキュアな実行環境とを備え、
    前記サーバ装置と前記クライアント装置との各装置の通常の実行環境において、各装置のセキュアな実行環境の起動の正しさを互いに認証し、各装置のセキュアな実行環境の起動の正しさが認証されると、各装置のセキュアな実行環境同士の間で暗号化されたデータを送受信するセキュアな通信路を確立し、
    前記サーバ装置のセキュアな実行環境において、前記クライアント装置から前記セキュアな通信路を介して提供された前記モデル情報に対し準同型暗号化を実行し、準同型暗号化されたモデル情報を準同型暗号化されている状態でメモリに記憶し、
    前記サーバ装置の通常の実行環境において、準同型暗号化されたモデル情報に対し、準同型暗号化したまま集約する集約処理を実行し、集約処理により得られたモデル情報を準同型暗号化されている状態でメモリに格納する情報処理方法。
  11. サーバ装置とクライアント装置とを備え、前記サーバ装置と前記クライアント装置との間で、学習に用いられるモデル情報を授受する情報処理システムに用いられる情報処理プログラムにおいて、
    前記サーバ装置と前記クライアント装置との各装置は、仮想的に分離された実行環境として、通常の実行環境とセキュアな実行環境とを備え、
    前記サーバ装置と前記クライアント装置との各装置の通常の実行環境において、各装置のセキュアな実行環境の起動の正しさを互いに認証し、各装置のセキュアな実行環境の起動の正しさが認証されると、各装置のセキュアな実行環境同士の間で暗号化されたデータを送受信するセキュアな通信路を確立する処理と、
    前記サーバ装置のセキュアな実行環境において、前記クライアント装置から前記セキュアな通信路を介して提供された前記モデル情報を復号して集約する集約処理を実行し、集約処理により得られたモデル情報を暗号化して前記サーバ装置の通常の実行環境に送信する処理と、
    前記サーバ装置の通常の実行環境において、集約処理により得られたモデル情報を暗号化された状態でメモリに格納する処理と
    をコンピュータに実行させる情報処理プログラムであって、
    前記モデル情報は、前記クライアント装置から前記サーバ装置に提供されるクライアントモデルと、前記サーバ装置から前記クライアント装置に配信されるグローバルモデルとを含み、
    前記サーバ装置のセキュアな実行環境において、前記クライアント装置から前記セキュアな通信路を介して提供されたクライアントモデルを復号し、復号したクライアントモデルを再暗号化して前記サーバ装置の通常実行環境に送信する処理と、
    前記サーバ装置の通常の実行環境において、再暗号化されたクライアントモデルをメモリに格納する処理と
    をコンピュータに実行させる情報処理プログラム。
  12. サーバ装置とクライアント装置とを備え、前記サーバ装置と前記クライアント装置との間で、学習に用いられるモデル情報を授受する情報処理システムに用いられる情報処理プログラムにおいて、
    前記サーバ装置と前記クライアント装置との各装置は、仮想的に分離された実行環境として、通常の実行環境とセキュアな実行環境とを備え、
    前記サーバ装置と前記クライアント装置との各装置の通常の実行環境において、各装置のセキュアな実行環境の起動の正しさを互いに認証し、各装置のセキュアな実行環境の起動の正しさが認証されると、各装置のセキュアな実行環境同士の間で暗号化されたデータを送受信するセキュアな通信路を確立する処理と、
    前記サーバ装置のセキュアな実行環境において、前記クライアント装置から前記セキュアな通信路を介して提供された前記モデル情報に対し準同型暗号化を実行し、準同型暗号化されたモデル情報を準同型暗号化されている状態でメモリに格納する処理と、
    前記サーバ装置の通常の実行環境において、準同型暗号化されたモデル情報に対し、準同型暗号化したまま集約する集約処理を実行し、集約処理により得られたモデル情報を準同型暗号化されている状態でメモリに格納する処理と
    をコンピュータに実行させる情報処理プログラム。
JP2023567036A 2021-12-21 2021-12-21 情報処理システム、情報処理方法、および、情報処理プログラム Active JP7466800B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/047341 WO2023119421A1 (ja) 2021-12-21 2021-12-21 情報処理システム、情報処理方法、および、情報処理プログラム

Publications (3)

Publication Number Publication Date
JPWO2023119421A1 JPWO2023119421A1 (ja) 2023-06-29
JPWO2023119421A5 JPWO2023119421A5 (ja) 2024-01-10
JP7466800B2 true JP7466800B2 (ja) 2024-04-12

Family

ID=86901624

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023567036A Active JP7466800B2 (ja) 2021-12-21 2021-12-21 情報処理システム、情報処理方法、および、情報処理プログラム

Country Status (4)

Country Link
US (1) US20240273220A1 (ja)
JP (1) JP7466800B2 (ja)
CN (1) CN118382866A (ja)
WO (1) WO2023119421A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200394518A1 (en) 2019-06-12 2020-12-17 Commissariat A L'energie Atomique Et Aux Energies Alternatives Method for collaborative learning of an artificial neural network without disclosing training data
WO2021111540A1 (ja) 2019-12-04 2021-06-10 富士通株式会社 評価方法、評価プログラム、および情報処理装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200394518A1 (en) 2019-06-12 2020-12-17 Commissariat A L'energie Atomique Et Aux Energies Alternatives Method for collaborative learning of an artificial neural network without disclosing training data
WO2021111540A1 (ja) 2019-12-04 2021-06-10 富士通株式会社 評価方法、評価プログラム、および情報処理装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MONDAL, Arup et al.,Flatee: Federated Learning Across Trusted Execution Environments,arXiv [online],2021年11月,2111.06867v1,pp. 1-8,[2022年3月18日検索], インターネット: <URL: https://arxiv.org/abs/2111.06867v1> <DOI: 10.48550/arXiv.2111.06867>

Also Published As

Publication number Publication date
WO2023119421A1 (ja) 2023-06-29
US20240273220A1 (en) 2024-08-15
CN118382866A (zh) 2024-07-23
JPWO2023119421A1 (ja) 2023-06-29

Similar Documents

Publication Publication Date Title
US11088846B2 (en) Key rotating trees with split counters for efficient hardware replay protection
JP7416775B2 (ja) 周辺デバイス
US11223485B2 (en) Verifiable encryption based on trusted execution environment
US10338957B2 (en) Provisioning keys for virtual machine secure enclaves
CN109075976B (zh) 取决于密钥认证的证书发布
US11971980B2 (en) Using trusted execution environments to perform a communal operation for mutually-untrusted devices
JP6665113B2 (ja) 継続的な所有者アクセスを伴う、暗号化された仮想マシンの安全なトランスポート
US10050982B1 (en) Systems and methods for reverse-engineering malware protocols
KR100737628B1 (ko) 고정형 토큰 및 이동형 토큰 모두를 이용한 어테스테이션
US8549592B2 (en) Establishing virtual endorsement credentials for dynamically generated endorsement keys in a trusted computing platform
TWI393148B (zh) 整合至內建的記憶體子系統之安全共同處理記憶體控制器及最佳化處理器利用和產生增強的安全等級之方法
TWI465093B (zh) 硬體認證技術
US20180183578A1 (en) Provisioning keys for virtual machine scaling
US10423791B2 (en) Enabling offline restart of shielded virtual machines using key caching
US20210374232A1 (en) Data distribution using a trusted execution environment in an untrusted device
WO2016074506A1 (zh) 应用程序完整性验证方法及网络设备
US7930503B2 (en) Method and apparatus for operating multiple security modules
WO2017019201A2 (en) Cryptographic assurances of data integrity for data crossing trust boundaries
US11947659B2 (en) Data distribution across multiple devices using a trusted execution environment in a mobile device
US20140281575A1 (en) Pre-boot authentication using a cryptographic processor
Liu et al. $ LiveForen $: Ensuring Live Forensic Integrity in the Cloud
US20210110066A1 (en) Method and system for encrypting data using a kernel
US11475140B1 (en) Enclave-based cryptography services in edge computing environments
US20230106455A1 (en) Efficient launching of trusted execution environments
JP7466800B2 (ja) 情報処理システム、情報処理方法、および、情報処理プログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231031

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20231031

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20231031

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240109

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240226

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240305

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240402

R150 Certificate of patent or registration of utility model

Ref document number: 7466800

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150