KR20190072770A - 강화 학습 기반 암호화 및 복호화 수행 방법 및 이를 수행하는 클라이언트, 서버 시스템 - Google Patents
강화 학습 기반 암호화 및 복호화 수행 방법 및 이를 수행하는 클라이언트, 서버 시스템 Download PDFInfo
- Publication number
- KR20190072770A KR20190072770A KR1020170173815A KR20170173815A KR20190072770A KR 20190072770 A KR20190072770 A KR 20190072770A KR 1020170173815 A KR1020170173815 A KR 1020170173815A KR 20170173815 A KR20170173815 A KR 20170173815A KR 20190072770 A KR20190072770 A KR 20190072770A
- Authority
- KR
- South Korea
- Prior art keywords
- action
- state
- threshold value
- compensation
- encryption
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/11—Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
-
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Algebra (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Operations Research (AREA)
- Molecular Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
본 발명에 따른 강화 학습 기반 암호화 및 복호화를 수행하는 클라이언트 및 서버 시스템은, 데이터에 대한 암호화 및 복호화를 수행하는데 필요한 암호화 키를 관리하는 키 관리 모듈; 상기 데이터에 대한 유지 시간(lifetime)과 가용성(availability)에 대한 임계값에 대한 보안 공유를 수행하는 보안 공유(secret sharing) 모듈; 및 상기 임계값을 대한 예측을 수행하는 임계값 예측 모듈을 포함하고, 프라이버시 보호를 위한 Self-Destructing 환경에서 사용자의 요구사항을 만족하는 데이터의 가용성 및 보안성을 향상시킬 수 있다.
Description
본 발명은 암호화 및 복호화 수행 방법에 관한 것이다. 보다 상세하게는, 프라이버시 보호를 위한 강화 학습 기반 암호화 및 복호화 수행 방법 및 이를 수행하는 클라이언트, 서버 시스템에 관한 것이다.
Self-Destructing 기법은 클라우드 컴퓨팅 환경에서 스토리지에 저장되어있는 사용자의 개인정보를 보호하기 위해 2009년 R. Geambasu, T. Kohno, Amit A. Levy, Henry M. Levy에 의해 제안된 시스템으로, 데이터가 사용자로부터 입력받은 특정 시간 이후에 스스로 소멸되도록 한다.
이러한 시스템은 파일, 비공개 블로그 게시물, 문서, 이메일, 메시지 등 현대 정보화 사회에 광범위하게 적용될 수 있다. 모든 디지털 컨텐츠의 프라이버시는 데이터를 삭제함으로써 보장할 수 있지만, 제안된 기법은 사용자의 개입이나 별도의 하드웨어가 필요하지 않다는 이점을 갖는다.
하지만, 이러한 Self-Destructing 기법을 이용하여 클라우드 컴퓨팅 환경에서 스토리지에 저장되어있는 사용자의 개인정보를 보호함에 있어, 사용자가 요구하는 시간 이전에 데이터가 삭제될 수 있는 문제가 있다.
본 발명의 목적은 프라이버시 보호를 위한 Self-Destructing 기법에 기반한 암호화 및 복호화 방법을 제공하는 데 있다.
본 발명의 다른 목적은 암호화 및 복호화에 사용되는 키를 나눌 때 강화학습을 적용하여 데이터의 가용성 및 보안성을 고려한 임계값을 설정하는 데 있다.
전술된 문제점을 해결하기 위한 본 발명에 따른 강화 학습 기반 암호화 및 복호화를 수행하는 클라이언트 및 서버 시스템은, 데이터에 대한 암호화 및 복호화를 수행하는데 필요한 암호화 키를 관리하는 키 관리 모듈; 상기 데이터에 대한 유지 시간(lifetime)과 가용성(availability)에 대한 임계값에 대한 보안 공유를 수행하는 보안 공유(secret sharing) 모듈; 및 상기 임계값을 대한 예측을 수행하는 임계값 예측 모듈을 포함하고, 프라이버시 보호를 위한 Self-Destructing 환경에서 사용자의 요구사항을 만족하는 데이터의 가용성 및 보안성을 향상시킬 수 있다.
일 실시 예에서, 사용자로부터 입력 값을 전달받는 UI 모듈; 및 상기 데이터에 대한 암호화 및 복호화를 수행하는 암호화 모듈을 더 포함할 수 있다.
일 실시 예에서, 상기 임계값 예측 모듈은, 상태(state), 액션(action), 및 보상(reward)을 포함하는 매개변수에 의해, 상기 보상이 최대화되도록 상기 임계값을 예측하는 것을 특징으로 할 수 있다.
일 실시 예에서, 상기 임계값 예측 모듈은, 상기 암호화 키를 얻기 위해 필요한 전체 키 조각의 개수 및 상기 임계값을 선택하고, 상기 선택된 전체 키 조각의 개수 및 임계값을 바탕으로 상기 보상이 최대화되도록 상기 임계값을 예측하고, 상기 데이터에 대한 유지 시간(lifetime)과 가용성(availability)에 대한 그래프에서, 상기 보상이 최대화되는 것과 연관하여 가장 이상적 형태의 그래프에 가장 유사한 형태가 되도록 상기 임계값을 예측하는 것을 특징으로 할 수 있다.
일 실시 예에서, 상기 임계값 예측 모듈은, 초기 상태 및 액션을 행렬 형태로 구조화하고, 현재 상태 및 액션과 다음 상태 및 액션을 바탕으로 상기 행렬을 갱신하고, 상기 보상이 최대화된 것으로 판단되면, 가장 최근의 상태, 액션 및 보상에 기반하여 상기 임계값을 예측하는 것을 특징으로 할 수 있다.
일 실시 예에서, 상기 임계값 예측 모듈은, 상기 초기 상태 및 액션에 따라 행렬 Q(s,a)를 구성하고, 상기 행렬 Q(s,a)을 이용하여 제1상태(s)로부터 제1액션(a)을 선택하고, 에피소드의 각 스텝에서 상기 제1액션(a)을 선택하고, 제1보상(r)과 제2상태(s')를 관측하고, 상기 제2상태(s')로부터 제2액션(a')을 선택하는 것을 특징으로 할 수 있다.
일 실시 예에서, 상기 제1상태(s) 및 상기 제1액션(a)과 상기 제2상태(s') 및 상기 제2액션(a')는,에 의해 결정될 수 있다. 이때, 상기 제2상태(s') 및 상기 제2액션(a')를 상기 제1상태(s) 및 상기 제1액션(a)으로 대체하고, 상기 대체된 제1상태(s)에 대응하는 보상이 특정 조건을 만족할 때까지 상기 행렬 갱신이 반복되는 것을 특징으로 할 수 있다.
본 발명의 다른 측면에 따른, 강화 학습 기반 암호화 및 복호화를 수행하는 암호화 및 복호화 방법은, 데이터에 대한 암호화 및 복호화를 수행하는데 필요한 암호화 키를 관리하는 키 관리 과정; 상기 데이터에 대한 유지 시간(lifetime)과 가용성(availability)에 대한 임계값에 대한 보안 공유를 수행하는 보안 공유(secret sharing) 과정; 및 기 임계값을 대한 예측을 수행하는 임계값 예측 과정을 포함한다.
일 실시 예에서, 상기 키 관리 과정 이전에, 사용자로부터 입력 값을 전달받는 사용자 인터랙션(UI) 과정; 및 상기 데이터에 대한 암호화 및 복호화를 수행하는 암호화 과정을 더 포함할 수 있다.
일 실시 예에서, 상기 임계값 예측 과정에서, 상태(state), 액션(action), 및 보상(reward)을 포함하는 매개변수에 의해, 상기 보상이 최대화되도록 상기 임계값을 예측하는 것을 특징으로 할 수 있다.
일 실시 예에서, 상기 임계값 예측 과정에서, 상기 암호화 키를 얻기 위해 필요한 전체 키 조각의 개수 및 상기 임계값을 선택하고, 상기 선택된 전체 키 조각의 개수 및 임계값을 바탕으로 상기 보상이 최대화되도록 상기 임계값을 예측하고, 상기 데이터에 대한 유지 시간(lifetime)과 가용성(availability)에 대한 그래프에서, 상기 보상이 최대화되는 것과 연관하여 가장 이상적 형태의 그래프에 가장 유사한 형태가 되도록 상기 임계값을 예측하는 것을 특징으로 할 수 있다.
일 실시 예에서, 상기 임계값 예측 과정은, 초기 상태 및 액션을 행렬 형태로 구조화하는 초기 상태 및 액션 행렬 구성 과정; 현재 상태 및 액션과 다음 상태 및 액션을 바탕으로 상기 행렬을 갱신하는 행렬 갱신 과정; 및 상기 보상이 최대화된 것으로 판단되면, 가장 최근의 상태, 액션 및 보상에 기반하여 상기 임계값을 예측하는 임계값 예측 과정을 포함할 수 있다.
일 실시 예에서, 상기 초기 상태 및 액션 행렬 구성 과정에서, 상기 초기 상태 및 액션에 따라 행렬 Q(s,a)를 구성하고, 상기 행렬 갱신 과정에서, 상기 행렬 Q(s,a)을 이용하여 제1상태(s)로부터 제1액션(a)을 선택하고, 에피소드의 각 스텝에서 상기 제1액션(a)을 선택하고, 제1보상(r)과 제2상태(s')를 관측하고, 상기 제2상태(s')로부터 제2액션(a')을 선택하는 것을 특징으로 할 수 있다.
일 실시 예에서, 상기 제1상태(s) 및 상기 제1액션(a)과 상기 제2상태(s') 및 상기 제2액션(a')는,에 의해 결정될 수 있다. 이때, 상기 행렬 갱신 과정에서, 상기 제2상태(s') 및 상기 제2액션(a')를 상기 제1상태(s) 및 상기 제1액션(a)으로 대체하고, 상기 임계값 예측 과정에서, 상기 대체된 제1상태(s)에 대응하는 보상이 특정 조건을 만족할 때까지 상기 행렬 갱신 과정이 반복될 수 있다.
본 발명의 또 다른 측면에 따른 강화 학습 기반 암호화 및 복호화를 수행하는 서버는, 송신 클라이언트 단말로부터 입력 값을 전달받는 사용자 인터랙션(UI) 모듈; 데이터에 대한 암호화 및 복호화를 수행하는 암호화 모듈; 상기 데이터에 대한 암호화 및 복호화를 수행하는데 필요한 암호화 키를 관리하고, 상기 데이터에 대한 유지 시간(lifetime)과 가용성(availability)에 대한 임계값에 대한 보안 공유를 수행하고, 상기 임계값을 대한 예측을 수행하는 보안 모듈; 및 분산 해시 테이블(DHT: Distributed Hash Table)에 기반하여, 적어도 하나의 수신 클라이언트 단말과 상기 데이터를 공유하도록 하는 DHT 네트워크 모듈을 포함한다.
일 실시 예에서, 상기 보안 모듈은, 상태(state), 액션(action), 및 보상(reward)을 포함하는 매개변수에 의해, 상기 보상이 최대화되도록 상기 임계값을 예측하는 것을 특징으로 할 수 있다.
일 실시 예에서, 상기 보안 모듈은, 상기 암호화 키를 얻기 위해 필요한 전체 키 조각의 개수 및 상기 임계값을 선택하고, 상기 선택된 전체 키 조각의 개수 및 임계값을 바탕으로 상기 보상이 최대화되도록 상기 임계값을 예측하고, 상기 데이터에 대한 유지 시간(lifetime)과 가용성(availability)에 대한 그래프에서, 상기 보상이 최대화되는 것과 연관하여 가장 이상적 형태의 그래프에 가장 유사한 형태가 되도록 상기 임계값을 예측하는 것을 특징으로 할 수 있다.
일 실시 예에서, 상기 보안 모듈은, 초기 상태 및 액션을 행렬 형태로 구조화하고, 현재 상태 및 액션과 다음 상태 및 액션을 바탕으로 상기 행렬을 갱신하고, 상기 보상이 최대화된 것으로 판단되면, 가장 최근의 상태, 액션 및 보상에 기반하여 상기 임계값을 예측하는 것을 특징으로 할 수 있다.
일 실시 예에서, 상기 보안 모듈은, 상기 초기 상태 및 액션에 따라 행렬 Q(s,a)를 구성하고, 상기 행렬 Q(s,a)을 이용하여 제1상태(s)로부터 제1액션(a)을 선택하고, 에피소드의 각 스텝에서 상기 제1액션(a)을 선택하고, 제1보상(r)과 제2상태(s')를 관측하고, 상기 제2상태(s')로부터 제2액션(a')을 선택하는 것을 특징으로 할 수 있다.
본 발명에 따른 강화 학습 기반 암호화 및 복호화 방법은, 프라이버시 보호를 위한 Self-Destructing 환경에서 사용자의 요구사항을 만족하는 데이터의 가용성 및 보안성을 향상시킬 수 있다는 장점이 있다.
또한, 본 발명에 따른 강화 학습 기반 암호화 및 복호화 방법은, 사용자의 요구사항과 함께 어플리케이션에 따라 차별적으로 데이터의 가용성 및 보안성을 향상시킬 수 있다는 장점이 있다.
도 1은 본 발명에 따른 Self-Destructing 기법의 전체적인 시스템 구조를 나타낸다.
도 2는 본 발명에 따른 강화 학습과 관련하여, 상태, 액션 및 보상을 수행하는 개념도를 나타낸다.
도 3은 본 발명에 따른 강화 학습 기반 암호화 및 복호화 방법에서, N개의 같은 키 조각과 이를 복호화 하기 위해 필요한 임계값이 다른 두 그래프를 나타낸다.
도 4는 본 발명에 따른 데이터 암호화 및 복호화를 수행하는 시스템 구조를 나타낸다.
도 5는 본 발명에 따른 강화 학습이 적용된 임계값 예측 과정의 구체적인 알고리즘을 나타낸다.
도 6은 본 발명에 따른 암호화 및 복호화 방법의 흐름도를 나타낸다.
도 7은 본 발명에 따른 임계값 예측 과정의 상세한 흐름도를 도시한다.
도 2는 본 발명에 따른 강화 학습과 관련하여, 상태, 액션 및 보상을 수행하는 개념도를 나타낸다.
도 3은 본 발명에 따른 강화 학습 기반 암호화 및 복호화 방법에서, N개의 같은 키 조각과 이를 복호화 하기 위해 필요한 임계값이 다른 두 그래프를 나타낸다.
도 4는 본 발명에 따른 데이터 암호화 및 복호화를 수행하는 시스템 구조를 나타낸다.
도 5는 본 발명에 따른 강화 학습이 적용된 임계값 예측 과정의 구체적인 알고리즘을 나타낸다.
도 6은 본 발명에 따른 암호화 및 복호화 방법의 흐름도를 나타낸다.
도 7은 본 발명에 따른 임계값 예측 과정의 상세한 흐름도를 도시한다.
상술한 본 발명의 특징 및 효과는 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는바, 특정 실시 예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 개시형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 명세서에서 사용한 용어는 단지 특정한 실시 예들을 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다.
각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용한다.
제1, 제2등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. "및/또는" 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미가 있다.
일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않아야 한다.
이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈", "블록" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다.
이하, 본 발명의 바람직한 실시 예를 첨부한 도면을 참조하여 당해 분야에 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 설명한다. 하기에서 본 발명의 실시 예를 설명함에 있어, 관련된 공지의 기능 또는 공지의 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.
이하, 본 발명에 따른 강화 학습 기반 암호화 및 복호화를 수행하는 방법 및 이를 수행하는 클라이언트 및/또는 서버 시스템에 대해 살펴보기로 한다.
이와 관련하여, 도 1은 본 발명에 따른 Self-Destructing 기법의 전체적인 시스템 구조를 나타낸다. 한편, 본 발명에 따른 Self-Destructing 기법의 핵심 기술은 분산된 P2P 인프라, 특히 분산 해시 테이블(DHT) 네트워크를 활용하는데 있다. 또한, 분산 해시 테이블 네트워크는 P2P를 구성하는 각 노드들이 Index-Value 쌍을 갖도록 설계되어있다. 한편, 데이터 소멸을 목적으로 하는 Self-Destructing 기법에서 분산 해시 테이블 네트워크를 사용하는 이유는 다음의 세 가지 고유한 특성에 있다.
- 네트워크를 구성하는 많은 수의 노드들이 다양한 지역에 분산되어 공격자로부터 안전하다.
- 분산 저장 장치를 위해 설계되어있어 원하는 시간 간격 동안 사용자가 데이터를 사용할 수 있도록 보장한다.
- 네트워크를 구성하는 노드들이 지속적으로 추가/삭제되며 그 과정에서 데이터가 자동적으로 소멸된다.
위와 같은 특성을 지닌 분산 해시 테이블 네트워크를 활용하여 특정 시간 이후에 데이터가 스스로 소멸되도록 함으로써 사용자의 민감 정보가 유출되지 않도록 한다.
한편, 도 1을 참조하면, 스템은 데이터를 암호화하기 위해 임의의 암호화 키를 선택하여 암호문을 얻는다. 그리고 Threshold Secret Sharing을 사용하여 암호화 키를 여러 개의 조각으로 나눈다. 이 때, 암호화 키를 얻기 위해 필요한 키 조각의 개수를 임계값으로 정의하며 이 값은 사용자나 애플리케이션에 의해 설정되도록 한다.
키 조각의 개수와 임계값이 결정되면 난수기반의 또 다른 임의의 키를 생성한다. 이 임의의 키는 분산 해시 테이블 네트워크에 배포할 키 조각들의 위치를 지정하는데 사용된다. 만약 분산 해시 테이블 네트워크가 여러 종류의 시간제한을 지원한다면 그에 대한 정보를 각 키 조각들에 포함한다. 배포된 키 조각들의 수가 임계값보다 적어질 경우 해당 데이터는 어떤 경우에도 복원할 수 없다.
스토리지에 최종적으로 저장되는 데이터 객체는 (임의의 키, 암호문, 전체 키 조각의 개수, 임계값)으로 구성되며, 이때 임의의 키는 분산 해시 테이블 네트워크에 배포할 키 조각들의 위치를 지정하는데 사용된 키를 의미한다. 시스템을 활용하여 생성된 데이터 객체는 이메일 서버를 통해 전송되거나 기존 파일 시스템에 저장될 수 있다. 데이터 객체의 복호화 과정은 암호화 과정의 역순으로 이루어지며 사용자가 설정한 시간이 초과되지 않은 경우에만 가능하다. 먼저, 데이터 객체로부터 임의의 키를 추출하고 키 조각들의 위치를 알아낸다. 확인된 위치를 바탕으로 분산 해시 테이블 네트워크로부터 키 조각들을 얻어낸다. 그리고 얻어낸 키 조각들로 암호화를 수행하는데 사용된 키를 얻어 암호문을 복호화하고 데이터를 얻는다. 위와 같은 과정에서 임계값 보안 공유(Threshold Secret Sharing)에 필요한 임계값은 사용자의 요구사항을 만족하기 위해 중요한 요소라고 할 수 있다.
다음으로, 본 발명에 따른 강화 학습(reinforced learning)과 관련하여, 상태, 액션 및 보상을 수행하는 원리에 대해 살펴보기로 한다. 이와 관련하여, 도 2는 본 발명에 따른 강화 학습과 관련하여, 상태, 액션 및 보상을 수행하는 개념도를 나타낸다. 한편, 강화학습은 기계학습의 한 영역으로, 특정 환경에서 정의된 에이전트(10)가 현재의 상태를 인식하여 선택 가능한 행동들 중에서 보상을 최대화하는 액션(action)을 선택하여 문제를 해결하는 방법이다. 이때, 에이전트(10)가 얻게 되는 보상(reward)은 양수와 음수 둘 다 가능하며, 알고리즘을 바탕으로 에이전트(10)가 앞으로 얻게 될 누적 보상을 최대화하는 일련의 행동을 정의하는 방법이다. 도 2에 도시된 바와 같이, 에이전트(10)는 환경(environment)(20)의 제약 조건하에서, 가능한 상태(state)들 중 특정 상태를 선택하고, 이에 기반하여 액션(action)을 수행한다. 이러한 선택된 상태와 수행된 액션을 반복함에 따라 보상(reward)이 변하게 되고, 특정 조건을 만족할때까지 에이전트(10)는 일련의 과정을 반복한다.
한편, 본 발명에서 수행되는 강화 학습 기반 암호화 및 복호화 방법은 이러한 상태, 및 액션의 선택 및 수행이 반복되어 이에 따라 보상이 산출되므로, SARSA(State-Action-Reward-State-Action)라고 지칭될 수 있다. 즉, 본 발명에서는 강화학습의 여러 종류 중 SARSA(State-Action-Reward-State-Action)를 이용하여 문제를 해결하는 방법을 제안한다.
한편, 전술한 바와 같이, 호화 키를 얻기 위해서 필요한 최소한의 키 조각의 개수를 임계값으로 정의하며 이는 데이터의 가용성 및 보안성과 관련되어 있다. 이와 관련하여, 도 3은 본 발명에 따른 강화 학습 기반 암호화 및 복호화 방법에서, N개의 같은 키 조각과 이를 복호화 하기 위해 필요한 임계값이 다른 두 그래프를 나타낸다. 임계값의 비율이 95%인 경우에는 데이터가 유지되어야 하는 시간을 충족하지 못했으며, 45%인 경우에는 일정 기간이 지난 뒤에도 키의 조각이 완전히 사라지지 않았으므로 보안상의 문제를 야기할 수 있다. 이러한 문제는 노드들이 지속적으로 추가/삭제되는 분산 해시 테이블 네트워크의 특수성 때문이다.
한편, 도 3에서 데이터의 가용성 및 보안성을 모두 고려하기 위해서는 이상적인 그래프와 가장 유사한 결과를 갖는 임계값을 찾아야 한다. 따라서 본 발명에서는 이를 해결하기 위해 그래프의 유사도와 임계값을 바탕으로 강화학습을 적용하여 최적의 임계값을 찾는 방법을 제안한다.
한편, 도 1 내지 도 3에서의 개념에 따라 데이터의 가용성 및 보안성을 고려한 강화 학습 기반 암호화 및 복호화를 수행하기 위한 시스템 구조는 도 4와 같다. 즉, 도 4는 본 발명에 따른 데이터 암호화 및 복호화를 수행하는 시스템 구조를 나타낸다. 즉, 본 발명에서는 프라이버시 보호를 위한 Self-Destructing 환경에서 강화학습의 한 종류인 SARSA를 적용하여 데이터의 가용성 및 보안성을 고려한 임계값을 결정하는 기술을 제안한다.
도 4를 참조하면, 강화 학습 기반 암호화 및 복호화를 수행하는 클라이언트 및 서버 시스템(1000)은 클라이언트(100), 암호화/복호화 부(200), 및 DHT 네트워크상의 복수의 클라이언트들(300)을 포함한다. 이와 관련하여, 강화 학습 기반 암호화 및 복호화를 수행하는 암호화/복호화 부(200)는 서버에 해당할 수 있지만, 이에 한정되는 것은 아니고, 응용(application)에 따라 다양하게 변형되어 사용될 수 있다. 예를 들어, 사용자 단말에 해당하는 클라이언트(100) 내에 강화 학습 기반 암호화 및 복호화를 수행하는 일부 구성이 포함되고, 나머지 구성은 서버에 의해 이루어질 수 있다. 대안적으로, 모든 암호화 및 복호화가 클라이언트(100) 및 복수의 클라이언트들(300) 중 해당 데이터(컨텐츠)를 수신하려는 수신 클라이언트에 의해 이루어질 수 있다.
한편, 암호화/복호화 부(200)는 사용자 인터랙션(UI: User Interaction) 모듈(210), 암호화 모듈(Cryptography Module, 220), 보안(Secret) 모듈(250) 및 DHT 네트워크 모듈(DHT Network Module, 260)을 포함할 수 있다. 한편, 보안 모듈(250)은 키 관리 모듈(Key Management Module, 251), 보안 공유 모듈(Secret Sharing Module, 252), 및 임계값 예측 모듈(Threshold Estimation Module, 253)을 포함하도록 구성된다.
UI 모듈(210)은 사용자로부터 입력 값을 전달받도록 구성된다. 암호화 모듈(220)은 데이터에 대한 암호화 및 복호화를 수행하도록 구성된다. 한편, 키 관리 모듈(251)은 데이터에 대한 암호화 및 복호화를 수행하는데 필요한 암호화 키를 관리하도록 구성된다. 또한, 보안 공유 모듈(252)은 데이터에 대한 유지 시간(lifetime)과 가용성(availability)에 대한 임계값에 대한 보안 공유를 수행하도록 구성된다. 또한, 임계값 예측 모듈(253)은 이러한 임계값을 대한 예측을 수행하도록 구성된다. 한편, DHT 네트워크 모듈(260)은 분산 해시 테이블(DHT: Distributed Hash Table)에 기반하여, 적어도 하나의 수신 클라이언트 단말(200)과 데이터를 공유하도록 한다.
전술된 임계값 예측 모듈(253)의 상세 동작에 대해 살펴보면 다음과 같다. 이와 관련하여, 제안하는 강화학습을 적용한 임계값 결정은 임계값 예측 모듈(253)에서 다음과 같은 과정을 통해 수행된다. 즉, 임계값 예측 모듈(253)은 상태(state), 액션(action), 및 보상(reward)을 포함하는 매개변수에 의해, 상기 보상이 최대화되도록 임계값을 예측할 수 있다. 이와 관련하여, 표 1은 본 발명에 따른 강화 학습을 위한 매개변수와 이에 따른 상태, 액션 및 보상을 나타낸다.
표 1에 표현된 바와 같이, 상태(state)는 복수의 서로 다른 상태인 N, T를 포함할 수 있고, 이에 따라 액션(action)은 상태 N, T 중 어느 하나를 선택(select)하는 것에 해당한다. 한편, 이러한 상태와 선택된 액션에 대한 보상(reward)은 도 2에 표시된 데이터에 대한 유지 시간(lifetime)과 가용성(availability)에 대한 그래프에서 이상적(ideal) 형태에 가장 근접하도록 선택될 수 있다.
한편, SARSA 알고리즘을 적용한 임계값 예측에 필요한 매개변수는 State, Action, Reward이며, 각각은 전체 키 조각의 개수 및 임계값, 전체 키 조각의 개수 및 임계값을 선택하는 행위, 선택된 전체 키 조각의 개수 및 임계값을 바탕으로 측정된 이상적인 데이터 가용성 그래프와의 유사도로 정의할 수 있다. 학습과정이 시작되면 초기 State 및 Action을 행렬형태로 구조화하고 현재 State 및 Action, 다음 State 및 Action과 Reward를 바탕으로 행렬을 갱신한다. 이러한 과정을 통해 보상을 최대화하는 전체 키 조각의 개수와 임계값을 찾아 궁극적으로 사용자가 Self-Destructing 시스템을 사용하는데 있어 원하는 시간 동안만 데이터를 사용할 수 있도록 하며, 그 이후에는 데이터가 스스로 소멸될 수 있도록 한다.
전술된 동작들을 수행하는 임계값 예측 모듈(253)에서의 동작에 대해 설명하면 다음과 같다. 즉, 임계값 예측 모듈(253)은 암호화 키를 얻기 위해 필요한 전체 키 조각의 개수 및 임계값을 선택하고, 상기 선택된 전체 키 조각의 개수 및 임계값을 바탕으로 보상이 최대화되도록 상기 임계값을 예측할 수 있다. 또한, 임계값 예측 모듈(253)은 데이터에 대한 유지 시간(lifetime)과 가용성(availability)에 대한 그래프에서, 상기 보상이 최대화되는 것과 연관하여 가장 이상적 형태의 그래프에 가장 유사한 형태가 되도록 상기 임계값을 예측할 수 있다.
이러한 임계값 예측을 위한 구체적인 알고리즘에 대해 살펴보면 다음과 같다. 이와 관련하여, 도 5는 본 발명에 따른 강화 학습이 적용된 임계값 예측 과정의 구체적인 알고리즘을 나타낸다. 도 5에 표현된 알고리즘과 관련하여, 임계값 예측 모듈(253)은 초기 상태 및 액션을 행렬 형태로 구조화하고, 현재 상태 및 액션과 다음 상태 및 액션을 바탕으로 상기 행렬을 갱신하도록 구성된다. 또한, 임계값 예측 모듈(253)은 보상이 최대화된 것으로 판단되면, 가장 최근의 상태, 액션 및 보상에 기반하여 상기 임계값을 예측하도록 구성될 수 있다.
구체적으로, 임계값 예측 모듈(253)은 초기 상태 및 액션에 따라 행렬 Q(s,a)를 구성하고, 상기 행렬 Q(s,a)을 이용하여 제1상태(s)로부터 제1액션(a)을 선택할 수 있다. 또한, 임계값 예측 모듈(253)은 에피소드의 각 스텝에서 상기 제1액션(a)을 선택하고, 제1보상(r)과 제2상태(s')를 관측하고, 상기 제2상태(s')로부터 제2액션(a')을 선택할 수 있다. 이와 관련하여, 상기 제1상태(s) 및 상기 제1액션(a)과 상기 제2상태(s') 및 상기 제2액션(a')는,에 의해 결정될 수 있다. 한편, 상기 제2상태(s') 및 상기 제2액션(a')를 상기 제1상태(s) 및 상기 제1액션(a)으로 대체하고, 상기 대체된 제1상태(s)에 대응하는 보상이 특정 조건을 만족할 때까지 상기 행렬 갱신이 반복될 수 있다.
다음으로, 본 발명의 다른 양상에 따른 강화 학습 기반 암호화 및 복호화를 수행하는 서버에 대해 살펴보기로 하자. 이와 관련하여, 전술한 바와 같이, 도 4에서 암호화/복호화부(200)가 본 발명에 따른 강화 학습 기반 암호화 및 복호화를 수행하는 서버에 해당할 수 있다. 서버(200)는 사용자 인터랙션(UI) 모듈(210), 암호화 모듈(220), 보안 모듈(250), 및 DHT 네트워크 모듈(260)을 포함한다.
사용자 인터랙션(UI) 모듈(210)은 송신 클라이언트 단말(100)로부터 입력 값을 전달받도록 구성된다. 암호화 모듈(220)은 데이터에 대한 암호화 및 복호화를 수행하도록 구성된다. 보안 모듈(250)은 데이터에 대한 암호화 및 복호화를 수행하는데 필요한 암호화 키를 관리하고, 상기 데이터에 대한 유지 시간(lifetime)과 가용성(availability)에 대한 임계값에 대한 보안 공유를 수행하고, 상기 임계값을 대한 예측을 수행하도록 구성된다. 또한, DHT 네트워크 모듈(260)은 분산 해시 테이블(DHT: Distributed Hash Table)에 기반하여, 적어도 하나의 수신 클라이언트 단말(200)과 상기 데이터를 공유하도록 구성된다.
이때, 보안 모듈(250)은 상태(state), 액션(action), 및 보상(reward)을 포함하는 매개변수에 의해, 상기 보상이 최대화되도록 상기 임계값을 예측할 수 있다. 이와 관련하여, 보안 모듈(250)은 상기 암호화 키를 얻기 위해 필요한 전체 키 조각의 개수 및 상기 임계값을 선택하고, 상기 선택된 전체 키 조각의 개수 및 임계값을 바탕으로 상기 보상이 최대화되도록 상기 임계값을 예측할 수 있다. 또한, 보안 모듈(250)은 데이터에 대한 유지 시간(lifetime)과 가용성(availability)에 대한 그래프에서, 상기 보상이 최대화되는 것과 연관하여 가장 이상적 형태의 그래프에 가장 유사한 형태가 되도록 상기 임계값을 예측할 수 있다.
구체적으로, 보안 모듈(250)은 초기 상태 및 액션을 행렬 형태로 구조화하고, 현재 상태 및 액션과 다음 상태 및 액션을 바탕으로 상기 행렬을 갱신할 수 있다. 또한, 보안 모듈(250)은 상기 보상이 최대화된 것으로 판단되면, 가장 최근의 상태, 액션 및 보상에 기반하여 상기 임계값을 예측할 수 있다.
구체적으로, 보안 모듈(250)은 초기 상태 및 액션에 따라 행렬 Q(s,a)를 구성하고, 상기 행렬 Q(s,a)을 이용하여 제1상태(s)로부터 제1액션(a)을 선택할 수 있다. 또한, 보안 모듈(250)은 에피소드의 각 스텝에서 상기 제1액션(a)을 선택하고, 제1보상(r)과 제2상태(s')를 관측하고, 상기 제2상태(s')로부터 제2액션(a')을 선택할 수 있다. 이때, 상기 제1상태(s) 및 상기 제1액션(a)과 상기 제2상태(s') 및 상기 제2액션(a')는, 전술한 바와 같이 에 의해 결정될 수 있다. 이와 관련하여, 상기 제2상태(s') 및 상기 제2액션(a')를 상기 제1상태(s) 및 상기 제1액션(a)으로 대체하고, 상기 대체된 제1상태(s)에 대응하는 보상이 특정 조건을 만족할 때까지 상기 행렬 갱신이 반복될 수 있다.
한편, 본 발명의 또 다른 양상에 따른 강화 학습 기반 암호화 및 복호화를 수행하는 암호화 및 복호화 방법에 대해 살펴보기로 하자. 이와 관련하여, 도 6은 본 발명에 따른 암호화 및 복호화 방법의 흐름도를 나타낸다. 이때, 각 과정은 순차적으로 수행되는 것으로 도시되었지만, 응용에 따라 다양하게 그 순서가 변경되거나 또는 하나 이상의 과정들이 동시에 병렬적으로 수행될 수 있다. 도 6을 참조하면, 암호화 및 복호화 방법은 사용자 인터랙션(UI) 과정(S100), 암호화 과정(S150), 키 관리 과정(S200), 보안 공유(secret sharing) 과정(S300), 및 임계값 예측 과정(S400)을 포함한다.
사용자 인터랙션(UI) 과정(S100)에서, 사용자로부터 입력 값을 전달받는다. 암호화 과정(S150)에서, 데이터에 대한 암호화 및 복호화를 수행한다. 한편, 키 관리 과정(S200)에서, 데이터에 대한 암호화 및 복호화를 수행하는데 필요한 암호화 키를 관리한다. 또한, 보안 공유 과정(S300)에서, 데이터에 대한 유지 시간(lifetime)과 가용성(availability)에 대한 임계값에 대한 보안 공유를 수행한다. 또한, 임계값 예측 과정(S400)에서, 상기 임계값을 대한 예측을 수행한다.
한편, 본 발명에 따른 강화 학습 기반 암호화 및 복호화 방법 중 임계값 예측 과정(S400)에 대해 상세하게 살펴보면 다음과 같다. 이와 관련하여, 임계값 예측 과정(S400)에서, 상태(state), 액션(action), 및 보상(reward)을 포함하는 매개변수에 의해, 상기 보상이 최대화되도록 상기 임계값을 예측할 수 있다. 구체적으로, 임계값 예측 과정(S400)에서, 암호화 키를 얻기 위해 필요한 전체 키 조각의 개수 및 상기 임계값을 선택하고, 상기 선택된 전체 키 조각의 개수 및 임계값을 바탕으로 상기 보상이 최대화되도록 상기 임계값을 예측한다. 또한, 임계값 예측 과정(S400)에서, 데이터에 대한 유지 시간(lifetime)과 가용성(availability)에 대한 그래프에서, 상기 보상이 최대화되는 것과 연관하여 가장 이상적 형태의 그래프에 가장 유사한 형태가 되도록 상기 임계값을 예측한다.
한편, 도 7은 본 발명에 따른 임계값 예측 과정의 상세한 흐름도를 도시한다. 도 7을 참조하면, 임계값 예측 과정은 초기 상태 및 액션 행렬 구성 과정(S410), 행렬 갱신 과정(S420), 보상 판단 과정(S430), 및 임계값 예측 과정(S440)을 포함한다.
초기 상태 및 액션 행렬 구성 과정(S410)에서, 초기 상태 및 액션을 행렬 형태로 구조화한다. 또한, 행렬 갱신 과정(S420)에서, 현재 상태 및 액션과 다음 상태 및 액션을 바탕으로 상기 행렬을 갱신한다. 한편, 보상 판단 과정(S430)에서, 가장 최근 갱신된 행렬에 기반하여, 보상이 최대화된 것으로 판단할 수 있는지를 결정한다. 이때, 특정 조건을 만족하여 상기 보상이 최대화된 것으로 판단되면, 임계값 예측 과정(S440)에서, 가장 최근의 상태, 액션 및 보상에 기반하여 상기 임계값을 예측할 수 있다. 반면에, 특정 조건을 만족하지 못하여 상기 보상이 최대화되지 않았다고 판단되면, 행렬 갱신 과정(S420)을 반복할 수 있다.
구체적으로, 초기 상태 및 액션 행렬 구성 과정(S410)에서, 초기 상태 및 액션에 따라 행렬 Q(s,a)를 구성한다. 또한, 행렬 갱신 과정(S420)에서, 행렬 Q(s,a)을 이용하여 제1상태(s)로부터 제1액션(a)을 선택하고, 에피소드의 각 스텝에서 상기 제1액션(a)을 선택하고, 제1보상(r)과 제2상태(s')를 관측하고, 상기 제2상태(s')로부터 제2액션(a')을 선택하다. 또한, 행렬 갱신 과정(S420)에서, 제1상태(s) 및 상기 제1액션(a)과 상기 제2상태(s') 및 상기 제2액션(a')는, 에 의해 결정될 수 있다. 한편, 임계값 예측 과정(S440)에서, 상기 대체된 제1상태(s)에 대응하는 보상이 특정 조건을 만족할 때까지 상기 행렬 갱신 과정(S420)이 반복될 수 있다.
이상에서는 본 발명에 따른 강화 학습 기반 암호화 및 복호화 방법 및 이를 수행하는 클라이언트 및/또는 서버 시스템에 대해 살펴보았다. 이와 관련하여, 클라이언트 및 서버 시스템, 암호화 및 복호화 방법 및 강화 학습 기반 암호화 및 복호화를 수행하는 서버에서 각각 설명한 내용들은 상호 결합되어 이용될 수 있음은 물론이다.
한편, 전술된 강화 학습 기반 암호화 및 복호화 방법 및 이를 수행하는 클라이언트 및/또는 서버 시스템은, 클라우드 스토리지에 저장된 사용자의 개인 정보를 보호하기 위한 방안으로 적용할 수 있다. 또한, 파일, SNS 게시물, 문서, 이메일, 메시지 등의 모든 디지털 컨텐츠에 광범위하게 적용할 수 있다. 뿐만 아니라, 다양한 분야에서 임계값 예측을 위해 강화학습을 적용하는 사례로 활용될 수 있다.
한편, 본 발명에서 제안하는 해결방안을 바탕으로 애플리케이션, 클라우드 시스템 등의 서비스를 제공하는 사업에 적용 가능하다.
본 발명의 적어도 일 실시 예에 따른 강화 학습 기반 암호화 및 복호화 방법은, 프라이버시 보호를 위한 Self-Destructing 환경에서 사용자의 요구사항을 만족하는 데이터의 가용성 및 보안성을 향상시킬 수 있다는 장점이 있다.
또한, 본 발명의 적어도 일 실시 예에 따른 강화 학습 기반 암호화 및 복호화 방법은, 사용자의 요구사항과 함께 어플리케이션에 따라 차별적으로 데이터의 가용성 및 보안성을 향상시킬 수 있다는 장점이 있다.
소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능뿐만 아니라 각각의 구성 요소들은 별도의 소프트웨어 모듈로도 구현될 수 있다. 상기 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 작동을 수행할 수 있다. 적절한 프로그램 언어로 쓰여진 소프트웨어 어플리케이션으로 소프트웨어 코드가 구현될 수 있다. 상기 소프트웨어 코드는 메모리에 저장되고, 제어부(controller) 또는 프로세서(processor)에 의해 실행될 수 있다.
Claims (20)
- 강화 학습 기반 암호화 및 복호화를 수행하는 클라이언트 및 서버 시스템에 있어서,
데이터에 대한 암호화 및 복호화를 수행하는데 필요한 암호화 키를 관리하는 키 관리 모듈;
상기 데이터에 대한 유지 시간(lifetime)과 가용성(availability)에 대한 임계값에 대한 보안 공유를 수행하는 보안 공유(secret sharing) 모듈; 및
상기 임계값을 대한 예측을 수행하는 임계값 예측 모듈을 포함하는, 클라이언트 및 서버 시스템. - 제1 항에 있어서,
사용자로부터 입력 값을 전달받는 UI 모듈; 및
상기 데이터에 대한 암호화 및 복호화를 수행하는 암호화 모듈을 더 포함하는, 클라이언트 및 서버 시스템. - 제1 항에 있어서,
상기 임계값 예측 모듈은,
상태(state), 액션(action), 및 보상(reward)을 포함하는 매개변수에 의해, 상기 보상이 최대화되도록 상기 임계값을 예측하는 것을 특징으로 하는, 클라이언트 및 서버 시스템. - 제3 항에 있어서,
상기 임계값 예측 모듈은,
상기 암호화 키를 얻기 위해 필요한 전체 키 조각의 개수 및 상기 임계값을 선택하고, 상기 선택된 전체 키 조각의 개수 및 임계값을 바탕으로 상기 보상이 최대화되도록 상기 임계값을 예측하고,
상기 데이터에 대한 유지 시간(lifetime)과 가용성(availability)에 대한 그래프에서, 상기 보상이 최대화되는 것과 연관하여 가장 이상적 형태의 그래프에 가장 유사한 형태가 되도록 상기 임계값을 예측하는 것을 특징으로 하는, 클라이언트 및 서버 시스템. - 제3 항에 있어서,
상기 임계값 예측 모듈은,
초기 상태 및 액션을 행렬 형태로 구조화하고,
현재 상태 및 액션과 다음 상태 및 액션을 바탕으로 상기 행렬을 갱신하고,
상기 보상이 최대화된 것으로 판단되면, 가장 최근의 상태, 액션 및 보상에 기반하여 상기 임계값을 예측하는 것을 특징으로 하는, 클라이언트 및 서버 시스템. - 제5 항에 있어서,
상기 임계값 예측 모듈은,
상기 초기 상태 및 액션에 따라 행렬 Q(s,a)를 구성하고,
상기 행렬 Q(s,a)을 이용하여 제1상태(s)로부터 제1액션(a)을 선택하고,
에피소드의 각 스텝에서 상기 제1액션(a)을 선택하고, 제1보상(r)과 제2상태(s')를 관측하고,
상기 제2상태(s')로부터 제2액션(a')을 선택하는 것을 특징으로 하는, 클라이언트 및 서버 시스템. - 강화 학습 기반 암호화 및 복호화를 수행하는 암호화 및 복호화 방법에 있어서,
데이터에 대한 암호화 및 복호화를 수행하는데 필요한 암호화 키를 관리하는 키 관리 과정;
상기 데이터에 대한 유지 시간(lifetime)과 가용성(availability)에 대한 임계값에 대한 보안 공유를 수행하는 보안 공유(secret sharing) 과정; 및
상기 임계값을 대한 예측을 수행하는 임계값 예측 과정을 포함하는, 암호화 및 복호화 방법. - 제8 항에 있어서,
상기 키 관리 과정 이전에,
사용자로부터 입력 값을 전달받는 사용자 인터랙션(UI) 과정; 및
상기 데이터에 대한 암호화 및 복호화를 수행하는 암호화 과정을 더 포함하는, 클라이언트 및 서버 시스템. - 제8 항에 있어서,
상기 임계값 예측 과정에서,
상태(state), 액션(action), 및 보상(reward)을 포함하는 매개변수에 의해, 상기 보상이 최대화되도록 상기 임계값을 예측하는 것을 특징으로 하는, 클라이언트 및 서버 시스템. - 제10 항에 있어서,
상기 임계값 예측 과정에서,
상기 암호화 키를 얻기 위해 필요한 전체 키 조각의 개수 및 상기 임계값을 선택하고, 상기 선택된 전체 키 조각의 개수 및 임계값을 바탕으로 상기 보상이 최대화되도록 상기 임계값을 예측하고,
상기 데이터에 대한 유지 시간(lifetime)과 가용성(availability)에 대한 그래프에서, 상기 보상이 최대화되는 것과 연관하여 가장 이상적 형태의 그래프에 가장 유사한 형태가 되도록 상기 임계값을 예측하는 것을 특징으로 하는, 클라이언트 및 서버 시스템. - 제10 항에 있어서,
상기 임계값 예측 과정은,
초기 상태 및 액션을 행렬 형태로 구조화하는 초기 상태 및 액션 행렬 구성 과정;
현재 상태 및 액션과 다음 상태 및 액션을 바탕으로 상기 행렬을 갱신하는 행렬 갱신 과정; 및
상기 보상이 최대화된 것으로 판단되면, 가장 최근의 상태, 액션 및 보상에 기반하여 상기 임계값을 예측하는 임계값 예측 과정을 포함하는 것을 특징으로 하는, 클라이언트 및 서버 시스템. - 제12 항에 있어서,
상기 초기 상태 및 액션 행렬 구성 과정에서, 상기 초기 상태 및 액션에 따라 행렬 Q(s,a)를 구성하고,
상기 행렬 갱신 과정에서, 상기 행렬 Q(s,a)을 이용하여 제1상태(s)로부터 제1액션(a)을 선택하고, 에피소드의 각 스텝에서 상기 제1액션(a)을 선택하고, 제1보상(r)과 제2상태(s')를 관측하고, 상기 제2상태(s')로부터 제2액션(a')을 선택하는 것을 특징으로 하는, 클라이언트 및 서버 시스템. - 강화 학습 기반 암호화 및 복호화를 수행하는 서버에 있어서,
송신 클라이언트 단말로부터 입력 값을 전달받는 사용자 인터랙션(UI) 모듈;
데이터에 대한 암호화 및 복호화를 수행하는 암호화 모듈;
상기 데이터에 대한 암호화 및 복호화를 수행하는데 필요한 암호화 키를 관리하고, 상기 데이터에 대한 유지 시간(lifetime)과 가용성(availability)에 대한 임계값에 대한 보안 공유를 수행하고, 상기 임계값을 대한 예측을 수행하는 보안 모듈; 및
분산 해시 테이블(DHT: Distributed Hash Table)에 기반하여, 적어도 하나의 수신 클라이언트 단말과 상기 데이터를 공유하도록 하는 DHT 네트워크 모듈을 포함하는, 서버. - 제15항에 있어서,
상기 보안 모듈은,
상태(state), 액션(action), 및 보상(reward)을 포함하는 매개변수에 의해, 상기 보상이 최대화되도록 상기 임계값을 예측하는 것을 특징으로 하는, 서버. - 제16항에 있어서,
상기 보안 모듈은,
상기 암호화 키를 얻기 위해 필요한 전체 키 조각의 개수 및 상기 임계값을 선택하고, 상기 선택된 전체 키 조각의 개수 및 임계값을 바탕으로 상기 보상이 최대화되도록 상기 임계값을 예측하고,
상기 데이터에 대한 유지 시간(lifetime)과 가용성(availability)에 대한 그래프에서, 상기 보상이 최대화되는 것과 연관하여 가장 이상적 형태의 그래프에 가장 유사한 형태가 되도록 상기 임계값을 예측하는 것을 특징으로 하는, 서버. - 제16 항에 있어서,
상기 보안 모듈은,
초기 상태 및 액션을 행렬 형태로 구조화하고,
현재 상태 및 액션과 다음 상태 및 액션을 바탕으로 상기 행렬을 갱신하고,
상기 보상이 최대화된 것으로 판단되면, 가장 최근의 상태, 액션 및 보상에 기반하여 상기 임계값을 예측하는 것을 특징으로 하는, 서버. - 제18 항에 있어서,
상기 보안 모듈은,
상기 초기 상태 및 액션에 따라 행렬 Q(s,a)를 구성하고,
상기 행렬 Q(s,a)을 이용하여 제1상태(s)로부터 제1액션(a)을 선택하고,
에피소드의 각 스텝에서 상기 제1액션(a)을 선택하고, 제1보상(r)과 제2상태(s')를 관측하고,
상기 제2상태(s')로부터 제2액션(a')을 선택하는 것을 특징으로 하는, 서버.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170173815A KR102061345B1 (ko) | 2017-12-18 | 2017-12-18 | 강화 학습 기반 암호화 및 복호화 수행 방법 및 이를 수행하는 클라이언트, 서버 시스템 |
US15/880,074 US10700855B2 (en) | 2017-12-18 | 2018-01-25 | Reinforcement learning-based encryption and decryption method and client and server system performing the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170173815A KR102061345B1 (ko) | 2017-12-18 | 2017-12-18 | 강화 학습 기반 암호화 및 복호화 수행 방법 및 이를 수행하는 클라이언트, 서버 시스템 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190072770A true KR20190072770A (ko) | 2019-06-26 |
KR102061345B1 KR102061345B1 (ko) | 2019-12-31 |
Family
ID=66816500
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170173815A KR102061345B1 (ko) | 2017-12-18 | 2017-12-18 | 강화 학습 기반 암호화 및 복호화 수행 방법 및 이를 수행하는 클라이언트, 서버 시스템 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10700855B2 (ko) |
KR (1) | KR102061345B1 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112183757A (zh) * | 2019-07-04 | 2021-01-05 | 创新先进技术有限公司 | 模型训练方法、装置及*** |
CN115186831A (zh) * | 2022-09-09 | 2022-10-14 | 之江实验室 | 一种高效隐私保护的深度学习方法 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11611430B2 (en) * | 2019-04-15 | 2023-03-21 | Axell Corporation | Arithmetic apparatus, arithmetic system and arithmetic method |
US11373108B2 (en) * | 2019-07-10 | 2022-06-28 | Microsoft Technology Licensing, Llc | Reinforcement learning in real-time communications |
CN110807484B (zh) * | 2019-10-31 | 2023-05-23 | 福建师范大学 | 基于隐私保护vgg的密态图像识别方法及*** |
US11727125B2 (en) * | 2020-03-31 | 2023-08-15 | General Electric Company | Emergent language based data encryption |
CN112187710B (zh) * | 2020-08-17 | 2022-10-21 | 杭州安恒信息技术股份有限公司 | 威胁情报数据的感知方法、装置、电子装置和存储介质 |
CN114936650A (zh) * | 2020-12-06 | 2022-08-23 | 支付宝(杭州)信息技术有限公司 | 基于隐私保护的联合训练业务模型的方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140109337A (ko) | 2013-03-05 | 2014-09-15 | 한국과학기술원 | 기본 가치 신호를 이용한 강화 학습 방법 및 그 장치 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7636171B1 (en) * | 2006-04-24 | 2009-12-22 | Storage Technology Corporation | Storage media monitoring method for archive management |
US8538029B2 (en) * | 2011-03-24 | 2013-09-17 | Hewlett-Packard Development Company, L.P. | Encryption key fragment distribution |
KR101508842B1 (ko) | 2013-09-04 | 2015-04-07 | 인하대학교 산학협력단 | 저비용 휴먼 컴퓨터 상호작용 어플리케이션을 위한 진화 적응 시선 추적을 제공하는 시스템 및 방법 |
US10735137B2 (en) * | 2016-03-15 | 2020-08-04 | ClineHair Commercial Endeavors | Distributed storage system data management and security |
EP3373810A4 (en) * | 2016-01-14 | 2020-03-25 | Bigfoot Biomedical, Inc. | DIABETES MANAGEMENT SYSTEM |
-
2017
- 2017-12-18 KR KR1020170173815A patent/KR102061345B1/ko active IP Right Grant
-
2018
- 2018-01-25 US US15/880,074 patent/US10700855B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140109337A (ko) | 2013-03-05 | 2014-09-15 | 한국과학기술원 | 기본 가치 신호를 이용한 강화 학습 방법 및 그 장치 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112183757A (zh) * | 2019-07-04 | 2021-01-05 | 创新先进技术有限公司 | 模型训练方法、装置及*** |
CN112183757B (zh) * | 2019-07-04 | 2023-10-27 | 创新先进技术有限公司 | 模型训练方法、装置及*** |
CN115186831A (zh) * | 2022-09-09 | 2022-10-14 | 之江实验室 | 一种高效隐私保护的深度学习方法 |
CN115186831B (zh) * | 2022-09-09 | 2022-12-13 | 之江实验室 | 一种高效隐私保护的深度学习方法 |
Also Published As
Publication number | Publication date |
---|---|
KR102061345B1 (ko) | 2019-12-31 |
US20190190700A1 (en) | 2019-06-20 |
US10700855B2 (en) | 2020-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102061345B1 (ko) | 강화 학습 기반 암호화 및 복호화 수행 방법 및 이를 수행하는 클라이언트, 서버 시스템 | |
CN110881063B (zh) | 一种隐私数据的存储方法、装置、设备及介质 | |
US10320560B1 (en) | Key management and dynamic perfect forward secrecy | |
US20060093150A1 (en) | Off-loading data re-encryption in encrypted data management systems | |
US11387999B2 (en) | Access to secured information | |
WO2017065209A1 (ja) | 情報処理システム、情報処理装置、情報処理方法、及び、プログラム | |
Jayapandian et al. | Secure and efficient online data storage and sharing over cloud environment using probabilistic with homomorphic encryption | |
US11216576B1 (en) | Systems, methods, and computer-readable media for utilizing anonymous sharding techniques to protect distributed data | |
JP6770075B2 (ja) | 暗号化メッセージ検索方法、メッセージ送受信システム、端末、プログラム | |
KR20090053037A (ko) | 내적을 이용한 암호화된 데이터 검색 방법 및 이를 위한단말 장치와 서버 | |
Lee et al. | A secure index management scheme for providing data sharing in cloud storage | |
KR20180130249A (ko) | 클라우드 저장 기반 암호화 시스템 및 방법 | |
KR102424856B1 (ko) | Rlwe 암호문들의 압축 및 불확정적 확장 | |
Pal et al. | Multilevel threshold secret sharing in distributed cloud | |
CN112889240B (zh) | 服务器装置、通信终端、通信***、以及记录介质 | |
Manjula et al. | Division of data in cloud environment for secure data storage | |
Islam et al. | A novel approach for client side encryption in cloud computing | |
JP2016139894A (ja) | 再暗号化方法、再暗号化システム、および再暗号化装置 | |
CN109120576B (zh) | 数据分享方法及装置、计算机设备及存储介质 | |
CN114900442B (zh) | 用于对业务数据进行预测的方法及其相关产品 | |
KR100951034B1 (ko) | 암호문 크기를 줄이기 위한 공개키 기반의 검색가능암호문생성 방법과, 그에 따른 공개키 기반의 데이터 검색 방법 | |
KR101812311B1 (ko) | 사용자 단말 및 속성 재암호 기반의 사용자 단말 데이터 공유 방법 | |
Fernandez et al. | Securing Blockchain with Quantum Safe Cryptography: When and How? | |
KR102526114B1 (ko) | 암호화 및 복호화를 위한 장치 및 방법 | |
CN114258018B (zh) | 密钥管理方法、装置、计算机设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |