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 PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting 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.
Description
이하 설명하는 기술은 기계학습 모델 운영 기법에 관한 것이다.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.
종래 기계학습 모델은 모델에 대한 무결성을 확인할 방법이 제한적이었다. 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
도 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
도 2는 기계학습에 기반한 인공지능 시스템(1000)에 대한 예이다. 인공지능 시스템(1000)은 서비스 장치(100) 및 모델 제공 장치(200)를 포함한다. 도 2는 기계학습 모델을 이용한 서비스 제공 과정에 대한 예이다. 2 is an example of an
서비스 장치(100)는 전술한 서비스 서버(20) 또는 서비스 장치(50)에 해당할 수 있다. 도 2의 서비스 장치(100)에서 상단 점선 블록은 접근 가능 영역(accessible region)이다. 예컨대, 접근 가능 영역은 인터넷과 같은 외부 네트워크와 연결되어 데이터 내지 정보를 입력받을 수 있는 영역일 수 있다. 도 2의 서비스 장치(100)에서 하단 점선 블록은 접근 불가능 영역(inaccessible region)이다. 예컨대, 접근 불가능 영역은 외부에서 접속할 수 없는 인트라넷 영역일 수 있다.The
서비스 장치(100)는 암호부(110), 모델부(120), 검증부(130) 및 업데이트부(140)를 포함한다. 도 2는 서비스 장치(100) 구현을 위한 모든 구성을 도시하는 것은 아니고, 설명을 위하여 기능적 구성을 도시한다. 입력데이터(data)가 입력되면, 암호부(110)가 보안키(sk)를 이용하여 입력데이터를 암호화한다. 보안키는 공개키 암호화 방식에서 공개키(public key, pk)와 짝을 이루는 키를 의미한다. 즉 보안키는 기본적으로 서비스 장치(100)와 모델 제공 장치(200)만이 알고 있는 비밀키이다. The
모델부(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
모델 제공 장치(200)는 서비스 장치(100)에서 이용하는 기계학습 모델을 학습하고 생성한다. 모델 제공 장치(200)는 키 생성기(210) 및 모델 생성부(220)를 포함하다. 키 생성기(210)는 기계학습 모델에 입력된 입력데이터를 암호화하는 보안키를 생성한다. 또 키 생성기(210)는 보안키에 대응되는 공개키를 생성할 수도 있다. 보안키가 마련되면 모델 생성부(220)는 보안키로 암호화된 데이터를 이용하여 기계학습 모델을 학습한다. 학습이 완료되면 모델 제공 장치(200)는 기계 학습 모델을 서비스 장치(100)에 제공한다. 모델 제공 장치(200)는 현재 서비스 장치(100)가 이용하는 기계 학습 모델을 새롭게 업데이트할 수 있다. 이 경우 모델 제공 장치(200)는 업데이트한 모델(M(update))을 서비스 장치(100)에 제공한다. 업데이트부(140)는 모델 제공 장치(200)가 제공한 모델을 수신하고, 수신한 모델을 모델부(130)에 제공한다. 이때 검증부(130)는 새로운 기계학습 모델을 검증할 수 있다.The
도 3은 서비스 장치(300)에 대한 예이다. 서비스 장치(300)는 기계학습 모델을 이용하여 인공지능 서비스를 제공하는 장치이다. 서비스 장치(300)는 전술한 컴퓨터 장치이다. 예컨대, 서비스 장치(300)는 도 1에서 설명한 서비스 서버(20) 또는 서비스 장치(50)일 수 있다. 도 3은 서비스 장치에 대한 물리적 구성을 도시한 예이다. 서비스 장치(300)는 통신장치(310), 입력장치(320), 저장장치(330) 및 연산장치(340)를 포함한다. 3 is an example of a
통신장치(310)는 네트워크를 통해 외부 객체로부터 일정한 정보 내지 데이터를 수신한다. 또 통신장치(310)는 서비스 장치(300)가 생성한 특정 정보를 외부 객체로 전송할 수도 있다. 예컨대, 통신장치(310)는 모델 제공 장치로부터 기계학습 모델을 수신할 수 있다. 통신장치(310)는 모델 제공 장치 또는 다른 객체로부터 보안키(sk) 내지 공유키(pk)를 수신할 수도 있다. 통신장치(310)는 유선 또는 무선 통신프로토콜을 지원하는 장치이다.The
입력장치(320)는 일정한 데이터를 입력받는 장치이다. 입력장치(320)는 주로 기계학습 모델에 입력된 입력데이터를 입력받거나, 획득하는 장치에 해당한다. 입력장치(320)는 사용자로부터 추가적인 명령이 정보를 입력받는 인터페이스 장치일 수도 있다. 입력장치(320)는 장치의 내부 통신을 지원하는 인터페이스 장치일 수도 있다. 예컨대, 자동차라면 버스(bus)를 구성하는 노드 및 통신 인터페이스일 수도 있다.The
저장장치(330)는 기계학습 모델을 저장한다. 저장장치(330)는 부가적으로 기계학습 모델을 출력값, 보안키 등을 저장할 수도 있다. The
연산장치(340)는 입력데이터를 보안키로 암호화한다. 연산장치(340)는 암호화된 입력데이터를 기계학습 모델에 입력하여 특정한 정보를 생성한다. 또 연산장치(340)는 공개키로 기계학습 모델의 서명을 검증할 수도 있다. 연산장치(340)는 모델 제공 장치가 제공하는 새로운 기계학습 모델을 저장 장치(330) 저장하여 설치하는 과정을 담당할 수도 있다.The
도 4는 기계학습 기반 네트워크 서비스에 대한 절차(400) 흐름도의 예이다. 도 4는 도 1(A)와 같은 서비스 모델에 대한 예이다. 설명의 편의를 위해 도 1(A)의 서비스 장치(서비스 서버)를 예로 든 것이고, 다른 서비스 장치에도 동일한 동작을 수행할 수 있다.4 is an example of a flow diagram of a
도 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
서비스 서버(20)는 먼저 기계학습 모델에 포함된 또는 기계학습 모델과 동시에 전송된 서명(전자 서명)을 검증한다(411). 서비스 서버(20)는 공개키(pk)로 서명을 복호하여 서명을 검증한다. 서비스 서버(20)는 서명을 검증하기 위한 참조 데이터를 사전에 보유해야 한다. 서비스 서버(20)는 참조 데이터와 서명을 복호한 데이터를 비교하여 검증을 수행한다. 참조 데이터와 서명을 복호한 데이터가 동일하면 검증이 성공한 것이다. 서비스 서버(20)는 모델 제공 장치(30)가 제공한 기계학습 모델을 저장한다(412). The
사용자 단말(10)은 데이터를 입력한다(421). 사용자 단말(10)은 입력데이터를 서비스 서버(20)에 전송한다. 서비스 서버(20)는 기계학습 모델을 이용하기 전에 전자 서명을 검증할 수 있다(431). 검증이 성공하면, 서비스 서버(20)는 보안키(sk)로 입력데이터를 암호화한다(441). 서비스 서버(20)는 암호화된 입력데이터를 기계학습 모델에 적용한다(442). 서비스 서버(20)는 기계학습 모델에서 출력되는 결과값을 사용자 단말(10)에 전송할 수 있다(443).The
도 4는 사용자 단말(10)이 입력데이터를 전송하는 예를 도시하였다. 도 4의 흐름과는 다르게 서비스 서버(20) 또는 다른 서비스 장치가 입력데이터를 곧바로 입력받거나, 별도의 장치로부터 입력데이터를 수신하여 도 4와 같은 동작을 수행할 수도 있다.4 illustrates an example in which the
모델 제공 장치(30)는 현재 서비스 서버(20)가 사용하는 기계학습 모델을 업데이트할 수 있다. 예컨대, 모델 제공 장치(30)는 새로운 보안키 및 공유키를 생성할 수 있다(451). 또 모델 제공 장치(30)는 새로온 보안키로 암호화된 데이터를 사용하여 기계학습 모델을 학습하여 생성한다(452). 모델 제공 장치(30)는 업데이트된 새로운 기계학습 모델을 서비스 서버(20)에 전송한다(453). 이때 모델 제공 장치(30)는 새로운 암호키로 암호화한 서명을 생성할 수 있다. The
서비스 서버(20)는 먼저 기계학습 모델에 포함된 또는 기계학습 모델과 동시에 전송된 서명(전자 서명)을 검증한다(461). 서비스 서버(20)는 새로운 공개키로 서명을 복호하여 서명을 검증한다. 이를 위해 서비스 서버(20)는 사전에 새로운 보안키 및 공개키를 획득해야 한다. 서비스 서버(20)는 모델 제공 장치(30)로부터 새로운 보안키 및 공개키를 수신할 수도 있다. 서비스 서버(20)는 참조 데이터와 서명을 복호한 데이터를 비교하여 검증을 수행한다. 서비스 서버(20)는 모델 제공 장치(30)가 제공한 새로운 기계학습 모델을 저장한다(462). The
도 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
도 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
서비스 장치(50)는 먼저 기계학습 모델에 포함된 또는 기계학습 모델과 동시에 전송된 서명(전자 서명)을 검증한다(511). 서비스 장치(50)는 공개키(pk)로 서명을 복호하여 서명을 검증한다. 서비스 장치(50)는 서명을 검증하기 위한 참조 데이터를 사전에 보유해야 한다. 서비스 장치(50)는 참조 데이터와 서명을 복호한 데이터를 비교하여 검증을 수행한다. 참조 데이터와 서명을 복호한 데이터가 동일하면 검증이 성공한 것이다. 서비스 장치(50)는 모델 제공 장치(60)가 제공한 기계학습 모델을 저장한다(512). The
서명은 서비스 장치(50)를 식별할 수 있는 정보일 수 있다. 예컨대, 서명은 서비스 장치의 식별자 또는 서비스 장치의 고유 일련 번호를 포함할 수 있다. 또는 서명은 특정 정보를 해싱한 값일 수 있다. 예컨대, 서명은 서비스 장치의 식별자에 대한 해쉬값 또는 서비스 장치의 고유 일련 번호에 대한 해쉬값을 포함할 수 있다. The signature may be information capable of identifying the
예컨대, 서비스 장치(50)가 자동차라면, 서명은 해당 자동차의 일련 번호를 포함할 수 있다. 서비스 장치(50)는 제조과정에서 자신의 일련 번호를 저장 매체에 저장하여 보유할 수 있다. For example, if the
한편 서비스 장치(50)는 제조과정에서 이미 자신에게 특이적인 기계학습 모델을 보유할 수 있다. 예컨대, 자동차 제조 과정에서 자동차는 특정 보안키로 암호화된 데이터를 사용하여 학습된 기계학습 모델을 저장매체에 저장할 수 있다. 이 경우 보안키도 특정 제품(자동차)에 특이적인 정보를 사용할 수 있다. 예컨대, 보안키도 자동차의 일련 번호 등과 같이 특정 제품을 식별자 또는 식별자를 가공한 정보일 수 있다.Meanwhile, the
모델 제공 장치(60)는 기계학습 모델 생성한 보안키 및 공개키를 키 저장 장치(55)에 전송할 수 있다(521). 도 5는 별도의 키 저장 장치(55)를 도시하였지만, 모델 제공 장치(60)는 서비스 장치(50)에 직접 보안키 및 공개키를 전송할 수도 있다. 또는 보안키 및 공개키 전송 과정 없이 제조 과정에서 서비스 장치(50)가 보안키 및 공개키를 저장 매체에 보유할 수도 있다.The
키 저장 장치(55)는 보안키를 저장한다(522). 키 저장 장치(55)는 보안키를 서비스 장치(50)에 전송한다(531). The
서비스 장치(50)는 특정한 입력데이터를 생성하거나 획득하다. 예컨대, 서비스 장치(50)가 외부로부터 입력데이터를 수신하거나, 내장한 센서 장치로부터 특정 입력데이터를 수신할 수도 있다. 서비스 장치(50)는 보안키(sk)로 입력데이터를 암호화한다(541). 서비스 장치(50)는 암호화된 입력데이터를 기계학습 모델에 적용하여 일정한 결과값을 생성한다(542). 서비스 장치(50)는 기계학습 모델을 검증하기 위하여 사전에 보안키와 대응되는 공유키를 수신할 수 있다. The
모델 제공 장치(60)는 현재 서비스 장치(50)가 사용하는 기계학습 모델을 업데이트할 수 있다. 예컨대, 모델 제공 장치(60)는 새로운 보안키 및 공유키를 생성할 수 있다(551). 모델 제공 장치(60)는 새로운 보안키 및 공유키를 키 저장 장치(55)에 전송한다(552). 또는 도 5와 달리 모델 제공 장치(60)는 새로운 보안키를 서비스 장치(50)에 직접 전송할 수도 있다. 모델 제공 장치(60)는 새로운 공개키를 서비스 장치(50)에 전송할 수 있다(553).The
모델 제공 장치(60)는 새로온 보안키로 암호화된 데이터를 사용하여 기계학습 모델을 학습하여 생성한다(561). 모델 제공 장치(60)는 업데이트된 새로운 기계학습 모델을 서비스 장치(50)에 전송한다(562). 이때 모델 제공 장치(60)는 새로운 암호키로 암호화한 서명을 생성할 수 있다. The
서비스 장치(50)는 먼저 기계학습 모델에 포함된 또는 기계학습 모델과 동시에 전송된 서명(전자 서명)을 검증한다(571). 서비스 장치(50)는 새로운 공개키로 서명을 복호하여 서명을 검증한다. 이를 위해 서비스 장치(50)는 사전에 새로운 보안키 및 공개키를 획득해야 한다. 서비스 장치(50)는 참조 데이터와 서명을 복호한 데이터를 비교하여 검증을 수행한다. 서비스 장치(50)는 모델 제공 장치(60)가 제공한 새로운 기계학습 모델을 저장한다(572). The
또한, 상술한 바와 같은 기계학습 모델 검증 방법 및/또는 기계학습 모델 운영 방법은 컴퓨터에서 실행될 수 있는 실행가능한 알고리즘을 포함하는 프로그램(또는 어플리케이션)으로 구현될 수 있다. 상기 프로그램은 비일시적 판독 가능 매체(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.
상기 컴퓨터 장치는 상기 보안키를 사용하여 상기 입력데이터를 암호화하는 암호화 데이터를 이용하는 기계학습 모델 운영방법.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.
상기 컴퓨터 장치는 무선 또는 유선 통신을 통해 별도의 저장 장치로부터 상기 보안키를 수신하는 암호화 데이터를 이용하는 기계학습 모델 운영방법.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.
상기 컴퓨터 장치는 네트워크를 통해 수신한 새로운 기계학습 모델을 동시에 전송된 또는 상기 새로운 기계학습 모델에 부가된 서명을 통해 검증하고, 검증이 성공하면 상기 새로운 기계학습 모델을 저장하는 암호화 데이터를 이용하는 기계학습 모델 운영방법.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.
상기 입력 장치는 무선 또는 유선 통신을 통해 별도의 저장 장치로부터 상기 보안키를 수신하는 암호화 데이터를 이용하는 기계학습 모델 기반 장치.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.
상기 입력 장치는 네트워크를 통해 업데이트된 새로운 기계학습 모델을 수신하고,
상기 연산 장치는 상기 공개키를 이용하여 상기 새로운 기계학습 모델에 부가된 서명을 검증하고, 검증이 성공하면 상기 새로운 기계학습 모델을 상기 저장 장치에 저장하는 암호화 데이터를 이용하는 기계학습 모델 기반 장치.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.
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)
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)
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 |
-
2018
- 2018-03-27 KR KR1020180034980A patent/KR102272928B1/en active IP Right Grant
Non-Patent Citations (1)
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 |