JP2023542574A - モデル保護方法、装置、機器、システム、記憶媒体及びプログラム - Google Patents

モデル保護方法、装置、機器、システム、記憶媒体及びプログラム Download PDF

Info

Publication number
JP2023542574A
JP2023542574A JP2022559937A JP2022559937A JP2023542574A JP 2023542574 A JP2023542574 A JP 2023542574A JP 2022559937 A JP2022559937 A JP 2022559937A JP 2022559937 A JP2022559937 A JP 2022559937A JP 2023542574 A JP2023542574 A JP 2023542574A
Authority
JP
Japan
Prior art keywords
model
file
wasm
verification
encrypted
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.)
Pending
Application number
JP2022559937A
Other languages
English (en)
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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
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
Priority claimed from CN202111007976.8A external-priority patent/CN113722683B/zh
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Publication of JP2023542574A publication Critical patent/JP2023542574A/ja
Pending legal-status Critical Current

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/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • 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/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords

Abstract

本開示は、モデル保護方法を開示し、コンピュータ分野に関し、特に人工知能分野に関し、AIモデル保護などの応用シーンに用いることができる。具体的な実現解決手段は以下のとおりである。目標モデルに運行環境を提供し、対応するモデル推論アルゴリズム及び安全検証アルゴリズムが含まれるWASMファイルを生成し、ここで、安全検証アルゴリズムは、ホスト環境を検証すること、WASMファイルの完全性を検証すること、目標モデルに対応するオリジナルモデルファイルに基づいて生成されるモデルファイルの完全性を検証すること、モデル推論過程において、指定推論過程に対してタイムアウト検証を行うこと、モデル推論過程において、推論過程全体に対してタイムアウト検証を行うこと、という安全検証操作のうちの少なくとも一つを実行することにより、目標モデルに対する保護を実現する。【選択図】図3A

Description

本願は、2021年8月30日に提出され、出願番号が202111007976.8である中国特許出願の優先権を要求し、その全ての内容は引用により本願に組み込まれる。
本開示は、コンピュータ分野に関し、特に人工知能分野に関し、AIモデル保護などの応用シーンに用いることができる。
人工知能モデル(すなわちAIモデル)の開発は、大量の財政投入及び/又は工程資源投入に関する可能性がある。また、AIモデルの開発は一般的に時間及びリソースが密集する独特な具体的な分野の知識取得プロセスである。したがって、効果的な保護メカニズムによってAIモデルを保護する必要がある。
本開示は、モデル保護方法、装置、機器、システム、記憶媒体、及びコンピュータプログラム製品を提供する。
本開示の一態様によれば、サーバに用いられるモデル保護方法を提供し、該モデル保護方法は、目標モデルに運行環境を提供するために用いられ、対応するモデル推論アルゴリズム及び安全検証アルゴリズムが含まれるWASMファイルを生成することを含み、ここで、前記安全検証アルゴリズムは、ホスト環境を検証すること、前記WASMファイルの完全性を検証すること、前記目標モデルに対応するオリジナルモデルファイルに基づいて生成されるモデルファイルの完全性を検証すること、モデル推論過程において、指定推論過程に対してタイムアウト検証を行うこと、モデル推論過程において、推論過程全体に対してタイムアウト検証を行うこと、という安全検証操作のうちの少なくとも一つを実行することにより、前記目標モデルに対する保護を実現する。
本開示の別の態様によれば、クライアントに用いられるモデル保護方法を提供し、該モデル保護方法は、目標モデルに対応して生成されたモデルファイルをロードすることと、前記目標モデルに運行環境を提供するためのWASMファイルをロードすることと、前記WASMファイルの実例化運行において、前記モデルファイルを前記運行環境に送信することにより、ホスト環境を検証すること、前記WASMファイルの完全性を検証すること、前記モデルファイルの完全性を検証すること、モデル推論過程において、指定推論過程に対してタイムアウト検証を行うこと、モデル推論過程において、推論過程全体に対してタイムアウト検証を行うこと、というセキュリティ検証操作のうちの少なくとも一つを実行し、それにより前記目標モデルに対してモデル保護メカニズムを起動することと、を含む。
本開示の別の態様によれば、サーバに用いられるモデル保護装置を提供し、該モデル保護装置は、目標モデルに運行環境を提供ために用いられ、対応するモデル推論アルゴリズム及び安全検証アルゴリズムが含まれるWASMファイルを生成する生成モジュールを含み、ここで、前記安全検証アルゴリズムは、ホスト環境を検証すること、前記WASMファイルの完全性を検証すること、前記目標モデルに対応するオリジナルモデルファイルに基づいて生成されるモデルファイルの完全性を検証すること、モデル推論過程において、指定推論過程に対してタイムアウト検証を行うこと、モデル推論過程において、推論過程全体に対してタイムアウト検証を行うこと、という安全検証操作のうちの少なくとも一つを実行することにより、前記目標モデルに対する保護を実現する。
本開示の別の態様によれば、クライアントに用いられるモデル保護装置を提供し、該モデル保護装置は、目標モデルに対応して生成されたモデルファイルをロードする第一ロードモジュールと、前記目標モデルに運行環境を提供するためのWASMファイルをロードする第二ロードモジュールと、前記WASMファイルの実例化運行において、前記モデルファイルを前記運行環境に送信することにより、ホスト環境を検証すること、前記WASMファイルの完全性を検証すること、前記モデルファイルの完全性を検証すること、モデル推論過程において、指定推論過程に対してタイムアウト検証を行うこと、モデル推論過程において、推論過程全体に対してタイムアウト検証を行うこと、というセキュリティ検証操作のうちの少なくとも一つを実行し、それにより前記目標モデルに対してモデル保護メカニズムを起動する安全検証モジュールと、を含む。
本開示の別の態様によれば、電子機器を提供し、該電子機器は、少なくとも一つのプロセッサと、前記少なくとも一つのプロセッサと通信接続されたメモリとを含み、前記メモリは前記少なくとも一つのプロセッサにより実行可能な命令を記憶し、前記命令は前記少なくとも一つのプロセッサにより実行されることにより、前記少なくとも一つのプロセッサが本開示の実施例に記載の方法を実行することができる。
本開示の別の態様によれば、コンピュータ命令を記憶した非一時的なコンピュータ可読記憶媒体を提供し、前記コンピュータ命令は前記コンピュータに本開示の実施例に記載の方法を実行させるために用いられる。
本開示の別の態様によれば、コンピュータプログラム製品を提供し、該コンピュータプログラム製品は、プロセッサにより実行される時に本開示の実施例に記載の方法を実現するコンピュータプログラムを含む。
本開示の別の態様によれば、モデル保護システムを提供し、該モデル保護システムは、クライアント及びサーバを含み、前記クライアントは前記サーバにモデル情報を要求し、前記サーバは前記クライアントの要求に応答し、対応するモデル情報を返信し、前記クライアントは前記サーバから返信されたモデル情報に基づいて、目標モデルに対応して生成されたモデルファイルをロードすることと、前記目標モデルに運行環境を提供するためのWASMファイルをロードすることと、前記WASMファイルを実例化運行させ、前記モデルファイルを前記運行環境に送信すること、という操作を実行し、ここで、前記WASMファイルが実例化運行において、ホスト環境を検証すること、前記WASMファイルの完全性を検証すること、前記モデルファイルの完全性を検証すること、モデル推論過程において、指定推論過程に対してタイムアウト検証を行うこと、モデル推論過程において、推論過程全体に対してタイムアウト検証を行うこと、というセキュリティ検証操作のうちの少なくとも一つを実行し、それにより前記目標モデルに対してモデル保護メカニズムを起動する。
理解すべきこととして、本部分に記載された内容は本開示の実施例のキーポイント又は重要な特徴を識別することを意図するものではなく、本開示の範囲を限定するものではない。本開示の他の特徴は、以下の説明により容易に理解されるであろう。
図面は、本解決手段をよりよく理解するために用いられ、本開示を限定するものではない。
図1は、本開示の実施例に適するシステムアーキテクチャを例示的に示す。 図2Aは、本開示の実施例に適するモデル保護システムのブロック図を例示的に示す。 図2Bは、本開示の実施例に適するモデルオフライン暗号化及びオンライン推論の概略図を例示的に示す。 図3Aは、本開示の実施例に係るサーバに用いられるモデル保護方法のフローチャートを例示的に示す。 図3Bは、本開示の実施例に係るモデルファイル及びWASMファイルをオフラインに生成する概略図を例示的に示す。 図4Aは、本開示の実施例に係るクライアントに用いられるモデル保護方法のフローチャートを例示的に示す。 図4Bは、本開示の実施例に係るモデルオンライン推論のタイミングチャートを例示的に示す。 図5は、本開示の実施例に係るモデル保護メカニズムの原理図を例示的に示す。 図6は、本開示の実施例に係るサーバに用いられるモデル保護装置のブロック図を例示的に示す。 図7は、本開示の実施例に係るクライアントに用いられるモデル保護装置のブロック図を例示的に示す。 図8は、本開示の実施例のモデル保護方法を実現するための電子機器のブロック図を例示的に示す。
以下に図面を参照して本開示の例示的な実施例を説明し、ここで、理解しやすくするように、本開示の実施例の様々な詳細を含み、それらを例示的なものと考えるべきである。したがって、当業者であれば、ここで説明した実施例に対して様々な変更及び修正を行うことができ、本開示の範囲及び精神から逸脱することはない。同様に、明確かつ簡単に説明するために、以下の説明において公知の機能及び構造に対する説明を省略する。
理解すべきこととして、WebプラットフォームのAI計算は、例えばブラウザ、アプレットというWeb環境によって提供されるAI計算能力を利用して、ホスト環境でモデル推論過程を完了し、かつ対応する計算結果を得ることができる。モデルはWeb環境で配置及び推論すれば、以下の問題が存在する。モデル情報がネットワークを介して伝送する必要があるため、漏洩しやすい。モデルのトポロジー構造がクライアントのJS(Java script)の運行過程において生成し最適化する必要があるため、モデルがデバッグ又は改竄されやすい。モデルがJSの運行過程において推論演算を完了する必要があるため、モデルのトポロジー構造及び重みデータが容易に取得されるか又は導出されやすい。
したがって、秘密性が高い応用シーンに対して、Web環境においてモデルの配置及び推論を直接的に行うことができない。
したがって、WebプラットフォームのAI計算は、以下の二種類の解決手段によりモデル情報の保護を実現することができる。
解決手段1、サーバにおいてAIモデルの配置及び推論を行う。
例示的には、クライアントは、モデル入力データを携帯し、サーバにモデル推論要求を送信することができる。サーバは、クライアントからのモデル推論要求に応答し、相応するモデル推論操作を実行し、かつモデル推論を完了した後にネットワークを介して推論結果を返信する。
解決手段2、例えばブラウザ、アプレットなどのWeb環境が位置するホストが提供したモデル推論能力によって、AIの計算を完了する。
例示的には、クライアントはJS(Java script)の運行時にJS Bridge等の方式により、ホストの提供するAI計算能力を呼び出す。本解決手段において、同様にモデル入力データを伝達する必要があり、かつホストがモデル推論を完了した後にクライアントによって提供されたコールバックをトリガして推論結果を返信する必要がある。
理解すべきこととして、解決手段1において、クライアントがネットワークを介してモデル入力データをサーバに伝送する必要があるため、ユーザデータが漏洩し、ネットワークトラフィックを消費し、データ伝送が遅延するなどの弊害があり、かつリアルタイムのビデオストリーム処理等の時間遅延に対する要求が極めて高い応用シーンに適用することができない。
さらに理解されるように、解決手段2において、クライアントとホストとの間の通信が伝達されたデータを解析する必要があるため、リアルタイムのビデオストリーム処理等の時間遅延に対する要求が極めて高い応用シーンに適用することができない。また、解決手段2において、Web開発が例えばアンドロイド(登録商標)、IOSなどの異なるタイプのホスト環境に適合する必要があるため、クロスエンドの開発および連続的な発行が必要であり、反復速度が遅くかつデバッグが煩雑であり、Web開発本来の利便性及び反復しやすい等の利点を失う。
これに対して、本開示の実施例は、時間遅延に対する要求が極めて高い応用シーンに適するモデル保護解決手段を提供し、リアルタイムのビデオストリーム処理等のシーンに用いることができる。そして、モデルの安全をより効果的に保証することができる。
以下に図面及び具体的な実施例を参照しながら本開示を詳細に説明する。
本開示の実施例に適するモデル保護方法及び装置のシステムアーキテクチャは以下のように説明される。
図1は、本開示の実施例に適するシステムアーキテクチャを例示的に示す。注意すべきものとして、当業者が本開示の技術内容を理解しやすいように、図1は、本開示の実施例のシステムアーキテクチャを適用可能な例示に過ぎず、本開示の実施例は他の環境又はシーンに用いることができないことを意味するものではない。
図1に示すように、本開示の実施例におけるシステムアーキテクチャ100は、サーバ110及びクライアント120を含むことができる。
サーバ110は、オフライン暗号化に用いることができ、すなわち、モデルファイルの暗号化及びWASMファイルの暗号化を完了する。また、モデル重みデータの暗号化、モデル構成情報の暗号化、及び復号化用の鍵の暗号化を完了することができる。
クライアント120は、サーバ110にモデル情報を要求することができ、これにより、モデルファイル、WASMファイル、モデルの重みデータ及びモデル構成情報などをロードする。
理解すべきこととして、WASMファイルはWASMフォーマットのファイルであり、Web Assembly技術によりソースコードをコンパイルして得られたバイナリバイトコードファイルである。
本開示の実施例において、WASMファイルは、モデルを推論するためのWeb環境をパッケージすることができる。また、WASMファイルに復号化アルゴリズムを追加し、モデルの復号化に用いられる。また、WASMファイルにセキュリティ検証アルゴリズムを追加し、セキュリティ検証関連操作を実行することに用いられる。
理解すべきこととして、モデルファイル、WASMファイル、モデルの重みデータ及びモデル構成情報等は暗号化処理が行なわれたものであり、ユーザデータの伝送過程での漏洩を防止することができる。
また、WASMファイルはバイナリコードファイルであるため、可読性が低い。したがって、モデルを推論するためのWeb環境をWASMファイルにパッケージすれば、モデルのトポロジー構造(各演算子及び各演算子間の依存、及び各演算子の属性を含む)及びモデル推論ロジックを容易に導出することができず、それによりモデルを保護する役割を果たすことができる。
また、WASMファイルに復号化アルゴリズムを追加することにより、暗号化されたモデル関連情報(例えば暗号化されたモデルファイル、モデルの重みデータ及びモデル構成情報等)を復号化することができ、これによりホスト環境で復号化されてモデル関連情報が漏洩されることを回避することができる。
また、WASMファイルにセキュリティ検証アルゴリズムを追加することにより、例えばホスト環境の安全性を検証することによりモデルの安全を確保することができる。
理解すべきこととして、図1におけるクライアントとサーバの数は単に模式的なものである。必要に応じて、任意の数のクライアント及びサーバを有することができる。
本開示の実施例に適するモデル保護方法及び装置の応用シーンの紹介は以下のとおりである。
理解すべきこととして、本開示の実施例が提供するモデル保護解決手段は、任意のタイプのデータモデル保護シーンに用いることができ、例えばAIモデル保護シーンに用いることができる。
本開示の実施例によれば、本開示はモデル保護システムを提供する。
図2Aは、本開示の実施例に適するモデル保護システムのブロック図を例示的に示す。
図2Aに示すように、モデル保護システム200は、クライアント210及びサーバ220を含むことができる。
ここで、クライアント210はサーバ220にモデル情報を要求する。サーバ220はクライアント210の要求に応答し、対応するモデル情報を返信する。
クライアント210はサーバ220から返信されたモデル情報に基づいて、以下の操作を実行する。目標モデルに対応して生成されたモデルファイルをロードし、WASMファイルをロードし、ここで、WASMファイルは目標モデルに運行環境を提供するために用いられ、WASMファイルを実例化して運行させ、かつモデルファイルを運行環境に送信する。
ここで、WASMファイルは実例化して運行するにおいて、ホスト環境を検証することと、WASMファイルの完全性を検証することと、モデルファイルの完全性を検証することと、モデル推論過程において、指定推論過程に対してタイムアウト検証を行うことと、モデル推論過程において、推論過程全体に対してタイムアウト検証を行うことと、のセキュリティ検証操作のうちの少なくとも一つを実行することにより、目標モデルに対してモデル保護メカニズムを起動する。
説明すべきものとして、サーバ220から返信されたモデル情報は、暗号化されたモデルファイルのアドレス、暗号化されたWASMファイルのアドレス、対応する暗号化されたモデル構成情報(主にモデルの入力/出力構成を含む)、暗号化された対応モデルの重みデータなどを含むが、それらに限定されない。
また、一つの実施例において、目標モデルに対応して生成されたモデルファイルは目標モデルのオリジナルモデルファイル又は該オリジナルモデルファイルを暗号化した生成物であってもよい。
又は、一つの実施例において、目標モデルに対応して生成されたモデルファイルは目標モデルのオリジナルモデルファイルを処理して得られた中間生成物であってもよく又は該中間生成物を暗号化して得られた生成物であってもよい。
例示的には、目標モデルのオリジナルモデルファイルに基づいて目標モデルのトポロジー構造を決定し、次に該トポロジー構造における各演算子の属性及び演算子間の依存関係を混同することにより該オリジナルモデルファイルの中間生成物を取得することができる。
理解すべきこととして、上記混同処理により、モデルのトポロジー構造が容易に導出されないことをさらに確保することができる。
理解すべきこととして、目標モデルのトポロジー構造に対応してWASMファイルを生成することができ、それによりWASMファイルは実例化して運行する過程において該目標モデルに運行環境(例えばWeb環境)を提供することができ、それにより対応するモデル推論を実現する。
また、WASMファイルに復号化アルゴリズムを追加し、モデル復号化(例えば、暗号化されたモデルファイル、モデルの重みデータ及びモデル構成情報等を復号化する)に用いられる。
また、暗号化されたWASMファイルはクライアントのホスト環境で復号化を完了することができる。
また、WASMファイルにセキュリティ検証アルゴリズムを追加し、セキュリティ検証関連操作を実行することに用いられる。
例示的には、ホスト環境を検証し、例えばホスト環境のドメイン名及び/又はユーザ名が対応するホワイトリストにあるか否かを検証する。検証結果がそれが対応するホワイトリストにあることを示す場合、今回の検証がパスする。今回の検証がパスすることに応答し、WASMファイルが実例化して運行する過程において復号化アルゴリズム及びモデル推論アルゴリズム等を実行することにより、運行過程におけるモデルの安全を確保することができる。今回の検証がパスしないことに応答して、今回のモデル推論を終了することができる。
例示的に、WASMファイルの完全性を検証し、WASMファイルが改竄されることによるモデルのセキュリティ問題を回避することができる。
例示的には、モデルファイルの完全性を検証し、モデルファイルが改竄されることによるモデル安全問題を回避することができる。
例示的には、モデル推論過程において、指定された推論過程に対してタイムアウト検証を行う。具体的には、逆デバッグメカニズムを設定することができ、例えば重要な経路に対してイベントトラッキング(Event Tracking、埋点)を予め設定し、次に運行過程においてイベントトラッキングの重要な経路の間の推論過程(例えばAからBへの推論過程)がタイムアウトするか否かを検証する。理解すべきこととして、検証結果が指定された推論過程がタイムアウトすることを示す場合、該推論過程においてモデルがデバッグされる可能性があることを示す。このような場合に、今回のモデル推論を終了することにより、モデルの安全を確保することができる。検証結果が指定された推論過程がタイムアウトしていないことを示す場合、該推論過程が正常であることを示し、後続のモデル推論操作を継続して実行することができる。
例示的には、モデル推論過程において、推論過程全体に対してタイムアウト検証を行う。理解すべきこととして、検証結果が推論過程がタイムアウトすることを示す場合、該推論過程においてモデルがデバッグされる可能性があることを示す。このような場合に、今回のモデル推論を終了することにより、モデルの安全を確保することができる。検証結果が推論過程全体がタイムアウトしていないことを示す場合、該推論過程が正常であることを示す。
本開示の実施例により、サーバで、モデルファイルを暗号化し、圧縮した後にクライアントに送信することにより、伝送過程においてデータ漏洩が発生することを回避することができ、かつユーザにネットワークトラフィックを節約することができる。クライアントで、WASMファイルによりモデルの運転環境をパッケージし、かつ外部のWebホスト環境に限られた呼び出しインタフェースを露出させ、モデルコンテンツ(例えばモデルのトポロジー構造、モデルに含まれる各演算子及び属性及び各演算子間の依存関係等を含む)が容易に導出されかつ容易に取得されることを防止することができる。かつ、ファイル完全性の検証メカニズムを採用し、モデルの安全を保証することができ、例えばモデルが改竄された後にタイムリーに発見することができる。かつ、モデル逆デバッグメカニズムを採用し、モデルの安全を保証することができ、例えば運転過程でモデルがデバッグされることをタイムリーに阻止する。したがって、即時セキュリティ検証メカニズムを採用し、モデルの安全をより全面的に保障することができる。
選択可能な実施例として、クライアントはサーバにモデル情報を要求する前に、まずサーバに認証要求を送信することができる。サーバはクライアントからの認証要求に応答し、認証操作を実行して対応する認証結果を返信する。クライアントは認証結果が認証の通過を示す場合、さらにサーバにモデル情報を要求する。
ここで、認証結果が認証の不通過を示す場合、クライアントはサーバにモデル情報を要求することができない。
本開示の実施例において、クライアントJSの運行過程において、認証によりモデル情報を取得することができる。該モデル情報は暗号化されたモデルファイルのアドレス、暗号化されたWASMファイルのアドレス、暗号化された関連モデル構成情報(主にモデルの入力/出力構成を含む)及びモデルの暗号化された重みデータを含むことができる。
本開示の実施例において、認証サービスはOAuth2.0許可規格に従うことができる。AIモデル提供者は、認証検証のためのAK(Access Key Id、ユーザを識別することに用いられる)をモデル使用者に渡すことができる。モデル使用者はクライアントを介して例えば認証サーバというサーバに認証要求を送信することにより、認証token(トークン、いくつかのデータを転送する前に、まずトークンの照合を行い、異なるトークンに異なるデータ操作が許可される)、次にクライアントはtoken付きのモデル情報取得要求をサーバに送信し、サーバは、該要求に含まれるtokenに基づいて対応するモデル情報をクライアントに返信する。
本開示の実施例により、許可アクセスの方式を採用してモデル情報を取得し、モデル情報の安全を保証することができる。
図2Bは、本開示の実施例に適するモデルオフライン暗号化及びオンライン推論の概略図を例示的に示す。図2Bに示すように、本解決手段において、保護を必要とする任意のモデルに対して、オフライン暗号化方式により、モデルファイルと対応する復号化、推理及び安全認証に用いられるWASMファイルをそれぞれ暗号化し、かつ暗号化されたファイルに対して安全なファイル委託処理を行うことができる。また、オンライン推論の場合、クライアントはユーザ認証(すなわちモデル使用者を認証する)によりモデル情報を取得し、かつWASMファイルの実例化運行において復号化、デコード、推論及び安全認証(例えばホスト環境検証及びタイムアウト検証)等の操作を実行することができる。
本開示の実施例によれば、本開示はサーバに用いられるモデル保護方法を提供する。
図3Aは、本開示の実施例に係るサーバに用いられるモデル保護方法のフローチャートを例示的に示す。
図3Aに示すように、モデル保護方法300は、操作S310を含むことができる。
操作S310において、WASMファイルを生成し、ここで、WASMファイルは目標モデルに運行環境を提供することに用いられ、WASMファイルに、対応するモデル推論アルゴリズム及び安全検証アルゴリズムが含まれる。
ここで、セキュリティ検証アルゴリズムは、ホスト環境を検証することと、WASMファイルの完全性を検証することと、モデルファイルの完全性を検証し、ここで、モデルファイルは目標モデルのオリジナルモデルファイルに対応して生成されることと、モデル推論過程において、指定された推論過程に対してタイムアウト検証を行うことと、モデル推論過程において、推論過程全体に対してタイムアウト検証を行うことと、のセキュリティ検証操作のうちの少なくとも一つを実行することにより、目標モデルに対する保護を実現する。
例示的には、一つの実施例において、目標モデルのオリジナルモデルファイルに基づいて目標モデルのトポロジー構造を決定し、かつ目標モデルのトポロジー構造に基づいてWASMファイルにおけるモデル推論ロジックを生成することができる。これにより、生成されたWASMファイルは目標モデルに対応する運行環境を提供することができる。
また、WASMファイルに復号化アルゴリズムを追加し、モデル復号化(例えば、暗号化されたモデルファイル、モデルの重みデータ及びモデル構成情報等を復号化する)に用いられる。
また、暗号化されたWASMファイルはクライアントのホスト環境で復号化を完了することができる。
また、WASMファイルにセキュリティ検証アルゴリズムを追加し、セキュリティ検証関連操作を実行することに用いられる。
例示的には、ホスト環境を検証し、例えばホスト環境のドメイン名及び/又はユーザ名が対応するホワイトリストにあるか否かを検証する。検証結果がそれが対応するホワイトリストにあることを示す場合、今回の検証がパスする。今回の検証がパスすることに応答し、WASMファイルの実例化運行過程において復号化アルゴリズム及びモデル推論アルゴリズム等を実行することにより、運行過程におけるモデルの安全を確保することができる。今回の検証がパスしないことに応答して、今回のモデル推論を終了することができる。
例示的に、WASMファイルの完全性を検証し、WASMファイルが改竄されることによるモデルのセキュリティ問題を回避することができる。
例示的には、モデルファイルの完全性を検証し、モデルファイルが改竄されることによるモデル安全問題を回避することができる。
例示的には、モデル推論過程において、指定された推論過程に対してタイムアウト検証を行う。具体的には、逆デバッグメカニズムを設定することができ、例えば重要な経路に対してイベントトラッキングを予め設定し、次に運行過程においてイベントトラッキングの重要な経路の間の推論過程(例えばAからBへの推論過程)がタイムアウトするか否かを検証する。理解すべきこととして、検証結果が指定された推論過程がタイムアウトすることを示す場合、該推論過程においてモデルがデバッグされる可能性があることを示す。このような場合に、今回のモデル推論を終了することにより、モデルの安全を保証することができる。検証結果が指定された推論過程がタイムアウトしていないことを示す場合、該推論過程が正常であることを示し、後続のモデル推論操作を継続して実行することができる。
例示的には、モデル推論過程において、推論過程全体に対してタイムアウト検証を行う。理解すべきこととして、検証結果が推論過程がタイムアウトすることを示す場合、該推論過程においてモデルがデバッグされる可能性があることを示す。このような場合に、今回のモデル推論を終了することにより、モデルの安全を保証することができる。検証結果が推論過程全体がタイムアウトしていないことを示す場合、該推論過程が正常であることを示す。
理解すべきこととして、本実施例が提供するモデル保護方法はサーバに応用され、該方法の説明は前述のモデル保護システムの実施例における関連説明を参照することができ、本開示の実施例はここで説明を省略する。
例示的に、復号化、推論及びセキュリティ検証のためのWASMファイルを生成する場合、モデル先端推論エンジンのWASM backend計算解決手段を選択し、オンライン推論に必要なWASMファイルをコンパイルし、ここで復号化、セキュリティ検証及びモデル推論等のアルゴリズムを含むことができる。
また、例示的に、暗号化されたモデルファイルを生成する場合、モデル先端推論エンジンのPlain JS backend計算解決手段を選択し、モデルのトポロジー構造を構築し、次にこの中間生成物を暗号化し、暗号化されたモデルファイルを生成することができる。理解すべきこととして、この解決手段において、オリジナルモデル構造及びモデルデータを暗号化することではなく、オリジナルモデル構造及びモデルデータを処理して得られた中間コンテンツ及びデータを暗号化し、これによりモデルがデコードされる難しさを増加させることができ、それによりモデルをよりよく保護することができる。本実施例において、暗号化アルゴリズムはAES対称暗号化アルゴリズムを採用することができる。
また、本実施例において、WASMファイルを生成する時に、該目標モデルのトポロジー構造に基づいてWASM backendの計算解決手段に必要な情報を抽出し、かつ抽出された情報に基づいてWASMファイルを生成することができる。
本開示の実施例により、サーバで、モデルファイルを暗号化し、圧縮した後にクライアントに送信することにより、伝送過程においてデータ漏洩が発生することを回避することができ、かつユーザにネットワークトラフィックを節約することができる。クライアントで、WASMファイルによりモデルの運行環境をパッケージし、かつ外部のWebホスト環境に限られた呼び出しインタフェースを露出させ、モデルのトポロジー構造が容易に導出されかつ容易に取得されることを防止することができる。かつ、ファイル完全性検証メカニズムを採用し、モデルの安全を保証することができ、例えばモデルが改竄された後にタイムリーに発見することができる。かつ、モデル逆デバッグメカニズムを採用し、モデルの安全を保証することができ、例えば運転過程でモデルがデバッグされることをタイムリーに阻止する。したがって、即時セキュリティ検証メカニズムを採用し、モデルの安全をより全面的に保障することができる。
理解すべきこととして、本開示の実施例が提供するWebプラットフォームに対するAI計算のモデル保護解決手段を採用し、モデルのWeb環境でのセキュリティ問題を効果的に解決することができる。そして、モデルの安全を保証する前提で、サーバにおいてAIモデルの配置及び推論を行うことに比べて、本解決手段において、モデルはWeb環境で配置及び推論を完全に完了することができ、ユーザデータをネットワークを介してサーバに伝送する必要がなく、ユーザのプライバシーを保護し、かつユーザにトラフィックを節約し、ネットワーク遅延を低減する。
Web環境の所在するホストに依存して提供されたモデル推論に対応するエンド(端)能力に比べて、本解決手段において、ホストに依存して対応する推論機能併発バージョンを開発する必要がなく、クロスエンドの開発のコスト及び先端適応コストを節約し、同様にホスト環境とモデル入力データを伝送する必要がなく、遅延を低減する。
選択可能な実施例として、該方法はさらに以下の少なくとも一つを含むことができる。
モデルファイルを暗号化し、暗号化されたモデルファイルを取得する。
WASMファイルを暗号化し、暗号化されたWASMファイルを取得する。
目標モデルのモデル構成情報を暗号化し、暗号化されたモデル構成情報を取得する。
目標モデルの重みデータを暗号化し、暗号化された重みデータを取得する。
ここで、WASMファイルに対応する復号化アルゴリズムがさらに含まれ、該復号化アルゴリズムは、暗号化されたモデルファイル、暗号化されたモデル構成情報、暗号化された重みデータのうちの少なくとも一つを復号化することに用いられる。
本開示の実施例において、暗号化アルゴリズムはAES対称暗号化アルゴリズムを採用することができる。
理解すべきこととして、モデルファイル、WASMファイル、モデル構成情報、モデルの重みデータなどを暗号化することにより、委託過程におけるユーザデータの漏洩を効果的に防止するとともに、伝送過程におけるユーザデータの漏洩を効果的に防止することができる。
また、WASMファイルに対応する復号化アルゴリズムを追加し、かつWASMファイルの実例化運行において暗号化されたモデルファイル、暗号化されたモデル構成情報、暗号化された重みデータを復号化し、上記コンテンツを復号化した後に簡単に取得されることを防止することができる。
本開示の実施例において、上記コンテンツを暗号化することにより、モデルのプライバシーをさらに保護することができる。
さらに、選択可能な実施例として、該方法は、復号化用の鍵を暗号化し、暗号化された鍵を取得することをさらに含むことができる。
理解すべきこととして、復号化用の鍵を暗号化することにより、二回暗号化を実現することができる。これにより、前後エンド(端)の通信において(すなわちクライアントとサーバとの通信において)、復号化用の鍵に対する隠蔽処理により情報の安全伝達を保障することができる。
本開示の実施例において、復号化用の鍵に対してRSA非対称暗号化アルゴリズムを採用して暗号化し、復号化用の暗号化された鍵を生成することができる。
また、本開示の実施例において、暗号化用の鍵に対してRSA非対称暗号化アルゴリズムを用いて暗号化し、暗号化用の暗号化された鍵を生成してもよい。
本開示の実施例において、復号化用の鍵を二回暗号化することにより、モデルのプライバシーをさらに保護することができる。
選択可能な実施例として、該方法は、目標モデルに対して、少なくとも一つのユーザのうちの各ユーザに一つのアクセス鍵識別子を配置することをさらに含むことができる。
本開示の実施例において、該少なくとも一つのユーザは、目標モデルの使用者である。各目標モデルの使用者に一つの唯一のアクセス鍵識別子(AK)を配置することにより、ユーザをマークすることができる。したがって、認証サービスにおいて、ユーザ(すなわちモデル使用者)により提供されたAKにより、ユーザが与信フィールドのモデル使用者であるか否かを識別することができる。認証結果が認証を要求するユーザが与信フィールドのモデル使用者であることを示す場合、今回の認証がパスすることを確認し、そうでなければ今回の認証に失敗したことを確認する。ここで、認証がパスする場合に、ユーザがモデル情報を取得することを許可し、そうでなければユーザがモデル情報を取得することを許可しない。
本開示の実施例により、モデル使用者に対してアクセス許可の方式を採用し、モデル情報が不正に取得されることを回避することができ、さらにモデルを保護するという作用を果たす。
図3Bは、本開示の実施例に係るモデルファイル及びWASMファイルをオフラインに生成する概略図を例示的に示す。図3Bに示すように、Plain JS CPU計算解決手段においてモデルのトポロジー構造を生成し、トポロジー構造に対して混同、暗号化処理を行った後、該モデルのモデルファイルを生成することができ、その後に生成されたモデルファイルを圧縮して配置することができる。図3Bに示すように、Plain JS WASM計算解決手段において分析、復号化、デコード、推論、セキュリティ検証等のアルゴリズムを含むWASMファイルを生成し、WASMファイルを生成した後にさらに該ファイルを暗号化し、圧縮して配置することができる。理解すべきこととして、本実施例において、暗号化鍵は動的に生成するか又は指定することができる。
本開示の実施例によれば、本開示は、クライアントに用いられるモデル保護方法を提供する。
図4Aは、本開示の実施例に係るクライアントに用いられるモデル保護方法のフローチャートを例示的に示す。
図4Aに示すように、モデル保護方法400は、操作S410~操作S430を含むことができる。
操作S410において、目標モデルに対応して生成されたモデルファイルをロードする。
操作S420において、WASMファイルをロードし、ここで、WASMファイルは目標モデルに運行環境を提供することに用いられる。
操作S430において、WASMファイルが実例化して運行させ、かつモデルファイルをWASMファイルによって提供された運行環境に送信し、それによりWASMファイルの実例化運行において、ホスト環境を検証することと、WASMファイルの完全性を検証することと、モデルファイルの完全性を検証することと、モデル推論過程において、指定された推論過程に対してタイムアウト検証を行うことと、モデル推論過程において、推論過程全体に対してタイムアウト検証を行うことと、のセキュリティ検証操作のうちの少なくとも一つを実行することにより、目標モデルに対してモデル保護メカニズムを起動する。
理解すべきこととして、本実施例におけるモデルファイル及びWASMファイルの生成、暗号化、ロード、復号化などの方法は前述の実施例における説明と同じであるか又は類似し、ここで説明を省略する。
理解すべきこととして、本実施例におけるセキュリティ検証方法は前述の実施例における説明と同じであるか又は類似し、ここで説明を省略する。
選択可能な実施例として、ユーザに対する認証がパスすることに応答し、モデルファイル及びWASMファイルを取得しかつロードする。理解すべきこととして、本実施例におけるユーザ認証方法は前述の実施例における説明と同じであるか又は類似し、ここで説明を省略する。
選択可能な実施例として、モデルファイル及び/又はWASMファイルは暗号化されたファイルである。理解すべきこととして、本実施例におけるモデルファイル及びWASMファイルの暗号化方法は前述の実施例における説明と同じであるか又は類似し、ここで説明を省略する。
選択可能な実施例として、該方法は、WASMファイルの実例化運行において、以下の操作を実行することをさらに含むことができる。予め設定されたセキュリティ検証がパスすることに応答し、暗号化されたモデルファイルを復号化し、復号化されたモデルファイルを取得する。復号化されたモデルファイルに基づいてモデル推論を行う。
選択可能な実施例として、予め設定されたセキュリティ検証は、ホスト環境検証、モデルファイル完全性検証、WASMファイル完全性検証のうちの少なくとも一つを含むことができる。本開示の実施例により、復号化タイミングが不適切であることによるモデルコンテンツ(例えばモデルのトポロジー構造)又はデータの漏洩を防止することができる。
選択可能な実施例として、暗号化されたモデルファイルを復号化することは、以下の操作を含むことができる。復号化用の暗号化された鍵を取得する。暗号化された鍵を復号化し、復号化された鍵を取得する。復号化された鍵を利用して、暗号化されたモデルファイルを復号化する。本開示の実施例において、復号化時に復号化用の鍵を動的に読み取ることができる。本開示の実施例において、復号化用の鍵を二回暗号化することにより、モデルのプライバシーをさらに保護することができる。
図4Bは、本開示の実施例に係るモデルオンライン推論のシーケンス図を例示的に示す。図4Bに示すように、モデルのオンライン推論のシーケンスは以下のとおりである。クライアントJSの運行過程においてサーバに認証要求を送信し、サーバは該要求に応答して認証操作を実行し、かつ認証がパスした場合に認証token を返信し、クライアントJSの運行過程において該認証tokenを付けてサーバにモデル構成情報要求、モデル重みデータ要求、暗号化されたモデルファイルのアドレス要求、暗号化されたWASMファイルのアドレス要求等のモデル情報要求を並列送信し、サーバはこれらの要求に応答して対応するモデル情報を返信し、クライアントJSの運行過程において暗号化されたWASMファイル及び暗号化されたモデルファイルをロードし、クライアントJSの運行過程においてWASMファイルを実例化し、同時にモデル重みデータ、モデル入力データ、モデル構造コンテンツ等をWASMモジュールのメモリに書き込みかつ対応するアドレスMapを生成し、WASMモジュール(モデルファイルを実例化して得られた)運行中にホスト環境検証(例えばサーバとの署名ハンドシェイクメカニズムにより、ユーザ身分を確認する)、復号化、デコード、初期化、推論、時効制限検証(即ち推論過程全体がタイムアウトするか否かを検証し、例えば1hを超えるか否かを検証し、タイムアウトすると、ログアウトする)を行ない、WASMモジュールは推論結果をWASMモジュールのメモリに書き込み、クライアントJSの運行過程においてWASMモジュールが露出した呼び出しインタフェースを呼び出すことができ、例えば関連インタフェースを呼び出して対応する推論結果を読み取る。
図5は、本開示の実施例に係るモデル保護メカニズムの原理図を例示的に示す。図5に示すように、該モデル保護メカニズムは、機密性と制御可能性の二つの点からモデルの安全を保障することができる。ここで、モデルの機密性に対して、オフラインモデルの暗号化によりモデル自体の安全を保証することができ、復号化と推理過程を読み取り不可能なWASMファイル(即ちパッケージ運行環境)にパッケージすることにより、運行時にモデル構造とモデルデータを漏洩することを防止し、復号化用の鍵は二回非対称暗号化され、かつアクセス許可の方式で取得することにより、鍵の安全を保証することができる。モデルの制御可能性に対して、モデル及び鍵の暗号化はオフラインプライベート化配置を採用することにより、暗号化環境の安全を保証し、復号化用の鍵は単独のアクセス許可サービスにより取得され(すなわち与信回数管理を行う)、鍵の安全を保証し、モデル運転中にホスト環境検証、コード完全性検証、逆デバッグ検証(例えば指定された推論過程のタイムアウト検証及び推論過程全体のタイムアウト検証を行うことができ、ここで後者も運行有効時間制限の検証)を行なうことができ、これにより運行中のモデルの安全を保証し、モデルの盗難を防止することができる。
本開示の実施例によれば、本開示はさらにサーバに用いられるモデル保護装置を提供する。
図6は、本開示の実施例に係るサーバに用いられるモデル保護装置のブロック図を例示的に示す。
図6に示すように、モデル保護装置600は、生成モジュール610を含むことができる。
生成モジュール610は、WASMファイルを生成するために用いられ、ここで、該WASMファイルは、目標モデルに運行環境を提供するために用いられ、該WASMファイルに、対応するモデル推論アルゴリズム及び安全検証アルゴリズムが含まれる。
ここで、該セキュリティ検証アルゴリズムは、ホスト環境を検証することと、該WASMファイルの完全性を検証することと、モデルファイルの完全性を検証し、ここで、該モデルファイルは該目標モデルに対応するオリジナルモデルファイルに基づいて生成されることと、モデル推論過程において、指定された推論過程に対してタイムアウト検証を行うことと、モデル推論過程において、推論過程全体に対してタイムアウト検証を行うことと、のセキュリティ検証操作のうちの少なくとも一つを実行することにより、該目標モデルに対する保護を実現する。
選択可能な実施例として、該装置は、該モデルファイルを暗号化し、暗号化されたモデルファイルを取得するために用いられる第一暗号化モジュールと、該WASMファイルを暗号化し、暗号化されたWASMファイルを取得するために用いられる第二暗号化モジュールと、該目標モデルのモデル構成情報を暗号化し、暗号化されたモデル構成情報を取得するために用いられる第三暗号化モジュールと、該目標モデルの重みデータを暗号化し、暗号化された重みデータを取得するために用いられる第四暗号化モジュールと、のうちの少なくとも一つを含み、ここで、WASMファイルにさらに対応する復号化アルゴリズムが含まれ、該復号化アルゴリズムは、該暗号化されたモデルファイル、該暗号化されたモデル構成情報、該暗号化された重みデータの少なくとも一つを復号化することに用いられる。
選択可能な実施例として、該装置は、復号化用のキーを暗号化し、暗号化された鍵を取得する第五暗号化モジュールをさらに含む。
選択可能な実施例として、該装置は、該目標モデルに対して、少なくとも一つのユーザのうちの各ユーザに一つのアクセス鍵識別子を配置するために用いられる配置モジュールをさらに含む。
理解すべきこととして、本開示の装置部分の実施例は、本開示の前述の対応方法部分の実施例は対応して同じであるか又は類似し、解決しようとする技術課題と達成された技術効果も同じであるか又は類似し、本開示はここで説明を省略する。
本開示の実施例によれば、本開示は、クライアントに用いられるモデル保護装置をさらに提供する。
図7は、本開示の実施例に係るクライアントに用いられるモデル保護装置のブロック図を例示的に示す。
図7に示すように、モデル保護装置700は、第一ロードモジュール710、第二ロードモジュール720及び安全検証モジュール730を含むことができる。
第一ロードモジュール710は、目標モデルに対応して生成されたモデルファイルをロードするために用いられる。
第二ロードモジュール720は、WASMファイルをロードするために用いられ、ここで、該WASMファイルは該目標モデルに運行環境を提供することに用いられる。
安全検証モジュール730は、該WASMファイルの実例化運行において、該モデルファイルを該運行環境に送信し、ホスト環境を検証することと、該WASMファイルの完全性を検証することと、該モデルファイルの完全性を検証することと、モデル推論過程において、指定された推論過程に対してタイムアウト検証を行うことと、モデル推論過程において、推論過程全体に対してタイムアウト検証を行うことと、のセキュリティ検証操作のうちの少なくとも一つを実行することにより、該目標モデルに対してモデル保護メカニズムを起動する。
選択可能な実施例として、ユーザに対する認証がパスすることに応答し、該第一ロードモジュールにより該モデルファイルを取得してロードし、及び該第二ロードモジュールにより該WASMファイルを取得してロードする。
選択可能な実施例として、該モデルファイル及び/又は該WASMファイルは暗号化されたファイルである。
選択可能な実施例として、該装置は、該WASMファイルの実例化運行において、予め設定されたセキュリティ検証がパスすることに応答し、暗号化されたモデルファイルを復号化し、復号化されたモデルファイルを取得するために用いられる復号化モジュールと、該復号化されたモデルファイルに基づいてモデル推論を行うために用いられるモデル推論モジュールと、をさらに含む。
選択可能な実施例として、該予め設定されたセキュリティ検証は、ホスト環境検証、モデルファイル完全性検証、WASMファイル完全性検証のうちの少なくとも一つを含む。
選択可能な実施例として、該復号化モジュールは、復号化用の暗号化された鍵を取得するために用いられる取得ユニットと、該暗号化された鍵を復号化し、復号化された鍵を取得するために用いられる第一復号化ユニットと、該復号化された鍵を利用して、該暗号化されたモデルファイルを復号化するために用いられる第二復号化ユニットと、を含む。
理解すべきこととして、本開示の装置部分の実施例は、本開示の前述の対応方法部分の実施例と対応して同じであるか又は類似し、解決しようとする技術課題と達成された技術効果も同じであるか又は類似し、本開示はここで説明を省略する。
本開示の実施例によれば、本開示はさらに電子機器、可読記憶媒体及びコンピュータプログラム製品を提供する。
図8は、本開示の実施例を実施することが可能な例示的電子機器800の模式的ブロック図を示している。電子機器は、様々な形式のデジタルコンピュータを示すことを目的とし、例えば、ラップトップコンピュータ、デスクトップコンピュータ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、大型コンピュータ及び他の適切なコンピュータである。電子機器は、さらに様々な形式の移動装置を示してもよく、例えば、パーソナルデジタルアシスタント、携帯電話、スマートフォン、ウェアラブル機器及び他の類似の演算装置である。本明細書に示された部材、それらの接続及び関係、並びにそれらの機能は、例示に過ぎず、本明細書に記載された及び/又は要求された本開示の実現を限定しない。
図8に示すように、電子機器800は、計算ユニット801を含み、計算ユニット801は、リードオンリーメモリ(ROM)802に記憶されたコンピュータプログラム又は記憶ユニット808からランダムアクセスメモリ(RAM)803にロードされたコンピュータプログラムに基づいて、様々な適切な動作及び処理を実行してもよい。RAM803には、さらに電子機器800の操作に必要な様々なプログラム及びデータを記憶してもよい。計算ユニット801、ROM802、及びRAM803は、バス804を介して相互に接続される。入出力(I/O)インターフェース805も、バス804に接続される。
電子機器800における複数の部品は、I/Oインターフェース805に接続され、例えばキーボード、マウス等の入力ユニット806と、例えば様々な種類のディスプレイ、スピーカ等の出力ユニット807と、例えば磁気ディスク、光ディスク等の記憶ユニット808と、例えばネットワークカード、モデム、無線通信トランシーバ等の通信ユニット809とを含む。通信ユニット809は、機器800がインターネット等のコンピュータネットワーク及び/又は各種の電気ネットワークを介して他の機器と情報・データをやり取りすることを可能にする。
計算ユニット801は、処理及び演算能力を有する各種の汎用及び/又は専用の処理モジュールであってもよい。計算ユニット801の幾つかの例として、中央処理ユニット(CPU)、GPU(Graphics Processing Unit)、各種専用の人工知能(AI)演算チップ、各種機械学習モデルアルゴリズムをランニングする演算ユニット、DSP(Digital Signal Processor)、並びに任意の適切なプロセッサ、コントローラ、マイクロコントローラ等が挙げられるが、これらに限定されない。計算ユニット801は、前文で説明した各方法と処理、例えば、モデル保護方法を実行する。例えば、幾つかの実施例において、モデル保護方法は、例えば記憶ユニット808のような機械可読媒体に有形的に含まれるコンピュータソフトウェアプログラムとして実現されてもよい。いくつかの実施例において、コンピュータプログラムの一部又は全部は、ROM 802及び/又は通信ユニット809を介して機器800にロード及び/又はインストールされてもよい。コンピュータプログラムがRAM803にロードされて計算ユニット801により実行される場合、前文で説明したモデル保護方法の1つ又は複数のステップを実行してもよい。代替的に、他の実施例において、計算ユニット801は、他の任意の適切な方式(例えば、ファームウェアを介する)によりモデル保護方法を実行するように構成されてもよい。
本明細書で以上に説明されたシステム及び技術の様々な実施形態は、デジタル電子回路システム、集積回路システム、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、特定用途向け標準製品(ASSP)、システムオンチップ(SOC)、コンプレックスプログラムマブルロジックデバイス (CPLD)、コンピュータハードウェア、ファームウェア、ソフトウェア、及び/又はそれらの組み合わせにおいて実現されてもよい。これらの様々な実施形態は、1つ又は複数のコンピュータプログラムにおいて実施され、該1つ又は複数のコンピュータプログラムは、少なくとも1つのプログラムマブルプロセッサを含むプログラムマブルシステムで実行され及び/又は解釈されることが可能であり、該プログラムマブルプロセッサは、専用又は汎用のプログラムマブルプロセッサであってもよく、記憶システム、少なくとも1つの入力装置、及び少なくとも1つの出力装置からデータ及び命令を受信し、かつデータ及び命令を該記憶システム、該少なくとも1つの入力装置、及び該少なくとも1つの出力装置に伝送することができることを含んでもよい。
本開示の方法を実施するためのプログラムコードは、1つ又は複数のプログラミング言語の任意の組み合わせで作成されてもよい。これらのプログラムコードは、汎用コンピュータ、専用コンピュータ又は他のプログラマブルデータ処理装置のプロセッサ又はコントローラに提供されてもよく、それによって、プログラムコードがプロセッサ又はコントローラにより実行される時に、フローチャート及び/又はブロック図に規定された機能・操作が実施される。プログラムコードは、機器に完全に実行されてもよく、部分的に機器で実行されてもよく、独立したソフトウェアパッケージとして部分的に機器で実行され、かつ部分的に遠隔機器で実行されるか又は完全に遠隔機器又はサーバで実行されてもよい。
本開示のコンテキストにおいて、機械可読媒体は、有形の媒体であってもよく、命令実行システム、装置又は電子機器に使用され、又は命令実行システム、装置又は電子機器と組み合わせて使用されるプログラムを含んで又は記憶してもよい。機械可読媒体は、機械可読信号媒体又は機械可読記憶媒体であってもよい。機械可読媒体は、電子の、磁気的、光学的、電磁的、赤外線の、又は半導体システム、装置又は電子機器、又は上記内容の任意の適切な組み合わせを含んでもよいが、それらに限定されない。機械可読記憶媒体のより具体的な例としては、1つ以上の線による電気的接続、携帯式コンピュータディスク、ハードディスク、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、消去可能なプログラマブルリードオンリーメモリ(EPROM又はフラッシュメモリ)、光ファイバ、コンパクトディスクリードオンリーメモリ(CD-ROM)、光学記憶装置、磁気記憶装置、又は上記内容の任意の適切な組み合わせを含む。
ユーザとの対話を提供するために、コンピュータにここで説明されたシステム及び技術を実施させてもよく、該コンピュータは、ユーザに情報を表示するための表示装置(例えば、CRT(陰極線管)又はLCD(液晶ディスプレイ)モニタ)と、キーボード及びポインティングデバイス(例えば、マウス又はトラックボール)とを備え、ユーザは、該キーボード及び該ポインティングデバイスを介して入力をコンピュータに提供することができる。他の種類の装置は、さらにユーザとの対話を提供してもよく、例えば、ユーザに提供されたフィードバックは、いかなる形式のセンシングフィードバック(例えば、視覚フィードバック、聴覚フィードバック、又は触覚フィードバック)であってもよく、かついかなる形式(音声入力、語音入力又は、触覚入力を含む)でユーザからの入力を受信してもよい。
ここで説明されたシステム及び技術は、バックグラウンド部品を含むコンピューティングシステム(例えば、データサーバとする)、又はミドルウェア部品を含むコンピューティングシステム(例えば、アプリケーションサーバ)、又はフロントエンド部品を含むコンピューティングシステム(例えば、グラフィカルユーザインタフェース又はウェブブラウザを有するユーザコンピュータ、ユーザが該グラフィカルユーザインタフェース又は該ネットワークブラウザを介してここで説明されたシステム及び技術の実施形態と対話することができる)、又はこのようなバックグラウンド部品、ミドルウェア部品、又はフロントエンド部品のいずれかの組み合わせを含むコンピューティングシステムに実施されることが可能である。任意の形式又は媒体のデジタルデータ通信(例えば、通信ネットワーク)によりシステムの部品を互いに接続することができる。通信ネットワークの例としては、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)及びインターネットを例示的に含む。
コンピュータシステムはクライアント及びサーバを含むことができる。クライアントとサーバとは一般的に離れており、通常は通信ネットワークを介して相互作用する。クライアントとサーバとの関係は、対応するコンピュータ上で運行し、クライアント-サーバの関係を有するコンピュータプログラムによって生成される。サーバはクラウドサーバであってもよく、クラウドコンピューティングサーバ又はクラウドホストと呼ばれ、クラウドコンピューティングサービスシステムのうちの一つのホスト製品であり、それにより従来の物理ホストとVPSサービス(「Virtual Private Server」、又は「VPS」と略称する)における管理難度が大きく、サービス拡張性が弱いという欠陥を解決する。サーバは、配布式システムのサーバであってもよく、又はブロックチェーンを結合したサーバであってもよい。
本開示の技術的解決手段において、関するユーザ個人情報の収集、記憶、使用、加工、伝送、提供、開示及び応用等の処理は、いずれも相関法規則の規定に適合し、必要なセキュリティ対策を採用し、かつ公序良俗に反するものではない。
本開示の技術的解決手段において、ユーザの個人情報を取得するか又は収集する前に、いずれもユーザの許可又は同意を取得する。理解すべきこととして、以上に示した様々な形式のフローを使用し、改めてソーティングし、追加するか又は削除するステップであってもよい。例えば、本発明に記載の各ステップは並列的に実行されてもよいし異なる順序で実行されてもよく、本開示の技術的解決手段の所望の結果を実現することができれば、本明細書はここで限定されない。
上記具体的な実施形態は、本開示の保護範囲を限定するものではない。当業者であれば理解すべきこととして、設計要件及び他の要因に基づいて、様々な修正、組み合わせ、サブコンビネーション及び代替を行うことができることである。本開示の精神と原則内で行われた任意の修正、均等置換及び改善などは、いずれも本開示の保護範囲内に含まれるべきである。
本開示は、モデル保護方法、装置、機器、システム、記憶媒体、及びコンピュータプログラムを提供する。
本開示の一態様によれば、サーバに用いられるモデル保護方法を提供し、該モデル保護方法は、目標モデルに運行環境を提供ために用いられ、対応するモデル推論アルゴリズム及び安全検証アルゴリズムが含まれるWASMファイルを生成することを含み、ここで、前記安全検証アルゴリズムは、ホスト環境を検証すること、前記WASMファイルの完全性を検証すること、前記目標モデルに対応するオリジナルモデルファイルに基づいて生成されるモデルファイルの完全性を検証すること、モデル推論過程において、指定推論過程に対してタイムアウト検証を行うこと、モデル推論過程において、推論過程全体に対してタイムアウト検証を行うこと、という安全検証操作のうちの少なくとも一つを実行することにより、前記目標モデルに対する保護を実現する。
本開示の別の態様によれば、コンピュータプログラムを提供し、該コンピュータプログラムは、プロセッサにより実行される時に本開示の実施例に記載の方法を実現するコンピュータプログラムを含む。
本開示の実施例によれば、本開示はさらに電子機器、可読記憶媒体及びコンピュータプログラムを提供する。
図8は、本開示の実施例を実施することが可能な例示的電子機器800の模式的ブロック図を示している。電子機器は、様々な形式のデジタルコンピュータを示すことを目的とし、例えば、ラップトップコンピュータ、デスクトップコンピュータ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、大型コンピュータ及び他の適切なコンピュータである。電子機器は、さらに様々な形式の移動装置を示してもよく、例えば、パーソナルデジタルアシスタント、携帯電話、スマートフォン、ウェアラブル機器及び他の類似の演算装置である。本明細書に示された部材、それらの接続及び関係、並びにそれらの機能は、例示に過ぎず、本明細書に記載された及び/又は要求された本開示の実現を限定しない。

