KR20210042668A - 재부팅없이 무한 연산이 가능한 동형 암호 기반의 동적 궤환 제어기의 구성 방법 - Google Patents

재부팅없이 무한 연산이 가능한 동형 암호 기반의 동적 궤환 제어기의 구성 방법 Download PDF

Info

Publication number
KR20210042668A
KR20210042668A KR1020190125503A KR20190125503A KR20210042668A KR 20210042668 A KR20210042668 A KR 20210042668A KR 1020190125503 A KR1020190125503 A KR 1020190125503A KR 20190125503 A KR20190125503 A KR 20190125503A KR 20210042668 A KR20210042668 A KR 20210042668A
Authority
KR
South Korea
Prior art keywords
controller
matrix
equation
state
control data
Prior art date
Application number
KR1020190125503A
Other languages
English (en)
Other versions
KR102306635B1 (ko
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 KR1020190125503A priority Critical patent/KR102306635B1/ko
Priority to PCT/KR2020/008097 priority patent/WO2021071054A1/ko
Publication of KR20210042668A publication Critical patent/KR20210042668A/ko
Priority to US17/382,599 priority patent/US11843688B2/en
Application granted granted Critical
Publication of KR102306635B1 publication Critical patent/KR102306635B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computational Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명에 의한 동적 제어 데이터의 처리 방법은, 피제어부와, 제어기와, 제어기로부터 수신한 제어신호를 복호화하는 복호화 모듈과, 복호화 모듈로부터 복호화된 제어신호를 수신하여 작동하는 액츄에이터와, 피제어부의 출력을 검지하는 센서와, 센서의 신호를 동형 암호화하는 동형 암호화 모듈을 포함하는 환경에서 수행된다.
상기 제어기의 상태 방정식은
Figure pat00052
로 주어진다.
본 발명에 의한 동적 제어 데이터 처리 방법은, 좌표 변환 행렬 T(z(t)=Tx(t))에 의해 상기 상태 방정식의 동형 암호화된 상태 방정식을
Figure pat00053
로 변환하되,
Figure pat00054
가 정수 행렬이 되도록 하는 행렬 R과 T를 산출하여 변환된 상태 방정식을 완성하는 제1 단계를 포함한다.
스케일링 팩터 1/s는 1보다 크며, 레졸루션 r은 0보다 클 수 있다.

Description

재부팅없이 무한 연산이 가능한 동형 암호 기반의 동적 궤환 제어기의 구성 방법{Method for Dynamic Feedback Control Based on Homomorphic Encryption Which Carries Out Unlimited Arithmetic Operations Without Bootstrapping}
본 발명은 동형 암호 기반의 동적 제어 데이터 처리 방법에 대한 것으로서, 좀 더 자세하게는 재부팅없이 무한 연산이 가능한 동형 암호 기반의 동적 궤환 제어기 구성 방법에 대한 것이다.
네트워크 통신으로 컴퓨터에 물리적 시스템이 연결될수록 실제 제어 시스템이 해커의 목표가 될 가능성이 높아진다. 일반적으로 연산부(computation; 사이버 부분), 물리적 시스템(물리적 부분)와 통신부(사이버 파트와 물리적 부분간의 링크)를 통칭하여 사이버-물리 시스템(cyber-physical system)이라고 한다.
사이버-물리 시스템의 개방성 및 연결성으로 인해 악성 공격에 취약할 수 밖에 없는데, 산업 플랜트 등이 악성 해커의 공격에 노출된다면 대규모 사고를 초래할 수도 있고 작게는 개별 플랜트 등이 오작동할 수 있다.
그러한 문제를 예방하기 위하여 제어 신호를 암호화하여 사용하는 방법이 채택될 수 있는데, 암호화된 데이터를 제어기가 연산을 하기 위해서는 복호화 과정이 필요하다.
복호화를 위해서는 제어기가 비밀키를 소유하고 있어야 하는데 그러한 환경에서는 비밀키가 해커에 의해서 탈취될 가능성이 있기 때문에 보안상 취약점이 존재한다.
이러한 문제를 해결하기 위하여 제어 데이터를 동형 암호화하고, 암호화된 제어 데이터를 연산하는 기술적 사상이 2013년 12월 25일에 공개된 유럽특허출원공개 EP 2 677 680 A1에 기재되어 있다. 그런데 동형 암호문은 연산을 거듭할수록 내부 노이즈가 증가하고, 실수를 정수화하는 과정에서 포함되는 스케일링 팩터(비례 정수)가 누적되는 등의 한계로 인해 나중에는 더 이상의 연산이 불가능하게 된다. 그러한 경우 제어기를 부트스트래핑(재부팅)해야 하는데, 부트스트래핑을 하는 동안은 제어기가 암호화된 상태 변수를 업데이트하지 못하므로 제어기 동작이 멈추는 문제가 있었다.
2018년 11월 19일에 등록공고된 한국특허 제10-1919940호는, 부트스트래핑을 하는 동안에 상태 변수 업데이트 문제를 해결하기 위한 방법을 제안하고 있다. 이 특허는 다중 제어기를 도입하여 어느 하나의 제어기가 부트 스트래핑을 하는 동안에 다른 제어기가 상태 변수를 업데이트하는 방법을 제안하고 있다. 그러나 이 방법은 제어기를 여러 개 사용하므로 비용 문제와 복잡도 상승으로 인해 실제 적용에 어려움이 있고, 제어기가 여전히 재부팅을 해야 하는 한계를 가지고 있기 때문에 소요 연산 시간을 짧게 하기도 어려운 문제가 있었다.
본 발명은 동형 암호에 기반한 동적 제어 데이터의 처리에 필연적으로 수반되는 것으로 인식되는 재부팅 과정(bootstrapping)을 아예 원천적으로 제거함으로써 재부팅없이도 동형 암호문간의 연산을 무한히 수행할 수 있는 동적 제어 데이터 처리 방법을 제공하는 것을 목적으로 한다.
본 발명에 의한 동적 제어 데이터의 처리 방법은, 피제어부와, 제어기와, 제어기로부터 수신한 제어신호를 복호화하는 복호화 모듈과, 복호화 모듈로부터 복호화된 제어신호를 수신하여 작동하는 액츄에이터와, 피제어부의 출력을 검지하는 센서와, 센서의 신호를 동형 암호화하는 동형 암호화 모듈을 포함하는 환경에서 수행된다.
상기 제어기의 상태 방정식은
Figure pat00001
로 주어진다.
본 발명에 의한 동적 제어 데이터 처리 방법은, 좌표 변환 행렬 T(z(t)=Tx(t))에 의해 상기 상태 방정식의 동형 암호화된 상태 방정식을
Figure pat00002
로 변환하되,
Figure pat00003
가 정수 행렬이 되도록 하는 행렬 R과 T를 산출하여 변환된 상태 방정식을 완성하는 제1 단계를 포함한다.
스케일링 팩터 1/s는 1보다 크며, 레졸루션 r은 0보다 클 수 있다.
본 발명에 의한 동적 제어 데이터 처리 방법은 제어기의 상태 방정식에 대해서 Kalman observable decomposition을 수행하는 제2-1 단계와; T1(F11-R1H1)T1 -1이 정수 행렬이 되도록 하는 R1 및 T1을 산출하는 제2-2 단계를 포함할 수 있다. 상기 제2-2 단계는, 행렬 F11의 고유값(eigen value)을
Figure pat00004
로 산출하는 제2-2-1 단계와; 행렬 (F11-R1H1)의 고유값이
Figure pat00005
이 되도록 하는 R1을 산출하는 제2-2-2 단계와; 행렬 (F11-R1H1)을 modal canonical form으로 변환하는 행렬 T1을 산출하는 제2-2-3 단계와; 산출된 T1과 R1을 이용하여 정수 행렬 (T1(F11-R1H1)T1 -1)을 산출하여 상태 방정식에 상태 행렬로서 반영하는 제2-2-4 단계를 포함할 수 있다.
본 발명에 의한 동적 제어 데이터 처리 방법은, 제어기가 액츄에이터측으로부터 암호화된 제어 신호(Enc(u(t))를 수신하는 제3 단계를 더 포함할 수 있다.
Figure pat00006
를 제1 암호화부,
Figure pat00007
를 제2 암호화부로 지칭하면, 제1 암호화부는 센서가 감지한 출력의 암호화값(Enc(y(t))를 수신하여 연산하고, 제2 암호화부는 액츄에이터측으로부터 제어기 출력의 암호화값(Enc(u(t))를 수신하여 연산할 수 있다.
R1은 pole placement 방법을 통해서 산출할 수 있다.
본 발명에 의하면, 상태 행렬이 실계수 행렬로 주어진 임의의 동형 암호 기반 선형 동적 제어기에 대해서, 재부팅없이 동형 암호문간의 연산을 무한히 수행할 수 있으므로 종래의 다중 제어기를 도입하는 방법에 비해서 현저하게 비용이 저감되며, 연산 속도 역시 짧게 할 수 있는 작용효과가 제공된다.
도 1은 본 발명에 의한 동적 제어 데이터 처리 방법이 수행되는 환경의 예시적인 블록도.
도 2는 본 발명에 의한 동적 데이터의 처리 방법의 흐름도.
이하에서는 첨부 도면을 참조하여 본 발명에 대해서 자세하게 설명한다.
본 명세서에서 수행되는 정보(데이터) 전송 과정은 필요에 따라서 암호화/복호화가 적용될 수 있으며, 본 명세서 및 특허청구범위에서 정보(데이터) 전송 과정을 설명하는 표현은 별도로 언급되지 않더라도 모두 암호화/복호화하는 경우도 포함하는 것으로 해석되어야 한다. 본 명세서에서 "A로부터 B로 전송(전달)" 또는 "A가 B로부터 수신"과 같은 형태의 표현은 중간에 다른 매개체가 포함되어 전송(전달) 또는 수신되는 것도 포함하며, A로부터 B까지 직접 전송(전달) 또는 수신되는 것만을 표현하는 것은 아니다. 본 발명의 설명에 있어서 각 단계의 순서는 선행 단계가 논리적 및 시간적으로 반드시 후행 단계에 앞서서 수행되어야 하는 경우가 아니라면 각 단계의 순서는 비제한적으로 이해되어야 한다. 즉 위와 같은 예외적인 경우를 제외하고는 후행 단계로 설명된 과정이 선행 단계로 설명된 과정보다 앞서서 수행되더라도 발명의 본질에는 영향이 없으며 권리범위 역시 단계의 순서에 관계없이 정의되어야 한다. 그리고 본 명세서에서 “A 또는 B”는 A와 B 중 어느 하나를 선택적으로 가리키는 것 뿐만 아니라 A와 B 모두를 포함하는 것도 의미하는 것으로 정의된다. 또한, 본 명세서에서 "포함"이라는 용어는 포함하는 것으로 나열된 요소 이외에 추가로 다른 구성요소를 더 포함하는 것도 포괄하는 의미를 가진다.
본 명세서에서 "모듈"이라 함은 범용적 또는 개별적으로 적용되는 하드웨어와 그 기능을 수행하는 소프트웨어의 논리적 결합을 의미한다.
본 명세서에서는 본 발명의 설명에 필요한 필수적인 구성요소만을 설명하며, 본 발명의 본질과 관계가 없는 구성요소는 언급하지 아니한다. 그리고 언급되는 구성요소만을 포함하는 배타적인 의미로 해석되어서는 아니되며 다른 구성요소도 포함할 수 있는 비배타적인 의미로 해석되어야 한다.
본 명세서에서 "동적 제어 데이터"라고 함은, 일정 시간 내에 처리되지 않으면 무의미해지거나 그 가치가 현저히 떨어져서 사실상 효용성이 사라지는 제어 데이터로 정의되며, "동적 제어기"라고 함은 동적 시스템으로 만들어진 제어기라는 뜻으로 제어기 내부에 상태 변수를 유지하여 매 연산시간마다 상태변수가 갱신되는 형태의 제어기를 포함한다.
본 발명은 전자적 연산이 가능한 컴퓨터 등의 전자적 연산 장치에 의해서 수행되며, 후술하는 본 발명의 각 단계의 수학적 연산 및 산출은 해당 연산 또는 산출을 하기 위해 공지되어 있는 코딩 방법 및/또는 본 발명에 적합하게 고안된 코딩에 의해서 컴퓨터 연산으로 구현될 수 있다.
그리고 본 명세서에서 "값"이라 함은 스칼라값 뿐만 아니라 행렬, 벡터 또는 다항식도 포함하는 개념으로 정의된다.
본 명세서에서 특정값에 대해 암호화 또는 해쉬 등과 같은 연산을 하여 소정의 값을 획득한다는 의미는 해당 특정값 뿐만 아니라 해당 특정값의 변형값(예를 들어, 특정값에 소정의 값을 추가로 연산하거나 소정의 규칙에 따라서 해당 특정값을 변화시키는 등의 과정을 통해서 산출된 다른 값)에 대한 암호화 또는 해쉬 등의 연산도 포함하는 것으로 정의된다.
본 명세서에서 설명하는 예시적인 실시예는 본 명세서에 개시(開示)되는 장치의 구조, 기능, 제작 및 용도와 방법의 원리에 대한 전반적인 이해를 제공한다. 이러한 하나 이상의 실시예가 첨부 도면에 도시되어 있다. 당업자라면 여기에 구체적으로 기재되고 첨부 도면에 도시되어 있는 장치 및 방법이 비제한적이고 예시적인 실시예이며 본 발명의 권리범위는 특허청구범위에 의해서 정의된다는 점을 이해할 것이다. 하나의 예시적인 실시예와 관련되어 도시되고 설명되는 특징은 다른 실시예의 특징과도 결합될 수 있다. 그러한 수정(modification) 또는 변경(variation)은 본 발명의 권리범위에 포함되도록 의도된다.
본 명세서에서는 설명의 편의를 위해 제어기(10)가 이산시간 선형 시불변 제어기(discrete-time linear time-invariant controller)인 것으로 가정한다. 그러나 본 발명의 기술적 사상을 이해한, 제어 분야에서 통상의 지식을 가지는 사람이라면, 다른 형태의 선형 제어기 또는 시변 제어기에도 본 발명을 별다른 어려움 없이 적용할 수 있다.
본 명세서에서 Dec(*)은 괄호안의 값을 복호화한 값이며, Enc(*)는 괄호안의 값을 동형암호화한 값을 의미한다. 그리고 상부에 "-"가 표시된 변수는 해당 변수를 동형 암호화한 값을 의미한다.
본 명세서에서
Figure pat00008
는 내부의 값의 반올림값을 의미한다.
도 1에는 본 발명에 의한 동적 제어 데이터 처리를 수행하는 제어 환경의 일례가 도시되어 있다.
이 환경은, 제어기(10)와, 액츄에이터(20)와, 복호화 모듈(25)과, 피제어부(30)와, 센서(40)와, 암호화 모듈(45)을 포함한다.
액츄에이터(20)와 복호화 모듈(25)은 별도의 구성요소로 도 1에 도시되어 있지만, 액츄에이터(20)와 복호화 모듈(25)은 일체로 구성될 수도 있다. 센서(40)와 암호화 모듈(45)도 별도의 구성요소로 도 1에 도시되어 있지만, 센서(40)와 암호화 모듈(45)은 일체로 구성될 수도 있다. 복호화 모듈(25)과 암호화 모듈(45) 중 적어도 어느 하나는 제어기(10)와 일체로 구성될 수도 있다.
복호화와 암호화는 대칭키 방식을 사용할 수도 있고, 공개키 암호화 방식을 사용할 수도 있다. 대칭키 방식인 경우에는, 복호화 모듈(25)과 암호화 모듈(45)이 동일한 키를 가지고 있으며, 공개키 암호화 방식인 경우에는 복호화 모듈(25)은 비밀키를, 암호화 모듈(45)은 공개키를 가질 수 있다.
액츄에이터(20)는 제어기(10)의 제어 명령 u(t)에 따라서 피제어부(30)를 제어한다. 센서(40)는 피제어부(30)의 출력을 감지한다. 암호화 모듈(45)은 센서(40)가 감지한 신호를 동형 암호화한 값인
Figure pat00009
를 제어기 입력값으로서 제어기(10)로 입력한다. 복호화 모듈(25)은 제어기(10)의 출력인 암호화된 제어기 출력 신호값인
Figure pat00010
를 복호화하여 액츄에이터(20)에 제공하는 동시에 해당 값을 재암호화하여 제어기 입력값으로서 제어기(10)로 입력한다.
본 발명에 의한 제어 시스템의 상태 방정식은 다음과 같이 정의된다.
Figure pat00011
Figure pat00012
수학식 1에서 행렬 F, G, H, J는 실수 행렬로 가정한다.
본 발명에 의한 제어 시스템의 동형 암호 시스템이 다음과 같이 구성된다고 가정한다.
평문 공간:
Figure pat00013
(모듈로(modulo) N이 자연수인 정수의 집합)
암호문 공간 :
Figure pat00014
Figure pat00015
일 때, Dec(Enc(m1)*Enc(m2)) = m1 + m2 이면 동형 암호 시스템은 덧셈에 대해 동형인(additively homomorphic) 시스템으로 지칭된다.
Enc:
Figure pat00016
, Dec:
Figure pat00017
;
Figure pat00018
이면, 정수 행렬 K와 암호행렬 c의 연산은 다음과 같이 정리할 수 있다.
Figure pat00019
즉 Dec(K·Enc(m)) = Km 가 성립한다. 여기에서
Figure pat00020
이다.
다음과 같은 정적 제어기(static controller) 입력값과 출력값의 암호화 및 복호화에 대해서 설명한다.
피제어부의 입력:
Figure pat00021
피제어부의 출력:
Figure pat00022
Figure pat00023
평문 공간
Figure pat00024
는 다음과 같이 정의된다.
Figure pat00025
스케일링 팩터(scaling factor) 1/s와 레졸루션(r)을 이용하여 수학식 3의 암호문을 정수화하면 다음과 같다.
Figure pat00026
여기에서 1/s는 1보다 크거나 같으며, r은 0보다 크다.
Figure pat00027
이고,
Figure pat00028
의 조건을 만족하는 충분히 큰 1/s와 1/r에 대해서는 다음과 같은 관계가 성립한다.
Figure pat00029
동적 제어기인 경우에 실수 상태 행렬 F를 전술한 바와 같은 스케일링 팩터와 레졸루션을 이용하여 정수 상태 행렬로 변환하면, 동형 암호문 연산이 거듭될수록 스케일링 팩터가 누적되어서 어느 시간이 경과한 후에는 더 이상의 연산이 불가능해진다. 이는 제어기의 상태 변수 x(t)가 연산 후 사라지는 값이 아니라 내부적으로 남아 있는 상태에서 그 다음번 연산에 사용되기 때문이다. 반면에, y(t) 및 u(t)는 매번 새로운 값으로 생성되기 때문에 연산이 거듭되더라도 스케일링 팩터가 누적되지 않는다.
본 발명에서는 상태 변수 x(t)의 상태 행렬 F를 스케일링 팩터를 사용하지 않고 아예 정수 행렬로 변환함으로써 동형 암호문의 연산을 무한히 제한없이 수행할 수 있게 한다. 그 구체적이 방법에 대해서 이하에 설명한다.
수학식 1의 상태 방정식을 좌표 변환 행렬 T(z=Tx)를 이용하여 다음과 같이 변환한다.(단계 200)
Figure pat00030
수학식 6은 수학식 1의 u(t)와 스케일링 팩터(1/s) 및 레졸루션(r)을 이용하여 다음과 같이 변환될 수 있다. 설명의 편의를 위해 암호화된 상태 변수값을 사용한다. 동형 암호문의 연산의 특징에 의해서 평문 연산과 암호문의 연산의 연산식은 동일하게 표현할 수 있다.
Figure pat00031
수학식 7은 도 2의 단계(210)에서 수행된다.
수학식 7에서
Figure pat00032
를 제1 암호부로 지칭하고,
Figure pat00033
를 제2 암호부로 지칭한다.
제어기(10)는 상기 연산에 필요한 Enc(u(t))값을 도 1에 도시된 바와 같이 액츄에이터측으로부터 수신한다. 액츄에이터측과 제어기(10) 사이에 쌍방향 통신이 가능하도록 구현할 수 있으며, 제어기(10)의 출력인 암호화된 제어신호 즉 Enc(u(t))를 수신한 액츄에이터측이 그 암호화된 신호를 복호화한 후 재암호화하여 제어기(10)로 되돌려 줄 수 있다. 제1 암호부의 연산을 위해 필요한 Enc(y(t))는 센서(40)로부터 수신한다.
다음으로
Figure pat00034
를 정수 행렬로 변환할 수 있는 좌표 변환 행렬 T와 행렬 R을 찾는 과정(단계 220) 대해서 설명한다.
먼저 제어기(10)의 상태 방정식에 대해서 Kalman observable decomposition을 수행한다.
수학식 1의 상태 방정식을 가지는 제어기에 대해서 Kalman observable decomposition을 수행하면 좌표 변환을 통해서 다음과 같이 변환된다. 먼저 좌표변환 행렬
Figure pat00035
을 찾아서 w=Wx로 표현하는데, w1 = W1x, w2 = W2x로 정의해서 다음의 수학식으로 표현할 수 있다.
Figure pat00036
Figure pat00037
(8b)
Figure pat00038
(8c)
위와 같이 좌표 변환된 제어기에 대한 Kalman observable decomposition은 항상 다음을 보장한다.
첫째, (F11, H1)은 관측 가능한 성질을 가진다.
둘째, 수학식 8과 같이 변환된 제어기의 성능은 수학식 1의 제어기의 성능과 완전히 동등하다. 또한, 수학식 8의 제어기에서 수학식 8b를 제거하고 수학식 8a와 수학식 8c만 설계해도 성능은 완전히 동일하다.
수학식 1에서 주어진 행렬 F, H가 관측 가능한 경우라면 Kalman observable decomposition을 해도 수학식 8b 부분은 나타나지 않는다. 일반적으로 F, H가 관측 가능하지 않은 경우까지 고려해야 하므로, 결국 F11과 H1이 관측가능한, 수학식 1의 제어기와 완전히 동일한 성능을 가지는 수학식 8의 변환된 제어기를 고려해서 R과 T보다 차수가 더 작은 행렬 R1과 T1을 찾아서 수학식 8a를 T1을 이용해 수학식 7과 같이 좌표 변환한 제어기의 상태 행렬
Figure pat00039
을 정수 행렬로 만든다.
이하에서는 R1과 T1을 찾는 방법에 대해서 설명한다.
F11(
Figure pat00040
)이 다음과 같이 m1개의 실수 고유값(eigen value)을 가지고, 2m2(=n1-m1)개의 복소수 고유값을 가지는 것으로 가정한다.
eig(F11) =
Figure pat00041
다음으로 (F11, H1)에 대해서 다음과 같은 조건을 만족하는 R1을 산출한다.
eig(F11 - R1H1) =
Figure pat00042
R1은 pole placement 방법을 사용하여 산출할 수 있다. 예를 들어, 매트랩(Matlab)의 "place" 함수를 이용해서 산출할 수 있다.
행렬 T1을 찾아서 다음과 같은 modal canonical form으로 변환한다. 그렇게 변환된 다음 행렬은 정수 행렬이 된다.
Figure pat00043
T1의 산출은 예를 들어 매트랩(Matlab)의 "canon" 함수를 이용해서 산출할 수 있다. 위 행렬에서 표시되지 않은 부분의 원소는 모두 "0"이다.
수학식 8a와 수학식 8c가 수학식 1을 대체할 수 있으므로 수학식 7의 상태 행렬을 수학식 9로 대체할 수 있으며 수학식 7은 아래와 같이 표시될 수 있다(단계 230).
Figure pat00044
수학식 7이 상기 수학식 10으로 대체되면 상태 행렬이 정수 행렬이 됨으로써 스케일링 팩터를 사용하지 않게 되므로 제어기(10)가 동형 제어 데이터 처리를 거듭하더라도 동형 암호문의 연산을 무한히 계속할 수 있게 된다.
이상 첨부 도면을 참고하여 본 발명에 대해서 설명하였지만 본 발명의 권리범위는 후술하는 특허청구범위에 의해 결정되며 전술한 실시예 및/또는 도면에 제한되는 것으로 해석되어서는 아니된다. 그리고 특허청구범위에 기재된 발명의, 당업자에게 자명한 개량, 변경 및 수정도 본 발명의 권리범위에 포함된다는 점이 명백하게 이해되어야 한다.
10: 제어기
20: 액츄에이터
25: 복호화 모듈
30: 피제어부
40: 센서
45: 암호화 모듈

Claims (5)

  1. 피제어부와, 제어기와, 제어기로부터 수신한 제어신호를 복호화하는 복호화 모듈과, 복호화 모듈로부터 복호화된 제어신호를 수신하여 작동하는 액츄에이터와, 피제어부의 출력을 검지하는 센서와, 센서의 신호를 동형 암호화하는 동형 암호화 모듈을 포함하는 환경에서 상기 제어기가 수행하는 동적 제어 데이터의 처리 방법에 있어서,
    상기 제어기의 상태 방정식은
    Figure pat00045
    이며,
    좌표 변환 행렬 T(z(t)=Tx(t))에 의해 상기 상태 방정식의 동형 암호화된 상태 방정식을
    Figure pat00046

    로 변환하되,
    Figure pat00047
    가 정수 행렬이 되도록 하는 행렬 R과 T를 산출하여 변환된 상태 방정식을 완성하는 제1 단계를 포함하며,
    스케일링 팩터 1/s는 1보다 크며, 레졸루션 r은 0보다 큰,
    동적 제어 데이터 처리 방법.
  2. 청구항 1에 있어서,
    제어기의 상태 방정식에 대해서 Kalman observable decomposition을 수행하는 제2-1 단계와,
    T1(F11-R1H1)T1 -1이 정수 행렬이 되도록 하는 R1 및 T1을 산출하는 제2-2 단계를 포함하며,
    상기 제2-2 단계는,
    행렬 F11의 고유값(eigen value)을
    Figure pat00048
    로 산출하는 제2-2-1 단계와,
    행렬 (F11-R1H1)의 고유값이
    Figure pat00049
    이 되도록 하는 R1을 산출하는 제2-2-2 단계와,
    행렬 (F11-R1H1)을 modal canonical form으로 변환하는 행렬 T1을 산출하는 제2-2-3 단계와,
    산출된 T1과 R1을 이용하여 정수 행렬 (T1(F11-R1H1)T1 -1)을 산출하여 상태 방정식에 상태 행렬로서 반영하는 제2-2-4 단계를 포함하는,
    동적 제어 데이터 처리 방법.
  3. 청구항 1 또는 청구항 2에 있어서,
    제어기가 액츄에이터측으로부터 암호화된 제어 신호(Enc(u(t))를 수신하는 제3 단계를 더 포함하는,
    동적 제어 데이터 처리 방법.
  4. 청구항 3에 있어서,
    Figure pat00050
    를 제1 암호화부,
    Figure pat00051
    를 제2 암호화부로 하며,
    제1 암호화부는 센서가 감지한 출력의 암호화값(Enc(y(t))를 수신하여 연산하고, 제2 암호화부는 액츄에이터측으로부터 제어기 출력의 암호화값(Enc(u(t))를 수신하여 연산하는,
    동적 제어 데이터 처리 방법.
  5. 청구항 4에 있어서,
    R1은 pole placement 방법을 통해서 산출하는,
    동적 제어 데이터 처리 방법.
KR1020190125503A 2019-10-10 2019-10-10 재부팅없이 무한 연산이 가능한 동형 암호 기반의 동적 궤환 제어기의 구성 방법 KR102306635B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020190125503A KR102306635B1 (ko) 2019-10-10 2019-10-10 재부팅없이 무한 연산이 가능한 동형 암호 기반의 동적 궤환 제어기의 구성 방법
PCT/KR2020/008097 WO2021071054A1 (ko) 2019-10-10 2020-06-23 재부팅없이 무한 연산이 가능한 동형 암호 기반의 동적 궤환 제어기의 구성 방법
US17/382,599 US11843688B2 (en) 2019-10-10 2021-07-22 Method for dynamic feedback control based on homomorphic encryption which carries out unlimited arithmetic operations without bootstrapping

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190125503A KR102306635B1 (ko) 2019-10-10 2019-10-10 재부팅없이 무한 연산이 가능한 동형 암호 기반의 동적 궤환 제어기의 구성 방법

Publications (2)

Publication Number Publication Date
KR20210042668A true KR20210042668A (ko) 2021-04-20
KR102306635B1 KR102306635B1 (ko) 2021-09-28

Family

ID=75437199

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190125503A KR102306635B1 (ko) 2019-10-10 2019-10-10 재부팅없이 무한 연산이 가능한 동형 암호 기반의 동적 궤환 제어기의 구성 방법

Country Status (3)

Country Link
US (1) US11843688B2 (ko)
KR (1) KR102306635B1 (ko)
WO (1) WO2021071054A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113660076A (zh) * 2021-07-15 2021-11-16 南京大学 基于可重构技术的同态加密系统及同态加密执行方法
WO2024076504A1 (en) * 2022-10-03 2024-04-11 Board Of Regents, The University Of Texas System Method and system using homomorphically encrypted nonlinear dynamic controller

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2677680A1 (en) 2012-06-19 2013-12-25 ABB Research Ltd. Processing operational data of an industrial system
KR101919940B1 (ko) 2017-02-08 2018-11-19 서울대학교산학협력단 완전 동형 암호 방법에 의한 동적 데이터의 처리 방법
EP3610382A4 (en) * 2017-04-11 2021-03-24 The Governing Council of the University of Toronto HOMOMORPHIC PROCESSING UNIT (HPU) TO ACCELERATE SECURE CALCULATIONS USING HOMORPHIC ENCRYPTION
EP3562043B1 (en) * 2018-04-27 2023-06-07 University Of Cyprus Methods for compression of multivariate correlated data for multi-channel communication

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
ARITRA MITRA 등, 'Secure distributed observers for a class of linear time invariant systems in the presence of Byzantine adversaries', 2016 IEEE 55th Conference on Decision and Control (CDC), 2016.12.2 *
CARLOS MURGUIA 등, 'Secure and Private Implementation of Dynamic Controllers Using Semi-Homomorphic Encryption', DeepAI, 2018.12.11 *
JUNG HEE CHEON 등, 'Need for Controllers Having Integer Coefficients in Homomorphically Encrypted Dynamic System', 2018 IEEE Conference on Decision and Control (CDC), 2019.01.21 *
KIMINAO KOGISO 등, 'Cyber-security enhancement of networked control systems using homomorphic encryption', 2015 54th IEEE Conference on Decision and Control (CDC), 2016.02.11 *

Also Published As

Publication number Publication date
WO2021071054A1 (ko) 2021-04-15
KR102306635B1 (ko) 2021-09-28
US11843688B2 (en) 2023-12-12
US20210351914A1 (en) 2021-11-11

Similar Documents

Publication Publication Date Title
KR101919940B1 (ko) 완전 동형 암호 방법에 의한 동적 데이터의 처리 방법
KR100594265B1 (ko) 매스킹 방법이 적용된 데이터 암호처리장치, aes암호시스템 및 aes 암호방법.
Aboytes-González et al. Design of a strong S-box based on a matrix approach
Hull et al. Staying in control: Cybersecurity and the modern electric grid
KR100259179B1 (ko) 암호화 통신 처리
US20120254625A1 (en) Protecting states of a cryptographic process using group automorphisms
Coron et al. Faster evaluation of sboxes via common shares
WO2019002470A1 (en) METHOD FOR SECURING A CRYPTOGRAPHIC PROCESS WITH SBOX AGAINST HIGH-ORDER LATERAL CHANNEL ATTACKS
WO2021129470A1 (zh) 基于多项式完全同态的二进制数据加密系统及方法
KR102306635B1 (ko) 재부팅없이 무한 연산이 가능한 동형 암호 기반의 동적 궤환 제어기의 구성 방법
Karroumi et al. Addition with blinded operands
EP3698262B1 (en) Protecting modular inversion operation from external monitoring attacks
US20080192924A1 (en) Data encryption without padding
Arshad et al. New extension of data encryption standard over 128-bit key for digital images
Elkamchouchi et al. New encryption algorithm for secure image transmission through open network
Naseri et al. On securing cloud-hosted cyber-physical systems using trusted execution environments
KR20220079522A (ko) 기하 대수 및 헨젤 코드들을 이용한 암호화를 위한 방법들 및 시스템들과 동형 암호화 시스템들
Wang et al. A medical image encryption algorithm based on synchronization of time-delay chaotic system
CN111464304A (zh) 用于控制系统网络安全的混合加密方法及系统
KR102467595B1 (ko) 재부팅 및 제어신호의 재암호화가 필요없으며 무한 연산이 가능한 동형암호화기반의 동적 데이터 처리 방법
Lou et al. vFHE: Verifiable Fully Homomorphic Encryption with Blind Hash
Yudheksha et al. A study of AES and RSA algorithms based on GPUs
Kumar et al. New Symmetric Key Cipher Based on Quasigroup
JP7383949B2 (ja) 情報処理装置及びプログラム
WO2023021931A1 (ja) 情報処理プログラムおよび情報処理装置

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant