KR20220140638A - 모델 보호 방법과 장치, 전자 기기, 모델 보호 시스템, 저장 매체 및 컴퓨터 프로그램 - Google Patents

모델 보호 방법과 장치, 전자 기기, 모델 보호 시스템, 저장 매체 및 컴퓨터 프로그램 Download PDF

Info

Publication number
KR20220140638A
KR20220140638A KR1020227033945A KR20227033945A KR20220140638A KR 20220140638 A KR20220140638 A KR 20220140638A KR 1020227033945 A KR1020227033945 A KR 1020227033945A KR 20227033945 A KR20227033945 A KR 20227033945A KR 20220140638 A KR20220140638 A KR 20220140638A
Authority
KR
South Korea
Prior art keywords
model
file
verification
wasm
encrypted
Prior art date
Application number
KR1020227033945A
Other languages
English (en)
Inventor
솽옌 웨
중카이 판
Original Assignee
베이징 바이두 넷컴 사이언스 테크놀로지 컴퍼니 리미티드
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 베이징 바이두 넷컴 사이언스 테크놀로지 컴퍼니 리미티드 filed Critical 베이징 바이두 넷컴 사이언스 테크놀로지 컴퍼니 리미티드
Publication of KR20220140638A publication Critical patent/KR20220140638A/ko

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Technology Law (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

본 개시는 모델 보호 방법을 개시하며, 컴퓨터 분야, 특히 인공 지능 분야에 관한 것으로, AI 모델 보호 등 적용 장면에 사용할 수 있다. 구체적인 구현 방안은, 목표 모델에 대해 실행 환경을 제공하기 위한 대응되는 모델 추리 알고리즘 및 안전 검증 알고리즘을 포함하는WASM 파일을 생성하는 것을 포함하며, 여기서, 안전 검증 알고리즘은, 호스트 환경에 대하여 검증을 진행하는 것; WASM 파일의 무결성에 대하여 검증을 진행하는 것, 목표 모델의 원 모델 파일에 대응하여 생성된 모델 파일의 무결성에 대하여 검증을 진행하는 것, 모델 추리 과정에서 지정된 추리 과정에 대하여 타임아웃 검증을 진행하는 것, 모델 추리 과정에서 전체 추리 과정에 대하여 타임아웃 검증을 진행하는 것과 같은 안전 검증 동작 중의 적어도 하나를 실행하여 상기 목표 모델에 대한 보호를 구현한다.

Description

모델 보호 방법, 장치, 기기, 시스템 및 저장 매체
본 출원은 2021년 8월 30일에 제출되고, 출원번호가 202111007976.8인 중국 특허 출원의 우선권을 요구하며, 그 모든 내용은 인용을 통해 본 출원에 결합된다.
본 개시는 컴퓨터 분야, 특히 인공 지능 분야에 관한 것으로, AI 모델 보호 등 적용 장면에 사용할 수 있다.
인공 지능 모델(즉 AI 모델)의 개발은 대량의 재정 투입 및/또는 프로젝트 자원 투입과 관련될 수 있다. 또한, AI 모델의 개발은 통상적으로 시간과 자원이 밀집된 독특한 구체적인 분야의 지식 획득 과정이다. 따라서, AI 모델을 보호하기 위해 효과적인 보호 메커니즘을 제공할 필요가 있다.
본 개시는 모델 보호 방법, 장치, 기기, 시스템, 저장 매체 및 컴퓨터 프로그램 제품을 제공한다.
본 개시의 일 측면에 따르면, 서버에 사용되는 모델 보호 방법을 제공하며, 상기 서버에 사용되는 모델 보호 방법은, 목표 모델에 대해 실행 환경을 제공하기 위한, 대응되는 모델 추리 알고리즘 및 안전 검증 알고리즘을 포함하는 WASM 파일을 생성하는 것을 포함하며, 여기서, 상기 안전 검증 알고리즘은, 호스트 환경에 대하여 검증을 진행하는 것; 상기 WASM 파일의 무결성에 대하여 검증을 진행하는 것; 상기 목표 모델의 원 모델 파일에 대응하여 생성된 모델 파일의 무결성에 대하여 검증을 진행하는 것; 모델 추리 과정에서 지정된 추리 과정에 대하여 타임아웃 검증을 진행하는 것; 모델 추리 과정에서 전체 추리 과정에 대하여 타임아웃 검증을 진행하는 것과 같은 안전 검증 동작 중의 적어도 하나를 실행하여 상기 목표 모델에 대한 보호를 구현한다.
본 개시의 다른 측면에 따르면, 클라이언트에 사용되는 모델 보호 방법을 제공하며, 상기 클라이언트에 사용되는 모델 보호 방법은, 목표 모델에 대응하여 생성된 모델 파일을 로딩하는 것; 상기 목표 모델에 대해 실행 환경을 제공하기 위한 WASM 파일을 로딩하는 것; 상기 WASM 파일의 인스턴스화 실행 중에서, 상기 모델 파일을 상기 실행 환경에 전달하여, 호스트 환경에 대하여 검증을 진행하는 것, 상기 WASM 파일의 무결성에 대하여 검증을 진행하는 것, 상기 모델 파일의 무결성에 대하여 검증을 진행하는 것, 모델 추리 과정에서 지정된 추리 과정에 대하여 타임아웃 검증을 진행하는 것, 모델 추리 과정에서 전체 추리 과정에 대하여 타임아웃 검증을 진행하는 것과 같은 안전 검증 동작 중의 적어도 하나를 실행하여 상기 목표 모델에 대하여 모델 보호 메커니즘을 시동시키는 것을 포함한다.
본 개시의 다른 측면에 따르면, 서버에 사용되는 모델 보호 장치를 제공하며, 상기 서버에 사용되는 모델 보호 장치는, 목표 모델에 대해 실행 환경을 제공하기 위한, 대응되는 추리 알고리즘 및 안전 검증 알고리즘을 포함하는 WASM 파일을 생성하기 위한 생성 모듈을 포함하며, 여기서, 상기 안전 검증 알고리즘은, 호스트 환경에 대하여 검증을 진행하는 것; 상기 WASM 파일의 무결성에 대하여 검증을 진행하는 것; 상기 목표 모델의 원 모델 파일에 대응하여 생성된 모델 파일의 무결성에 대하여 검증을 진행하는 것; 모델 추리 과정에서 지정된 추리 과정에 대하여 타임아웃 검증을 진행하는 것; 모델 추리 과정에서 전체 추리 과정에 대하여 타임아웃 검증을 진행하는 것과 같은 안전 검증 동작 중의 적어도 하나를 실행하여 상기 목표 모델에 대한 보호를 구현한다.
본 개시의 다른 측면에 따르면, 클라이언트에 사용되는 모델 보호 장치를 제공하며, 상기 클라이언트에 사용되는 모델 보호 장치는, 목표 모델에 대응하여 생성된 모델 파일을 로딩하기 위한 제1 로딩 모듈; 상기 목표 모델에 실행 환경을 제공하기 위한 WASM 파일을 로딩하기 위한 제2 로딩 모듈; 상기 WASM 파일의 인스턴스화 실행 중에서, 상기 모델 파일을 상기 실행 환경에 전달하여, 호스트 환경에 대하여 검증을 진행하는 것, 상기 WASM 파일의 무결성에 대하여 검증을 진행하는 것, 상기 모델 파일의 무결성에 대하여 검증을 진행하는 것, 모델 추리 과정에서 지정된 추리 과정에 대하여 타임아웃 검증을 진행하는 것, 모델 추리 과정에서 전체 추리 과정에 대하여 타임아웃 검증을 진행하는 것과 같은 안전 검증 동작 중의 적어도 하나를 실행하여 상기 목표 모델에 대하여 모델 보호 메커니즘을 시동시키기 위한 안전 검증 모듈을 포함한다.
본 개시의 다른 측면에 따르면, 적어도 하나의 프로세서 및 상기 적어도 하나의 프로세서와 통신 연결된 메모리를 포함하는 전자 기기를 제공한다. 여기서, 상기 메모리에는 상기 적어도 하나의 프로세서에 의해 실행 가능한 명령어가 저장되어 있고, 상기 명령어는 상기 적어도 하나의 프로세서에 의해 실행되어, 상기 적어도 하나의 프로세서로 하여금 본 개시의 실시예에서 설명하는 방법을 실행할 수 있게 한다.
본 개시의 다른 측면에 따르면, 상기 컴퓨터로 하여금 본 개시의 실시예에서 설명하는 방법을 실행하게 하기 위한 컴퓨터 명령어가 저장되어 있는 비휘발성 컴퓨터 판독 가능 저장 매체를 제공한다.
본 개시의 다른 측면에 따르면, 프로세서에 의해 실행시에 본 개시의 실시예에서 설명한 방법을 구현하는 컴퓨터 프로그램을 포함하는 컴퓨터 프로그램 제품을 제공한다.
본 개시의 다른 측면에 따르면, 모델 보호 시스템을 제공하며, 상기 모델 보호 시스템은 클라이언트와 서버를 포함하며, 여기서, 상기 클라이언트는 상기 서버에 모델 정보를 요청하고; 상기 서버는 상기 클라이언트의 요청에 응답하여 대응되는 모델 정보를 피드백하고; 상기 클라이언트는 상기 서버가 피드백한 모델 정보에 기반하여, 목표 모델에 대응하여 생성된 모델 파일을 로딩하는 것, 상기 목표 모델에 실행 환경을 제공하기 위한 WASM 파일을 로딩하는 것; 상기 WASM 파일을 인스턴스화 실행시키고, 상기 모델 파일을 상기 실행 환경에 전달하는 것과 같은 동작을 실행하고, 여기서, 상기 WASM 파일은 인스턴스화 실행 중에서, 호스트 환경에 대하여 검증을 진행하는 것, 상기 WASM 파일의 무결성에 대하여 검증을 진행하는 것, 상기 모델 파일의 무결성에 대하여 검증을 진행하는 것, 모델 추리 과정에서 지정된 추리 과정에 대하여 타임아웃 검증을 진행하는 것, 모델 추리 과정에서 전체 추리 과정에 대하여 타임아웃 검증을 진행하는 것과 같은 안전 검증 동작 중의 적어도 하나를 실행하여 상기 목표 모델에 대하여 모델 보호 메커니즘을 시동시킨다.
이 부분에서 설명한 내용은 본 개시의 실시예의 핵심 또는 중요한 특징들을 표시하기 위한 것이 아니며, 본 개시의 범위를 한정하는 데 사용하지 않는다는 것이 이해될 수 있다. 본 개시의 기타 특징은 아래의 명세서를 통해 쉽게 이해할 수 있게 될 것이다.
도면은 본 방안을 보다 잘 이해 하는 데 사용되며, 본 출원에 대한 한정이 되지 않는다. 그중에,
도 1은 본 개시의 실시예에 적합한 시스템 아키텍처를 예시적으로 나타내며,
도 2a는 본 개시의 실시예에 적합한 모델 보호 시스템의 블랙도를 예시적으로 나타내며,
도 2b는 본 개시의 실시예에 적합한 모델 오프라인 암호화와 온라인 추리의 개략도를 예시적으로 나타내며,
도 3a는 본 개시의 실시예에 따른 서버에 사용되는 모델 보호 방법의 흐름도를 예시적으로 나타내며,
도 3b는 본 개시의 실시예에 따른 모델 파일 및 WASM 파일의 오프라인 생성의 개략도를 예시적으로 나타내며,
도 4a는 본 개시의 실시예에 따른 클라이언트에 사용되는 모델 보호 방법의 흐름도를 예시적으로 나타내며,
도 4b는 본 개시의 실시예에 따른 모델 온라인 추리의 순서도를 예시적으로 나타내며,
도 5는 본 개시의 실시예에 따른 모델 보호 메커니즘의 개략도를 예시적으로 나타내며,
도 6은 본 개시의 실시예에 따른 서버에 사용되는 모델 보호 장치의 블록도를 예시적으로 나타내며,
도 7은 본 개시의 실시예에 따른 클라이언트에 사용되는 모델 보호 장치의 블록도를 예시적으로 나타내며,
도 8은 본 개시의 실시예의 모델 보호 방법을 구현하기 위한 전자 기기의 블록도를 예시적으로 나타낸다.
이하, 첨부된 도면을 참조하여 본 발명의 예시적인 실시예를 상세히 설명하기로 한다. 이해를 돕기 위하여 그 중에는 본 출원의 실시예의 다양한 세부사항이 포함되어 있으며, 이들을 단지 예시적인 것으로 간주해야 한다. 따라서, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 출원의 범위 및 사상을 벗어나는 것이 없이 여기서 설명된 실시예에 대해 다양한 변경 및 수정을 진행할 수 있음을 인식해야 한다. 마찬가지로, 명확하고 간결하기 위하여, 아래 설명 중에는 공지 기능 또는 구성에 대한 설명은 생략하도록 한다.
웹(Web) 플랫폼의 AI 계산은 브라우저, 애플릿과 같은 웹 환경에서 제공하는 AI 계산 능력을 이용하여 호스트 환경에서 모델 추리 과정을 완성하고 대응되는 계산 결과를 얻을 수 있다는 것이 이해될 수 있다. 그러나 모델이 웹 환경에서 배치되고 추리되면, 모델 정보가 네트워크를 통해 전송되어야 하기 때문에 유출되기 용이하고, 모델의 토폴로지 구조는 클라이언트의 JS(Javascript) 실행 과정에서 생성되고 최적화되어야 하기 때문에 모델은 디버깅되거나 변조되기 용이하고, 모델은 JS 실행 과정에서 추리 연산을 완성해야 하기 때문에 모델의 토폴로지 구조와 가중치 데이터는 용이하게 획득되거나 유도될 수 있는 문제점이 존재할 수 있다.
따라서 기밀성 요구가 높은 적용 장면에 대해 웹 환경에서 모델의 배치와 추리를 직접 진행할 수 없다.
따라서 웹 플랫폼의 AI 계산은 다음과 같은 두 가지 해결 방안을 통해 모델 정보의 보호를 구현할 수 있다.
방안 1, 서버에서 AI 모델의 배치와 추리를 진행한다.
예시적으로, 클라이언트는 모델 입력 데이터를 운반하고 서버에 모델 추리 요청을 발송할 수 있다. 서버는 클라이언트의 모델 추리 요청에 응답하여 대응되는 모델 추리 동작을 실행하고, 모델 추리를 완성한 후 네트워크를 통해 추리 결과를 피드백한다.
방안2, 브라우저, 애플릿 등과 같은 웹 환경이 위치한 호스트가 제공하는 모델 추리 능력에 의존하여 AI 계산을 완성한다.
예시적으로, 클라이언트는 JS(Java script)실행시에 JS Bridge등 방식을 통하여 호스트가 제공하는 AI 계산 능력을 호출한다. 본 방안에서도 마찬가지로 모델 입력 데이터를 전달해야 하며, 호스트가 모델 추리를 완성한 후 클라이언트에 의해 제공되는 콜백을 트리거하여 추리 결과를 피드백해야 한다.
방안 1에서는 클라이언트가 네트워크를 통해 모델 입력 데이터를 서버에 전송해야 하기 때문에 사용자 데이터 유출, 네트워크 트래픽 소모, 데이터 전송 지연 등 폐단이 존재하고, 실시간 비디오 스트림 처리 등 시간 지연에 대한 요구가 매우 높은 적용 장면에 적합하지 않다는 것이 이해될 수 있다.
또한, 방안 2에서는 클라이언트와 호스트 간의 통신은 전송된 데이터를 분석해야 하기 때문에 실시간 비디오 스트림 처리 등 시간 지연에 대한 요구가 매우 높은 적용 장면에 적합하지 않다는 것도 이해될 수 있다. 또한, 방안 2에서 웹 개발은 안드로이드, IOS 등 서로 다른 유형의 호스트 환경에 적합해야 하기 때문에 크로스엔드 개발과 지속적인 버전 출시가 필요하며, 반복 속도가 느리고 디버깅이 번거로워 웹 개발의 원래의 편리성과 반복 용이성의 장점을 잃었다.
이와 관련하여, 본 개시의 실시예는 시간 지연에 대한 요구가 매우 높은 적용 장면에 적합한 모델 보호 방안을 제공하며, 실시간 비디오 스트림 처리와 같은 장면에서 사용될 수 있다. 그리고, 모델의 안전을 더욱 효과적으로 보장할 수 있다.
이하, 첨부된 도면 및 구체적인 실시예를 참조하여 본 개시를 상세히 설명하기로 한다.
본 개시의 실시예의 모델 보호 방법 및 장치에 적합한 시스템 아키텍처는 다음과 같다.
도 1은 본 개시의 실시예에 적합한 시스템 아키텍처를 예시적으로 나타낸다. 도 1은 본 분야에서 통상의 지식을 가진 자가 본 개시의 기술적 내용을 이해할 수 있도록 하는 것으로, 본 개시의 실시예가 적용될 수 있는 시스템 아키텍처의 예시일 뿐, 본 개시의 실시예가 기타 환경 또는 장면에 사용할 수 없다는 것을 의미하지 않는다는 점을 유의해야 한다.
도 1에 도시된 바와 같이, 본 개시의 실시예의 시스템 아키텍처(100)는 서버(110)와 클라이언트(120)를 포함할 수 있다.
서버(110)는 오프라인 암호화, 즉, 모델 파일의 암호화와 WASM 파일의 암호화를 완성하기 위해 사용될 수 있다. 또한, 모델 가중치 데이터의 암호화, 모델 구성 정보의 암호화, 복호화를 위한 키의 암호화도 완성할 수 있다.
클라이언트(120)는 모델 파일, WASM 파일, 모델의 가중치 데이터와 모델 구성 정보 등을 로딩하기 위해 서버(110)에 모델 정보를 요청할 수 있다.
WASM 파일은 웹 어셈블리(Web Assembly) 기술을 통해 소스 코드를 컴파일하여 얻은 바이너리 바이트 코드 파일인 WASM 형식의 파일임이 이해될 수 있다.
본 개시의 실시예에서, WASM 파일은 모델 추리를 위한 웹 환경을 캡슐화하기 위한 것일 수 있다. 또한, 모델 복호화를 위해 WASM 파일에 복호화 알고리즘을 추가할 수도 있다. 또한, 안전 검증 관련 동작을 실행하기 위해 WASM 파일에 안전 검증 알고리즘을 추가할 수도 있다.
모델 파일, WASM 파일, 모델의 가중치 데이터와 모델 구성 정보 등은 암호화 처리를 통해 사용자 데이터가 전송 과정에서 유출되는 것을 방지할 수 있다는 것이 이해될 수 있다.
또한, WASM 파일은 바이너리 바이트 코드 파일이기 때문에 가독성이 매우 떨어진다. 따라서 모델 추리를 위한 웹 환경을 WASM 파일에 캡슐화하면 모델의 토폴로지 구조(각 연산자 및 각 연산자 간의 의존, 및 각 연산자의 속성을 포함)와 모델 추리 로직을 용이하게 도출하기 어렵도록 하여, 모델을 보호하는 역할을 할 수 있다.
또한,WASM 파일에 복호화 알고리즘을 추가하는 것을 통하여, 암호화된 모델 관련 정보(예를 들면 암호화된 모델 파일, 모델의 가중치 데이터와 모델 구성 정보 등)를 복호화할 수 있어 호스트 환경에서 복호화됨으로 인해 모델 관련 정보가 유출되는 것을 방지할 수 있다.
또한, WASM 파일에 안전 검증 알고리즘을 추가하는 것을 통하여, 예를 들면 호스트 환경의 안전성을 검증하는 것을 통하여 모델의 안전을 확보할 수 있다.
도 1 중의 클라이언트 및 서버의 수량은 단지 예시적인 것임이 이해될 수 있다. 구현의 수요에 따라 임의의 수량의 클라이언트 및 서버를 가질 수 있다.
본 개시의 실시예의 모델 보호 방법 및 장치에 적합한 적용 장면은 다음과 같다.
본 개시의 실시예에서 제공하는 모델 보호 방안은 임의의 유형의 데이터 모델 보호 장면, 예를 들면 AI 모델 보호 장면에 사용될 수 있다는 것이 이해될 수 있다.
본 개시의 실시예에 따르면, 본 개시는 모델 보호 시스템을 제공한다.
도 2a는 본 개시의 실시예에 적합한 모델 보호 시스템의 블랙도를 예시적으로 나타낸다.
도 2a에 도시된 바와 같이, 모델 보호 시스템(200)은 클라이언트(210)와 서버(220)를 포함할 수 있다.
여기서, 클라이언트(210)는 서버(220)에 모델 정보를 요청한다. 서버(220)는 클라이언트(210)의 요청에 응답하여 대응되는 모델 정보를 피드백한다.
클라이언트(210)는 서버(220)가 피드백하는 모델 정보에 기반하여, 목표 모델에 대응하여 생성된 모델 파일을 로딩하며; 목표 모델에 실행 환경을 제공하기 위한 WASM 파일을 로딩하며; WASM 파일을 인스턴스화 실행시키고, 모델 파일을 실행 환경에 전달하는 것과 같은 동작을 실행한다.
여기서, WASM 파일의 인스턴스화 실행 중에서, 호스트 환경에 대하여 검증을 진행하는 것, WASM 파일의 무결성에 대하여 검증을 진행하는 것; 모델 파일의 무결성에 대하여 검증을 진행하는 것, 모델 추리 과정에서 지정된 추리 과정에 대하여 타임아웃 검증을 진행하는 것, 모델 추리 과정에서 전체 추리 과정에 대하여 타임아웃 검증을 진행하는 것과 같은 안전 검증 동작 중의 적어도 하나를 실행하여 목표 모델에 대하여 모델 보호 메커니즘을 작동시킨다.
설명할 필요가 있는 것은, 서버(220)에서 피드백하는 모델 정보는 암호화된 모델 파일의 주소, 암호화된 WASM 파일의 주소, 대응되는 암호화된 모델 구성 정보(주로 모델의 입력/출력 구성을 포함), 암호화된 대응 모델의 가중치 데이터 등을 포함하나 여기에 한정되지 않는다.
또한, 일 실시예에서, 목표 모델에 대응하여 생성된 모델 파일은 목표 모델의 원시 모델 파일 또는 해당 원시 모델 파일을 암호화하여 얻은 결과물일 수 있다.
또한, 일 실시예에서, 목표 모델에 대응하여 생성된 모델 파일은 목표 모델의 원시 모델 파일을 처리하여 얻은 중간 결과물 또는 이 중간 결과물을 암호화하여 얻은 결과물일 수 있다.
예시적으로, 목표 모델의 원시 모델 파일에 기반하여 목표 모델의 토폴로지 구조를 결정하며, 그리고 나서 해당 토폴로지 구조 중의 각 연산자의 속성 및 각 연산자 간의 의존 관계를 난독화하여 해당 원시 모델 파일의 중간 결과물을 얻을 수 있다.
상술한 난독화 처리를 통해 모델의 토폴로지 구조가 쉽게 유도되지 않도록 한층 더 확보할 수 있다는 것이 이해될 수 있다.
또한, 목표 모델의 토폴로지 구조에 대응하여 WASM 파일을 생성하여 WASM 파일이 인스턴스화 실행 과정에서 해당 목표 모델에 실행 환경(예를 들면 웹 환경)을 제공할 수 있도록 하여, 대응되는 모델 추리를 구현할 수 있다는 것이 이해될 수 있다.
또한,모델 복호화(예를 들면, 암호화된 모델 파일, 모델의 가중치 데이터 및 모델 구성 정보 등을 복호화)를 위해 WASM 파일에 복호화 알고리즘을 추가할 수도 있다.
또한, 암호화된 WASM 파일은 클라이언트의 호스트 환경에서 복호화를 완성할 수 있다.
또한, 안전 검증 관련 동작을 실행하기 위해 WASM 파일에 안전 검증 알고리즘을 추가할 수도 있다.
예시적으로, 호스트 환경에 대한 검증을 진행하며, 예를 들어, 호스트 환경의 도메인 네임 및/또는 아이디가 대응되는 화이트 리스트에 있는지를 검증한다. 검증 결과가 대응되는 화이트 리스트에 있는 것을 나타내면, 이번 검증은 통과된다. 이번 검증 통과에 응답하여, WASM 파일의 인스턴스화 실행 과정에서 복호화 알고리즘과 모델 추리 알고리즘 등을 실행하여 실행 과정 중의 모델 안전을 확보할 수 있다. 이번 검증의 미통과에 응답하여, 이번 모델 추리를 종료할 수 있다.
예시적으로, WASM 파일의 무결성을 검증함으로써, WASM 파일의 변조로 인한 모델 보안 문제를 방지할 수 있다.
예시적으로, 모델 파일의 무결성을 검증함으로써, 모델 파일의 변조로 인한 모델 안전 문제를 방지할 수 있다.
예시적으로, 모델 추리 과정에서 지정된 추리 과정에 대해 타임아웃 검증을 진행한다. 구체적으로, 안티디버깅 메커니즘을 설치할 수 있으며, 예를 들어, 크리티컬 패스(critical path)를 미리 사건트래킹(Event Tracking)한 후, 실행 과정에서 사건트래킹의 크리티컬 패스간의 추리 과정(예를 들면 A에서 B로의 추리 과정)이 타임아웃되었는지를 확인한다. 검증 결과가 지정된 추리 과정이 타임아웃되었음을 나타내면, 해당 추리 과정에서 모델이 디버깅될 가능성이 있다는 것이 이해될 수 있다. 이 경우. 모델의 안전을 확보하기 위해 이번 모델 추리를 종료할 수 있다. 검증 결과가 지정된 추리 과정이 타임아웃되지 않았음을 나타내면, 해당 추리 과정이 정상이고, 후속 모델 추리 작업을 계속 실행할 수 있음을 나타낸다.
예시적으로, 모델 추리 과정에서 전체 추리 과정에 대하여 타임아웃 검증을 진행한다. 검증 결과가 추리 과정이 타임아웃되었음을 나타내면, 해당 추리 과정에서 모델이 디버깅될 가능성이 있다는 것이 이해될 수 있다. 이 경우. 모델의 안전을 확보하기 위해 이번 모델 추리를 종료할 수 있다. 검증 결과가 전체 추리 과정이 타임아웃되지 않았음을 나타내면, 해당 추리 과정이 정상임을 나타낸다.
본 개시의 실시예를 통해, 서버에서 모델 파일에 대하여 암호화, 압축한 후에 다시 클라이언트에 발송함으로써, 전송 과정에서 데이터 유출이 발생하는 것을 방지할 수 있고, 사용자를 위해 네트워크 트래픽을 절약할 수 있다. 클라이언트에서 WASM 파일을 통해 모델의 실행 환경을 캡슐화하고, 외부의 웹 호스트 환경에 대해 제한된 호출 인터페이스를 노출함으로써, 모델 내용(예를 들면 모델에 포함된 각 연산자와 속성 및 각 연산자 간의 의존 관계 등을 포함한 모델의 토폴로지 구조)이 쉽게 유도되고 쉽게 획득되는 것을 방지할 수 있다. 그리고, 파일의 무결성 검사 메커니즘을 적용하여, 모델 안전을 확보할 수 있으며, 예를 들면 모델이 변조된 후 즉시 발견할 수 있다. 그리고, 모델의 안티디버깅 메커니즘을 적용하여, 모델 안전을 확보할 수 있으며, 예를 들면 실행 과정에서 모델이 디버깅되는 것을 즉시 저지할 수 있다. 따라서, 실시간 안전 검증 메커니즘을 적용하여 모델 안전을 더욱 전면적으로 보장할 수 있다.
선정 가능한 실시예로서, 클라이언트는 서버에 모델 정보를 요청하기 전에 우선 서버에 권한 인증 요청을 보낼 수 있다. 서버는 클라이언트로부터의 권한 인증 요청에 응답하여, 권한 인증 동작을 실행하고 대응되는 권한 인증 결과를 피드백한다. 클라이언트는 권한 인증 결과가 통과되었음을 나타탤 경우에야만, 서버에 모델 정보를 요청한다.
여기서, 권한 인증 결과가 미통과되었음을 나타내면, 클라이언트는 서버에 모델 정보를 요청할 수 없다.
본 개시의 실시예에서, 클라이언트의 JS 실행 과정에서 권한 인증을 통하여 모델 정보를 획득할 수 있다. 해당 모델 정보는 암호화된 모델 파일의 주소, 암호화된 WASM 파일의 주소, 암호화된 관련 모델 구성 정보(주로 모델의 입력/출력 구성을 포함) 및 모델의 암호화된 가중치 데이터를 포함할 수 있다.
본 개시의 실시예에서 권한 인증 서비스는 OAuth2.0 권한 부여 표준을 따를 수 있다. AI 모델 제공자는 권한 인증 검사를 위한 AK(Access Key Id, 사용자 식별용)를 모델 사용자에게 넘겨줄 수 있다. 모델 사용자는 클라이언트를 통해 권한 인증 서버와 같은 서버에 권한 인증 요청을 보내, 권한 인증 token(토큰, 일부 데이터가 전달되기 전에 우선 토큰 체크를 하고, 서로 다른 토큰 간에 서로 다른 데이터 동작이 권한 부여된다)을 획득하며, 그 다음 클라이언트는 서버에 token을 포함한 모델 정보 획득 요청을 보내고, 서버는 해당 요청에 포함된 token에 기반하여 클라이언트에 대응되는 모델 정보를 피드백한다.
본 개시의 실시예를 통해, 권한 부여 액세스의 방식을 적용하여 모델 정보를 획득하여, 모델 정보의 안전을 확보할 수 있다.
도 2b는 본 개시의 실시예에 적합한 모델 오프라인 암호화와 온라인 추리의 개략도를 예시적으로 나타낸다. 도 2b에 도시된 바와 같이, 본 방안에서, 임의의 보호가 필요한 모델에 대하여 오프라인 암호화 방식을 통해 모델 파일과 대응되는 복호화, 추리와 안전 검증을 위한 WASM 파일을 각각 암호화하고, 암호화된 파일에 대하여 안전한 파일 호스팅 처리를 진행할 수 있다. 또한, 온라인 추리 시, 클라이언트는 사용자 권한 인증(즉, 모델 사용자 권한 인증)을 통해 모델 정보를 획득할 수 있고, WASM 파일의 인스턴스화 실행 중에서 복호화, 디코딩, 추리와 안전 검증(예를 들면 호스트 환경 검증과 타임아웃 검증)등 동작을 실행할 수 있다.
본 개시의 실시예에 따르면, 본 개시는 서버에 사용되는 모델 보호 방법을 제공한다.
도 3a는 본 개시의 실시예에 따른 서버에 사용되는 모델 보호 방법의 흐름도를 예시적으로 나타낸다.
도 3a에 도시된 바와 같이, 모델 보호 방법(200)은 동작 S310을 포함할 수 있다.
동작 S310에서, 목표 모델에 대해 실행 환경을 제공하기 위한, 대응되는 모델 추리 알고리즘 및 안전 검증 알고리즘을 포함하는 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 파일을 통해 모델의 실행 환경을 캡슐화하고, 외부의 웹 호스트 환경에 대해 제한된 호출 인터페이스를 노출함으로써, 모델의 토폴로지 구조가 쉽게 유도되고 쉽게 획득되는 것을 방지할 수 있다. 그리고, 파일의 무결성 검사 메커니즘을 적용하여, 모델 안전을 확보할 수 있으며, 예를 들면 모델이 변조된 후 즉시 발견할 수 있다. 그리고, 모델의 안티디버깅 메커니즘을 적용하여, 모델 안전을 확보할 수 있으며, 예를 들면 실행 과정에서 모델이 디버깅되는 것을 즉시 저지할 수 있다. 따라서, 실시간 안전 검증 메커니즘을 적용하여 모델 안전을 더욱 전면적으로 보장할 수 있다.
본 개시의 실시예에서 제공하는 웹 플랫폼의 AI 계산에 대한 모델 보호 방안을 적용하면, 웹 환경에서의 모델의 안전 문제를 효과적으로 해결할 수 있다는 것이 이해될 수 있다. 그리고, 모델 안전을 확보하는 전제하에서, 하기와 같은 효과를 얻을 수 있다.
서버에서 AI 모델의 배치와 추리를 진행하는 것과 비교하면, 본 방안에서 모델은 완전히 웹 환경에서 배치와 추리를 완성할 수 있으며, 네트워크를 통해 서버에 사용자 데이터를 전송할 필요가 없기 때문에, 사용자의 트랙픽을 절약하고 네트워크 지연을 줄인다.
웹 환경이 위치한 호스트에 의존하여 제공하는, 모델 추리에 대응하는 엔드 능력과 비교하면, 본 방안에서는 호스트에 의존하여 관련 추리 기능을 개발하고 버전을 출시할 필요가 없으므로, 크로스 엔드 개발 코스트 및 프런트 엔드 적응 코스트를 절약하고, 마찬가지로 호스트 환경과 모델의 입력 데이터를 전달할 필요가 없고 지연을 줄인다.
선택 가능한 실시예로서, 해당 방법은, 하기 중 적어도 하나를 더 포함할 수 있다.
모델 파일을 암호화하여 암호화된 모델 파일을 얻는다.
WASM 파일을 암호화하여 암호화된 WASM 파일을 얻다.
목표 모델의 모델 구성 정보를 암호화하여 암호화된 모델 구성 정보를 얻다.
목표 모델의 가중치 데이터를 암호화하여 암호화된 가중치 데이터를 얻는다.
여기서, WASM 파일에는 대응되는 복호화 알고리즘을 더 포함하며, 해당 복호화 알고리즘은 암호화된 모델 파일, 암호화된 모델 구성 정보, 암호화된 가중치 데이터 중의 적어도 하나를 복호화 한다.
본 개시의 실시예에서, 암호화 알고리즘은 AES 대칭 암호화 알고리즘을 적용할 수 있다.
모델 파일, WASM 파일, 모델 구성 정보, 모델의 가중치 데이터 등에 대한 암호화를 통해, 사용자 데이터가 호스팅 과정에서 유출되는 것을 방지할 수 있을 뿐만 아니라 사용자 데이터가 전송 과정에서 유출되는 것을 효과적으로 방지할 수 있다는 것이 이해될 수 있다.
또한, WASM 파일에 대응되는 복호화 알고리즘을 추가하고, WASM 파일의 인스턴스화 실행 중에서 암호화된 모델 파일, 암호화된 모델 구성 정보, 암호화된 가중치 데이터를 복호화하여, 상술한 내용이 복화화된 후에 쉽게 획득되는 것을 방지할 수 있다.
본 개시의 실시예에서, 상술한 내용을 암호화함으로써 모델의 프라이버시를 더욱 보호할 수 있다.
나아가, 선택 가능한 실시예로서, 해당 방법은 복호화를 위한 키를 암호화하여 암호화된 키를 얻는 것을 더 포함할 수 있다.
복호화를 위한 키를 암호화하는 것을 통해 2차 암호화를 구현할 수 있다는 것이 이해될 수 있다. 이로써, 프론트 엔드 및 백 엔드 간의 통신(즉, 클라이언트와 서버 간의 통신)에서 복호화를 위한 키에 대한 은폐 처리를 통해 정보의 안전한 전달을 보장할 수 있다.
본 개시의 실시예에서, 복호화를 위한 키에 대하여 RSA 비대칭 암호화 알고리즘을 적용하고 암호화하여, 복호화를 위한 암호화된 키를 생성할 수 있다.
또한, 본 개시의 실시예에서, 암호화를 위한 키에 대해서도 RSA 비대칭 암호화 알고리즘을 적용하고 암호화하여, 암호화를 위한 암호화된 키를 생성할 수 있다.
본 개시의 실시예에서, 복호화를 위한 키에 대하여 2차 암호화하는 것을 통하여, 모델의 프라이버시를 더욱 보호할 수 있다.
선택 가능한 실시예로서, 해당 방법은, 목표 모델에 대해 적어도 하나의 사용자 중의 각 사용자에게 하나의 액세스 키 식별자를 구성하는 것을 더 포함할 수 있다.
본 개시의 실시예에서, 해당 적어도 하나의 사용자는 목표 모델의 사용자를 가리킨다. 목표 모델의 각 사용자를 위해 하나의 유일한 액세스 키 식별자(AK)를 구성하여 사용자를 식별하는 데 사용할 수 있다. 따라서, 권한 인증 서비스에서, 사용자(즉, 모델 사용자)가 제공하는 AK를 통하여 사용자가 권한 부여 도메인의 모델 사용자인지 여부를 권한 인증할 수 있다. 권한 인증 결과가 권한 인증을 요청한 사용자가 권한 부여 도메인의 모델 사용자임을 나타내면, 이번 권한 인증을 통과한 것으로 결정하고, 그렇지 않으면 이번 권한 인증에 실패한 것으로 결정한다. 여기서, 권한 인증이 통과된 경우에만 사용자가 모델 정보를 획득하도록 허락하고, 그렇지 않으면 사용자가 모델 정보를 획득하는 것을 허락하지 않는다.
본 개시의 실시예를 통하여 모델 사용자에 대해 권한 부여 액세스의 방식을 적용함으로써, 모델 정보가 불법으로 획득되는 것을 방지하고, 나아가 모델을 보호하는 역할을 할 수 있다.
도 3b는 본 개시의 실시예에 따른 모델 파일 및 WASM 파일의 오프라인 생성의 개략도를 예시적으로 나타낸다. 도 3b에 도시된 바와 같이, Plain JS CPU 컴퓨팅 방안에서 모델의 토폴로지 구조를 생성할 수 있으다. 토폴로지 구조를 난독화, 암호화한 후, 해당 모델의 모델 파일을 생성할 수 있다. 그 다음에 생성된 모델 파일에 대하여 압축과 배치를 진행할 수 있다. 도 3b에 도시된 바와 같이, Plain JS WASM 컴퓨팅 방안에서 분석, 복호화, 디코딩, 추리, 안전 검증 등의 알고리즘이 포함된 WASM 파일을 생성할 수 있으며, WASM 파일을 생성한 후 해당 파일에 대하여 암호화, 압축과 배치를 진행할 수도 있다. 본 실시예에서, 암호화 키는 동적으로 생성되거나 지정될 수 있다는 것이 이해될 수 있다.
본 개시의 실시예에 따르면, 본 개시는 클라이언트에 사용되는 모델 보호 방법을 제공한다.
도 4a는 본 개시의 실시예에 따른 클라이언트에 사용되는 모델 보호 방법의 흐름도를 예시적으로 나타낸다.
도 4a에 도시된 바와 같이, 모델 보호 방법(400)은 동작 S410 내지 동작 S430을 포함할 수 있다.
동작 S410에서, 목표 모델에 대응하여 생성된 모델 파일을 로딩한다.
동작 S420에서, 목표 모델에 대해 실행 환경을 제공하기 위한 WASM 파일을 로딩한다.
동작 S430에서, WASM 파일을 인스턴스화 실행시키고, 모델 파일을 WASM 파일이 제공하는 실행 환경에 전달하여, WASM 파일의 인스턴스화 실행 중에서, 호스트 환경에 대하여 검증을 진행하는 것, WASM 파일의 무결성에 대하여 검증을 진행하는 것, 모델 파일의 무결성에 대하여 검증을 진행하는 것, 모델 추리 과정에서 지정된 추리 과정에 대하여 타임아웃 검증을 진행하는 것, 모델 추리 과정에서 전체 추리 과정에 대하여 타임아웃 검증을 진행하는 것과 같은 안전 검증 동작 중의 적어도 하나를 실행하여 목표 모델에 대하여 모델 보호 메커니즘을 작동시킨다.
본 실시예에서 모델 파일과 WASM 파일의 생성, 암호화, 로딩, 복호화 등 방법은 전술한 실시예에서 설명한 것과 동일하거나 유사하는 것이 이해될 수 있으며, 여기서는 다시 설명하지 않는다.
본 실시예에서 안전 검증 방법은 전술한 실시예에서 설명한 것과 동일하거나 유사하는 것이 이해될 수 있으며, 여기서는 다시 설명하지 않는다.
선택 가능한 실시예로서, 사용자의 권한 인증 통과에 응답하여, 모델 파일과 WASM 파일을 획득하고 로딩할 수 있다. 본 실시예에서 사용자 권한 인증 방법은 전술한 실시예에서 설명한 것과 동일하거나 유사하는 것이 이해될 수 있으며, 여기서는 다시 설명하지 않는다.
선택 가능한 실시예로서, 모델 파일 및/또는 WASM 파일은 암호화된 파일이다. 본 실시예에서 모델 파일과 WASM 파일의 암호화 방법은 전술한 실시예에서 설명한 것과 동일하거나 유사하는 것이 이해될 수 있으며, 여기서는 다시 설명하지 않는다.
선택 가능한 실시예로서, 해당 방법은, WASM 파일의 인스턴스화 실행 중에서, 기설정 안전 검증의 통과에 응답하여, 암호화된 모델 파일을 복호화하여, 복호화된 모델 파일을 얻으며, 복호화된 모델 파일에 기반하여 모델 추리를 진행하는 것을 더 포함할 수 있다.
선택 가능한 실시예로서, 기설정 안전 검증은, 호스트 환경 검증, 모델 파일의 무결성 검증, WASM 파일의 무결성 검증 중의 적어도 하나를 포함할 수 있다. 본 개시의 실시예를 통하여 복호화 타이밍이 부적절하는 것으로 인한 모델 내용(예를 들면 모델의 토폴로지 구조) 또는 데이터가 유출되는 것을 방지할 수 있다.
선택 가능한 실시예로서, 암호화된 모델 파일을 복호화하는 것에는, 복호화를 위한 암호화된 키를 획득하며; 암호화된 키를 복호화하여 복호화된 키를 얻으며; 복호화된 키를 이용하여 암호화된 모델 파일을 복호화하는 동작을 포함할 수 있다. 본 개시의 실시예에서, 복호화할 시에 복호화를 위한 키를 동적으로 판독할 수 있다. 본 개시의 실시예에서, 복호화를 위한 키에 대하여 2차 암호화하는 것을 통하여, 모델의 프라이버시를 더욱 보호할 수 있다.
도 4b는 본 개시의 실시예에 따른 모델 온라인 추리의 순서도를 예시적으로 나타낸다. 도 4b에 도시된 바와 같이, 모델의 온라인 추리 순서는, 클라이언트은 JS 실행 과정에서 서버에 권한 인증 요청을 발송하며; 서버는 해당 요청에 응답하여 권한 인증 동작을 실행하고, 권한 인증이 통과된 경우 권한 인증 token을 피드백하며; 클라이언트는 JS 실행 과정에서 해당 권한 인증을 운반하고 서버에 모델 구성 정보 요청, 모델 가중치 데이터 요청, 암호화된 모델 파일 주소 요청, 암호화된 WASM 파일 주소 요청 등 모델 정보 요청을 병행하여 발송하며; 서버는 이러한 요청에 응답하여 대응되는 모델 정보를 피드백하며; 클라이언트는 JS 실행 과정에서 암호화된 WASM 파일과 암호화된 모델 파일을 로딩하며; 클라이언트는 JS 실행 과정에서 WASM 파일을 인스턴스화하고, 동시에 모델 가중치 데이터, 모델 입력 데이터, 모델 구조 내용 등을 WASM 모듈의 메모리에 기입하고 대응되는 주소 맵(Map)을 생성하며; WASM 모듈(모델 파일의 인스턴스화에 의해 획득)은 실행 중에서 호스트 환경 검증(예를 들면 서버와의 서명 핸드셰이크 메커니즘을 통해 사용자의 신분을 확인), 복호화, 디코딩, 초기화, 추리, 시간 제한 검증(즉, 전체 추리 과정의 타임아웃 여부를 검증, 예를 들면 1h를 초과하는지 여부, 만약 타임아웃되면 퇴출함)을 진행하며; WASM 모듈은 추리 결과를 WASM 모듈의 메모리에 기입하며; 클라이언트는 JS 실행 과정에서 WASM 모듈에 의해 노출된 호출 인터페이스를 호출, 예를 들면 관련 인터페이스를 호출하여 대응되는 추리 결과를 판독하는 것이다.
도 5는 본 개시의 실시예에 따른 모델 보호 메커니즘의 개략도를 예시적으로 나타낸다. 도 5에 도시된 바와 같이, 해당 모델 보호 메커니즘은 기밀성 및 제어성의 두개 방면으로부터 모델의 안전을 보장할 수 있다. 여기서, 모델의 기밀성에 대하여, 오프라인 모델 암호화를 통하여 모델 자체의 안전을 확보할 수 있고; 복호화와 추리 과정을 판독 불가능한 WASM 파일에 캡슐화하여(즉, 실행 환경을 캡슐화) 실행시에 모델 구조와 모델 데이터의 유출을 방지하고; 복호화를 위한 키는 이미 2차 비대칭으로 암호화되었고 권한 부여 액세스의 방식을 통해 획득하여 키의 안전을 확보할 수 있다. 모델 제어성에 대하여, 모델 및 키의 암호화는 오프라인 사유화 배치를 통해 암호화 환경의 안전을 보장하고; 복호화를 위한 키는 별도의 권한 부여 액세스 서비스를 통해 획득하여(즉 신용공여 횟수 관리를 진행) 키 보안을 보장하고; 모델 실행 중에서 호스트 환경 검증, 코드 무결성 검증, 안티 디버깅 검증(예를 들면, 지정된 추리 과정의 타임아웃 검증 및 전체 추리 과정의 타임아웃 검증, 여기서 후자는 실행 유효 시간 제한의 검증이기도 한다)을 진행하여 실행 중의 모델 안전을 보장하고, 모델이 도용되는 것을 방지할 수 있다.
본 개시의 실시예에 따르면, 본 개시는 또한 서버에 사용되는 모델 보호 장치를 제공한다.
도 6은 본 개시의 실시예에 따른 서버에 사용되는 모델 보호 장치의 블록도를 예시적으로 나타낸다.
도 6에 도시된 바와 같이, 모델 보호 장치(600)는 생성 모듈(610)을 포함할 수 있다.
생성 모듈(610)은 목표 모델에 대해 실행 환경을 제공하기 위한, 대응되는 모델 추리 알고리즘 및 안전 검증 알고리즘을 포함하는 WASM 파일을 생성하기 위한 것이다.
여기서, 해당 안전 검증 알고리즘은, 호스트 환경에 대하여 검증을 진행하는 것; 해당 WASM 파일의 무결성에 대하여 검증을 진행하는 것; 해당 목표 모델의 원 모델 파일에 대응하여 생성된 모델 파일의 무결성에 대하여 검증을 진행하는 것; 모델 추리 과정에서 지정된 추리 과정에 대하여 타임아웃 검증을 진행하는 것; 모델 추리 과정에서 전체 추리 과정에 대하여 타임아웃 검증을 진행하는 것과 같은 안전 검증 동작 중의 적어도 하나를 실행하여 해당 목표 모델에 대한 보호를 구현한다.
선택 가능한 실시예로서, 해당 장치는, 해당 모델 파일을 암호화하여 암호화된 모델 파일을 얻기 위한 제1 암호화 모듈; 해당 WASM 파일을 암호화하여 암호화된 WASM 파일을 얻기 위한 제2 암호화 모듈; 해당 목표 모델의 모델 구성 정보를 암호화하여 암호화된 모델 구성 정보를 얻기 위한 제3 암호화 모듈; 해당 목표 모델의 가중치 데이터를 암호화하여 암호화된 가중치 데이터를 얻기 위한 제4 암호화 모듈 중의 적어도 하나를 더 포함하며, 여기서, WASM 파일에는 대응되는 복호화 알고리즘을 더 포함하며, 해당 복호화 알고리즘은 암호화된 모델 파일, 암호화된 모델 구성 정보, 암호화된 가중치 데이터 중의 적어도 하나를 복호화하기 위한 것이다.
선택 가능한 실시예로서, 이 장치는 복호화를 위한 키를 암호화하여 암호화된 키를 얻기 위한 제5 암호화 모듈을 더 포함할 수 있다.
선택 가능한 실시예로서, 이 장치는, 해당 목표 모델에 대해 적어도 하나의 사용자 중의 각 사용자에게 하나의 액세스 키 식별자를 구성하기 위한 구성 모듈을 더 포함한다.
본 개시의 장치 부분의 실시예는 본 개시에서 전술한 대응되는 방법 부분의 실시예와 대응하여 동일하거나 유사하며, 해결된 기술 문제와 달성한 기술 효과도 대응하여 동일하거나 유하하는 것이 이해될 수 있으며, 본 개시는 여기서 다시 설명하지 않는다.
본 개시의 실시예에 따르면, 본 개시는 또한 클라이언트에 사용되는 모델 보호 장치를 제공한다.
도 7은 본 개시의 실시예에 따른 클라이언트에 사용되는 모델 보호 장치의 블록도를 예시적으로 나타낸다.
도 7에 도시된 바와 같이, 모델 보호 장치(700)는 제1 로딩 모듈(710), 제2 로딩 모듈(720)과 안전 검증 모듈(730)을 포함할 수 있다.
제1 로딩 모듈(710)은 목표 모델에 대응하여 생성된 모델 파일을 로딩하기 위한 것이다.
제2 로딩 모듈(720)은 해당 목표 모델에 대해 실행 환경을 제공하기 위한 WASM 파일을 로딩하기 위한 것이다.
안전 검증 모듈(730)은, 해당 WASM 파일의 인스턴스화 실행 중에서, 해당 모델 파일을 해당 실행 환경에 전달하고, 해당 호스트 환경에 대하여 검증을 진행하는 것, 해당 WASM 파일의 무결성에 대하여 검증을 진행하는 것, 해당 모델 파일의 무결성에 대하여 검증을 진행하는 것, 모델 추리 과정에서 지정된 추리 과정에 대하여 타임아웃 검증을 진행하는 것, 모델 추리 과정에서 전체 추리 과정에 대하여 타임아웃 검증을 진행하는 것과 같은 안전 검증 동작 중의 적어도 하나를 실행하여, 해당 목표 모델에 대하여 모델 보호 메커니즘을 작동시키기 위한 것이다.
선택 가능한 실시예로서, 사용자의 권한 인증 통과에 응답하여, 해당 제1 로딩 모듈에 의해 해당 모델 파일을 획득하고 로딩하며, 해당 제2 로딩 모듈에 의해 해당 WASM 파일을 획득하고 로딩한다.
선택 가능한 실시예로서, 해당 모델 파일 및/또는 WASM 파일은 암호화된 파일이다.
선택 가능한 실시예로서, 해당 장치는, 해당 WASM 파일의 인스턴스화 실행 중에서 기설정 안전 검증의 통과에 응답하여 암호화된 모델 파일을 복호화하고 복호화된 모델 파일을 얻기 위한 복호화 모듈; 및 해당 복호화된 모델 파일에 기반하여 모델 추리를 진행하기 위한 모델 추리 모듈을 더 포함한다.
선택 가능한 실시예로서, 해당 기설정 안전 검증은, 호스트 환경 검증, 모델 파일의 무결성 검증, WASM 파일의 무결성 검증 중의 적어도 하나를 포함한다.
선택 가능한 실시예로서, 해당 복호화 모듈은, 복호화를 위한 암호화된 키를 획득하기 위한 획득 유닛; 해당 암호화된 키를 복호화하여 복호화된 키를 얻기 위한 제1 복호화 유닛; 및 해당 복호화된 키를 이용하여 해당 암호화된 모델 파일을 복호화하기 위한 제2 복호화 유닛을 포함한다.
본 개시의 장치 부분의 실시예는 본 개시에서 전술한 대응되는 방법 부분의 실시예와 대응하여 동일하거나 유사하며, 해결된 기술 문제와 달성한 기술 효과도 대응하여 동일하거나 유사하는 것이 이해될 수 있으며, 본 개시는 여기서 다시 설명하지 않는다.
본 개시의 실시예에 따르면, 본 개시는 또한 전자 기기, 판독 가능 저장 매체와 컴퓨터 프로그램 제품을 더 제공한다.
도 8은 본 개시의 실시예를 실시하는 데 사용될수 있는 예시적인 전자기기(800)의 개략적인 블록도이다. 전자 기기는 랩톱 컴퓨터, 데스크톱 컴퓨터, 웍스테이션, 개인 휴대 정보 단말기, 서버, 블레이드 서버, 메인 프레임 컴퓨터 및 기타 적합한 컴퓨터와 같은 다양한 형태의 디지털 컴퓨터를 말한다. 전자 기기는 개인 휴대 정보 단말기, 셀룰러 전화, 스마트 폰, 웨어러블 디바이스 및 기타 유사한 컴퓨팅 장치와 같은 다양한 형태의 모바일 장치를 말할 수도 있다. 본 명세서에서 나타낸 부품, 이들의 연결 및 관계, 및 이들의 기능은 단지 예시일 뿐이며, 본 명세서에서의 설명 및/또는 요구하는 본 출원의 구현을 한정하려 하는 것이 아니다.
도 8에 도시된 바와 같이, 전자 기기(800)는 읽기 전용 기억 장치(ROM, 802)에 저장된 컴퓨터 프로그램 또는 저장 유닛(808)에서 랜덤 액세스 메모리(RAM, 803)로 로드된 컴퓨터 프로그램에 따라 다양한 적절한 동작 및 처리를 실행할 수 있는 컴퓨팅 유닛(801)을 포함한다. RAM(803)에는 저장 전자 기기(800)의 동작에 필요한 다양한 프로그램 및 데이터가 저장될 수 있다. 컴퓨팅 유닛(801), ROM(802) 및 RAM(803)은 버스(804)를 통해 서로 연결된다. 입력/출력(I/O)인터페이스(805)도 버스(804)에 연결된다.
전자 기기(800) 중의 복수의 부품은 I/O인터페이스(805)와 연결되며, 예를 들면 키보드, 마우스 등과 같은 입력 유닛(806); 예를 들면 다양한 유형의 디스플레이, 스피커 등과 같은 출력 유닛(807); 예를 들면 자기 디스크, 시디롬 등과 같은 저장 유닛(808) 및 예를 들면 랜 카드, 모뎀, 무선 통신 송수신기 등과 같은 통신 유닛(809)을 포함한다. 통신 유닛(809)은 기기(800)가 인터넷과 같은 컴퓨터 네트워크 및/또는 다양한 통신 네트워크와 기타 장치를 통하여 정보/데이터를 교환할 수 있도록 허용한다.
컴퓨팅 유닛(801)은 처리 및 컴퓨팅 능력을 갖는 다양한 범용 및/또는 전용 처리 유닛일 수 있다. 컴퓨팅 유닛(801)의 일부 예는 중앙 처리 유닛(CPU), 그래픽 처리 유닛(GPU), 다양한 전용 인공 지능(AI) 컴퓨팅 칩, 머신 러닝 모델 알고리즘을 실행하는 다양한 컴퓨팅 유닛, 디지털 신호 처리 장치(DSP) 및 임의의 적절한 프로세서, 컨트롤러, 마이크로 컨트롤러 등을 포함하지만 이에 한정되지 않는다. 컴퓨팅 유닛(801)은 예를 들면 모델 보호 방법과 같은 상술한 다양한 방법과 처리를 실행한다. 예를 들면, 일부 실시예에서는 모델 보호 방법은 컴퓨터 소프트웨어 프로그램으로 구현될 수 있으며, 이는 예를 들면 유형적으로 저장 유닛(808)과 같은 기계 판독 가능 매체에 포함된다. 일부 실시예에서, 컴퓨터 프로그램의 일부 또는 전부는 ROM(802) 및/또는 통신 유닛(809)을 통해 기기(800)에 로드 및/또는 설치될수 있다. 컴퓨터 프로그램이 RAM(803)에 로딩되고 컴퓨팅 유닛(801)에 의해 실행될 경우, 상술한 모델 보호 방법 중의 하나 또는 복수의 동작을 실행할 수 있다. 선택적으로, 다른 실시 예에서, 컴퓨팅 유닛(801)은 기타 임의의 적절한 방식(예를 들면, 펌웨어에 의해)으로 모델 보호 방법을 실행하도록 구성될 수 있다.
본 명세서의 상술한 시스템 및 기술의 다양한 구현 방식은 디지털 전자 회로 시스템, 집적 회로 시스템, 필드 프로그램 가능 게이트 어레이(FPGA), 전용 집적 회로(ASIC), 특정 용도 표준 제품(ASSP), 시스템 온칩(SOC), 복합 프로그램 가능 논리 장치(CPLD), 컴퓨터 하드웨어, 펌웨어, 소프트웨어 및/또는 이들의 조합에서 구현될 수 있다. 이러한 다양한 실시방식은 아래와 같은 것을 포함할 수 있다. 하나 또는 복수의 컴퓨터 프로그램에서 실시될 수 있으며, 해당 하나 또는 복수의 컴퓨터 프로그램은 적어도 하나의 프로그램 가능 프로세서를 포함하는 프로그램 가능 시스템에서 실행 및/또는 해석될 수 있으며, 프로그램 가능 프로세서는 전용 또는 범용 프로그램 가능 프로세서일 수 있으며, 저장 시스템, 적어도 하나의 입력 장치 및 적어도 하나의 출력 장치로부터 데이터 및 명령어를 수신하고, 데이터 및 명령어를 해당 저장 시스템, 적어도 하나의 입력 장치 및 적어도 하나의 출력 장치에 전송할 수 있다.
본 개시의 방법을 실행하기 위한 프로그램 코드는 하나 또는 복수의 프로그래밍 언어의 임의의 조합으로 작성될 수 있다. 이러한 프로그램 코드는 범용 컴퓨터, 전용 컴퓨터 또는 기타 프로그램 가능 데이터 처리 장치의 프로세서 또는 컨트롤러에 제공하여, 프로그램 코드가 프로세서 또는 컨트롤러에 의해 실행될 때 흐름도 및/또는 블록도에서 규정한 기능/동작이 실시되도록 할 수 있다. 프로그램 코드는 완전히 기계에서 실행되거나, 부분적으로 기계에서 실행되거나, 독립적인 소프트웨어 패키지로서 부분적으로 기계에서 실행되면서 부분적으로 원격 기계에서 실행되거나, 완전히 원격 기계 또는 서버에서 실행될 수 있다.
본 개시 내용의 맥락에서, 기계 판독 가능 매체는 명령어 실행 시스템, 장치 또는 설비에 의해 사용되거나, 명령어 실행 시스템, 장치 또는 설비와 결합하여 사용되도록 제공하는 프로그램을 포함하거나 저장할 수 있는 매체일 수 있다. 기계 판독 가능 매체는 기계 판독 가능 신호 매체 또는 기계 판독 가능 저장 매체일 수 있다. 기계 판독 가능 매체는 전자, 자기, 광학, 전자기, 적외선 또는 반도체 시스템, 장치 또는 기기, 또는 이들의 임의의 적절한 조합을 포함할 수 있지만 이에 한정되지 않는다. 기계 판독 가능 저장 매체의 보다 구체적인 예에는 하나 또는 복수의 전선에 기반한 전기 연결, 휴대용 컴퓨터 디스크, 하드 디스크, 임의기억장치 (RAM), 읽기 전용 기억 장치 (ROM), 소거 가능 프로그램 가능 읽기 전용 기억 장치 (EPROM 또는 플래시 메모리), 광섬유, 휴대용 컴팩트 디스크 읽기 전용 기억 장치 (CD-ROM), 광학 저장 장치, 자기 저장 장치 또는 이들의 임의의 적절한 조합을 포함할 수 있다.
사용자와의 인터랙션을 제공하기 위하여, 여기에 설명된 시스템 및 기술을 컴퓨터에서 실시할 수 있다. 이 컴퓨터는 사용자에게 정보를 표시하는 디스플레이 장치(예: CRT(음극선관) 또는 LCD(액정 디스플레이) 모니터) 및 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 위치 결정 장치(예를 들면, 마우스 또는 트랙볼)를 구비한다. 다른 유형의 장치도 사용자와의 인터랙션을 제공하기 위해 사용될 수 있다. 예를 들면, 사용자에게 제공되는 피드백은 모든 형태의 감지 피드백(예를 들면, 시각 피드백, 청각 피드백 또는 촉각 피드백) 일 수 있고, 모든 형태(소리 입력, 음성 입력 또는 촉각 입력을 포함)를 이용하여 사용자로부터의 입력을 접수할 수 있다.
여기에 설명된 시스템 및 기술을 백그라운드 부품을 포함하는 컴퓨팅 시스템(예를 들면, 데이터 서버로 함) 또는 미들웨어 부품을 포함하는 컴퓨팅 시스템(예를 들면, 애플리케이션 서버) 또는 프론트 엔드 부품을 포함하는 컴퓨팅 시스템(예를 들면, 그래픽 유저 인터페이스 또는 웹 브라우저를 가지고 있는 사용자 컴퓨터이며, 사용자가 상기 그래픽 유저 인터페이스 또는 웹 브라우저를 통하여 여기에 설명된 시스템 및 기술의 실시 형태과 인터랙션할 수 있다) 또는 이러한 백그라운드 부품, 미들웨어 부품, 또는 프런트 엔드 부품의 모든 조합을 포함하는 컴퓨팅 시스템에서 실시할 수 있다. 임의의 형식 또는 매체의 디지털 데이터 통신(예를 들면, 통신 네트워크)을 통해 시스템의 부품을 서로 연결할 수 있다. 통신 네트워크의 예로는 근거리 통신망(LAN), 광역 통신망(WAN) 및 인터넷을 포함한다. 통신 네트워크의 예로는 근거리 통신망(LAN), 광역 통신망(WAN) 및 인터넷을 포함한다. 통신 네트워크의 예로는 근거리 통신망(LAN), 광역 통신망(WAN) 및 인터넷을 포함한다.
컴퓨터 시스템은 클라이언트와 서버를 포함할 수 있다. 클라이언트와 서버는 일반적으로 서로 멀리 떨어져 있으며, 일반적으로 통신 네트워크를 통해 인터랙션한다. 클라이언트와 서버간의 관계는 해당 컴퓨터에서 실행되고 서로 클라이언트-서버 관계를 갖는 컴퓨터 프로그램에 의해 생성된다. 서버는 클라우드 컴퓨팅 서버 또는 클라우드 호스트라고도 하는 클라우드 서버일 수 있으며, 기존의 물리적 호스트와 VPS 서비스("Virtual Private Server", 또는 "VPS"로 간칭)중의 관리가 어렵고 업무 확장성이 약한 단점을 해결하기 위한 클라우드 컴퓨팅 서비스 시스템중의 하나의 호스트 제품이다. 서버는 분산 시스템의 서버일 수도 있고, 블록체인과 결합된 서버일 수도 있다.
본 개시의 기술 방안에서 언급된 사용자 개인 정보의 수집, 저장, 사용, 가공, 전송, 제공, 공개와 적용 등 처리는 모두 관련 법률과 법규의 규정에 부합되고 공서 양속을 위반하지 않는다.
본 개시의 기술방안에서, 사용자의 개인 정보를 획득하거나 수집하기 전에 모두 사용자의 권한 부여 또는 동의를 획득하였다. 위에 나타낸 다양한 형태의 흐름을 사용하여 동작을 다시 순서 배열, 추가 또는 삭제할 수 있음이 이해될 수 있다. 예를 들면, 본 출원에 기재된 각 동작은 본 개시에서 개시하는 기술 방안이 기대하는 결과를 구현할 수 있는 한, 병행하여 실행하거나 순차적으로 실행하거나 다른 순서로 실행할 수도 있으며, 본 명세서에서는 여기에 대해서 제한을 하지 않는다.
상술한 구체적인 실시방식은 본 출원의 청구범위에 대한 제한을 구성하지 않는다. 해당 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 설계 요구 및 기타 요소에 따라 다양한 수정, 조합, 서브 조합 및 대체를 진행할 수 있음이 이해될 수 있다. 본 출원의 정신과 원칙내에서 이루어진 모든 수정, 동등한 교체 및 개선 등은 본 출원의 청구범위내에 포함되어야 한다.

Claims (25)

  1. 목표 모델에 대해 실행 환경을 제공하기 위한, 대응되는 모델 추리 알고리즘 및 안전 검증 알고리즘을 포함하는 WASM 파일을 생성하는 것을 포함하며,
    여기서, 상기 안전 검증 알고리즘은,
    호스트 환경에 대하여 검증을 진행하는 것;
    상기 WASM 파일의 무결성에 대하여 검증을 진행하는 것;
    상기 목표 모델의 원 모델 파일에 대응하여 생성된 모델 파일의 무결성에 대하여 검증을 진행하는 것;
    모델 추리 과정에서 지정된 추리 과정에 대하여 타임아웃 검증을 진행하는 것;
    모델 추리 과정에서 지정된 추리 과정에 대하여 타임아웃 검증을 진행하는 것;
    모델 추리 과정에서 전체 추리 과정에 대하여 타임아웃 검증을 진행하는 것과 같은 안전 검증 동작 중의 적어도 하나를 실행하여 상기 목표 모델에 대한 보호를 구현하는 모델 보호 방법.
  2. 청구항 1에 있어서,
    상기 모델 파일을 암호화하여 암호화된 모델 파일을 얻는 것;
    상기 WASM 파일을 암호화하여 암호화된 WASM 파일을 얻는 것;
    상기 목표 모델의 모델 구성 정보를 암호화하여 암호화된 모델 구성 정보를 얻는 것;
    상기 목표 모델의 가중치 데이터를 암호화하여 암호화된 가중치 데이터를 얻는 것 중의 적어도 하나를 더 포함하며,
    여기서, 상기 WASM 파일에는 대응되는 복호화 알고리즘을 더 포함하며, 상기 복호화 알고리즘은 상기 암호화된 모델 파일, 상기 암호화된 모델 구성 정보, 상기 암호화된 가중치 데이터 중의 적어도 하나를 복호화하기 위한 것인 모델 보호 방법.
  3. 청구항 2에 있어서,
    복호화를 위한 키를 암호화하여 암호화된 키를 얻는 것을 더 포함하는 모델 보호 방법.
  4. 청구항 1 내지 청구항 3 중 어느 한 항에 있어서,
    상기 목표 모델에 대하여, 적어도 하나의 사용자 중의 각 사용자에게 하나의 액세스 키 식별자를 구성하는 것을 더 포함하는 모델 보호 방법.
  5. 목표 모델에 대응하여 생성된 모델 파일을 로딩하는 것;
    상기 목표 모델에 대해 실행 환경을 제공하기 위한 WASM 파일을 로딩하는 것;
    상기 WASM 파일의 인스턴스화 실행 중에서, 상기 모델 파일을 상기 실행 환경에 전달하여,
    호스트 환경에 대하여 검증을 진행하는 것,
    상기 WASM 파일의 무결성에 대하여 검증을 진행하는 것,
    상기 모델 파일의 무결성에 대하여 검증을 진행하는 것,
    모델 추리 과정에서 지정된 추리 과정에 대하여 타임아웃 검증을 진행하는 것,
    모델 추리 과정에서 전체 추리 과정에 대하여 타임아웃 검증을 진행하는 것과 같은 안전 검증 동작 중의 적어도 하나를 실행하여, 상기 목표 모델에 대하여 모델 보호 메커니즘을 작동시키는 것을 포함하는 모델 보호 방법.
  6. 청구항 5에 있어서,
    사용자의 권한 인증 통과에 응답하여, 상기 모델 파일과 상기 WASM 파일을 획득하고 로딩하는 모델 보호 방법.
  7. 청구항 5 또는 청구항 6에 있어서,
    상기 모델 파일 및/또는 상기 WASM 파일은 암호화된 파일인 모델 보호 방법.
  8. 청구항 7에 있어서,
    상기 WASM 파일의 인스턴스화 실행 중에서,
    기설정 안전 검증의 통과에 응답하여, 암호화된 모델 파일을 복호화하여, 복호화된 모델 파일을 얻는 것; 및
    상기 복호화된 모델 파일에 기반하여 모델 추리를 진행하는 것을 더 포함하는 모델 보호 방법.
  9. 청구항 8에 있어서,
    상기 기설정 안전 검증은 호스트 환경 검증, 모델 파일의 무결성 검증, WASM 파일의 무결성 검증 중의 적어도 하나를 포함하는 모델 보호 방법.
  10. 청구항 8에 있어서,
    상기 암호화된 모델 파일을 복호화하는 것은,
    복호화을 위한 암호화된 키를 획득하는 것;
    상기 암호화된 키를 복호화하여 복호화된 키를 얻는 것; 및
    상기 복호화된 키를 이용하여 상기 암호화된 모델 파일을 복호화하는 것을 포함하는 모델 보호 방법.
  11. 목표 모델에 대해 실행 환경을 제공하기 위한, 대응되는 모델 추리 알고리즘 및 안전 검증 알고리즘을 포함하는 WASM 파일을 생성하기 위한 생성 모듈을 포함하며,
    여기서, 상기 안전 검증 알고리즘은,
    호스트 환경에 대하여 검증을 진행하는 것;
    상기 WASM 파일의 무결성에 대하여 검증을 진행하는 것;
    상기 목표 모델의 원 모델 파일에 대응하여 생성된 모델 파일의 무결성에 대하여 검증을 진행하는 것;
    모델 추리 과정에서 지정된 추리 과정에 대하여 타임아웃 검증을 진행하는 것;
    모델 추리 과정에서 지정된 추리 과정에 대하여 타임아웃 검증을 진행하는 것;
    모델 추리 과정에서 전체 추리 과정에 대하여 타임아웃 검증을 진행하는 것과 같은 안전 검증 동작 중의 적어도 하나를 실행하여 상기 목표 모델에 대한 보호를 구현하는 모델 보호 장치.
  12. 청구항 11에 있어서,
    상기 모델 파일을 암호화하여 암호화된 모델 파일을 얻기 위한 제1 암호화 모듈;
    상기 WASM 파일을 암호화하여 암호화된 WASM 파일을 얻기 위한 제2 암호화 모듈;
    상기 목표 모델의 모델 구성 정보를 암호화하여 암호화된 모델 구성 정보를 얻기 위한 제3 암호화 모듈;
    상기 목표 모델의 가중치 데이터를 암호화하여 암호화된 가중치 데이터를 얻기 위한 제4 암호화 모듈 중의 적어도 하나를 더 포함하며,
    여기서, 상기 WASM 파일에는 대응되는 복호화 알고리즘을 더 포함하며, 상기 복호화 알고리즘은 상기 암호화된 모델 파일, 상기 암호화된 모델 구성 정보, 상기 암호화된 가중치 데이터 중의 적어도 하나를 복호화하기 위한 것인 모델 보호 장치.
  13. 청구항 12에 있어서,
    복호화를 위한 키를 암호화하여 암호화된 키를 얻기 위한 제5 암호화 모듈을 더 포함하는 모델 보호 장치.
  14. 청구항 11 내지 청구항 13 중 어느 한 항에 있어서,
    상기 목표 모델에 대해, 적어도 하나의 사용자 중의 각 사용자에게 하나의 액세스 키 식별자를 구성하기 위한 구성 모듈을 더 포함하는 모델 보호 장치.
  15. 목표 모델에 대응하여 생성된 모델 파일을 로딩하기 위한 제1 로딩 모듈;
    상기 목표 모델에 대해 실행 환경을 제공하기 위한 WASM 파일을 로딩하기 위한 제2 로딩 모듈;
    상기 WASM 파일의 인스턴스화 실행 중에서, 상기 모델 파일을 상기 실행 환경에 전달하여,
    호스트 환경에 대하여 검증을 진행하는 것,
    상기 WASM 파일의 무결성에 대하여 검증을 진행하는 것,
    상기 모델 파일의 무결성에 대하여 검증을 진행하는 것,
    모델 추리 과정에서 지정된 추리 과정에 대하여 타임아웃 검증을 진행하는 것;
    모델 추리 과정에서 전체 추리 과정에 대하여 타임아웃 검증을 진행하는 것과 같은 안전 검증 동작 중의 적어도 하나를 실행하여 상기 목표 모델에 대하여 모델 보호 메커니즘을 작동시키기 위한 안전 검증 모듈을 포함하는 모델 보호 장치.
  16. 청구항 15에 있어서,
    사용자의 권한 인증 통과에 응답하여, 상기 제1 로딩 모듈에 의해 상기 모델 파일을 획득하고 로딩하며, 상기 제2 로딩 모듈에 의해 상기 WASM 파일을 획득하고 로딩하는 모델 보호 장치.
  17. 청구항 15 또는 청구항 16에 있어서,
    상기 모델 파일 및/또는 상기 WASM 파일은 암호화된 파일인 모델 보호 장치.
  18. 청구항 17에 있어서,
    상기 WASM 파일의 인스턴스화 실행 중에서, 기설정 안전 검증의 통과에 응답하여, 암호화된 모델 파일을 복호화하여, 복호화된 모델 파일을 얻기 위한 복호화 모듈; 및
    상기 복호화된 모델 파일에 기반하여 모델 추리를 진행하기 위한 모듈 추리 모듈을 더 포함하는 모델 보호 장치.
  19. 청구항 18에 있어서,
    상기 기설정 안전 검증은, 호스트 환경 검증, 모델 파일의 무결성 검증, WASM 파일의 무결성 검증 중의 적어도 하나를 포함하는 모델 보호 장치.
  20. 청구항 18에 있어서,
    상기 복호화 모듈은,
    복호화을 위한 암호화된 키를 획득하기 위한 획득 유닛;
    상기 암호화된 키를 복호화하여 복호화된 키를 얻기 위한 제1 복호화 유닛; 및
    상기 복호화된 키를 이용하여 상기 암호화된 모델 파일을 복호화하기 위한 제2 복호화 유닛을 포함하는 모델 보호 장치.
  21. 적어도 하나의 프로세서; 및
    상기 적어도 하나의 프로세서와 통신 연결된 메모리를 포함하며, 여기서,
    상기 메모리는 적어도 하나의 프로세서에 의해 실행 가능한 명령어를 저장되어 있고, 상기 명령어는 적어도 하나의 프로세서에 의해 실행되어, 상기 적어도 하나의 프로세서로 하여금 청구항 1 내지 청구항 10 중 어느 한 항의 모델 보호 방법을 실행할 수 있게 하는 전자 기기.
  22. 컴퓨터로 하여금 청구항 1 내지 청구항 10 중 어느 한 항의 모델 보호 방법을 실행하게 하기 위한 컴퓨터 명령어가 저장되어 있는 비휘발성 컴퓨터 판독 가능 저장 매체.
  23. 프로세서에 의해 실행될 시에 청구항 1 내지 청구항 10 중 어느 한 항의 모델 보호 방법을 구현하는 컴퓨터 프로그램을 포함하는 컴퓨터 프로그램 제품.
  24. 클라이언트와 서버를 포함하고, 여기서,
    상기 클라이언트는 상기 서버에 모델 정보를 요청하고;
    상기 서버는 상기 클라이언트의 요청에 응답하여 대응되는 모델 정보를 피드백하고;
    상기 클라이언트는 상기 서버가 피드백한 모델 정보에 기반하여,
    목표 모델에 대응하여 생성된 모델 파일을 로딩하며;
    상기 목표 모델에 대해 실행 환경을 제공하기 위한 WASM 파일을 로딩하며;
    상기 WASM 파일을 인스턴스화 실행시키고, 상기 모델 파일을 상기 실행 환경에 전달하는 동작을 실행하고,
    여기서, 상기 WASM 파일의 인스턴스화 실행 중에서,
    호스트 환경에 대하여 검증을 진행하는 것;
    상기 WASM 파일의 무결성에 대하여 검증을 진행하는 것;
    상기 모델 파일의 무결성에 대하여 검증을 진행하는 것;
    모델 추리 과정에서 지정된 추리 과정에 대하여 타임아웃 검증을 진행하는 것;
    모델 추리 과정에서 지정된 추리 과정에 대하여 타임아웃 검증을 진행하는 것;
    모델 추리 과정에서 전체 추리 과정에 대하여 타임아웃 검증을 진행하는 것과 같은 안전 검증 동작 중의 적어도 하나를 실행하여 상기 목표 모델에 대하여 모델 보호 메커니즘을 작동하는 모델 보호 시스템.
  25. 청구항 24에 있어서,
    상기 클라이언트는 상기 서버에 모델 정보를 요청하기 전에 우선 상기 서버에 권한 인증 요청을 발송하며;
    상기 서버는 상기 클라이언트로부터의 권한 인증 요청에 응답하여, 권한 인증 동작을 실행하고 권한 인증 결과를 피드백하며; 그리고,
    상기 클라이언트는 상기 권한 인증 결과가 통과되었음을 나타탤 경우, 상기 서버에 모델 정보를 요청하는 모델 보호 시스템.
KR1020227033945A 2021-08-30 2022-03-22 모델 보호 방법과 장치, 전자 기기, 모델 보호 시스템, 저장 매체 및 컴퓨터 프로그램 KR20220140638A (ko)

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
KR20220140638A true KR20220140638A (ko) 2022-10-18

Family

ID=83804310

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227033945A KR20220140638A (ko) 2021-08-30 2022-03-22 모델 보호 방법과 장치, 전자 기기, 모델 보호 시스템, 저장 매체 및 컴퓨터 프로그램

Country Status (2)

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

Also Published As

Publication number Publication date
JP2023542574A (ja) 2023-10-11

Similar Documents

Publication Publication Date Title
KR102447251B1 (ko) 실링 엔클레이브로써의 데이터 실링해제
KR102510273B1 (ko) 실링 엔클레이브로써의 데이터 실링
KR102467687B1 (ko) 크로스-플랫폼 엔클레이브 신원
US20240126930A1 (en) Secure Collaboration Between Processors And Processing Accelerators In Enclaves
KR100996784B1 (ko) 공개 키 암호화에 기초한 데이터의 저장 및 검색을 위한, 컴퓨팅 장치에서 구현되는 방법, 시스템 및 복수의 명령어를 저장하는 하나 이상의 컴퓨터 판독가능 매체
KR102466793B1 (ko) 추상적 엔클레이브 신원
KR101067399B1 (ko) 대칭 키 암호화에 기초한 데이터의 저장 및 검색을 위한, 컴퓨팅 장치에서 구현되는 방법, 시스템 및 복수의 명령어를 저장하는 하나 이상의 컴퓨터 판독가능 매체
EP3962020B1 (en) Information sharing methods and systems
CN113438289A (zh) 基于云计算的区块链数据处理方法及装置
CN111741036A (zh) 一种可信数据传输方法、装置及设备
WO2023029447A1 (zh) 模型保护方法、装置、设备、系统以及存储介质
EP3962135B1 (en) Information sharing methods, apparatuses, and devices
CN109844748B (zh) 托管在虚拟安全环境中的安全服务的计算系统及方法
CN115580413B (zh) 一种零信任的多方数据融合计算方法和装置
Liu et al. $ LiveForen $: Ensuring Live Forensic Integrity in the Cloud
CN111859379A (zh) 保护数据模型的处理方法和装置
Khan et al. A protocol for preventing insider attacks in untrusted infrastructure-as-a-service clouds
Park et al. CAFE: A virtualization-based approach to protecting sensitive cloud application logic confidentiality
CN111831978A (zh) 一种对配置文件进行保护的方法及装置
CN115664668A (zh) 隐私数据处理方法及装置
KR20220140638A (ko) 모델 보호 방법과 장치, 전자 기기, 모델 보호 시스템, 저장 매체 및 컴퓨터 프로그램
US20240211609A1 (en) Method and system of protecting model, device, and storage medium
Severinsen Secure programming with intel sgx and novel applications
Ribeiro HCE Mobile Ticketing
CN116975912A (zh) 隐私数据保护系统、方法、设备及可读存储介质