Claims (25)

  1. 目標モデルに運行環境を提供するために用いられ、対応するモデル推論アルゴリズム及び安全検証アルゴリズムが含まれるWASMファイルを生成することを含み、
    ここで、前記安全検証アルゴリズムは、
    ホスト環境を検証すること、
    前記WASMファイルの完全性を検証すること、
    前記目標モデルに対応するオリジナルモデルファイルに基づいて生成されるモデルファイルの完全性を検証すること、
    モデル推論過程において、指定推論過程に対してタイムアウト検証を行うこと、
    モデル推論過程において、推論過程全体に対してタイムアウト検証を行うこと、
    という安全検証操作のうちの少なくとも一つを実行することにより、前記目標モデルに対する保護を実現する
    モデル保護方法。
  2. 前記モデルファイルを暗号化し、暗号化されたモデルファイルを取得すること、
    前記WASMファイルを暗号化し、暗号化されたWASMファイルを取得すること、
    前記目標モデルのモデル構成情報を暗号化し、暗号化されたモデル構成情報を取得すること、
    前記目標モデルの重みデータを暗号化し、暗号化された重みデータを取得すること、のうちの少なくとも一つを含み、
    ここで、前記WASMファイルにさらに対応する復号化アルゴリズムが含まれ、前記復号化アルゴリズムは、前記暗号化されたモデルファイル、前記暗号化されたモデル構成情報、前記暗号化された重みデータの少なくとも一つを復号化するために用いられる
    請求項1に記載の方法。
  3. 復号化用の鍵を暗号化し、暗号化された鍵を取得することをさらに含む
    請求項2に記載の方法。
  4. 前記目標モデルに対して、少なくとも一つのユーザのうちの各ユーザに一つのアクセス鍵識別子を配置することをさらに含む
    請求項1~3のいずれか一項に記載の方法。
  5. 目標モデルに対応して生成されたモデルファイルをロードすることと、
    前記目標モデルに運行環境を提供するためのWASMファイルをロードすることと、
    前記WASMファイルの実例化運行において、前記モデルファイルを前記運行環境に送信することにより、
    ホスト環境を検証すること、
    前記WASMファイルの完全性を検証すること、
    前記モデルファイルの完全性を検証すること、
    モデル推論過程において、指定推論過程に対してタイムアウト検証を行うこと、
    モデル推論過程において、推論過程全体に対してタイムアウト検証を行うこと
    というセキュリティ検証操作のうちの少なくとも一つを実行し、それにより前記目標モデルに対してモデル保護メカニズムを起動することと、を含む
    モデル保護方法。
  6. ユーザに対する認証の通過に応答し、前記モデルファイル及び前記WASMファイルを取得してロードする
    請求項5に記載の方法。
  7. 前記モデルファイル及び/又は前記WASMファイルは暗号化されたファイルである
    請求項5又は6に記載の方法。
  8. 前記WASMファイルの実例化運行において、
    予め設定されたセキュリティ検証の通過に応答して、暗号化されたモデルファイルを復号化し、復号化されたモデルファイルを取得すること、
    前記復号化されたモデルファイルに基づいてモデル推論を行うこと、をさらに含む
    請求項7に記載の方法。
  9. 前記予め設定されたセキュリティ検証は、ホスト環境検証、モデルファイル完全性検証、WASMファイル完全性検証、のうちの少なくとも一つを含む
    請求項8に記載の方法。
  10. 前記暗号化されたモデルファイルを復号化することは、
    復号化用の暗号化された鍵を取得することと、
    前記暗号化された鍵を復号化し、復号化された鍵を取得することと、
    前記復号化された鍵を利用して、前記暗号化されたモデルファイルを復号化することと、を含む
    請求項8に記載の方法。
  11. 目標モデルに運行環境を提供するために用いられ、対応するモデル推論アルゴリズム及び安全検証アルゴリズムが含まれるWASMファイルを生成する生成モジュールを含み、
    ここで、前記安全検証アルゴリズムは、
    ホスト環境を検証すること、
    前記WASMファイルの完全性を検証すること、
    前記目標モデルに対応するオリジナルモデルファイルに基づいて生成されるモデルファイルの完全性を検証すること、
    モデル推論過程において、指定推論過程に対してタイムアウト検証を行うこと、
    モデル推論過程において、推論過程全体に対してタイムアウト検証を行うこと、
    という安全検証操作のうちの少なくとも一つを実行することにより、前記目標モデルに対する保護を実現する
    モデル保護装置。
  12. 前記モデルファイルを暗号化し、暗号化されたモデルファイルを取得する第一暗号化モジュール、
    前記WASMファイルを暗号化し、暗号化されたWASMファイルを取得する第二暗号化モジュール、
    前記目標モデルのモデル構成情報を暗号化し、暗号化されたモデル構成情報を取得する第三暗号化モジュール、
    前記目標モデルの重みデータを暗号化し、暗号化された重みデータを取得する第四暗号化モジュール、のうちの少なくとも一つを含み、
    ここで、前記WASMファイルにさらに対応する復号化アルゴリズムが含まれ、前記復号化アルゴリズムは、前記暗号化されたモデルファイル、前記暗号化されたモデル構成情報、前記暗号化された重みデータの少なくとも一つを復号化するために用いられる
    請求項11に記載の装置。
  13. 復号化用の鍵を暗号化し、暗号化された鍵を取得するための第五暗号化モジュールをさらに含む
    請求項12に記載の装置。
  14. 前記目標モデルに対して、少なくとも一つのユーザのうちの各ユーザに一つのアクセス鍵識別子を配置する配置モジュールをさらに含む
    請求項11~13のいずれか一項に記載の装置。
  15. 目標モデルに対応して生成されたモデルファイルをロードする第一ロードモジュールと、
    前記目標モデルに運行環境を提供するためのWASMファイルをロードする第二ロードモジュールと、
    前記WASMファイルの実例化運行において、前記モデルファイルを前記運行環境に送信することにより、
    ホスト環境を検証すること、
    前記WASMファイルの完全性を検証すること、
    前記モデルファイルの完全性を検証すること、
    モデル推論過程において、指定推論過程に対してタイムアウト検証を行うこと、
    モデル推論過程において、推論過程全体に対してタイムアウト検証を行うこと
    というセキュリティ検証操作のうちの少なくとも一つを実行し、それにより前記目標モデルに対してモデル保護メカニズムを起動する安全検証モジュールと、を含む
    モデル保護装置。
  16. ユーザに対する認証の通過に応答し、前記第一ロードモジュールにより前記モデルファイルを取得してロードし、及び前記第二ロードモジュールにより前記WASMファイルを取得してロードする
    請求項15に記載の装置。
  17. 前記モデルファイル及び/又は前記WASMファイルは暗号化されたファイルである
    請求項15又は16に記載の装置。
  18. 前記WASMファイルの実例化運行において、予め設定されたセキュリティ検証の通過に応答して、暗号化されたモデルファイルを復号化し、復号化されたモデルファイルを取得する復号化モジュールと、
    前記復号化されたモデルファイルに基づいてモデル推論を行うモデル推論モジュールと、をさらに含む
    請求項17に記載の装置。
  19. 前記予め設定されたセキュリティ検証は、ホスト環境検証、モデルファイル完全性検証、WASMファイル完全性検証、のうちの少なくとも一つを含む
    請求項18に記載の装置。
  20. 前記復号化モジュールは、
    復号化用の暗号化された鍵を取得する取得ユニットと、
    前記暗号化された鍵を復号化し、復号化された鍵を取得する第一復号化ユニットと、
    前記復号化された鍵を利用して、前記暗号化されたモデルファイルを復号化する第二復号化ユニットと、を含む
    請求項18に記載の装置。
  21. 少なくとも一つのプロセッサと、
    前記少なくとも一つのプロセッサと通信接続されたメモリとを含み、
    前記メモリは前記少なくとも一つのプロセッサにより実行可能な命令を記憶し、前記少なくとも一つのプロセッサが請求項1~10のいずれか一項に記載の方法を実行することができるように、前記少なくとも一つのプロセッサにより前記命令を実行する
    電子機器。
  22. コンピュータ命令を記憶した非一時的なコンピュータ可読記憶媒体であって、
    前記コンピュータ命令は前記コンピュータに請求項1~10のいずれか一項に記載の方法を実行させるために用いられる
    記憶媒体。
  23. プロセッサにより実行される時に請求項1~10のいずれか一項に記載の方法を実現するコンピュータプログラムを含み
    コンピュータプログラム製品。
  24. クライアント及びサーバを含み、
    前記クライアントは前記サーバにモデル情報を要求し、
    前記サーバは前記クライアントの要求に応答し、対応するモデル情報を返信し、
    前記クライアントは前記サーバから返信されたモデル情報に基づいて、
    目標モデルに対応して生成されたモデルファイルをロードすることと、
    前記目標モデルに運行環境を提供するためのWASMファイルをロードすることと、
    前記WASMファイルを実例化運行させ、前記モデルファイルを前記運行環境に送信すること、という操作を実行し、
    ここで、前記WASMファイルが実例化運行において、
    ホスト環境を検証すること、
    前記WASMファイルの完全性を検証すること、
    前記モデルファイルの完全性を検証すること、
    モデル推論過程において、指定推論過程に対してタイムアウト検証を行うこと、
    モデル推論過程において、推論過程全体に対してタイムアウト検証を行うこと
    というセキュリティ検証操作のうちの少なくとも一つを実行し、それにより前記目標モデルに対してモデル保護メカニズムを起動する
    モデル保護システム。
  25. 前記クライアントは前記サーバにモデル情報を要求する前に、まず前記サーバに認証要求を送信し、
    前記サーバは前記クライアントからの認証要求に応答し、認証操作を実行して認証結果を返信し、
    前記クライアントは前記認証結果が認証の通過を示す場合、前記サーバにモデル情報を要求する
    請求項24に記載のシステム。

JP2022559937A 2021-08-30 2022-03-22 モデル保護方法、装置、機器、システム、記憶媒体及びプログラム Pending JP2023542574A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN202111007976.8 2021-08-30
CN202111007976.8A CN113722683B (zh) 2021-08-30 2021-08-30 模型保护方法、装置、设备、系统以及存储介质
PCT/CN2022/082285 WO2023029447A1 (zh) 2021-08-30 2022-03-22 模型保护方法、装置、设备、系统以及存储介质

Publications (1)

Publication Number Publication Date
JP2023542574A true JP2023542574A (ja) 2023-10-11

Family

ID=83804310

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022559937A Pending JP2023542574A (ja) 2021-08-30 2022-03-22 モデル保護方法、装置、機器、システム、記憶媒体及びプログラム

Country Status (2)

Country Link
JP (1) JP2023542574A (ja)
KR (1) KR20220140638A (ja)

Also Published As

Publication number Publication date
KR20220140638A (ko) 2022-10-18

Similar Documents

Publication Publication Date Title
CN111541785B (zh) 基于云计算的区块链数据处理方法及装置
US10839107B2 (en) Managing a smart contract on a blockchain
CN110245506B (zh) 基于区块链的智能合约管理方法及装置、电子设备
US20240126930A1 (en) Secure Collaboration Between Processors And Processing Accelerators In Enclaves
KR101608510B1 (ko) 글로벌 플랫폼 규격을 사용하는 발행자 보안 도메인에 대한 키 관리 시스템 및 방법
JP4916584B2 (ja) 呼び出しのプログラムについての秘密の封印のための方法
WO2023029447A1 (zh) 模型保护方法、装置、设备、系统以及存储介质
CN111899017A (zh) 区块链中实现隐私保护的方法、节点、存储介质
KR20030082484A (ko) 공개 키 암호화에 기초한 데이터의 저장 및 검색
CN113438086A (zh) 一种数据安全防护方法和系统
US20230031297A1 (en) Binding secure keys of secure guests to a hardware security module
CN110263543B (zh) 基于代码标注的对象级收据存储方法和节点
CN115580413B (zh) 一种零信任的多方数据融合计算方法和装置
US20140059341A1 (en) Creating and accessing encrypted web based content in hybrid applications
CN115795511A (zh) 托管在虚拟安全环境中的安全服务
CN115803740A (zh) 监视程序保护的密钥
CN114036573A (zh) 支持隐私计算的计算设备
CN111079152A (zh) 一种模型部署方法、装置及设备
Lee et al. Classification and analysis of security techniques for the user terminal area in the internet banking service
JP2023542574A (ja) モデル保護方法、装置、機器、システム、記憶媒体及びプログラム
CN111460464A (zh) 数据加解密方法、装置、电子设备及计算机存储介质
CN113591098B (zh) 一种基于sgx的远程安全异构计算方法和系统
Ribeiro HCE Mobile Ticketing
Kushwah PSec: A Programming Language for Secure Distributed Computing
CN116244671A (zh) 认证方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220930

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220930

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231121

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240220