KR20210042668A - 재부팅없이 무한 연산이 가능한 동형 암호 기반의 동적 궤환 제어기의 구성 방법 - Google Patents
재부팅없이 무한 연산이 가능한 동형 암호 기반의 동적 궤환 제어기의 구성 방법 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 239000011159 matrix material Substances 0.000 claims abstract description 44
- 230000009466 transformation Effects 0.000 claims abstract description 7
- 238000003672 processing method Methods 0.000 claims description 9
- 238000000354 decomposition reaction Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 abstract description 10
- 230000001131 transforming effect Effects 0.000 abstract description 2
- 238000004891 communication Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- 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/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- 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/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- 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/088—Usage 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
본 발명에 의한 동적 제어 데이터의 처리 방법은, 피제어부와, 제어기와, 제어기로부터 수신한 제어신호를 복호화하는 복호화 모듈과, 복호화 모듈로부터 복호화된 제어신호를 수신하여 작동하는 액츄에이터와, 피제어부의 출력을 검지하는 센서와, 센서의 신호를 동형 암호화하는 동형 암호화 모듈을 포함하는 환경에서 수행된다.
상기 제어기의 상태 방정식은 로 주어진다.
본 발명에 의한 동적 제어 데이터 처리 방법은, 좌표 변환 행렬 T(z(t)=Tx(t))에 의해 상기 상태 방정식의 동형 암호화된 상태 방정식을 로 변환하되, 가 정수 행렬이 되도록 하는 행렬 R과 T를 산출하여 변환된 상태 방정식을 완성하는 제1 단계를 포함한다.
스케일링 팩터 1/s는 1보다 크며, 레졸루션 r은 0보다 클 수 있다.
상기 제어기의 상태 방정식은 로 주어진다.
본 발명에 의한 동적 제어 데이터 처리 방법은, 좌표 변환 행렬 T(z(t)=Tx(t))에 의해 상기 상태 방정식의 동형 암호화된 상태 방정식을 로 변환하되, 가 정수 행렬이 되도록 하는 행렬 R과 T를 산출하여 변환된 상태 방정식을 완성하는 제1 단계를 포함한다.
스케일링 팩터 1/s는 1보다 크며, 레졸루션 r은 0보다 클 수 있다.
Description
본 발명은 동형 암호 기반의 동적 제어 데이터 처리 방법에 대한 것으로서, 좀 더 자세하게는 재부팅없이 무한 연산이 가능한 동형 암호 기반의 동적 궤환 제어기 구성 방법에 대한 것이다.
네트워크 통신으로 컴퓨터에 물리적 시스템이 연결될수록 실제 제어 시스템이 해커의 목표가 될 가능성이 높아진다. 일반적으로 연산부(computation; 사이버 부분), 물리적 시스템(물리적 부분)와 통신부(사이버 파트와 물리적 부분간의 링크)를 통칭하여 사이버-물리 시스템(cyber-physical system)이라고 한다.
사이버-물리 시스템의 개방성 및 연결성으로 인해 악성 공격에 취약할 수 밖에 없는데, 산업 플랜트 등이 악성 해커의 공격에 노출된다면 대규모 사고를 초래할 수도 있고 작게는 개별 플랜트 등이 오작동할 수 있다.
그러한 문제를 예방하기 위하여 제어 신호를 암호화하여 사용하는 방법이 채택될 수 있는데, 암호화된 데이터를 제어기가 연산을 하기 위해서는 복호화 과정이 필요하다.
복호화를 위해서는 제어기가 비밀키를 소유하고 있어야 하는데 그러한 환경에서는 비밀키가 해커에 의해서 탈취될 가능성이 있기 때문에 보안상 취약점이 존재한다.
이러한 문제를 해결하기 위하여 제어 데이터를 동형 암호화하고, 암호화된 제어 데이터를 연산하는 기술적 사상이 2013년 12월 25일에 공개된 유럽특허출원공개 EP 2 677 680 A1에 기재되어 있다. 그런데 동형 암호문은 연산을 거듭할수록 내부 노이즈가 증가하고, 실수를 정수화하는 과정에서 포함되는 스케일링 팩터(비례 정수)가 누적되는 등의 한계로 인해 나중에는 더 이상의 연산이 불가능하게 된다. 그러한 경우 제어기를 부트스트래핑(재부팅)해야 하는데, 부트스트래핑을 하는 동안은 제어기가 암호화된 상태 변수를 업데이트하지 못하므로 제어기 동작이 멈추는 문제가 있었다.
2018년 11월 19일에 등록공고된 한국특허 제10-1919940호는, 부트스트래핑을 하는 동안에 상태 변수 업데이트 문제를 해결하기 위한 방법을 제안하고 있다. 이 특허는 다중 제어기를 도입하여 어느 하나의 제어기가 부트 스트래핑을 하는 동안에 다른 제어기가 상태 변수를 업데이트하는 방법을 제안하고 있다. 그러나 이 방법은 제어기를 여러 개 사용하므로 비용 문제와 복잡도 상승으로 인해 실제 적용에 어려움이 있고, 제어기가 여전히 재부팅을 해야 하는 한계를 가지고 있기 때문에 소요 연산 시간을 짧게 하기도 어려운 문제가 있었다.
본 발명은 동형 암호에 기반한 동적 제어 데이터의 처리에 필연적으로 수반되는 것으로 인식되는 재부팅 과정(bootstrapping)을 아예 원천적으로 제거함으로써 재부팅없이도 동형 암호문간의 연산을 무한히 수행할 수 있는 동적 제어 데이터 처리 방법을 제공하는 것을 목적으로 한다.
본 발명에 의한 동적 제어 데이터의 처리 방법은, 피제어부와, 제어기와, 제어기로부터 수신한 제어신호를 복호화하는 복호화 모듈과, 복호화 모듈로부터 복호화된 제어신호를 수신하여 작동하는 액츄에이터와, 피제어부의 출력을 검지하는 센서와, 센서의 신호를 동형 암호화하는 동형 암호화 모듈을 포함하는 환경에서 수행된다.
본 발명에 의한 동적 제어 데이터 처리 방법은, 좌표 변환 행렬 T(z(t)=Tx(t))에 의해 상기 상태 방정식의 동형 암호화된 상태 방정식을 로 변환하되, 가 정수 행렬이 되도록 하는 행렬 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)을 로 산출하는 제2-2-1 단계와; 행렬 (F11-R1H1)의 고유값이 이 되도록 하는 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 단계를 더 포함할 수 있다.
를 제1 암호화부, 를 제2 암호화부로 지칭하면, 제1 암호화부는 센서가 감지한 출력의 암호화값(Enc(y(t))를 수신하여 연산하고, 제2 암호화부는 액츄에이터측으로부터 제어기 출력의 암호화값(Enc(u(t))를 수신하여 연산할 수 있다.
R1은 pole placement 방법을 통해서 산출할 수 있다.
본 발명에 의하면, 상태 행렬이 실계수 행렬로 주어진 임의의 동형 암호 기반 선형 동적 제어기에 대해서, 재부팅없이 동형 암호문간의 연산을 무한히 수행할 수 있으므로 종래의 다중 제어기를 도입하는 방법에 비해서 현저하게 비용이 저감되며, 연산 속도 역시 짧게 할 수 있는 작용효과가 제공된다.
도 1은 본 발명에 의한 동적 제어 데이터 처리 방법이 수행되는 환경의 예시적인 블록도.
도 2는 본 발명에 의한 동적 데이터의 처리 방법의 흐름도.
도 2는 본 발명에 의한 동적 데이터의 처리 방법의 흐름도.
이하에서는 첨부 도면을 참조하여 본 발명에 대해서 자세하게 설명한다.
본 명세서에서 수행되는 정보(데이터) 전송 과정은 필요에 따라서 암호화/복호화가 적용될 수 있으며, 본 명세서 및 특허청구범위에서 정보(데이터) 전송 과정을 설명하는 표현은 별도로 언급되지 않더라도 모두 암호화/복호화하는 경우도 포함하는 것으로 해석되어야 한다. 본 명세서에서 "A로부터 B로 전송(전달)" 또는 "A가 B로부터 수신"과 같은 형태의 표현은 중간에 다른 매개체가 포함되어 전송(전달) 또는 수신되는 것도 포함하며, A로부터 B까지 직접 전송(전달) 또는 수신되는 것만을 표현하는 것은 아니다. 본 발명의 설명에 있어서 각 단계의 순서는 선행 단계가 논리적 및 시간적으로 반드시 후행 단계에 앞서서 수행되어야 하는 경우가 아니라면 각 단계의 순서는 비제한적으로 이해되어야 한다. 즉 위와 같은 예외적인 경우를 제외하고는 후행 단계로 설명된 과정이 선행 단계로 설명된 과정보다 앞서서 수행되더라도 발명의 본질에는 영향이 없으며 권리범위 역시 단계의 순서에 관계없이 정의되어야 한다. 그리고 본 명세서에서 “A 또는 B”는 A와 B 중 어느 하나를 선택적으로 가리키는 것 뿐만 아니라 A와 B 모두를 포함하는 것도 의미하는 것으로 정의된다. 또한, 본 명세서에서 "포함"이라는 용어는 포함하는 것으로 나열된 요소 이외에 추가로 다른 구성요소를 더 포함하는 것도 포괄하는 의미를 가진다.
본 명세서에서 "모듈"이라 함은 범용적 또는 개별적으로 적용되는 하드웨어와 그 기능을 수행하는 소프트웨어의 논리적 결합을 의미한다.
본 명세서에서는 본 발명의 설명에 필요한 필수적인 구성요소만을 설명하며, 본 발명의 본질과 관계가 없는 구성요소는 언급하지 아니한다. 그리고 언급되는 구성요소만을 포함하는 배타적인 의미로 해석되어서는 아니되며 다른 구성요소도 포함할 수 있는 비배타적인 의미로 해석되어야 한다.
본 명세서에서 "동적 제어 데이터"라고 함은, 일정 시간 내에 처리되지 않으면 무의미해지거나 그 가치가 현저히 떨어져서 사실상 효용성이 사라지는 제어 데이터로 정의되며, "동적 제어기"라고 함은 동적 시스템으로 만들어진 제어기라는 뜻으로 제어기 내부에 상태 변수를 유지하여 매 연산시간마다 상태변수가 갱신되는 형태의 제어기를 포함한다.
본 발명은 전자적 연산이 가능한 컴퓨터 등의 전자적 연산 장치에 의해서 수행되며, 후술하는 본 발명의 각 단계의 수학적 연산 및 산출은 해당 연산 또는 산출을 하기 위해 공지되어 있는 코딩 방법 및/또는 본 발명에 적합하게 고안된 코딩에 의해서 컴퓨터 연산으로 구현될 수 있다.
그리고 본 명세서에서 "값"이라 함은 스칼라값 뿐만 아니라 행렬, 벡터 또는 다항식도 포함하는 개념으로 정의된다.
본 명세서에서 특정값에 대해 암호화 또는 해쉬 등과 같은 연산을 하여 소정의 값을 획득한다는 의미는 해당 특정값 뿐만 아니라 해당 특정값의 변형값(예를 들어, 특정값에 소정의 값을 추가로 연산하거나 소정의 규칙에 따라서 해당 특정값을 변화시키는 등의 과정을 통해서 산출된 다른 값)에 대한 암호화 또는 해쉬 등의 연산도 포함하는 것으로 정의된다.
본 명세서에서 설명하는 예시적인 실시예는 본 명세서에 개시(開示)되는 장치의 구조, 기능, 제작 및 용도와 방법의 원리에 대한 전반적인 이해를 제공한다. 이러한 하나 이상의 실시예가 첨부 도면에 도시되어 있다. 당업자라면 여기에 구체적으로 기재되고 첨부 도면에 도시되어 있는 장치 및 방법이 비제한적이고 예시적인 실시예이며 본 발명의 권리범위는 특허청구범위에 의해서 정의된다는 점을 이해할 것이다. 하나의 예시적인 실시예와 관련되어 도시되고 설명되는 특징은 다른 실시예의 특징과도 결합될 수 있다. 그러한 수정(modification) 또는 변경(variation)은 본 발명의 권리범위에 포함되도록 의도된다.
본 명세서에서는 설명의 편의를 위해 제어기(10)가 이산시간 선형 시불변 제어기(discrete-time linear time-invariant controller)인 것으로 가정한다. 그러나 본 발명의 기술적 사상을 이해한, 제어 분야에서 통상의 지식을 가지는 사람이라면, 다른 형태의 선형 제어기 또는 시변 제어기에도 본 발명을 별다른 어려움 없이 적용할 수 있다.
본 명세서에서 Dec(*)은 괄호안의 값을 복호화한 값이며, Enc(*)는 괄호안의 값을 동형암호화한 값을 의미한다. 그리고 상부에 "-"가 표시된 변수는 해당 변수를 동형 암호화한 값을 의미한다.
도 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)가 감지한 신호를 동형 암호화한 값인 를 제어기 입력값으로서 제어기(10)로 입력한다. 복호화 모듈(25)은 제어기(10)의 출력인 암호화된 제어기 출력 신호값인 를 복호화하여 액츄에이터(20)에 제공하는 동시에 해당 값을 재암호화하여 제어기 입력값으로서 제어기(10)로 입력한다.
본 발명에 의한 제어 시스템의 상태 방정식은 다음과 같이 정의된다.
수학식 1에서 행렬 F, G, H, J는 실수 행렬로 가정한다.
본 발명에 의한 제어 시스템의 동형 암호 시스템이 다음과 같이 구성된다고 가정한다.
다음과 같은 정적 제어기(static controller) 입력값과 출력값의 암호화 및 복호화에 대해서 설명한다.
스케일링 팩터(scaling factor) 1/s와 레졸루션(r)을 이용하여 수학식 3의 암호문을 정수화하면 다음과 같다.
여기에서 1/s는 1보다 크거나 같으며, r은 0보다 크다.
동적 제어기인 경우에 실수 상태 행렬 F를 전술한 바와 같은 스케일링 팩터와 레졸루션을 이용하여 정수 상태 행렬로 변환하면, 동형 암호문 연산이 거듭될수록 스케일링 팩터가 누적되어서 어느 시간이 경과한 후에는 더 이상의 연산이 불가능해진다. 이는 제어기의 상태 변수 x(t)가 연산 후 사라지는 값이 아니라 내부적으로 남아 있는 상태에서 그 다음번 연산에 사용되기 때문이다. 반면에, y(t) 및 u(t)는 매번 새로운 값으로 생성되기 때문에 연산이 거듭되더라도 스케일링 팩터가 누적되지 않는다.
본 발명에서는 상태 변수 x(t)의 상태 행렬 F를 스케일링 팩터를 사용하지 않고 아예 정수 행렬로 변환함으로써 동형 암호문의 연산을 무한히 제한없이 수행할 수 있게 한다. 그 구체적이 방법에 대해서 이하에 설명한다.
수학식 1의 상태 방정식을 좌표 변환 행렬 T(z=Tx)를 이용하여 다음과 같이 변환한다.(단계 200)
수학식 6은 수학식 1의 u(t)와 스케일링 팩터(1/s) 및 레졸루션(r)을 이용하여 다음과 같이 변환될 수 있다. 설명의 편의를 위해 암호화된 상태 변수값을 사용한다. 동형 암호문의 연산의 특징에 의해서 평문 연산과 암호문의 연산의 연산식은 동일하게 표현할 수 있다.
수학식 7은 도 2의 단계(210)에서 수행된다.
제어기(10)는 상기 연산에 필요한 Enc(u(t))값을 도 1에 도시된 바와 같이 액츄에이터측으로부터 수신한다. 액츄에이터측과 제어기(10) 사이에 쌍방향 통신이 가능하도록 구현할 수 있으며, 제어기(10)의 출력인 암호화된 제어신호 즉 Enc(u(t))를 수신한 액츄에이터측이 그 암호화된 신호를 복호화한 후 재암호화하여 제어기(10)로 되돌려 줄 수 있다. 제1 암호부의 연산을 위해 필요한 Enc(y(t))는 센서(40)로부터 수신한다.
먼저 제어기(10)의 상태 방정식에 대해서 Kalman observable decomposition을 수행한다.
수학식 1의 상태 방정식을 가지는 제어기에 대해서 Kalman observable decomposition을 수행하면 좌표 변환을 통해서 다음과 같이 변환된다. 먼저 좌표변환 행렬 을 찾아서 w=Wx로 표현하는데, w1 = W1x, w2 = W2x로 정의해서 다음의 수학식으로 표현할 수 있다.
위와 같이 좌표 변환된 제어기에 대한 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과 같이 좌표 변환한 제어기의 상태 행렬 을 정수 행렬로 만든다.
이하에서는 R1과 T1을 찾는 방법에 대해서 설명한다.
다음으로 (F11, H1)에 대해서 다음과 같은 조건을 만족하는 R1을 산출한다.
R1은 pole placement 방법을 사용하여 산출할 수 있다. 예를 들어, 매트랩(Matlab)의 "place" 함수를 이용해서 산출할 수 있다.
행렬 T1을 찾아서 다음과 같은 modal canonical form으로 변환한다. 그렇게 변환된 다음 행렬은 정수 행렬이 된다.
T1의 산출은 예를 들어 매트랩(Matlab)의 "canon" 함수를 이용해서 산출할 수 있다. 위 행렬에서 표시되지 않은 부분의 원소는 모두 "0"이다.
수학식 8a와 수학식 8c가 수학식 1을 대체할 수 있으므로 수학식 7의 상태 행렬을 수학식 9로 대체할 수 있으며 수학식 7은 아래와 같이 표시될 수 있다(단계 230).
수학식 7이 상기 수학식 10으로 대체되면 상태 행렬이 정수 행렬이 됨으로써 스케일링 팩터를 사용하지 않게 되므로 제어기(10)가 동형 제어 데이터 처리를 거듭하더라도 동형 암호문의 연산을 무한히 계속할 수 있게 된다.
이상 첨부 도면을 참고하여 본 발명에 대해서 설명하였지만 본 발명의 권리범위는 후술하는 특허청구범위에 의해 결정되며 전술한 실시예 및/또는 도면에 제한되는 것으로 해석되어서는 아니된다. 그리고 특허청구범위에 기재된 발명의, 당업자에게 자명한 개량, 변경 및 수정도 본 발명의 권리범위에 포함된다는 점이 명백하게 이해되어야 한다.
10: 제어기
20: 액츄에이터
25: 복호화 모듈
30: 피제어부
40: 센서
45: 암호화 모듈
20: 액츄에이터
25: 복호화 모듈
30: 피제어부
40: 센서
45: 암호화 모듈
Claims (5)
- 피제어부와, 제어기와, 제어기로부터 수신한 제어신호를 복호화하는 복호화 모듈과, 복호화 모듈로부터 복호화된 제어신호를 수신하여 작동하는 액츄에이터와, 피제어부의 출력을 검지하는 센서와, 센서의 신호를 동형 암호화하는 동형 암호화 모듈을 포함하는 환경에서 상기 제어기가 수행하는 동적 제어 데이터의 처리 방법에 있어서,
상기 제어기의 상태 방정식은 이며,
좌표 변환 행렬 T(z(t)=Tx(t))에 의해 상기 상태 방정식의 동형 암호화된 상태 방정식을
로 변환하되, 가 정수 행렬이 되도록 하는 행렬 R과 T를 산출하여 변환된 상태 방정식을 완성하는 제1 단계를 포함하며,
스케일링 팩터 1/s는 1보다 크며, 레졸루션 r은 0보다 큰,
동적 제어 데이터 처리 방법.
- 청구항 1에 있어서,
제어기의 상태 방정식에 대해서 Kalman observable decomposition을 수행하는 제2-1 단계와,
T1(F11-R1H1)T1 -1이 정수 행렬이 되도록 하는 R1 및 T1을 산출하는 제2-2 단계를 포함하며,
상기 제2-2 단계는,
행렬 F11의 고유값(eigen value)을 로 산출하는 제2-2-1 단계와,
행렬 (F11-R1H1)의 고유값이 이 되도록 하는 R1을 산출하는 제2-2-2 단계와,
행렬 (F11-R1H1)을 modal canonical form으로 변환하는 행렬 T1을 산출하는 제2-2-3 단계와,
산출된 T1과 R1을 이용하여 정수 행렬 (T1(F11-R1H1)T1 -1)을 산출하여 상태 방정식에 상태 행렬로서 반영하는 제2-2-4 단계를 포함하는,
동적 제어 데이터 처리 방법.
- 청구항 1 또는 청구항 2에 있어서,
제어기가 액츄에이터측으로부터 암호화된 제어 신호(Enc(u(t))를 수신하는 제3 단계를 더 포함하는,
동적 제어 데이터 처리 방법.
- 청구항 4에 있어서,
R1은 pole placement 방법을 통해서 산출하는,
동적 제어 데이터 처리 방법.
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)
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)
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 |
-
2019
- 2019-10-10 KR KR1020190125503A patent/KR102306635B1/ko active IP Right Grant
-
2020
- 2020-06-23 WO PCT/KR2020/008097 patent/WO2021071054A1/ko active Application Filing
-
2021
- 2021-07-22 US US17/382,599 patent/US11843688B2/en active Active
Non-Patent Citations (4)
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 |