KR102272928B1 - Operating method for machine learning model using encrypted data and apparatus based on machine learning model - Google Patents

Operating method for machine learning model using encrypted data and apparatus based on machine learning model Download PDF

Info

Publication number
KR102272928B1
KR102272928B1 KR1020180034980A KR20180034980A KR102272928B1 KR 102272928 B1 KR102272928 B1 KR 102272928B1 KR 1020180034980 A KR1020180034980 A KR 1020180034980A KR 20180034980 A KR20180034980 A KR 20180034980A KR 102272928 B1 KR102272928 B1 KR 102272928B1
Authority
KR
South Korea
Prior art keywords
machine learning
learning model
encrypted
signature
data
Prior art date
Application number
KR1020180034980A
Other languages
Korean (ko)
Other versions
KR20190112959A (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
Application filed by 서울대학교산학협력단 filed Critical 서울대학교산학협력단
Priority to KR1020180034980A priority Critical patent/KR102272928B1/en
Publication of KR20190112959A publication Critical patent/KR20190112959A/en
Application granted granted Critical
Publication of KR102272928B1 publication Critical patent/KR102272928B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Telephonic Communication Services (AREA)

Abstract

암호화 데이터를 이용하는 기계학습 모델 운영방법은 컴퓨터 장치가 입력데이터를 수신하는 단계, 상기 컴퓨터 장치가 입력데이터를 암호화하는 단계 및 상기 컴퓨터 장치가 상기 암호화된 입력데이터를 기계학습 모델에 입력하여 결과값을 생성하는 단계를 포함한다. 상기 기계학습 모델은 암호화된 입력 데이터를 이용하여 사전에 학습되는 모델이다.A machine learning model operating method using encrypted data includes the steps of: a computer device receiving input data; the computer device encrypting the input data; and the computer device inputting the encrypted input data into a machine learning model to obtain a result value. comprising the steps of creating The machine learning model is a model trained in advance using encrypted input data.

Figure R1020180034980
Figure R1020180034980

Description

암호화 데이터를 이용하는 기계학습 모델 운영방법 및 기계학습 모델 기반 장치{OPERATING METHOD FOR MACHINE LEARNING MODEL USING ENCRYPTED DATA AND APPARATUS BASED ON MACHINE LEARNING MODEL}A machine learning model operation method using encrypted data and a machine learning model-based device {OPERATING METHOD FOR MACHINE LEARNING MODEL USING ENCRYPTED DATA AND APPARATUS BASED ON MACHINE LEARNING MODEL}

이하 설명하는 기술은 기계학습 모델 운영 기법에 관한 것이다.The technology to be described below relates to a machine learning model operating technique.

최근 인공지능은 다양한 분야에서 딥러닝 기반 기법이 뛰어난 성능을 보이고 있다. 공유된 클라우드 서버가 학습된 모델을 생성하고, 모델을 사용하는 장치가 학습된 모델만을 네트워크를 통해 전달 받아 인공지능 관련 서비스를 수행할 수 있다. 예컨대, 개인 모바일 장치, 스마트 자동차 등과 같은 장치가 외부 객체로부터 수신한 학습된 모델을 이용하여 필요한 결과값을 생성할 수 있다.Recently, in artificial intelligence, deep learning-based techniques are showing excellent performance in various fields. A shared cloud server creates a trained model, and a device using the model receives only the trained model through the network to perform AI-related services. For example, a device such as a personal mobile device or a smart car may generate a necessary result value using a learned model received from an external object.

다만 공유된 환경에서 모델의 매개변수가 유출될 경우, 제3자가 설계된 인공지능 모델을 변경하거나, 변경된 모델을 제공하여 인공지능 시스템이 오동작하게 만들 수 있다. 또는 제3자가 악의적인 데이터를 이용하여 인공지능 시스템을 오동작하게 할 위험성이 존재한다. However, if the parameters of the model are leaked in the shared environment, the AI system may malfunction by changing the AI model designed by a third party or providing the changed model. Alternatively, there is a risk that a third party may use malicious data to cause the artificial intelligence system to malfunction.

유럽공개특허 EP3203679호European Patent Publication No. EP3203679

종래 기계학습 모델은 모델에 대한 무결성을 확인할 방법이 제한적이었다. Conventional machine learning models have limited methods to check the integrity of the model.

이하 설명하는 기술은 기계학습 모델에 각인된 서명(signature)을 이용하여 모델을 검증하는 방법을 제공하고자 한다. 이하 설명하는 기술은 암호화된 데이터를 입력데이터로 삼는 기계학습 모델을 제공하고자 한다.The technology to be described below is intended to provide a method of verifying a model using a signature imprinted on a machine learning model. The technology described below intends to provide a machine learning model that uses encrypted data as input data.

암호화 데이터를 이용하는 기계학습 모델 운영방법은 컴퓨터 장치가 입력데이터를 수신하는 단계, 상기 컴퓨터 장치가 입력데이터를 암호화하는 단계 및 상기 컴퓨터 장치가 상기 암호화된 입력데이터를 기계학습 모델에 입력하여 결과값을 생성하는 단계를 포함한다.A machine learning model operating method using encrypted data includes the steps of: a computer device receiving input data; the computer device encrypting the input data; and the computer device inputting the encrypted input data into a machine learning model to obtain a result value. comprising the steps of creating

암호화 데이터를 이용하는 기계학습 모델 기반 장치는 특정 공개키와 쌍을 이루는 보안키 및 입력데이터를 입력받는 입력장치, 암호화된 데이터를 이용하여 사전에 학습된 기계학습 모델을 저장하는 저장장치 및 상기 보안키를 사용하여 상기 입력데이터를 암호화하고, 상기 암호화한 입력데이터를 상기 기계학습 모델에 입력하여 결과값을 생성하는 연산장치를 포함한다. 상기 기계학습 모델은 암호화된 입력 데이터를 이용하여 사전에 학습되는 모델이다.A machine learning model-based device using encrypted data includes a security key paired with a specific public key, an input device for receiving input data, a storage device for storing a machine learning model learned in advance using the encrypted data, and the security key and an arithmetic unit for encrypting the input data using , and generating a result value by inputting the encrypted input data to the machine learning model. The machine learning model is a model trained in advance using encrypted input data.

이하 설명하는 기술은 전자 서명 기법으로 기계학습 모델을 검증하여, 모델 자체의 위조 내지 변조를 방지한다. 또한 이하 설명하는 기술은 암호화된 데이터를 입력값으로 삼는 기계학습 모델을 이용하여 데이터 위조 내지 변조를 방지할 수 있다. 이하 설명하는 기술을 적용하면 안전성이 필수적인 자율주행 자동차, 전력망 시스템 등에 안정적인 인공지능 서비스를 제공할 수 있다.The technology to be described below verifies a machine learning model with an electronic signature technique to prevent forgery or falsification of the model itself. In addition, the technology described below can prevent data forgery or falsification by using a machine learning model that takes encrypted data as an input value. By applying the technology described below, it is possible to provide stable artificial intelligence services to autonomous vehicles and power grid systems, where safety is essential.

도 1은 기계학습에 기반한 인공지능 서비스에 대한 예이다.
도 2는 기계학습에 기반한 인공지능 시스템에 대한 예이다.
도 3은 서비스 장치에 대한 예이다.
도 4는 기계학습 기반 네트워크 서비스에 대한 절차 흐름도의 예이다.
도 5는 기계학습 기반 장치에 대한 절차 흐름도의 예이다.
1 is an example of an artificial intelligence service based on machine learning.
2 is an example of an artificial intelligence system based on machine learning.
3 is an example of a service device.
4 is an example of a procedure flow diagram for a machine learning-based network service.
5 is an example of a procedure flow diagram for a machine learning-based device.

이하 설명하는 기술은 다양한 변경을 가할 수 있고 여러 가지 실시례를 가질 수 있는 바, 특정 실시례들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 이하 설명하는 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 이하 설명하는 기술의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.The technology to be described below may have various changes and may have various embodiments, and specific embodiments will be illustrated in the drawings and described in detail. However, this is not intended to limit the technology described below to specific embodiments, and it should be understood to include all changes, equivalents, or substitutes included in the spirit and scope of the technology described below.

제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 해당 구성요소들은 상기 용어들에 의해 한정되지는 않으며, 단지 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 이하 설명하는 기술의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.Terms such as first, second, A, and B may be used to describe various components, but the components are not limited by the above terms, and only for the purpose of distinguishing one component from other components. used only as For example, a first component may be named as a second component, and similarly, a second component may also be named as a first component without departing from the scope of the technology to be described below. and/or includes a combination of a plurality of related listed items or any of a plurality of related listed items.

본 명세서에서 사용되는 용어에서 단수의 표현은 문맥상 명백하게 다르게 해석되지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함한다" 등의 용어는 설명된 특징, 개수, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 의미하는 것이지, 하나 또는 그 이상의 다른 특징들이나 개수, 단계 동작 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 배제하지 않는 것으로 이해되어야 한다.In terms of terms used herein, the singular expression should be understood to include the plural expression unless the context clearly dictates otherwise, and terms such as "comprises" refer to the described feature, number, step, operation, element. , parts or combinations thereof are to be understood, but not to exclude the possibility of the presence or addition of one or more other features or numbers, step operation components, parts or combinations thereof.

도면에 대한 상세한 설명을 하기에 앞서, 본 명세서에서의 구성부들에 대한 구분은 각 구성부가 담당하는 주기능 별로 구분한 것에 불과함을 명확히 하고자 한다. 즉, 이하에서 설명할 2개 이상의 구성부가 하나의 구성부로 합쳐지거나 또는 하나의 구성부가 보다 세분화된 기능별로 2개 이상으로 분화되어 구비될 수도 있다. 그리고 이하에서 설명할 구성부 각각은 자신이 담당하는 주기능 이외에도 다른 구성부가 담당하는 기능 중 일부 또는 전부의 기능을 추가적으로 수행할 수도 있으며, 구성부 각각이 담당하는 주기능 중 일부 기능이 다른 구성부에 의해 전담되어 수행될 수도 있음은 물론이다.Prior to a detailed description of the drawings, it is intended to clarify that the classification of the constituent parts in the present specification is merely a division according to the main function that each constituent unit is responsible for. That is, two or more components to be described below may be combined into one component, or one component may be divided into two or more for each more subdivided function. In addition, each of the constituent units to be described below may additionally perform some or all of the functions of the other constituent units in addition to the main function it is responsible for, and may additionally perform some or all of the functions of the other constituent units. Of course, it may be carried out by being dedicated to it.

또, 방법 또는 동작 방법을 수행함에 있어서, 상기 방법을 이루는 각 과정들은 문맥상 명백하게 특정 순서를 기재하지 않은 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 과정들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.In addition, in performing the method or the method of operation, each process constituting the method may occur differently from the specified order unless a specific order is clearly described in context. That is, each process may occur in the same order as specified, may be performed substantially simultaneously, or may be performed in the reverse order.

이하 설명하는 기술은 기계학습(Machine learning)을 이용하여 특정 서비스를 제공하는 장치 내지 시스템에 적용된다. 기계학습은 소위 인공지능이라는 기술을 구현하는 방법론에 해당한다. 기계학습은 다양한 알고리즘이 연구되고 있다. 기계학습은 딥러닝(deep learning), 각종 인공신경망, 강화학습법, 베이즈 네트워크 등 다양한 접근법을 포함하는 의미이다. 이하 설명하는 기술은 알고리즘의 종류에 관계없이 적용가능한 기법에 해당한다. The technology to be described below is applied to a device or system that provides a specific service using machine learning. Machine learning corresponds to a methodology for implementing the so-called artificial intelligence technology. In machine learning, various algorithms are being studied. Machine learning is meant to include various approaches such as deep learning, various artificial neural networks, reinforcement learning methods, and Bayesian networks. The techniques described below correspond to techniques applicable regardless of the type of algorithm.

기계학습 모델은 사전에 훈련 데이터를 이용하여 학습된다. 일반적으로 기계학습 모델이라고 하면 이미 훈련된 모델을 의미한다. 컴퓨터 장치가 기계학습 모델을 이용하여 특정한 인공지능 서비스를 제공한다. 컴퓨터 장치는 입력데이터를 기계학습 모델에 적용하여 일정한 결과데이터(값)를 출력한다. 컴퓨터 장치는 일반적으로 프로그램 내지 기계학습 모델을 저장하는 저장 매체 및 프로그램이나 명령을 수행하기 위한 프로세서를 포함한다. 컴퓨터 장치는 프로그램이 가능한 프로세서로 구현될 수도 있다. 컴퓨터 장치는 물리적으로 다양한 형태로 구현될 수 있다. 예컨대, 컴퓨터 장치는 PC, 모바일 장치(스마트폰 등), 웨어러블 기기 등과 같이 개인이 이용하는 장치 형태로 구현될 수 있다. 또 컴퓨터 장치는 네트워크에서 일정한 서비스를 제공하는 서버와 같은 형태로 구현될 수 있다. 또 컴퓨터 장치는 특정 기능을 수행하는 장치(자동차, 전자제품 등)와 같은 형태로 구현될 수도 있다. 이하 컴퓨터 장치가 기계학습 모델을 이용하여 특정 서비스를 제공한다고 설명한다.Machine learning models are trained using training data in advance. In general, when we say machine learning model, we mean a model that has already been trained. A computer device provides a specific artificial intelligence service using a machine learning model. The computer device applies input data to the machine learning model and outputs certain result data (values). A computer device generally includes a storage medium for storing a program or a machine learning model, and a processor for executing the program or instructions. The computer device may be implemented as a programmable processor. The computer device may be physically implemented in various forms. For example, the computer device may be implemented in the form of a device used by an individual, such as a PC, a mobile device (smartphone, etc.), a wearable device, and the like. Also, the computer device may be implemented in the form of a server that provides a certain service in a network. In addition, the computer device may be implemented in the form of a device that performs a specific function (such as an automobile or an electronic product). Hereinafter, it will be described that a computer device provides a specific service using a machine learning model.

도 1은 기계학습에 기반한 인공지능 서비스에 대한 예이다. 1 is an example of an artificial intelligence service based on machine learning.

도 1(A)는 네트워크 상에 존재하는 서버를 이용하여 인공지능 서비스를 제공하는 예이다. 사용자 단말(10)은 입력 데이터를 생성하거나 입력받는다. 입력데이터는 신경망과 같은 기계학습 모델에 입력되는 값을 의미한다. 서비스 서버(20)는 사용자 단말(10)로부터 초기 입력데이터를 수신한다. 서비스 서버(20)는 입력데이터를 암호화하고, 암호화된 입력데이터를 기계학습 모델에 입력한다. 서비스 서버(20)는 기계학습 모델의 출력값 또는 출력값을 분석한 정보를 결과데이터로 사용자 단말(10)에 전송한다. 모델 제공 장치(30)는 서비스 서버(20)에 기계학습 모델을 제공한다. 모델 제공 장치(30)는 사전에 기계학습 모델을 학습하여 생성한다. 모델 제공 장치(30)는 네트워크에 연결되어 기계학습 모델을 전송한다. 모델 제공 장치(30)는 인공지능 서비스를 제공하는 사업자(제공자)가 운영한다. 모델 제공 장치(30)는 PC 또는 서버와 같은 장치일 수 있다.1(A) is an example of providing an artificial intelligence service using a server existing on a network. The user terminal 10 generates or receives input data. The input data means a value input to a machine learning model such as a neural network. The service server 20 receives initial input data from the user terminal 10 . The service server 20 encrypts the input data, and inputs the encrypted input data to the machine learning model. The service server 20 transmits the output value of the machine learning model or information obtained by analyzing the output value to the user terminal 10 as result data. The model providing device 30 provides a machine learning model to the service server 20 . The model providing device 30 learns and generates a machine learning model in advance. The model providing device 30 is connected to a network and transmits a machine learning model. The model providing device 30 is operated by a business operator (provider) that provides an artificial intelligence service. The model providing device 30 may be a device such as a PC or a server.

도 1(B)는 인공지능 서비스를 제공하는 단일 장치에 대한 예이다. 도 1(B)는 자동차를 예로 도시하였다. 인공지능 서비스를 제공하는 장치를 서비스 장치(50)라고 명명한다. 전술한 바와 같이 모델 제공 장치(60)는 서비스 장치(50)에 기계학습 모델을 제공한다. 모델 제공 장치(60)가 마련한 기계학습 모델은 유선 또는 무선 네트워크를 통해 서비스 장치(50)에 전송될 수 있다. 또는 서비스 장치(50)는 휴대형 저장 매체(USB, SD 카드, 포터블 하드디스크 등)로부터 기계학습 모델을 유선 인터페이스를 통해 수신할 수도 있다. 서비스 장치(50)는 키 저장 장치(55)로부터 암호화를 위한 보안키(secret key)를 수신할 수 있다. 도 1(B)에서 키 저장 장치(55)는 자동차의 스마트키를 예로 도시하였다. 이 경우 사용자가 키 저장 장치(55)를 서비스 장치(50, 자동차)에 삽입하거나, 또는 근거리에 접근하면 무선으로 보안키가 서비스 장치(50)에 전송될 수 있다. 나아가 서비스 장치(50)는 별도의 키 저장 장치(55) 없이 저장 매체에 보안키를 보유할 수도 있다. 서비스 장치(50)는 자동차에서 생성되는 특정 데이터를 보안키로 암호화하고, 암호화된 데이터를 기계학습 모델에 입력하여 특정한 결과 데이터를 생성할 수 있다.1(B) is an example of a single device that provides an artificial intelligence service. 1(B) shows an automobile as an example. A device providing an artificial intelligence service is called a service device 50 . As described above, the model providing device 60 provides a machine learning model to the service device 50 . The machine learning model prepared by the model providing device 60 may be transmitted to the service device 50 through a wired or wireless network. Alternatively, the service device 50 may receive the machine learning model from a portable storage medium (USB, SD card, portable hard disk, etc.) through a wired interface. The service device 50 may receive a secret key for encryption from the key storage device 55 . 1(B), the key storage device 55 is illustrated as an example of a smart key of a car. In this case, when the user inserts the key storage device 55 into the service device 50 (car) or approaches the service device 50 , the security key may be wirelessly transmitted to the service device 50 . Furthermore, the service device 50 may retain the security key in a storage medium without a separate key storage device 55 . The service device 50 may encrypt specific data generated in the vehicle with a security key, and may generate specific result data by inputting the encrypted data into the machine learning model.

도 2는 기계학습에 기반한 인공지능 시스템(1000)에 대한 예이다. 인공지능 시스템(1000)은 서비스 장치(100) 및 모델 제공 장치(200)를 포함한다. 도 2는 기계학습 모델을 이용한 서비스 제공 과정에 대한 예이다. 2 is an example of an artificial intelligence system 1000 based on machine learning. The artificial intelligence system 1000 includes a service device 100 and a model providing device 200 . 2 is an example of a service provision process using a machine learning model.

서비스 장치(100)는 전술한 서비스 서버(20) 또는 서비스 장치(50)에 해당할 수 있다. 도 2의 서비스 장치(100)에서 상단 점선 블록은 접근 가능 영역(accessible region)이다. 예컨대, 접근 가능 영역은 인터넷과 같은 외부 네트워크와 연결되어 데이터 내지 정보를 입력받을 수 있는 영역일 수 있다. 도 2의 서비스 장치(100)에서 하단 점선 블록은 접근 불가능 영역(inaccessible region)이다. 예컨대, 접근 불가능 영역은 외부에서 접속할 수 없는 인트라넷 영역일 수 있다.The service device 100 may correspond to the service server 20 or the service device 50 described above. In the service device 100 of FIG. 2 , an upper dotted line block is an accessible region. For example, the accessible area may be an area through which data or information can be input by being connected to an external network such as the Internet. In the service device 100 of FIG. 2 , a lower dotted line block is an inaccessible region. For example, the inaccessible area may be an intranet area that cannot be accessed from the outside.

서비스 장치(100)는 암호부(110), 모델부(120), 검증부(130) 및 업데이트부(140)를 포함한다. 도 2는 서비스 장치(100) 구현을 위한 모든 구성을 도시하는 것은 아니고, 설명을 위하여 기능적 구성을 도시한다. 입력데이터(data)가 입력되면, 암호부(110)가 보안키(sk)를 이용하여 입력데이터를 암호화한다. 보안키는 공개키 암호화 방식에서 공개키(public key, pk)와 짝을 이루는 키를 의미한다. 즉 보안키는 기본적으로 서비스 장치(100)와 모델 제공 장치(200)만이 알고 있는 비밀키이다. The service device 100 includes an encryption unit 110 , a model unit 120 , a verification unit 130 , and an update unit 140 . FIG. 2 does not show all configurations for implementing the service device 100, but shows functional configurations for explanation. When the input data (data) is input, the encryption unit 110 encrypts the input data using the security key (sk). The security key means a key paired with the public key (pk ) in the public key encryption method. That is, the security key is basically a secret key that only the service device 100 and the model providing device 200 know.

모델부(120)는 암호화된 데이터 Esk(data)를 기계학습 모델에 입력하여 일정한 결과값을 출력한다. 검증부(130)는 전자 서명을 검증하여 현재 이용하고자 하는 모델이 무결성을 검증한다. 즉, 검증부(130)는 기계학습 모델이 모델 제공 장치(200)가 제공한 본래의 모델이 맞는지 검증한다. 검증부(130)는 공개키(pk)를 이용하여 서명을 검증한다. 서명은 모델의 무결성을 증명할 수 있는 정보로서, 기계학습 모델에 각인된 형태일 수 있다. 여기서 각인이란 서명이 기계학습 모델에 포함되는 것을 의미한다. 이때 서명은 기계학습 모델의 기능이나 성능에 영향을 주지 않는 별도의 영역에 저장되어야 한다. 또는 서명은 기계학습 모델과 별도로 제공될 수도 있다. 서명은 보안키(sk)를 이용하여 암호화된 정보이다. 서명에 이용되는 정보는 다양할 수 있다. 업데이트부(140)는 모델 제공 장치(200)가 제공하는 기계학습 모델을 모델부(130)에 전달한다.The model unit 120 inputs the encrypted data E sk (data) to the machine learning model and outputs a constant result value. The verification unit 130 verifies the integrity of the currently used model by verifying the electronic signature. That is, the verification unit 130 verifies whether the machine learning model is the original model provided by the model providing apparatus 200 . The verification unit 130 verifies the signature using the public key pk. The signature is information that can prove the integrity of the model, and may be in the form of being imprinted on the machine learning model. Here, imprint means that the signature is included in the machine learning model. At this time, the signature should be stored in a separate area that does not affect the function or performance of the machine learning model. Alternatively, the signature may be provided separately from the machine learning model. The signature is information encrypted using the security key ( sk ). The information used for the signature may vary. The update unit 140 transmits the machine learning model provided by the model providing device 200 to the model unit 130 .

모델 제공 장치(200)는 서비스 장치(100)에서 이용하는 기계학습 모델을 학습하고 생성한다. 모델 제공 장치(200)는 키 생성기(210) 및 모델 생성부(220)를 포함하다. 키 생성기(210)는 기계학습 모델에 입력된 입력데이터를 암호화하는 보안키를 생성한다. 또 키 생성기(210)는 보안키에 대응되는 공개키를 생성할 수도 있다. 보안키가 마련되면 모델 생성부(220)는 보안키로 암호화된 데이터를 이용하여 기계학습 모델을 학습한다. 학습이 완료되면 모델 제공 장치(200)는 기계 학습 모델을 서비스 장치(100)에 제공한다. 모델 제공 장치(200)는 현재 서비스 장치(100)가 이용하는 기계 학습 모델을 새롭게 업데이트할 수 있다. 이 경우 모델 제공 장치(200)는 업데이트한 모델(M(update))을 서비스 장치(100)에 제공한다. 업데이트부(140)는 모델 제공 장치(200)가 제공한 모델을 수신하고, 수신한 모델을 모델부(130)에 제공한다. 이때 검증부(130)는 새로운 기계학습 모델을 검증할 수 있다.The model providing apparatus 200 learns and generates a machine learning model used by the service apparatus 100 . The model providing apparatus 200 includes a key generator 210 and a model generator 220 . The key generator 210 generates a security key for encrypting input data input to the machine learning model. In addition, the key generator 210 may generate a public key corresponding to the security key. When the security key is prepared, the model generator 220 learns the machine learning model using data encrypted with the security key. When learning is completed, the model providing apparatus 200 provides the machine learning model to the service apparatus 100 . The model providing apparatus 200 may newly update the machine learning model currently used by the service apparatus 100 . In this case, the model providing apparatus 200 provides the updated model M (update) to the service apparatus 100 . The update unit 140 receives the model provided by the model providing device 200 , and provides the received model to the model unit 130 . In this case, the verification unit 130 may verify the new machine learning model.

도 3은 서비스 장치(300)에 대한 예이다. 서비스 장치(300)는 기계학습 모델을 이용하여 인공지능 서비스를 제공하는 장치이다. 서비스 장치(300)는 전술한 컴퓨터 장치이다. 예컨대, 서비스 장치(300)는 도 1에서 설명한 서비스 서버(20) 또는 서비스 장치(50)일 수 있다. 도 3은 서비스 장치에 대한 물리적 구성을 도시한 예이다. 서비스 장치(300)는 통신장치(310), 입력장치(320), 저장장치(330) 및 연산장치(340)를 포함한다. 3 is an example of a service device 300 . The service device 300 is a device that provides an artificial intelligence service using a machine learning model. The service device 300 is the aforementioned computer device. For example, the service device 300 may be the service server 20 or the service device 50 described with reference to FIG. 1 . 3 is an example illustrating a physical configuration of a service device. The service device 300 includes a communication device 310 , an input device 320 , a storage device 330 , and an arithmetic device 340 .

통신장치(310)는 네트워크를 통해 외부 객체로부터 일정한 정보 내지 데이터를 수신한다. 또 통신장치(310)는 서비스 장치(300)가 생성한 특정 정보를 외부 객체로 전송할 수도 있다. 예컨대, 통신장치(310)는 모델 제공 장치로부터 기계학습 모델을 수신할 수 있다. 통신장치(310)는 모델 제공 장치 또는 다른 객체로부터 보안키(sk) 내지 공유키(pk)를 수신할 수도 있다. 통신장치(310)는 유선 또는 무선 통신프로토콜을 지원하는 장치이다.The communication device 310 receives certain information or data from an external object through a network. Also, the communication device 310 may transmit specific information generated by the service device 300 to an external object. For example, the communication device 310 may receive the machine learning model from the model providing device. The communication device 310 may receive a security key ( sk ) or a shared key ( pk ) from a model providing device or another object. The communication device 310 is a device supporting a wired or wireless communication protocol.

입력장치(320)는 일정한 데이터를 입력받는 장치이다. 입력장치(320)는 주로 기계학습 모델에 입력된 입력데이터를 입력받거나, 획득하는 장치에 해당한다. 입력장치(320)는 사용자로부터 추가적인 명령이 정보를 입력받는 인터페이스 장치일 수도 있다. 입력장치(320)는 장치의 내부 통신을 지원하는 인터페이스 장치일 수도 있다. 예컨대, 자동차라면 버스(bus)를 구성하는 노드 및 통신 인터페이스일 수도 있다.The input device 320 is a device that receives predetermined data. The input device 320 mainly corresponds to a device for receiving or acquiring input data input to the machine learning model. The input device 320 may be an interface device for receiving additional command information from the user. The input device 320 may be an interface device supporting internal communication of the device. For example, if it is a car, it may be a node constituting a bus and a communication interface.

저장장치(330)는 기계학습 모델을 저장한다. 저장장치(330)는 부가적으로 기계학습 모델을 출력값, 보안키 등을 저장할 수도 있다. The storage device 330 stores the machine learning model. The storage device 330 may additionally store an output value of the machine learning model, a security key, and the like.

연산장치(340)는 입력데이터를 보안키로 암호화한다. 연산장치(340)는 암호화된 입력데이터를 기계학습 모델에 입력하여 특정한 정보를 생성한다. 또 연산장치(340)는 공개키로 기계학습 모델의 서명을 검증할 수도 있다. 연산장치(340)는 모델 제공 장치가 제공하는 새로운 기계학습 모델을 저장 장치(330) 저장하여 설치하는 과정을 담당할 수도 있다.The arithmetic unit 340 encrypts the input data with a security key. The computing device 340 generates specific information by inputting the encrypted input data to the machine learning model. In addition, the computing device 340 may verify the signature of the machine learning model with the public key. The computing device 340 may be responsible for the process of storing and installing a new machine learning model provided by the model providing device in the storage device 330 .

도 4는 기계학습 기반 네트워크 서비스에 대한 절차(400) 흐름도의 예이다. 도 4는 도 1(A)와 같은 서비스 모델에 대한 예이다. 설명의 편의를 위해 도 1(A)의 서비스 장치(서비스 서버)를 예로 든 것이고, 다른 서비스 장치에도 동일한 동작을 수행할 수 있다.4 is an example of a flow diagram of a procedure 400 for a machine learning-based network service. 4 is an example of a service model as in FIG. 1(A). For convenience of explanation, the service device (service server) of FIG. 1A is taken as an example, and the same operation may be performed on other service devices.

도 4는 크게 3가지 동작을 도시한다. A로 표시한 블록은 서비스를 위한 서비스 장치가 기계학습 모델을 저장하는 과정이다. B로 표시한 블록은 서비스 장치가 기계학습 모델을 이용하여 특정한 인공지능 서비스를 제공하는 과정이다. C로 표시한 블록은 서비스 장치가 기계학습 모델을 업데이트하는 과정이다. 이하 순서대로 각 과정을 설명한다.4 shows three main operations. The block marked with A is the process of storing the machine learning model by the service device for the service. The block indicated by B is the process in which the service device provides a specific artificial intelligence service using a machine learning model. The block marked with C is the process of the service device updating the machine learning model. Each process will be described in order below.

모델 제공 장치(30)는 기계학습 모델을 생성한다(401). 모델 제공 장치(30)는 보안키(sk)로 암호화된 데이터를 이용하여 기계학습 모델을 학습하여 마련한다. 모델 제공 장치(30)는 마련한 기계학습 모델을 서비스 서버(20)에 제공한다(402). 모델 제공 장치(30)는 보안키(sk)로 암호화된 서명을 생성한다. 모델 제공 장치(30)는 서명을 기계학습 모델에 저장(각인)할 수 있다. 모델 제공 장치(30)는 특정 서비스 서버마다 서로 다른 보안키를 사용하여 서비스 서버 특이적인 기계학습 모델을 제공할 수 있다.The model providing device 30 generates a machine learning model ( 401 ). The model providing device 30 is prepared by learning the machine learning model using the data encrypted with the security key (sk). The model providing device 30 provides the prepared machine learning model to the service server 20 ( 402 ). The model providing device 30 generates an encrypted signature with a security key (sk). The model providing device 30 may store (imprint) the signature in the machine learning model. The model providing device 30 may provide a service server-specific machine learning model by using a different security key for each specific service server.

서비스 서버(20)는 먼저 기계학습 모델에 포함된 또는 기계학습 모델과 동시에 전송된 서명(전자 서명)을 검증한다(411). 서비스 서버(20)는 공개키(pk)로 서명을 복호하여 서명을 검증한다. 서비스 서버(20)는 서명을 검증하기 위한 참조 데이터를 사전에 보유해야 한다. 서비스 서버(20)는 참조 데이터와 서명을 복호한 데이터를 비교하여 검증을 수행한다. 참조 데이터와 서명을 복호한 데이터가 동일하면 검증이 성공한 것이다. 서비스 서버(20)는 모델 제공 장치(30)가 제공한 기계학습 모델을 저장한다(412). The service server 20 first verifies a signature (electronic signature) included in the machine learning model or transmitted simultaneously with the machine learning model ( 411 ). The service server 20 verifies the signature by decrypting the signature with the public key (pk). The service server 20 should retain reference data for verifying the signature in advance. The service server 20 performs verification by comparing the reference data with the data obtained by decrypting the signature. If the reference data and the data obtained by decrypting the signature are identical, the verification is successful. The service server 20 stores the machine learning model provided by the model providing device 30 ( 412 ).

사용자 단말(10)은 데이터를 입력한다(421). 사용자 단말(10)은 입력데이터를 서비스 서버(20)에 전송한다. 서비스 서버(20)는 기계학습 모델을 이용하기 전에 전자 서명을 검증할 수 있다(431). 검증이 성공하면, 서비스 서버(20)는 보안키(sk)로 입력데이터를 암호화한다(441). 서비스 서버(20)는 암호화된 입력데이터를 기계학습 모델에 적용한다(442). 서비스 서버(20)는 기계학습 모델에서 출력되는 결과값을 사용자 단말(10)에 전송할 수 있다(443).The user terminal 10 inputs data ( 421 ). The user terminal 10 transmits input data to the service server 20 . The service server 20 may verify the electronic signature before using the machine learning model ( 431 ). If the verification is successful, the service server 20 encrypts the input data with the security key (sk) (441). The service server 20 applies the encrypted input data to the machine learning model ( 442 ). The service server 20 may transmit a result value output from the machine learning model to the user terminal 10 ( 443 ).

도 4는 사용자 단말(10)이 입력데이터를 전송하는 예를 도시하였다. 도 4의 흐름과는 다르게 서비스 서버(20) 또는 다른 서비스 장치가 입력데이터를 곧바로 입력받거나, 별도의 장치로부터 입력데이터를 수신하여 도 4와 같은 동작을 수행할 수도 있다.4 illustrates an example in which the user terminal 10 transmits input data. Unlike the flow of FIG. 4 , the service server 20 or another service device may directly receive input data or may receive input data from a separate device to perform the operation shown in FIG. 4 .

모델 제공 장치(30)는 현재 서비스 서버(20)가 사용하는 기계학습 모델을 업데이트할 수 있다. 예컨대, 모델 제공 장치(30)는 새로운 보안키 및 공유키를 생성할 수 있다(451). 또 모델 제공 장치(30)는 새로온 보안키로 암호화된 데이터를 사용하여 기계학습 모델을 학습하여 생성한다(452). 모델 제공 장치(30)는 업데이트된 새로운 기계학습 모델을 서비스 서버(20)에 전송한다(453). 이때 모델 제공 장치(30)는 새로운 암호키로 암호화한 서명을 생성할 수 있다. The model providing device 30 may update the machine learning model currently used by the service server 20 . For example, the model providing device 30 may generate a new security key and a shared key (451). In addition, the model providing device 30 generates by learning a machine learning model using the data encrypted with the new security key (452). The model providing device 30 transmits the updated new machine learning model to the service server 20 ( 453 ). In this case, the model providing device 30 may generate a signature encrypted with a new encryption key.

서비스 서버(20)는 먼저 기계학습 모델에 포함된 또는 기계학습 모델과 동시에 전송된 서명(전자 서명)을 검증한다(461). 서비스 서버(20)는 새로운 공개키로 서명을 복호하여 서명을 검증한다. 이를 위해 서비스 서버(20)는 사전에 새로운 보안키 및 공개키를 획득해야 한다. 서비스 서버(20)는 모델 제공 장치(30)로부터 새로운 보안키 및 공개키를 수신할 수도 있다. 서비스 서버(20)는 참조 데이터와 서명을 복호한 데이터를 비교하여 검증을 수행한다. 서비스 서버(20)는 모델 제공 장치(30)가 제공한 새로운 기계학습 모델을 저장한다(462). The service server 20 first verifies a signature (electronic signature) included in the machine learning model or transmitted simultaneously with the machine learning model ( 461 ). The service server 20 verifies the signature by decrypting the signature with the new public key. To this end, the service server 20 must acquire a new security key and a public key in advance. The service server 20 may receive a new security key and a public key from the model providing device 30 . The service server 20 performs verification by comparing the reference data with the data obtained by decrypting the signature. The service server 20 stores the new machine learning model provided by the model providing device 30 (462).

도 5는 기계학습 기반 장치에 대한 절차 흐름도(500)의 예이다. 도 5는 도 1(B)와 같은 서비스 모델에 대한 예이다. 설명의 편의를 위해 도 1(B)의 서비스 장치(50)를 예로 든 것이고, 다른 서비스 장치에도 동일한 동작을 수행할 수 있다.5 is an example of a procedure flow diagram 500 for a machine learning-based device. FIG. 5 is an example of a service model as shown in FIG. 1(B). For convenience of explanation, the service device 50 of FIG. 1B is taken as an example, and the same operation may be performed on other service devices.

도 5는 크게 3가지 동작을 도시한다. A로 표시한 블록은 서비스를 위한 서비스 장치가 기계학습 모델을 저장하는 과정이다. B로 표시한 블록은 서비스 장치가 기계학습 모델을 이용하여 특정한 인공지능 서비스를 제공하는 과정이다. C로 표시한 블록은 서비스 장치가 기계학습 모델을 업데이트하는 과정이다. 이하 순서대로 각 과정을 설명한다.5 shows three main operations. The block marked with A is the process of storing the machine learning model by the service device for the service. The block indicated by B is the process in which the service device provides a specific artificial intelligence service using a machine learning model. The block marked with C is the process of the service device updating the machine learning model. Each process will be described in order below.

모델 제공 장치(60)는 기계학습 모델을 생성한다(501). 모델 제공 장치(60)는 보안키(sk)로 암호화된 데이터를 이용하여 기계학습 모델을 학습하여 마련한다. 모델 제공 장치(60)는 마련한 기계학습 모델을 서비스 장치(50)에 제공한다(502). 모델 제공 장치(60)는 보안키(sk)로 암호화된 서명을 생성한다. 모델 제공 장치(60)는 서명을 기계학습 모델에 저장(각인)할 수 있다. 모델 제공 장치(60)는 특정 서비스 장치마다 서로 다른 보안키를 사용하여 서비스 장치 특이적인 기계학습 모델을 제공할 수 있다.The model providing device 60 generates a machine learning model ( 501 ). The model providing device 60 learns and prepares a machine learning model using data encrypted with the security key ( sk ). The model providing device 60 provides the prepared machine learning model to the service device 50 ( 502 ). The model providing device 60 generates an encrypted signature with a security key (sk). The model providing device 60 may store (imprint) the signature in the machine learning model. The model providing device 60 may provide a service device-specific machine learning model by using a different security key for each specific service device.

서비스 장치(50)는 먼저 기계학습 모델에 포함된 또는 기계학습 모델과 동시에 전송된 서명(전자 서명)을 검증한다(511). 서비스 장치(50)는 공개키(pk)로 서명을 복호하여 서명을 검증한다. 서비스 장치(50)는 서명을 검증하기 위한 참조 데이터를 사전에 보유해야 한다. 서비스 장치(50)는 참조 데이터와 서명을 복호한 데이터를 비교하여 검증을 수행한다. 참조 데이터와 서명을 복호한 데이터가 동일하면 검증이 성공한 것이다. 서비스 장치(50)는 모델 제공 장치(60)가 제공한 기계학습 모델을 저장한다(512). The service device 50 first verifies a signature (electronic signature) included in the machine learning model or transmitted simultaneously with the machine learning model ( 511 ). The service device 50 verifies the signature by decrypting the signature with the public key pk. The service device 50 must have reference data for verifying the signature in advance. The service device 50 performs verification by comparing the reference data with the data obtained by decrypting the signature. If the reference data and the data obtained by decrypting the signature are identical, the verification is successful. The service device 50 stores the machine learning model provided by the model providing device 60 ( 512 ).

서명은 서비스 장치(50)를 식별할 수 있는 정보일 수 있다. 예컨대, 서명은 서비스 장치의 식별자 또는 서비스 장치의 고유 일련 번호를 포함할 수 있다. 또는 서명은 특정 정보를 해싱한 값일 수 있다. 예컨대, 서명은 서비스 장치의 식별자에 대한 해쉬값 또는 서비스 장치의 고유 일련 번호에 대한 해쉬값을 포함할 수 있다. The signature may be information capable of identifying the service device 50 . For example, the signature may include an identifier of the serving device or a unique serial number of the serving device. Alternatively, the signature may be a value obtained by hashing specific information. For example, the signature may include a hash value for an identifier of the service device or a hash value for a unique serial number of the service device.

예컨대, 서비스 장치(50)가 자동차라면, 서명은 해당 자동차의 일련 번호를 포함할 수 있다. 서비스 장치(50)는 제조과정에서 자신의 일련 번호를 저장 매체에 저장하여 보유할 수 있다. For example, if the service device 50 is a car, the signature may include the serial number of the car. The service device 50 may store and retain its serial number in a storage medium during the manufacturing process.

한편 서비스 장치(50)는 제조과정에서 이미 자신에게 특이적인 기계학습 모델을 보유할 수 있다. 예컨대, 자동차 제조 과정에서 자동차는 특정 보안키로 암호화된 데이터를 사용하여 학습된 기계학습 모델을 저장매체에 저장할 수 있다. 이 경우 보안키도 특정 제품(자동차)에 특이적인 정보를 사용할 수 있다. 예컨대, 보안키도 자동차의 일련 번호 등과 같이 특정 제품을 식별자 또는 식별자를 가공한 정보일 수 있다.Meanwhile, the service device 50 may already have a machine learning model specific to itself in the manufacturing process. For example, in a car manufacturing process, a car may store a machine learning model learned using data encrypted with a specific security key in a storage medium. In this case, the security key can also use information specific to a specific product (vehicle). For example, the security key may also be an identifier of a specific product, such as a serial number of a car, or information obtained by processing the identifier.

모델 제공 장치(60)는 기계학습 모델 생성한 보안키 및 공개키를 키 저장 장치(55)에 전송할 수 있다(521). 도 5는 별도의 키 저장 장치(55)를 도시하였지만, 모델 제공 장치(60)는 서비스 장치(50)에 직접 보안키 및 공개키를 전송할 수도 있다. 또는 보안키 및 공개키 전송 과정 없이 제조 과정에서 서비스 장치(50)가 보안키 및 공개키를 저장 매체에 보유할 수도 있다.The model providing device 60 may transmit the security key and the public key generated by the machine learning model to the key storage device 55 ( 521 ). Although FIG. 5 shows a separate key storage device 55 , the model providing device 60 may directly transmit the security key and the public key to the service device 50 . Alternatively, the service device 50 may hold the security key and the public key in the storage medium during the manufacturing process without the security key and the public key transmission process.

키 저장 장치(55)는 보안키를 저장한다(522). 키 저장 장치(55)는 보안키를 서비스 장치(50)에 전송한다(531). The key storage device 55 stores the security key (522). The key storage device 55 transmits the security key to the service device 50 ( 531 ).

서비스 장치(50)는 특정한 입력데이터를 생성하거나 획득하다. 예컨대, 서비스 장치(50)가 외부로부터 입력데이터를 수신하거나, 내장한 센서 장치로부터 특정 입력데이터를 수신할 수도 있다. 서비스 장치(50)는 보안키(sk)로 입력데이터를 암호화한다(541). 서비스 장치(50)는 암호화된 입력데이터를 기계학습 모델에 적용하여 일정한 결과값을 생성한다(542). 서비스 장치(50)는 기계학습 모델을 검증하기 위하여 사전에 보안키와 대응되는 공유키를 수신할 수 있다. The service device 50 generates or obtains specific input data. For example, the service device 50 may receive input data from the outside or receive specific input data from a built-in sensor device. The service device 50 encrypts the input data with the security key (sk) (541). The service device 50 generates a constant result value by applying the encrypted input data to the machine learning model ( 542 ). The service device 50 may receive a shared key corresponding to the security key in advance in order to verify the machine learning model.

모델 제공 장치(60)는 현재 서비스 장치(50)가 사용하는 기계학습 모델을 업데이트할 수 있다. 예컨대, 모델 제공 장치(60)는 새로운 보안키 및 공유키를 생성할 수 있다(551). 모델 제공 장치(60)는 새로운 보안키 및 공유키를 키 저장 장치(55)에 전송한다(552). 또는 도 5와 달리 모델 제공 장치(60)는 새로운 보안키를 서비스 장치(50)에 직접 전송할 수도 있다. 모델 제공 장치(60)는 새로운 공개키를 서비스 장치(50)에 전송할 수 있다(553).The model providing device 60 may update the machine learning model currently used by the service device 50 . For example, the model providing device 60 may generate a new security key and a shared key ( 551 ). The model providing device 60 transmits the new security key and the shared key to the key storage device 55 (552). Alternatively, unlike in FIG. 5 , the model providing device 60 may directly transmit a new security key to the service device 50 . The model providing device 60 may transmit a new public key to the service device 50 ( 553 ).

모델 제공 장치(60)는 새로온 보안키로 암호화된 데이터를 사용하여 기계학습 모델을 학습하여 생성한다(561). 모델 제공 장치(60)는 업데이트된 새로운 기계학습 모델을 서비스 장치(50)에 전송한다(562). 이때 모델 제공 장치(60)는 새로운 암호키로 암호화한 서명을 생성할 수 있다. The model providing device 60 learns and generates a machine learning model using the data encrypted with the new security key ( 561 ). The model providing device 60 transmits the updated new machine learning model to the service device 50 ( 562 ). In this case, the model providing device 60 may generate a signature encrypted with a new encryption key.

서비스 장치(50)는 먼저 기계학습 모델에 포함된 또는 기계학습 모델과 동시에 전송된 서명(전자 서명)을 검증한다(571). 서비스 장치(50)는 새로운 공개키로 서명을 복호하여 서명을 검증한다. 이를 위해 서비스 장치(50)는 사전에 새로운 보안키 및 공개키를 획득해야 한다. 서비스 장치(50)는 참조 데이터와 서명을 복호한 데이터를 비교하여 검증을 수행한다. 서비스 장치(50)는 모델 제공 장치(60)가 제공한 새로운 기계학습 모델을 저장한다(572). The service device 50 first verifies a signature (electronic signature) included in the machine learning model or transmitted simultaneously with the machine learning model ( 571 ). The service device 50 verifies the signature by decrypting the signature with the new public key. To this end, the service device 50 must obtain a new security key and a public key in advance. The service device 50 performs verification by comparing the reference data with the data obtained by decrypting the signature. The service device 50 stores the new machine learning model provided by the model providing device 60 ( 572 ).

또한, 상술한 바와 같은 기계학습 모델 검증 방법 및/또는 기계학습 모델 운영 방법은 컴퓨터에서 실행될 수 있는 실행가능한 알고리즘을 포함하는 프로그램(또는 어플리케이션)으로 구현될 수 있다. 상기 프로그램은 비일시적 판독 가능 매체(non-transitory computer readable medium)에 저장되어 제공될 수 있다.In addition, the machine learning model verification method and/or the machine learning model operating method as described above may be implemented as a program (or application) including an executable algorithm that can be executed in a computer. The program may be provided by being stored in a non-transitory computer readable medium.

비일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 어플리케이션 또는 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.The non-transitory readable medium refers to a medium that stores data semi-permanently, rather than a medium that stores data for a short moment, such as a register, cache, memory, etc., and can be read by a device. Specifically, the above-described various applications or programs may be provided by being stored in a non-transitory readable medium such as a CD, DVD, hard disk, Blu-ray disk, USB, memory card, ROM, and the like.

본 실시례 및 본 명세서에 첨부된 도면은 전술한 기술에 포함되는 기술적 사상의 일부를 명확하게 나타내고 있는 것에 불과하며, 전술한 기술의 명세서 및 도면에 포함된 기술적 사상의 범위 내에서 당업자가 용이하게 유추할 수 있는 변형 예와 구체적인 실시례는 모두 전술한 기술의 권리범위에 포함되는 것이 자명하다고 할 것이다.This embodiment and the drawings attached to this specification only clearly show a part of the technical idea included in the above-described technology, and within the scope of the technical idea included in the specification and drawings of the aforementioned technology, those skilled in the art can easily It will be apparent that all inferred modified examples and specific embodiments are included in the scope of the above-described technology.

10 : 사용자 단말
20 : 서비스 서버
30 : 모델 제공 장치
55 : 키 저장 장치
50 : 서비스 장치
60 : 모델 제공 장치
100 : 서비스 장치
110 : 암호부
120 : 모델부
130 : 검증부
140 : 업데이트부
200 : 모델 제공 장치
210 : 키 생성기
220 : 모델 생성부
300 : 기계학습 기반 장치
310 : 통신장치
320 : 입력장치
330 : 저장장치
340 : 연산장치
10: user terminal
20: service server
30: model providing device
55: key storage device
50: service device
60: model providing device
100: service device
110: encryption unit
120: model part
130: verification unit
140: update unit
200: model providing device
210: key generator
220: model generation unit
300: machine learning based device
310: communication device
320: input device
330: storage device
340: arithmetic unit

Claims (12)

컴퓨터 장치가 입력데이터를 수신하는 단계;
상기 컴퓨터 장치가 입력데이터를 암호화하는 단계; 및
상기 컴퓨터 장치가 상기 암호화된 입력데이터를 기계학습 모델에 입력하여 결과값을 생성하는 단계를 포함하되,
상기 기계학습 모델은 암호화된 입력 데이터를 이용하여 사전에 학습되는 모델인 암호화 데이터를 이용하고,
상기 기계학습 모델은 암호화된 서명을 포함하고,
상기 컴퓨터 장치는 보안키를 이용하여 암호화된 상기 서명을 특정 공개키로 복호하고, 복호된 데이터와 사전에 보유한 참조 데이터를 비교하여 상기 서명을 검증을 하고, 검증이 성공한 경우에만 상기 결과값을 생성하고,
상기 서명은 상기 컴퓨터 장치 또는 상기 컴퓨터 장치를 내장한 장치의 식별자, 상기 컴퓨터 장치 또는 상기 컴퓨터 장치를 내장한 장치의 고유의 일련 번호, 상기 식별자의 해쉬값 및 상기 일련 번호의 해쉬값 중 적어도 하나를 포함하는 기계학습 모델 운영방법.
receiving input data by the computer device;
encrypting the input data by the computer device; and
Comprising the step of the computer device generating a result value by inputting the encrypted input data into a machine learning model,
The machine learning model uses encrypted data, which is a model learned in advance using encrypted input data,
The machine learning model includes an encrypted signature,
The computer device decrypts the signature encrypted using the security key with a specific public key, verifies the signature by comparing the decrypted data with reference data held in advance, and generates the result value only when the verification is successful, ,
The signature includes at least one of an identifier of the computer device or a device incorporating the computer device, a unique serial number of the computer device or a device incorporating the computer device, a hash value of the identifier, and a hash value of the serial number How to operate a machine learning model that includes.
삭제delete 삭제delete 제1항에 있어서,
상기 컴퓨터 장치는 상기 보안키를 사용하여 상기 입력데이터를 암호화하는 암호화 데이터를 이용하는 기계학습 모델 운영방법.
According to claim 1,
The computer device is a machine learning model operating method using encrypted data to encrypt the input data using the security key.
삭제delete 제1항에 있어서,
상기 컴퓨터 장치는 무선 또는 유선 통신을 통해 별도의 저장 장치로부터 상기 보안키를 수신하는 암호화 데이터를 이용하는 기계학습 모델 운영방법.
According to claim 1,
The computer device is a machine learning model operating method using encrypted data for receiving the security key from a separate storage device through wireless or wired communication.
제1항에 있어서,
상기 컴퓨터 장치는 네트워크를 통해 수신한 새로운 기계학습 모델을 동시에 전송된 또는 상기 새로운 기계학습 모델에 부가된 서명을 통해 검증하고, 검증이 성공하면 상기 새로운 기계학습 모델을 저장하는 암호화 데이터를 이용하는 기계학습 모델 운영방법.
According to claim 1,
The computer device verifies the new machine learning model received through the network through a signature that is simultaneously transmitted or added to the new machine learning model, and when the verification is successful, machine learning using encrypted data to store the new machine learning model How the model works.
특정 공개키와 쌍을 이루는 보안키 및 입력데이터를 입력받는 입력장치;
암호화된 데이터를 이용하여 사전에 학습된 기계학습 모델을 저장하는 저장장치; 및
상기 보안키를 사용하여 상기 입력데이터를 암호화하고, 상기 암호화한 입력데이터를 상기 기계학습 모델에 입력하여 결과값을 생성하는 연산장치를 포함하되,
상기 기계학습 모델은 암호화된 서명을 포함하고,
상기 연산 장치는 보안키를 이용하여 암호화된 상기 서명을 특정 공개키로 복호하고, 복호된 데이터와 사전에 보유한 참조 데이터를 비교하여 상기 서명을 검증을 하고, 검증이 성공한 경우에만 상기 결과값을 생성하고,
상기 서명은 서비스 장치의 식별자, 상기 서비스 장치의 고유의 일련 번호, 상기 식별자의 해쉬값 및 상기 일련 번호의 해쉬값 중 적어도 하나를 포함하는 암호화 데이터를 이용하는 기계학습 모델 기반 장치.
an input device for receiving input data and a security key paired with a specific public key;
a storage device for storing a machine learning model trained in advance using encrypted data; and
Comprising a computing device for encrypting the input data using the security key, and inputting the encrypted input data to the machine learning model to generate a result value,
The machine learning model includes an encrypted signature,
The computing device decrypts the signature encrypted using the security key with a specific public key, verifies the signature by comparing the decrypted data with the reference data held in advance, and generates the result value only when the verification is successful, ,
The signature is a machine learning model-based device using encrypted data including at least one of an identifier of a service device, a unique serial number of the service device, a hash value of the identifier, and a hash value of the serial number.
삭제delete 제8항에 있어서,
상기 입력 장치는 무선 또는 유선 통신을 통해 별도의 저장 장치로부터 상기 보안키를 수신하는 암호화 데이터를 이용하는 기계학습 모델 기반 장치.
9. The method of claim 8,
The input device is a machine learning model-based device using encrypted data for receiving the security key from a separate storage device through wireless or wired communication.
제8항에 있어서,
상기 입력 장치는 네트워크를 통해 업데이트된 새로운 기계학습 모델을 수신하고,
상기 연산 장치는 상기 공개키를 이용하여 상기 새로운 기계학습 모델에 부가된 서명을 검증하고, 검증이 성공하면 상기 새로운 기계학습 모델을 상기 저장 장치에 저장하는 암호화 데이터를 이용하는 기계학습 모델 기반 장치.
9. The method of claim 8,
The input device receives the updated new machine learning model through the network,
The computing device verifies the signature added to the new machine learning model using the public key, and if the verification is successful, the machine learning model-based device using encrypted data to store the new machine learning model in the storage device.
컴퓨터에서 제1항, 제4항 및 제6 내지 제7항 중 어느 하나의 항에 기재된 암호화 데이터를 이용하는 기계학습 모델 운영방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.A computer-readable recording medium recording a program for executing a machine learning model operating method using the encrypted data according to any one of claims 1, 4, and 6 to 7 in a computer.
KR1020180034980A 2018-03-27 2018-03-27 Operating method for machine learning model using encrypted data and apparatus based on machine learning model KR102272928B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180034980A KR102272928B1 (en) 2018-03-27 2018-03-27 Operating method for machine learning model using encrypted data and apparatus based on machine learning model

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180034980A KR102272928B1 (en) 2018-03-27 2018-03-27 Operating method for machine learning model using encrypted data and apparatus based on machine learning model

Publications (2)

Publication Number Publication Date
KR20190112959A KR20190112959A (en) 2019-10-08
KR102272928B1 true KR102272928B1 (en) 2021-07-02

Family

ID=68208529

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180034980A KR102272928B1 (en) 2018-03-27 2018-03-27 Operating method for machine learning model using encrypted data and apparatus based on machine learning model

Country Status (1)

Country Link
KR (1) KR102272928B1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11436305B2 (en) * 2019-10-10 2022-09-06 Baidu Usa Llc Method and system for signing an artificial intelligence watermark using implicit data
KR102334922B1 (en) * 2019-11-04 2021-12-03 주식회사 에이젠글로벌 Data model generation system based in blockchain
US20210150266A1 (en) * 2019-11-15 2021-05-20 International Business Machines Corporation Enabling boosting protocols on encrypted data
KR102663409B1 (en) * 2023-05-30 2024-05-03 김수진 Data collection apparatus and method for machine learning

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3203679A1 (en) 2016-02-04 2017-08-09 ABB Schweiz AG Machine learning based on homomorphic encryption

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"준동형 성질 기반의 기계 학습 동향 분석", 한국정보과학회 2017 한국소프트웨어종합학술대회 논문집(pp. 1144-1146), 2017년 12월

Also Published As

Publication number Publication date
KR20190112959A (en) 2019-10-08

Similar Documents

Publication Publication Date Title
US10891384B2 (en) Blockchain transaction device and method
US11356425B2 (en) Techniques for improving security of encrypted vehicle software updates
JP6454918B2 (en) In-vehicle computer system, vehicle, management method, and computer program
KR102272928B1 (en) Operating method for machine learning model using encrypted data and apparatus based on machine learning model
US11663460B2 (en) Data exchange method, data exchange device and computing device
CN107770159B (en) Vehicle accident data recording method and related device and readable storage medium
CN108768972B (en) Vehicle data storage and access method, device, system and electronic equipment
KR20210132216A (en) Verification of the identity of emergency vehicles during operation
KR20210131444A (en) Identity creation for computing devices using physical copy protection
CN110225063A (en) Upgrade method, upgrade-system, server and the car-mounted terminal of automobile mounted system
US9501646B2 (en) Program verification apparatus, program verification method, and computer readable medium
CN102171652A (en) Method for provisioning trusted software to an electronic device
CN111628966B (en) Data transmission method, system and device and data authorization method, system and device
WO2022151478A1 (en) Vehicle key management method, device, and system
CN101416129B (en) Field apparatus
CN109787768A (en) A kind of authentication configuration method, device and computer readable storage medium
US11251941B2 (en) Managing cryptographic keys based on identity information
KR101593675B1 (en) User data integrity verification method and apparatus
EP2286610B1 (en) Techniques for peforming symmetric cryptography
US11665001B1 (en) Network security using root of trust
CN106778227A (en) Applied program processing method, application program launching method and device
Kathiresh et al. Vehicle diagnostics over internet protocol and over-the-air updates
CN116011042A (en) Data storage method, device, system, computer equipment and storage medium
CN113901502A (en) Data processing method and device, electronic equipment and storage medium
Genge et al. Cryptographic key distribution protocol with trusted platform module for securing in-vehicle communications

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant