KR102404762B1 - 플랜트 장치, 원격 제어 장치 및 그의 제어 방법 - Google Patents

플랜트 장치, 원격 제어 장치 및 그의 제어 방법 Download PDF

Info

Publication number
KR102404762B1
KR102404762B1 KR1020200124519A KR20200124519A KR102404762B1 KR 102404762 B1 KR102404762 B1 KR 102404762B1 KR 1020200124519 A KR1020200124519 A KR 1020200124519A KR 20200124519 A KR20200124519 A KR 20200124519A KR 102404762 B1 KR102404762 B1 KR 102404762B1
Authority
KR
South Korea
Prior art keywords
information
driving
plant
remote control
control device
Prior art date
Application number
KR1020200124519A
Other languages
English (en)
Other versions
KR20220041390A (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 KR1020200124519A priority Critical patent/KR102404762B1/ko
Publication of KR20220041390A publication Critical patent/KR20220041390A/ko
Application granted granted Critical
Publication of KR102404762B1 publication Critical patent/KR102404762B1/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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3218Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/04Masking or blinding
    • H04L2209/046Masking or blinding of operations, operands or results of the operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Abstract

플랜트 시스템이 개시된다. 본 플랜트 시스템은 센싱 정보를 생성하는 플랜트 장치, 및 플랜트 장치에서 생성된 센싱 정보를 수신하고, 기저장된 현재 상태 정보와 센싱 정보를 이용하여 플랜트 장치의 구동을 위한 구동 정보 및 구동 정보를 검증하기 위한 검증 정보를 생성하여 플랜트 장치에 전송하는 원격 제어 장치를 포함하고, 플랜트 장치는 구동 정보 및 검증 정보를 이용하여 구동 정보의 계산 정확성을 확인하여 구동 정보를 검증하고, 검증된 구동 정보를 이용하여 구동한다.

Description

플랜트 장치, 원격 제어 장치 및 그의 제어 방법{PLANT APPARATUS, REMOTE CONTROLLING APPARATUS AND METHOD THEREOF}
본 개시는 플랜트 장치, 원격 제어 장치 및 그의 제어 방법에 관한 것으로, 보다 상세하게는 플랜트 장치의 구동을 위한 구동 신호에 대한 검증을 수행할 수 있는 플랜트 장치, 원격 제어 장치 및 그의 제어 방법에 관한 것이다.
최근 네트워크 제어 시스템은 무선 네트워크를 통해 다른 차량과 정보를 교환하는 커넥티드 카, 원격 사용자의 제어에 따라 움직이는 드론 등 다양한 사용 사례로 적용되면 주목 받고 있다.
한편, 네트워크 제어에 대한 수용가 증가함에 따라, 네트워크 신호의 위조 또는 원격 제어 장치의 훼손 등을 이용하여 피 제어 장치에 대한 공격 위협이 증가하고 있다.
이러한 위험을 줄이기 위하여, 원격 제어 장치에서 피제어 장치로 전송하는 제어 신호의 신호 무결성을 보장하기 위한 다양한 방법이 제안되고 있다. 예를 들어, 전송되는 신호의 보안을 위하여 신호를 동형 암호화하여 이용하는 방식이 제안되었으나, 동형 암호가 불변성(nonmalleability)을 제공하지 않기 때문에 근본적인 해결적이 되지 않는다.
또한, 동형 암호의 불변성을 달성하기 위하여, 동형 인증 암호(HAE: Homomorphic Authenticated Encryption)가 제안된 바 있지만, 해당 방식은 계산 검증에 많은 리소스가 요구된다는 점에서 효율적이지 못한 문제점이 있었다.
따라서, 본 개시는 상술한 바와 같은 문제점을 해결하기 위하여 고안된 것으로, 플랜트 장치의 구동을 위한 구동 신호에 대한 효율적인 (적은 리소스로 가능한) 검증을 수행할 수 있는 플랜트 장치, 원격 제어 장치 및 그의 제어 방법을 제공하는 데 있다.
본 개시는 이상과 같은 목적을 달성하기 위한 것으로, 본 개시 일 실시 예에 따른 원격 제어 장치와 통신 가능한 플랜트 장치는 기설정된 기능을 수행하는 플랜트 코어, 상기 플랜트 코어의 상태에 대응되는 센싱 정보를 생성하여 상기 원격 제어 장치로 전송하는 센싱 장치, 및 상기 원격 제어 장치의 상태 정보와 상기 센싱 정보에 기초하여 생성된 구동 정보 및 상기 구동 정보를 검증하기 위한 검증 정보를 상기 원격 제어 장치로부터 수신하고, 상기 수신된 구동 정보와 상기 수신된 검증 정보를 이용하여 상기 구동 정보를 검증하고, 검증된 구동 정보를 이용하여 상기 플랜트 코어를 구동시키는 엑추에이터를 포함하고, 상기 엑추에이터는 직전 단계에서 수신한 검증 정보와 상기 센싱 정보, 현 단계에서 수신한 검증 정보를 이용하여 구동 정보의 계산 정확성을 확인하여 상기 구동 정보를 검증한다.
이 경우, 상기 센싱 장치는 상기 센싱 정보를 암호화된 상태에서도 덧셈 및 곱셈 연산이 가능한 동형 암호문 방식으로 암호화하여 상기 원격 제어 장치로 전송하고, 상기 상태 정보 및 상기 검증 정보는 상기 동형 암호문 방식으로 암호화된 상태로 상기 엑추에이터에 수신되며, 상기 엑추에이터는, 상기 센싱 정보, 상기 구동 정보 및 상기 검증 정보를 동형 암호문 상태에서 연산 처리하여 상기 계산 정확성을 확인할 수 있다.
이 경우, 상기 엑추에이터는 동형 암호문 상태의 구동 정보가 검증되면, 상기 동형 암호문 상태의 구동 정보를 평문 상태로 복원하고, 평문으로 복원된 구동 정보를 이용하여 상기 플랜트 코어를 구동시킬 수 있다.
이 경우, 상기 엑추에이터는 제1 내지 제3 랜덤 값에 대한 정보를 동형 암호문 방식으로 상기 원격 제어 장치에 전송하고, 상기 계산 정확성을 확인하기 위한 연산 처리에 이용되며 상기 제1 내지 제3 랜덤 값 중 하나가 반영된 제1 연산 정보 및 제2 연산 정보를 수신하며, 상기 제1 연산 정보 및 상기 제2 연산 정보를 이용하여 상기 계산 정확성을 확인할 수 있다.
한편, 상기 검증 정보는 상기 원격 제어 장치의 현재 상태 정보와 상기 센싱 정보에 기초하여 생성되는 상기 원격 제어 장치의 다음 상태 정보를 포함하고, 상기 엑추에이터는, 제1 랜덤 벡터, 제2 랜덤 벡터, 상기 원격 제어 장치의 연산 동작에 이용되는 복수의 행렬 각각을 상기 제1 랜덤 벡터 또는 제2 랜덤 벡터를 이용하여 생성한 제1 내지 제4 시스템 벡터 및 직전 단계에서 수신한 원격 제어 장치의 현재 상태 정보를 저장하고, 상기 다음 상태 정보와 상기 제1 랜덤 벡터의 제1 내적 연산 값, 제1 시스템 벡터와 상기 현재 상태 정보의 제2 내적 연산 값, 제2 시스템 벡터와 상기 센싱 정보의 제3 내적 연산 값, 상기 구동 정보와 상기 제2 랜덤 벡터의 제4 내적 연산 값, 제3 시스템 벡터와 상기 현재 상태 정보의 제5 내적 연산 값 및 제4 시스템 벡터와 상기 센싱 정보의 제6 내적 연산 값을 계산하고, 상기 제2 내적 연산 값과 상기 제3 내적 연산 값의 합이 상기 제1 내적 연산 값과 동일한지 여부 및 상기 제5 내적 연산 값과 상기 제6 내적 연산 값의 합이 상기 제4 내적 연산 값과 동일한지 여부로 상기 구동 정보의 계산 정확성을 확인할 수 있다.
이 경우, 상기 검증 정보는 상기 제1 시스템 벡터와 상기 제1 랜덤 벡터의 제1 연산 정보 및 상기 제3 시스템 벡터와 상기 제1 랜덤 벡터의 제2 연산 정보를 더 포함하고, 상기 엑추에이터는, 상기 제1 연산 정보와 상기 제1 시스템 벡터를 이용하여 상기 제2 내적 연산 값을 계산하고, 상기 제2 연산 정보와 상기 제1 시스템 벡터를 이용하여 상기 제5 내적 연산 값을 계산할 수 있다.
한편, 상기 엑추에이터는 제3 랜덤 벡터 및 제4 랜덤 벡터를 더 저장하고, 교번적으로 제1 랜덤 벡터 및 상기 제2 랜덤 벡터를 이용하여 내적 연산 값을 계산하거나, 상기 제1 랜덤 벡터 및 상기 제2 랜덤 벡터 대신에 상기 제3 랜덤 벡터 및 상기 제4 랜덤 벡터를 이용하여 내적 연산값을 계산할 수 있다.
한편, 상기 엑추에이터는 수신한 검증 정보와 상기 센싱 정보를 저장하고, 기설정된 시간 범위 내에서 수신한 검증 정보와 센싱 정보를 묶어서 상기 기설정된 시간 범위 내에서 수신한 구동 정보의 계산 정확성을 확인할 수 있다.
한편, 본 개시의 일 실시 예에 따른 플랜트 장치와 통신 가능한 원격 제어 장치는 상기 플랜트 장치의 상태에 대응되는 센싱 정보를 상기 플랜트 장치로부터 수신하는 통신 장치, 상기 원격 제어 장치의 상태 정보를 저장하는 메모리, 및 상기 메모리에 저장된 현재 상태 정보, 상기 센싱 정보를 이용하여 상기 플랜트 장치의 구동을 위한 구동 정보를 생성하고, 상기 현재 상태 정보와 상기 센싱 정보에 기초하여 다음 상태 정보를 생성하고, 상기 생성된 다음 상태 정보를 이용하여 상기 메모리에 저장된 상태 정보를 업데이트하고, 상기 다음 상태 정보를 포함하는 검증 정보와 상기 구동 정보를 상기 플랜트 장치에 전송하도록 상기 통신 장치를 제어하는 프로세서를 포함한다.
이 경우, 상기 센싱 정보는 암호화된 상태에서도 덧셈 및 곱셈 연산이 가능한 동형 암호문 방식으로 암호화된 상태로 수신되며, 상기 프로세서는 상기 상태 정보 및 상기 센싱 정보를 동형 암호문 상태에서 연산 처리하여 동형 암호문 형태의 구동 정보 및 검증 정보를 생성할 수 있다.
이 경우, 상기 프로세서는 상기 검증 정보의 상기 구동 정보의 계산 정확성을 확인하기 위한 상기 플랜트 장치에서의 연산에 사용되는 제1 연산 정보 및 제2 연산 정보를 생성하고, 상기 생성된 제1 연산 정보 및 상기 제2 연산 정보를 상기 플랜트 장치에 함께 전송하도록 상기 통신 장치를 제어할 수 있다.
이 경우, 상기 통신 장치는, 동형 암호문 방식으로 암호화된 제1 내지 제3 랜덤 값에 대한 정보를 수신하고, 상기 프로세서는, 상기 제1 내지 제3 랜덤 값 중 하나가 반영되며 동형 암호문 형태의 제1 연산 정보 및 제2 연산 정보를 생성할 수 있다.
한편, 본 개시의 일 실시 예에 따른 플랜트 시스템은 센싱 정보를 생성하는 플랜트 장치, 및 상기 플랜트 장치에서 생성된 센싱 정보를 수신하고, 기저장된 현재 상태 정보와 상기 센싱 정보를 이용하여 상기 플랜트 장치의 구동을 위한 구동 정보 및 상기 구동 정보를 검증하기 위한 검증 정보를 생성하여 상기 플랜트 장치에 전송하는 원격 제어 장치를 포함하고, 상기 플랜트 장치는 상기 구동 정보 및 상기 검증 정보를 이용하여 상기 구동 정보의 계산 정확성을 확인하여 상기 구동 정보를 검증하고, 검증된 구동 정보를 이용하여 구동한다.
한편, 본 개시의 일 실시 예에 따른 원격 제어 장치와 통신 가능한 플랜트 장치의 제어 방법은 센싱 정보를 생성하여 상기 원격 제어 장치로 전송하는 단계, 상기 원격 제어 장치의 상태 정보와 상기 센싱 정보에 기초하여 생성된 구동 정보 및 상기 구동 정보를 검증하기 위한 검증 정보를 상기 원격 제어 장치로부터 수신하는 단계, 직전 단계에서 수신한 검증 정보, 현 단계에서 수신한 검증 정보, 상기 센싱 정보 및 상기 구동 정보에 기초하여 상기 구동 정보의 계산 정확성을 확인하여 상기 구동 정보를 검증하는 단계, 및 검증된 구동 정보를 이용하여 구동하는 단계를 포함한다.
이 경우, 상기 전송하는 단계는 상기 센싱 정보를 암호화된 상태에서도 덧셈 및 곱셈 연산이 가능한 동형 암호문 방식으로 암호화하여 상기 원격 제어 장치로 전송하고, 상기 수신하는 단계는, 상기 동형 암호문 방식으로 암호화된 구동 정보 및 검증 정보를 수신하며, 상기 검증하는 단계는, 상기 센싱 정보, 상기 구동 정보 및 상기 검증 정보를 동형 암호문 상태에서 연산 처리하여 상기 계산 정확성을 확인할 수 있다.
한편, 본 개시의 일 실시 예에 따른 플랜트 장치와 통신 가능한 원격 제어 장치의 제어 방법은 상기 플랜트 장치의 상태에 대응되는 센싱 정보를 수신하는 단계, 기저장된 현재 상태 정보, 상기 센싱 정보를 이용하여 상기 플랜트 장치의 구동을 위한 구동 정보를 생성하고, 상기 현재 상태 정보와 상기 센싱 정보를 이용하여 다음 상태 정보를 생성하여 상기 다음 상태 정보를 포함하는 검증 정보를 생성하는 단계, 및 상기 구동 정보와 상기 검증 정보를 상기 플랜트 장치에 전송하는 단계를 포함한다.
이 경우, 상기 센싱 정보는 암호화된 상태에서도 덧셈 및 곱셈 연산이 가능한 동형 암호문 방식으로 암호화된 상태로 수신되며, 상기 생성하는 단계는 상기 상태 정보 및 상기 센싱 정보를 동형 암호문 상태에서 연산 처리하여 동형 암호문 형태의 구동 정보 및 검증 정보를 생성할 수 있다.
이상과 같은 본 개시의 다양한 실시 예들에 따르면, 원격 제어 장치는 플랜트 장치의 구동을 위한 구동 정보를 실시간으로 생성하여 플랜트 장치에 제공할 수 있을 뿐만 아니라, 플랜트 장치에서의 구동 정보의 검증을 위한 검증 정보도 플랜트 장치에 제공하는 것이 가능하다. 이러한 검증 정보를 이용하여 플랜트 장치는 구동 정보의 계산 정확도를 확인하는 것이 가능하다. 또한, 검증 과정을 수행하기 위한 연산은 원격 제어 장치에서 구동 정보를 생성하는 연산보다 낮은 계산비용을 갖는바 효율적인 동작이 가능하다.
도 1은 본 개시의 일 실시 예에 다른 선형 동적 시스템을 설명하기 위한 도면,
도 2는 본 개시의 일 실시 예에 따른 원격 제어 장치의 구성을 설명하기 위한 블럭도,
도 3은 본 개시의 일 실시 예에 따른 플랜트 장치의 구성을 설명하기 위한 도면,
도 4는 원격 제어 장치와 플랜트 장치 간의 동작을 설명하기 위한 흐름도,
도 5는 원격 제어 장치에서의 연산 방법을 설명하기 위한 흐름도, 그리고,
도 6은 플랜트 장치에서의 연산 검증 방법을 설명하기 위한 흐름도이다.
이하에서는 첨부 도면을 참조하여 본 개시에 대해서 자세하게 설명한다. 본 개시에서 수행되는 정보(데이터) 전송 과정은 필요에 따라서 암호화/복호화가 적용될 수 있으며, 본 개시 및 특허청구범위에서 정보(데이터) 전송 과정을 설명하는 표현은 별도로 언급되지 않더라도 모두 암호화/복호화하는 경우도 포함하는 것으로 해석되어야 한다. 본 개시에서 "A로부터 B로 전송(전달)" 또는 "A가 B로부터 수신"과 같은 형태의 표현은 중간에 다른 매개체가 포함되어 전송(전달) 또는 수신되는 것도 포함하며, 반드시 A로부터 B까지 직접 전송(전달) 또는 수신되는 것만을 표현하는 것은 아니다.
본 개시의 설명에 있어서 각 단계의 순서는 선행 단계가 논리적 및 시간적으로 반드시 후행 단계에 앞서서 수행되어야 하는 경우가 아니라면 각 단계의 순서는 비제한적으로 이해되어야 한다. 즉, 위와 같은 예외적인 경우를 제외하고는 후행 단계로 설명된 과정이 선행단계로 설명된 과정보다 앞서서 수행되더라도 개시의 본질에는 영향이 없으며 권리범위 역시 단계의 순서에 관계없이 정의되어야 한다. 그리고 본 명세서에서 "A 또는 B"라고 기재한 것은 A와 B 중 어느 하나를 선택적으로 가리키는 것뿐만 아니라 A와 B 모두를 포함하는 것도 의미하는 것으로 정의된다. 또한, 본 개시에서 "포함"이라는 용어는 포함하는 것으로 나열된 요소 이외에 추가로 다른 구성요소를 더 포함하는 것도 포괄하는 의미를 가진다.
본 개시에서는 본 개시의 설명에 필요한 필수적인 구성요소만을 설명하며, 본 개시의 본질과 관계가 없는 구성요소는 언급하지 아니한다. 그리고 언급되는 구성요소만을 포함하는 배타적인 의미로 해석되어서는 안 되며 다른 구성요소도 포함할 수 있는 비배타적인 의미로 해석되어야 한다.
그리고 본 개시에서 "값"이라 함은 스칼라값뿐만 아니라 벡터, 다항식 형태도 포함하는 개념으로 정의된다.
후술하는 본 개시의 각 단계의 수학적 연산 및 산출은 해당 연산 또는 산출을 하기 위해 공지되어 있는 코딩 방법 및/또는 본 개시에 적합하게 고안된 코딩에 의해서 컴퓨터 연산으로 구현될 수 있다.
이하에서 설명하는 구체적인 수학식은 가능한 여러 대안 중에서 예시적으로 설명되는 것이며, 본 개시의 권리 범위가 본 개시에 언급된 수학식에 제한되는 것으로 해석되어서는 아니된다.
설명의 편의를 위해서, 본 개시에서는 다음과 같이 표기를 정하기로 한다.
Z : 정수 집합
F:=Zp : 크기가 소수(p)인 체(Field), 즉 정수 모듈러 p 정수 집합
A(대문자): 행렬
Figure 112020102263303-pat00001
:
Figure 112020102263303-pat00002
와 같은 (열) 벡터
Figure 112020102263303-pat00003
: 벡터의 내적
Figure 112020102263303-pat00004
,
Figure 112020102263303-pat00005
: 행렬과 벡터의 곱셈.
G : g를 생성원으로 갖는 (소수 p 크기의) 유한한 군(Group)(예를 들어, 모든 요소는 일부 i ∈ {0,1,2,...,p-1}에 대해 gi 형식으로 표현됨)
gm : g를 m 회 곱셈
x <- X : x는 X로부터 균일 및 랜덤하게 샘플링된 원소
Figure 112020102263303-pat00006
: 이벤트 E, F가 동시에 발생할 확률
Figure 112020102263303-pat00007
Figure 112020102263303-pat00008
: 조건부 확률
Figure 112020102263303-pat00009
: 입력 x가 주어진 경우, 공격자(혹은 알고리즘)(adversary) A가 y를 출력하는 이벤트
이하에서는 첨부된 도면을 이용하여 본 개시의 다양한 실시 예들에 대하여 구체적으로 설명한다.
도 1은 본 개시의 일 실시 예에 다른 플랜트 시스템을 설명하기 위한 도면이다.
도 1을 참조하면, 플랜트 시스템(1000)은 원격 제어 장치(100) 및 플랜트 장치(200)를 포함한다. 원격 제어 장치(100)와 플랜트 장치(200)는 도시된 바와 같이 직접적인 직접적으로 연결되어 정보를 송수신할 수 있을 뿐만 아니라, 라우터 등 다른 통신 장치를 경유하여 정보를 송수신하는 것도 가능하다.
원격 제어 장치(100)는 구동 정보의 생성을 아웃소싱(outsourcing)하여 처리하는 장치로, 플랜트 장치(200)보다 높은 성능을 가질 수 있다. 이런 동작을 위하여, 원격 제어 장치(100)는 플랜트 장치(200)로부터 센싱 정보를 수신할 수 있다. 여기서, 센싱 정보는 플랜트 장치(200)에서 센싱한 정보 또는 플랜트 장치(200)의 상태 정보 등일 수 있다. 예를 들어, 플랜트 장치(200)가 드론인 경우, 센싱 정보는 드론의 프로펠러에서 측정된 모터 회전수, 고도 등 정보 등일 수 있다.
그리고 원격 제어 장치(100)는 선형 동적 시스템 상의 이산-시간(discrete-time)으로 구동 정보 등을 생성할 수 있다. 구체적으로, 원격 제어 장치(100)는 수신된 센싱 정보와 원격 제어 장치(100)의 상태 정보를 이용하여 구동 정보를 생성할 수 있다. 여기서 상태 정보는 후술하는 수학식 1, 2, 7에 기초하여 계산될 수 있다. 그리고 구동 정보는 플랜트 장치(200)의 구동에 필요한 정보로, 예를 들어, 플랜트 장치(200)가 드론인 경우, 모터 제어를 위한 회전 정보 등일 수 있다.
그리고 원격 제어 장치(100)는 구동 정보의 검증을 위한 검증 정보를 생성하여 플랜트 장치(200)에 제공할 수 있다. 여기서 검증 정보는 구동 정보를 수신한 플랜트 장치(200) 측에서 수신한 구동 정보의 무결성을 확인하기 위한 정보이다. 원격 제어 장치(100)의 구체적인 구성 및 동작에 대해서는 도 2를 참조하여 후술한다. 그리고 원격 제어 장치(100)의 예로 컴퓨터, 노트북 PC, 태블릿, 서버, 스마트 폰 등 다양한 전자 장치가 이용될 수 있으며, 플랜트 장치를 제어한다는 점에서 컨트롤러로 지칭될 수 있다.
플랜트 장치(200)는 기설정된 기능을 수행하는 장치로, 현재 장치의 상태에 대응되는 센싱 정보를 원격 제어 장치(100)에 제공하고, 현재 상태에 대응되는 구동 정보를 원격 제어 장치(100)로부터 제공받아 구동할 수 있다. 이와 같은 플랜트 장치(200)는 드론, 무인이동차 등과 같은 전자 장치뿐만 아니라, 구동을 위한 연산을 다른 장치에서 제공받아야 하는 장치라면 어떠한 장치여도 무방하다.
플랜트 장치(200)는 구동 정보의 검증을 위하여, 수신한 검증 정보와 구동 정보를 이용하여 구동 정보의 계산 정확도를 확인하여 검증을 수행할 수 있다.
그리고 플랜트 장치(200)는 검증된 구동 정보를 이용하여 구동 동작을 수행할 수 있다. 플랜트 장치(200)의 구체적인 구성 및 동작에 대해서는 도 3을 참조하여 후술한다.
이하에서는 원격 제어 장치에서 구동 정보와 검증 정보를 생성하는 동작 및 이를 이용하여 플랜트 장치에서의 검증 방법 등을 자세히 설명한다.
먼저, 원격 제어 장치(100)는 아래와 같은 수학식 1을 이용하여 상태 정보와 구동 정보를 생성한다고 가정한다.
[수학식 1]
Figure 112020102263303-pat00010
여기서,
Figure 112020102263303-pat00011
는 현재(t 시점) 원격 제어 장치의 상태 정보이고,
Figure 112020102263303-pat00012
는 다음(t+1 시점)의 상태 정보로, 검증 정보로 지칭될 수 있다. 그리고,
Figure 112020102263303-pat00013
는 플랜트 장치에서 생성되어 제공된 센싱 정보,
Figure 112020102263303-pat00014
는 원격 제어 장치에서 생성하는 구동 정보이며, A, B, C, D 각각은 행렬이다.
본 개시의 목표의 첫번째는 출력 값(즉, 구동 정보)을 검증하는 것으로, 각 시간 t에서 플랜트 장치(200)가 원격 제어 장치(100)에서 제공한 구동 정보가 올바른 출력인지 확인할 수 있는 것이다. 그리고 두번째는 효율적인 동작으로, 올바른 출력인지를 검증하는데 필요한 계산 비용이 플랜트 장치가 직접 구동 정보를 계산하는 것보다 낮은 계산 비용을 가져야 한다는 것이다.
한편, 상술한 수학식 1은 실수에 대해서 동작하지만, 본 검증 시스템은 유한 필드(finite field)에서 동작한다는 점에서, 상술한 수학식 1을 유한 필드에서 동작하도록 수정할 필요가 있다. 구체적으로, 전체 시간 구간 동안 제한된 정수에 대한 곱셈과 덧셈만을 사용하도록 주어진 시스템을 변경할 수 있다. 변경된 연산은 (충분히 큰) 유한 필드 상의 연산으로 표현될 수 있다.
보다 자세히 설명하면, 일반성을 잃지 않은 쌍(A, C)이 있다고 가정하면, 행렬 H(
Figure 112020102263303-pat00015
)는 극 배치 기법(pole-placement techniques)에 의해 발견될 수 있으므로, A-HC의 고유 값은 모두 정수이다.
그리고 역행렬
Figure 112020102263303-pat00016
를 이용하여, 행렬 A-HC는 조던 표준 형식(Jordan canonical form)으로 변환하면,
Figure 112020102263303-pat00017
을 얻을 수 있다. 이러한 내용을 반영하면, 상술한 수학식 1은 다음과 같은 정수 상의 시스템으로 표현될 수 있다.
[수학식 2]
Figure 112020102263303-pat00018
여기서,
Figure 112020102263303-pat00019
는 초기 값으로,
Figure 112020102263303-pat00020
이고, 행렬 A는
Figure 112020102263303-pat00021
, 행렬 B는
Figure 112020102263303-pat00022
, 행렬 C는
Figure 112020102263303-pat00023
이고, H는
Figure 112020102263303-pat00024
와 같은 정수로 구성될 수 있다. 그리고,
Figure 112020102263303-pat00025
Figure 112020102263303-pat00026
값이고,
Figure 112020102263303-pat00027
Figure 112020102263303-pat00028
값이다. 그리고,
Figure 112020102263303-pat00029
,
Figure 112020102263303-pat00030
이 충분히 크게 선택된다면, 상술한 수학식 2의 성능 오류는 수학식 1과 비교하였을 때 무시할 수 있다.
이하에서는 수학식 2를 이용한 검증 동작을 설명한다.
검증 계산(VC: verifiable computation) 스킴은 만약 증명자(구체적으로, 원격 제어 장치)가 출력한 출력(υ)(상술한 구동 정보)이 맞는지(예를 들어,
Figure 112020102263303-pat00031
)를 함수 F를 평가하는데 필요한 계산 비용보다 적은 노력으로 검증자(구체적으로, 플랜트 장치)가 검증하는 것이다.
이러한 검증 가능한 계산 체계는, 키 생성, 계산, 검증 3 단계로 나눠서 설명할 수 있다.
먼저, 키 생성은 아래의 수학식 3과 같이 함수 F와 보안 파라미터(λ)를 이용하여 평가 키(EKF)와 검증 키(VKF)를 생성하는 동작이다.
[수학식 3]
Figure 112020102263303-pat00032
여기서, F는 수학식 3과 같은 함수이고, λ는 보안 파라미터이고, 평가 키(EKF)는 증명자에서의 구동 정보 및 검증 정보 생성에 필요한 키고, 검증 키(VKF)는 검증자에서의 검증에 필요한 키이다.
다음으로, 계산은 아래의 수학식 4와 같이 평가 키(EKF)와 입력(μ)(상술한 센싱 정보)에 대해서 계산을 수행하여 출력(
Figure 112020102263303-pat00033
)(상술한 구동 정보)과 출력이 정확한지에 대한 증명(
Figure 112020102263303-pat00034
)(상술한 검증 정보)을 생성할 수 있다.
[수학식 4]
Figure 112020102263303-pat00035
여기서, Compute()는 출력 값(구체적으로, 구동 정보) 및 증명(구체적으로, 검증 정보)을 산출하는 계산 알고리즘으로, 상술한 수학식 2 또는 수학식 7을 이용하여 계산될 수 있다. 그리고 VKF는 검증자에서의 검증에 필요한 검증 키, μ는 입력으로 상술한 센싱 정보이고, υ는 출력 값으로, 플랜트 장치의 구동을 위한 구동 정보이고, πυ는 구동 정보의 검증을 위한 검증 정보이다.
다음으로, 검증은 수학식 5와 같이 검증 키(VKF), 입력(μ), 출력(υ), 증명(π)을 이용하여, 출력에 대한 검증을 수행하여 출력이 검증되면 acc를 출력하고, 검증되지 않으면 rej를 출력할 수 있다.
[수학식 5]
Figure 112020102263303-pat00036
여기서, Verify()는 입력된 구동 정보, 검증 정보를 이용하여 구동 정보의 계산 정확도를 산출하는 계산 알고리즘으로, 계산 정확도가 문제없는 경우 acc를 출력하고, 계산 정확도에 문제가 있으면 rej를 출력할 수 있다. 그리고 VKF는 검증 키, μ는 입력으로 상술한 센싱 정보이고, υ는 출력 값으로, 플랜트 장치의 구동을 위한 구동 정보이고, πυ는 구동 정보의 검증을 위한 검증 정보이다.
상술한 계산 체계에 대한 정확성(Correctness), 보안성(Security) 및 효율성은 다음과 같이 정의될 수 있다.
먼저, 정확성은 모든 함수 F 및 어떠한 입력(μ)에 대해서, 상술한 수학식 3, 4와 같은 연산을 수행한 경우, 수학식 5의 결과는 acc가 출력되어야 한다는 것이다.
그리고 보안성은 아래의 수학식 6과 같은 모든 함수 F 및 어떠한 확률적 다항시간(polynomial-time) 알고리즘 A에 대해서 주어진 다음 가능성은 무시될 수 있다는 것이다.
[수학식 6]
Figure 112020102263303-pat00037
그리고 효율은 검증 동작의 계산 비용은 계산 동작의 계산 비용보다 낮아야 한다는 것이다.
보안 조건, 즉 계산적으로 제한된(예를 들어,
Figure 112020102263303-pat00038
미만의 작업만 수행 가능) 공격자는 잘못된 출력(
Figure 112020102263303-pat00039
)과 위조된 증명(
Figure 112020102263303-pat00040
)을 생성할 수 없음을 의미하며, 이는 무시할 수 없는 확률로 검증 알고리즘에 의해 승인(acc)될 확률이 무시할 정도로 작다는 것이다. 즉, 높은 확율(
Figure 112020102263303-pat00041
)로 거절될수 있다.
일반적으로, 검증자(즉, 플랜트 장치)는 키 생성 동작(1회), 검증 알고리즘을 수행하고, 증명자(즉, 원격 제어 장치)는 계산의 정확도를 증명을 생성하는 계산 알고리즘을 수행할 수 있다.
이하에서는 행렬·벡터 곱셈에 특화된 계산 동작을 반영하여 상술한 계산 체계를 설명한다.
F가 유한 필드이고, F가 F 상의 n × m 행렬이라고 가정하면, 검증자는 입력(
Figure 112020102263303-pat00042
)에 대한
Figure 112020102263303-pat00043
계산을 아웃소싱할 수 있다. 이 동작의 경우 증명자는 증명을 생성할 필요가 없게 된다.
구체적으로, 검증자는
Figure 112020102263303-pat00044
를 선택하고,
Figure 112020102263303-pat00045
를 미리 계산하고, 입력
Figure 112020102263303-pat00046
Figure 112020102263303-pat00047
에 대해, 증명자는
Figure 112020102263303-pat00048
인 경우에만 acc를 출력할 수 있다.
이러한 방식을 이용하는 경우,
Figure 112020102263303-pat00049
, 즉, 만약
Figure 112020102263303-pat00050
가 검증자(verifier)는 높은 확률로 rej를 출력하게 된다.
그리고 벡터
Figure 112020102263303-pat00051
,
Figure 112020102263303-pat00052
가 많은 증명에 사용될 수 있으며, 이러한 벡터가 주어지면 검증의 계산 비용은 (필요한 연산 수 기준) n+m이며, 이는
Figure 112020102263303-pat00053
에 대한 평가 비용 n*m 보다 훨씬 작다.
이하에서는 위 상술한 원리를 활용하여 본 원격 제어 바와 같이 벡터
Figure 112020102263303-pat00054
,
Figure 112020102263303-pat00055
를 활용하는 경우의 계산 비법과 그에 따른 보안성 및 효율성을 설명한다.
앞서 설명한 바와 같이 정수 변환을 사용하면 충분히 큰 유한 필드에서 이상 시간 증명자를 따른다고 가정할 수 있다. 설명을 단순하게 하면서도 일반성을 잃지 않고, 수학식 2에서의
Figure 112020102263303-pat00056
Figure 112020102263303-pat00057
를 수학식 7과 같이 대체할 수 있다(즉, 엑추에이터는 주어진
Figure 112020102263303-pat00058
에 대해서
Figure 112020102263303-pat00059
를 자체적으로 계산할 수 있기 때문).
[수학식 7]
Figure 112020102263303-pat00060
앞서 상술한 바와 같은 행렬·벡터 곱셈에 특화된 계산 검증 방식을 적용하면, 검증자는 위 수학식 7에서 출력하는 x(t+1) 및 u(t)에 대해 다음과 같은 방식을 통해 내적 연산만을 이용하여 전체 계산보다 적은 계산 비용으로 검증 동작을 수행할 수 있다.
구체적으로, 검증자는 다음과 같은 수학식 8과 같은 연산을 통하여 검증 동작을 수행할 수 있다.
[수학식 8]
Figure 112020102263303-pat00061
여기서,
Figure 112020102263303-pat00062
는 제1 랜덤 벡터,
Figure 112020102263303-pat00063
는 제2 랜덤 벡터,
Figure 112020102263303-pat00064
는 증명자(구체적으로, 원격 제어 장치)의 현재(t) 상태 정보,
Figure 112020102263303-pat00065
는 증명자(구체적으로, 원격 제어 장치)의 다음(t+1) 상태 정보,
Figure 112020102263303-pat00066
는 센싱 정보,
Figure 112020102263303-pat00067
는 구동 정보,
Figure 112020102263303-pat00068
,
Figure 112020102263303-pat00069
,
Figure 112020102263303-pat00070
,
Figure 112020102263303-pat00071
,
Figure 112020102263303-pat00072
는 제1 내지 제5 시스템 벡터로, 상술한 수학식 7의 행렬 각각을 제1 랜덤 벡터 또는 제2 랜덤 벡터를 이용하여 생성한 벡터이다. 구체적으로, 제 시스템 벡터(
Figure 112020102263303-pat00073
)는
Figure 112020102263303-pat00074
로 계산되고, 제2 시스템 벡터(
Figure 112020102263303-pat00075
)는
Figure 112020102263303-pat00076
로 계산되고, 제3시스템 벡터(
Figure 112020102263303-pat00077
)는
Figure 112020102263303-pat00078
로 계산되고, 제4 시스템 벡터(
Figure 112020102263303-pat00079
)는
Figure 112020102263303-pat00080
로 계산되고, 제4시스템 벡터(
Figure 112020102263303-pat00081
)는
Figure 112020102263303-pat00082
로 계산될 수 있다.
이러한 점에서, 검증자는 다음 상태 정보(
Figure 112020102263303-pat00083
)와 제1 랜덤 벡터(
Figure 112020102263303-pat00084
)의 제1 내적 연산 값, 제1 시스템 벡터(
Figure 112020102263303-pat00085
)와 현재 상태 정보(
Figure 112020102263303-pat00086
)의 제2 내적 연산 값, 제2 시스템 벡터(
Figure 112020102263303-pat00087
)와 센싱 정보(
Figure 112020102263303-pat00088
)의 제3 내적 연산 값을 계산하고, 제5 시스템 벡터(
Figure 112020102263303-pat00089
)와 구동 정보(
Figure 112020102263303-pat00090
)의 제4 내적 연산 값을 계산하고, 제2 내적 연산 값, 제3 내적 연산 값 및 제4 내적 연산 값의 합이 제1 내적 연산 값과 동일한지 여부를 확인할 수 있다.
또한, 검증자는 구동 정보(
Figure 112020102263303-pat00091
)와 제2 랜덤 벡터(
Figure 112020102263303-pat00092
)의 제5 내적 연산 값, 제3 시스템 벡터(
Figure 112020102263303-pat00093
)와 현재 상태 정보(
Figure 112020102263303-pat00094
)의 제6 내적 연산 값 및 제4 시스템 벡터(
Figure 112020102263303-pat00095
)와 센싱 정보(
Figure 112020102263303-pat00096
)의 제7 내적 연산 값을 계산하고, 제6 내적 연산 값과 제7 내적 연산 값의 합이 제5 내적 연산 값과 동일한지 여부를 확인한 후, 이를 통해 구동 정보의 계산 정확성을 확인할 수 있다.
한편, 상술한 예에서는 제5 시스템 벡터를 고려하여 계산을 확인하였지만, 이하에서 좀 더 간편한 설명을 위해 수학식 1(유한체 위의 연산이라 가정)과 같은 환경에서는 아래와 같은 수학식 9와 같은 연산을 통하여 검증 동작을 수행할 수 있다고 가정한다.
[수학식 9]
Figure 112020102263303-pat00097
한편, 이러한 동작을 위해서는 매시간(t)마다 증명자의 상태 정보(x(t))를 검증자에 전송할 필요가 있다. 이는 높은 통신 리소스를 가중할 수 있다.
이러한 점을 해결하기 위하여, 상술한 바와 같은 상태 정보를 동형적 약속(homomorphic commitment)(또는 동형 암호문 형태)(예를 들어,
Figure 112020102263303-pat00098
,
Figure 112020102263303-pat00099
)로 대체할 수 있다. 구체적으로, 셋업 단계에서 검증자는 증명자에게 랜덤 벡터(
Figure 112020102263303-pat00100
,
Figure 112020102263303-pat00101
,
Figure 112020102263303-pat00102
)를 동형 암호문 형태(
Figure 112020102263303-pat00103
)로 전송하고, 각종 정보도 동적 암호문 형태(
Figure 112020102263303-pat00104
,
Figure 112020102263303-pat00105
,
Figure 112020102263303-pat00106
)로 수신받을 수 있다. 그리고 검증자는 동적 암호문 형태에서 상술한 검증 동작을 연산할 수 있다. 한편, 이상에서는 평문 값을 기설정된 그룹의 원소(g)의 지수 값으로 표현되는 동형 암호문을 이용하는 것만을 설명하였지만, 암호화된 상태에서도 덧셈 및 곱셈 연산이 가능한 경우라면 상술한 방식 이외에 동형 암호화 기술이 이용될 수도 있다.
한편, 증명자가 잘못된 상태정보(x(t))를 암호화하는 것을 방지하기 위해 다음과 같은 변형을 수행할 수 있다. 구체적으로, 셋업 단계에서 검증자는 위 동형 암호문 형태 대신 (
Figure 112020102263303-pat00107
,
Figure 112020102263303-pat00108
,
Figure 112020102263303-pat00109
)을 증명자에게 전송할 수 있다.
증명자는 상술한 제2 내적 연산 값 및 제5 내적 연산 값 계산에 이용 가능한 제1 연산 정보(
Figure 112020102263303-pat00110
)와 제2 연산 정보(
Figure 112020102263303-pat00111
)를 생성하여 검증자에게 전송할 수 있다. 이와 같은 제1 연산 정보와 제2 연산 정보가 수신되면, 검증자는 제3 연산 정보(
Figure 112020102263303-pat00112
)와 제1 연산 정보(
Figure 112020102263303-pat00113
)의 곱으로 제2 내적 연산 값(
Figure 112020102263303-pat00114
)을 계산할 수 있으며, 제3 연산 정보(
Figure 112020102263303-pat00115
)와 제2 연산 정보(
Figure 112020102263303-pat00116
)의 곱으로 제6 내적 연산 값(
Figure 112020102263303-pat00117
)을 계산할 수도 있다. 한편, 제3 연산 정보는 검증자가 생성하여 이용하거나, 제3 연산 정보도 증명자가 생성하여 검증자에 제공할 수도 있다.
이와 더불어 검증자는 셋업 단계에서 랜덤한 값
Figure 112020102263303-pat00118
을 생성한 후 동형 암호문 형태 (
Figure 112020102263303-pat00119
)도 추가적으로 증명자에게 전송할 수 있다. 증명자는 이 동형암호문 형태에 대해서도 동일한 값 x를 사용하여 연산정보 (
Figure 112020102263303-pat00120
)를 계산한 후 검증자에게 제공할 수 있다. 검증자는 이 연산 정보가 각각 앞서 서술한 제 3 연산 정보, 제 1 연산 정보, 제 2 연산 정보 등과 각각
Figure 112020102263303-pat00121
배의 관계가 성립하는지 확인하여 추가적인 계산 검증을 수행할 수 있다.
또한, 보안성을 증가시키기 위하여, 상술한 랜덤 벡터를 교번적으로 변경하여 상술한 동작을 수행할 수 있다. 예를 들어, 홀수번째에서는 r0, s0을 이용하고, 짝수번째에서는 r1, s1을 이용하여 상술한 연산을 수행할 수도 있다.
또한, 위 검증은 매 시간마다 진행된다는 점에 착안하여, 검증자의 효율성을 향상시키기 위해 여러 시간의 검증 행위를 묶어서 한번에 검증 (Batch verification)하는 것도 가능하다. 구체적으로 검증자가 주어진 동형암호문 n개와 (
Figure 112020102263303-pat00122
)다른 동형암호문 n개 (
Figure 112020102263303-pat00123
)에 대해 각 암호문이
Figure 112020102263303-pat00124
을 만족함을 확인하고자 한다고 하자. 이 경우 검증자는 랜덤한 값
Figure 112020102263303-pat00125
들을 선택한 후,
Figure 112020102263303-pat00126
를 체크함으로써 모든 암호문이 위 조건을 만족한다는 것을 높은 확률로 보장받을 수 있다.
이상과 같은 플랜트 시스템은 낮은 리소스를 갖는 플랜트 장치에서의 구동을 위한 연산을 원격 제어 장치에서 생성하여 제공하는 것이 가능하며, 제공되는 구동 정보의 검증을 위한 검증 정보를 플랜트 장치에 제공하는바, 플랜트 장치는 제공된 구동 정보에 대한 검증을 통하여 안정적으로 구동이 가능하다.
도 2는 본 개시의 일 실시 예에 따른 원격 제어 장치의 구성을 설명하기 위한 블럭도이다.
도 2를 참조하면, 원격 제어 장치(100)는 통신 장치(110), 메모리(120), 디스플레이(130), 조작 입력 장치(140) 및 프로세서(150)를 포함할 수 있다. 원격 제어 장치(100)는 PC, 서버 등 다양한 장치로 구현될 수 있다.
통신 장치(110)는 원격 제어 장치(100)를 플랜트 장치(200)와 연결하기 위해 형성되고, 근거리 통신망(LAN: Local Area Network) 및 인터넷망을 통해 외부 장치에 접속되는 형태뿐만 아니라, USB(Universal Serial Bus) 포트 또는 무선 통신(예를 들어, WiFi 802.11a/b/g/n, NFC, Bluetooth) 포트를 통하여 접속되는 형태도 가능하다. 이러한 통신 장치(110)는 송수신부(transceiver)로 지칭될 수도 있다.
통신 장치(110)는 상태 정보를 수신할 수 있으며, 후술하는 과정에서 생성한 구동 정보 및 검증 정보를 플랜트 장치(200)에 전송할 수 있다.
통신 장치(110)는 상술한 상태 정보, 구동 정보, 검증 정보 등을 생성하는데 필요한 초기 설정 정보를 플랜트 장치(200)로부터 수신할 수 있다. 그리고 통신 장치(110)는 플랜트 장치(200)로부터 제1 내지 제3 랜덤 값을 수신할 수 있다. 이러한 제1 내지 제3 랜덤 값은 동형 암호문으로 암호화되어 있을 수 있으며, 구동 정보 및 검증 정보를 생성하는데 이용되는 랜덤 백터와 결합되어 있을 수 있다.
메모리(120)는 원격 제어 장치(100)에 관한 적어도 하나의 인스트럭션(instruction)을 저장할 수 있다. 예를 들어, 메모리(120)에는 본 개시의 다양한 실시 예에 따라 원격 제어 장치(100)가 동작하기 위한 각종 프로그램(또는 소프트웨어)이 저장될 수 있다.
이러한 메모리(120)는 RAM이나 ROM, 플래시 메모리, HDD, 외장 메모리, 메모리 카드 등과 같은 다양한 형태로 구현될 수 있으며, 어느 하나로 한정되는 것은 아니다.
메모리(120)는 상태 정보를 저장할 수 있다. 여기서 상태 정보는 플랜트 장치에서 원격 제어 장치에서 생성한 정보의 정확성을 확인하기 위한 정보로, t 시점별로 새롭게 계산되어 업데이트 될 수 있다.
메모리(120)는 통신 장치(110)를 통하여 수신한 상태 정보를 임시 저장하거나, 후술한 과정에서 계산된 구동 정보 및 검증 정보를 저장할 수 있으며, 계산 과정에서의 산출되는 값들을 임시 저장할 수 있다.
또한, 메모리(120)는 구동 정보 및 검증 정보 생성에 필요한 랜덤 벡터, 시스템 벡터, 행렬 값 등을 저장할 수 있다.
디스플레이(130)는 원격 제어 장치(100)가 지원하는 기능을 선택받기 위한 사용자 인터페이스 창을 표시한다. 예를 들어, 디스플레이(130)는 원격 제어 장치(100)가 제공하는 각종 기능을 선택받기 위한 사용자 인터페이스 창을 표시할 수 있다. 이러한 디스플레이(130)는 LCD(liquid crystal display), OLED(Organic Light Emitting Diodes) 등과 같은 모니터일 수 있으며, 후술할 조작 입력 장치(140)의 기능을 동시에 수행할 수 있는 터치 스크린으로 구현될 수도 있다.
디스플레이(130)는 키 생성 과정에서 필요한 파라미터(예를 들어, 보안 파라미터)의 입력을 요청하는 메시지를 표시할 수 있다.
조작 입력 장치(140)는 사용자로부터 원격 제어 장치(100)의 기능 선택 및 해당 기능에 대한 제어 명령을 입력받을 수 있다. 예를 들어, 조작 입력 장치(140)는 사용자로부터 키 생성에 필요한 파라미터를 입력받을 수 있다. 한편, 이상에서는 키 생성에 필요한 파라미터를 원격 제어 장치(100) 측에서 생성하는 것으로 설명하였지만, 구현시에는 플랜트 장치(200) 측에서 수행될 수도 있다.
프로세서(150)는 원격 제어 장치(100)의 전반적인 동작을 제어한다. 예를 들어, 프로세서(150)는 메모리(120)에 저장된 적어도 하나의 인스트럭션을 실행함으로써 원격 제어 장치(100)의 동작을 전반적으로 제어할 수 있다. 이러한 프로세서(150)는 CPU(central processing unit), ASIC(application-specific integrated circuit)과 같은 단일 장치로 구성될 수 있으며, CPU, GPU(Graphics Processing Unit) 등의 복수의 장치로 구성될 수도 있다.
프로세서(150)는 통신 장치(110)를 통하여 센서 정보가 수신되면, 수신된 센서 정보에 대응되는 구동 정보 및 검증 정보를 생성할 수 있다. 구체적으로, 프로세서(150)는 상술한 수학식 1, 2, 7 중 시스템에 적용된 수학식을 이용하여 구동 정보 및 다음 상태 정보를 생성할 수 있다.
그리고 프로세서(150)는 다음 상태 정보가 생성되면, 메모리(120)에 저장된 상태 정보를 갱신할 수 있다. 그리고 프로세서(150)는 다음 상태 정보를 포함하는 검증 정보와 생성된 구동 정보가 플랜트 장치(200)에 전송되도록 통신 장치(110)를 제어할 수 있다.
한편, 프로세서(150)는 플랜트 장치(200)에서의 검증 동작을 보다 빠르게 처리하기 위한 연산 정보를 생성할 수 있으며, 연산 정보가 생성되면, 검증 정보에 연산 정보를 더 포함하여 플랜트 장치(200)에 전송할 수 있다. 이때, 프로세서(150)는 플랜트 장치(200)로부터 수신한 랜덤 값을 이용하여 연산 정보를 생성할 수 있다.
그리고 프로세서(150)는 상술한 센싱 정보 및 상태 정보는 동형 암호문 상태일 수 있으며, 이 경우, 상술한 연산 동작을 동형 암호문 상태에서 수행하고, 동형 암호문 상태의 구동 정보 및 검증 정보가 전송하도록 통신 장치(110)를 제어할 수 있다.
이상과 같이 본 개시에 따른 원격 제어 장치(100)는 플랜트 장치에서의 구동 정보를 생성을 위한 연산을 아웃소싱하여 처리할 수 있다. 또한, 원격 제어 장치(100)는 구동 정보와 함께 구동 정보를 검증하기 위한 검증 정보도 함께 생성하여 제공하는바, 생성한 구동 정보에 대한 안정성을 증대할 수 있으며, 연산 및 신호 전송을 동형 암호문 상태에서 처리하는바, 보안성을 보다 증가된다.
한편, 도 2를 도시하고 설명함에 있어서, 원격 제어 장치(100)가 복수의 구성들을 포함하는 것으로 도시하였으나, 구현시에 상술한 구성 중 일부는 생략될 수 있으며, 상술한 구성 이외에 다른 구성이 추가될 수도 있다.
도 3은 본 개시의 일 실시 예에 따른 플랜트 장치의 구성을 설명하기 위한 도면이다.
도 3을 참조하면, 플랜트 장치(200)는 엑추에이터(210), 플랜트 코어(220), 센싱 장치(230)를 포함할 수 있다. 이러한 플랜트 장치(200)는 드론, 무인차, 로봇 등 무인 장치일 수 있으며, 변전소 등 원격지에 배치되는 설비 시설일 수 있다.
엑추에이터(210)는 원격 제어 장치(100)로부터 구동 정보 및 검증 정보를 수신하고, 수신된 구동 정보와 검증 정보를 이용하여 수신한 구동 정보를 검증하고, 검증된 구동 정보를 이용하여 플랜트 코어(220)를 제어할 수 있다. 이를 위하여, 엑추에이터(210)는 센싱 장치(230) 및 원격 제어 장치(100)와의 통신을 위한 통신 장치, 상술한 연산 등을 위한 프로세서 등을 포함할 수 있으며, 후술하는 플랜트 코어 제어를 위한 각종 구동 장치(예를 들어, 모터, 모터 드라이버 등) 포함할 수 있다.
그리고 엑추에이터(210)는 계산 검증에 필요한 각종 초기 정보를 생성하여 원격 제어 장치(100)에 전송할 수 있다. 또한, 연산 정보를 이용하는 경우, 엑추에이터(210)는 제1 내지 제3 랜덤 값(또는 제1 내지 제3 랜덤 값에 대한 동형 암호화된 값)을 원격 제어 장치(100)에 전송할 수 있다. 이때, 엑추에이터(210)는 제1 내지 제3 랜덤 값에 대응되는 정보(즉, 랜덤값에 대한 동형 암호문)를 개별적으로 전송할 수도 있으며, 랜덤 벡터와 랜덤 값을 결합한 형태의 동형 암호문을 전송할 수도 있다.
구체적인 검증 방식에 대해서는 도 1과 관련하여, 자세히 설명하였는바 중복 설명은 생략한다.
플랜트 코어(220)는 기설정된 기능을 수행한다. 예를 들어, 플랜트 장치(200)가 드론이라면 드론을 이동하기 위한 프로펠러 등이 플랜트 코어 일 수 있다. 그리고 상술한 엑추에이터(210)는 상술한 프로펠러를 회전시키기 위한 모터를 포함하는 장치일 수 있다.
센싱 장치(230)는 플랜트 코어의 상태에 대응되는 센싱 정보를 생성하고, 생성된 센싱 정보를 원격 제어 장치(100)에 제공할 수 있다. 예를 들어, 플랜트 장치(200)가 드론이라면, 프로펠러의 RPM 정보, 높이 정보, 이동 속도 등이 센싱 정보일 수 있다. 이를 위하여, 센싱 장치(230)는 센싱 정보를 수집하기 위한 센서 등을 포함할 수 있으며, 생성된 센싱 정보를 동형 암호문으로 변환하기 위한 프로세서, 및 생성한 센싱 정보를 엑추에이터(210) 및 원격 제어 장치(100)에 전송하기 위한 통신 장치 등을 포함할 수 있다.
한편, 이상에서는 센싱 장치(230)가 직접 센싱 정보를 원격 제어 장치(100)에 제공하는 것으로 도시하고 설명하였지만, 구현시에 센싱 장치(200)는 센서에서 센싱된 정보를 엑추에이터(210)에 제공하고, 엑추에이터(210)가 해당 정보를 동형 암호문으로 변환하여 원격 제어 장치(100)에 젠송할 수도 있다.
또한, 이상에서는 플랜트 장치(210)가 검증 정보 및 구동 정보를 수신할 때마다 상술한 검증 동작을 수행하는 것으로 설명하였지만, 구현시에는 기설정된 시간 동안 수신한 검증 정보 및 구동 정보를 저장하고, 기설정된 시간 동안 수신한 검증 정보 및 구동 정보를 묶어서 한번에 기설정된 시간 동안 수신한 구동 정보에 대한 검증 동작을 수행할 수도 있다.
이상과 같이 본 개시에 따른 플랜트 장치(200)는 원격 제어 장치(100)에서 제공하는 구동 정보를 이용하여 구동이 가능하며, 제공된 구동 정보를 이용하기 전에 검증 동작을 수행하는바 보다 안정적인 구동이 가능하다.
도 4는 원격 제어 장치와 플랜트 장치 간의 동작을 설명하기 위한 흐름도이다.
도 4를 참조하면, 먼저, 플랜트 장치(200)와 원격 제어 장치(100)는 설정 정보를 공유한다(S405). 구체적으로, 수학식 1, 2, 7 중 어느 하나의 수학식에 대응되는 각종 파라미터, 검증 키, 원격 제어 장치(100)의 초기 상태 정보(x(0)) 등을 공유할 수 있다. 한편, 상술한 파라미터 등은 플랜트 장치(200) 측에서 생성하여 원격 제어 장치(100)에 제공하는 형태일 수 있으며, 반대로 원격 제어 장치(100)에서 생성하여 플랜트 장치(200)에 제공하는 형태일 수도 있다.
이후에 플랜트 장치(200)는 구동을 수행하고, 구동에 따라 센싱 정보가 생성되면(S410), 플랜트 장치(200)는 센싱 정보를 원격 제어 장치(100)에 전송할 수 있다(S415). 이때, 플랜트 장치(200)는 센싱 정보를 암호화된 상태에서도 덧셈 및 곱셈 연산이 가능한 동형 암호문 형태로 변환하고, 동형 암호문 형태의 센싱 정보를 원격 제어 장치(100)에 전송할 수 있다.
원격 제어 장치(100)는 센싱 정보를 수신하고, 수신된 센싱 정보와 기저장하고 있는 상태 정보를 상술한 수학식 1, 2, 7 중 어느 하나에 반영하여 구동 정보 및 다음 상태 정보를 생성하고(S420, S425), 다음 상태 정보를 포함하는 검증 정보와 함께 구동 정보를 플랜트 장치(200)에 전송할 수 있다(S430). 이때, 원격 제어 장치(100)는 검증 정보에 연산 정보(후술한 검증 단계에서의 수행할 내적 연산 과정에 사용 가능한 계산 값)을 포함시켜 전송할 수 있다. 또한, 원격 제어 장치(100)는 다음 단계의 연산을 위하여, 생성된 다음 상태 정보를 저장할 수 있다.
검증 정보와 구동 정보를 수신한 플랜트 장치(200)는 수신한 두 정보를 이용하여 구동 정보의 계산 정확도를 확인하고(S435), 이상이 없다면 수신한 구동 정보를 이용하여 구동을 수행할 수 있다(S440).
이에 따라, 새로운 센싱 정보가 생성되면, 상술한 동작을 반복적으로 수행할 수 있다.
도 5는 원격 제어 장치에서의 연산 방법을 설명하기 위한 흐름도이다.
도 5를 참조하면, 먼저 플랜트 장치의 상태에 대응되는 센싱 정보를 수신한다(S510). 이때, 플랜트 장치에서 수신된 센싱 정보는 암호문 상태에서 덧셈 및 곱셈 연산이 가능한 동형 암호문 형태일 수 있다. 이러한 동형 암호문은 다양한 방식으로 생성될 수 있으며, 예를 들어, 평문 값이 기설정된 소수(또는 군(Group)의 생성원)의 지수 값으로 표현되는 암호문일 수 있다.
그리고 현재 상태 정보와 수신된 센싱 정보를 이용하여 구동 정보와 검증 정보를 생성할 수 있다(S520). 예를 들어, 기저장된 현재 상태 정보, 센싱 정보를 이용하여 플랜트 장치의 구동을 위한 구동 정보를 생성하고, 현재 상태 정보와 센싱 정보를 이용하여 다음 상태 정보를 생성하여 다음 상태 정보를 포함하는 검증 정보를 생성할 수 있다. 여기서 생성되는 구동 정보 및 다음 상태 정보는 동형 암호문 형태일 수 있다.
그리고 구동 정보와 검증 정보를 플랜트 장치에 전송한다(S530).
이상과 같이 본 개시에 따른 원격 제어 장치에서의 제어 방법은 구동 정보를 생성을 위한 연산을 아웃소싱하여 처리할 수 있다. 또한, 본 제어 방법은 구동 정보와 함께 구동 정보를 검증하기 위한 검증 정보도 함께 생성하여 제공하는바, 생성한 구동 정보에 대한 안정성을 증대할 수 있으며, 연산 및 신호 전송을 동형 암호문 상태에서 처리하는바 보안성을 보다 증가된다.
도 6은 플랜트 장치에서의 연산 검증 방법을 설명하기 위한 흐름도이다.
도 6을 참조하면, 센싱 정보를 생성하여 원격 제어 장치로 전송한다(S610). 이때, 센싱 정보를 동형 암호문 형태로 암호화하여 원격 제어 장치로 전송할 수 있다.
그리고 원격 제어 장치의 상태 정보와 센싱 정보에 기초하여 생성된 구동 정보 및 구동 정보를 검증하기 위한 검증 정보를 원격 제어 장치로부터 수신한다(S620). 여기서 수신되는 구동 정보 및 검증 정보 각각은 덧셈 및 곱셈 연산이 가능한 동형 암호문 형태일 수 있다. 또한, 검증 정보는 후술하는 검증 동작에서 수행할 내적 연산에 필요한 연산 정보를 포함할 수 있다.
직전 단계에서 수신한 검증 정보, 현 단계에서 수신한 검증 정보, 센싱 정보 및 구동 정보에 기초하여 구동 정보의 계산 정확성을 확인하여 구동 정보를 검증한다(S630). 이때, 검증 정보에 연산 정보가 포함되어 있으며, 포함된 연산 정보를 이용하여 내적 연산을 수행하여 상술한 검증 동작을 보다 낮은 리소스로 수행할 수 있다.
검증된 구동 정보를 이용하여 구동한다(S640).
이상과 같이 본 개시에 따른 플랜트 장치의 제어 장치는 구동에 필요한 구동 정보를 외부 장치에 아웃 소싱하여 처리하는바 낮은 리소스로 동작이 가능하며, 검증 과정에서도 직접 구동 정보를 생성하는 것보다 낮은 비용으로 연산 처리가 가능한바 효율적인 동작이 가능하다.
한편, 상술한 다양한 실시 예에 따른 제어 방법은 각 단계들을 수행하기 위한 프로그램 코드 형태로 구현되어, 기록 매체에 저장되고 배포될 수도 있다. 이 경우, 기록 매체가 탑재된 장치는 상술한 제어 동작을 수행할 수 있다.
이러한 기록 매체는, ROM, RAM, 메모리 칩, 메모리 카드, 외장형 하드, 하드, CD, DVD, 자기 디스크 또는 자기 테이프 등과 같은 다양한 유형의 컴퓨터 판독 가능 매체가 될 수 있다.
이상 첨부 도면을 참고하여 본 개시에 대해서 설명하였지만 본 개시의 권리범위는 후술하는 특허청구범위에 의해 결정되며 전술한 실시 예 및/또는 도면에 제한되는 것으로 해석되어서는 안 된다. 그리고 특허청구범위에 기재된 개시의, 당업자에게 자명한 개량, 변경 및 수정도 본 개시의 권리범위에 포함된다는 점이 명백하게 이해되어야 한다.
1000: 플랜트 시스템 100: 원격 제어 장치
110: 통신 장치 120: 메모리
130: 디스플레이 140: 조작 입력 장치
150: 프로세서 200: 플랜트 장치
210: 엑추에이터 220: 플랜트 코어
230: 센싱 장치

Claims (16)

  1. 원격 제어 장치와 통신 가능한 플랜트 장치에 있어서,
    기설정된 기능을 수행하는 플랜트 코어;
    상기 플랜트 코어의 상태에 대응되는 센싱 정보를 생성하여 상기 원격 제어 장치로 전송하는 센싱 장치; 및
    상기 원격 제어 장치의 상태 정보와 상기 센싱 정보에 기초하여 생성된 구동 정보 및 상기 구동 정보를 검증하기 위한 검증 정보를 상기 원격 제어 장치로부터 수신하고, 상기 수신된 구동 정보와 상기 수신된 검증 정보를 이용하여 상기 구동 정보를 검증하고, 검증된 구동 정보를 이용하여 상기 플랜트 코어를 구동시키는 엑추에이터;를 포함하고,
    상기 엑추에이터는,
    직전 단계에서 수신한 검증 정보와 상기 센싱 정보, 현 단계에서 수신한 검증 정보를 이용하여 구동 정보의 계산 정확성을 확인하여 상기 구동 정보를 검증하는 플랜트 장치.
  2. 제1항에 있어서,
    상기 센싱 장치는,
    상기 센싱 정보를 암호화된 상태에서도 덧셈 및 곱셈 연산이 가능한 동형 암호문 방식으로 암호화하여 상기 원격 제어 장치로 전송하고,
    상기 상태 정보 및 상기 검증 정보는 상기 동형 암호문 방식으로 암호화된 상태로 상기 엑추에이터에 수신되며,
    상기 엑추에이터는,
    상기 센싱 정보, 상기 구동 정보 및 상기 검증 정보를 동형 암호문 상태에서 연산 처리하여 상기 계산 정확성을 확인하는 플랜트 장치.
  3. 제2항에 있어서,
    상기 엑추에이터는,
    동형 암호문 상태의 구동 정보가 검증되면, 상기 동형 암호문 상태의 구동 정보를 평문 상태로 복원하고, 평문으로 복원된 구동 정보를 이용하여 상기 플랜트 코어를 구동시키는 플랜트 장치.
  4. 제2항에 있어서,
    상기 엑추에이터는,
    제1 내지 제3 랜덤 값에 대한 정보를 동형 암호문 방식으로 상기 원격 제어 장치에 전송하고,
    상기 계산 정확성을 확인하기 위한 연산 처리에 이용되며 상기 제1 내지 제3 랜덤 값 중 하나가 반영된 제1 연산 정보 및 제2 연산 정보를 수신하며,
    상기 제1 연산 정보 및 상기 제2 연산 정보를 이용하여 상기 계산 정확성을 확인하는 플랜트 장치.
  5. 제1항에 있어서,
    상기 검증 정보는,
    상기 원격 제어 장치의 현재 상태 정보와 상기 센싱 정보에 기초하여 생성되는 상기 원격 제어 장치의 다음 상태 정보를 포함하고,
    상기 엑추에이터는,
    제1 랜덤 벡터, 제2 랜덤 벡터, 상기 원격 제어 장치의 연산 동작에 이용되는 복수의 행렬 각각을 상기 제1 랜덤 벡터 또는 제2 랜덤 벡터를 이용하여 생성한 제1 내지 제4 시스템 벡터 및 직전 단계에서 수신한 원격 제어 장치의 현재 상태 정보를 저장하고,
    상기 다음 상태 정보와 상기 제1 랜덤 벡터의 제1 내적 연산 값, 제1 시스템 벡터와 상기 현재 상태 정보의 제2 내적 연산 값, 제2 시스템 벡터와 상기 센싱 정보의 제3 내적 연산 값, 상기 구동 정보와 상기 제2 랜덤 벡터의 제4 내적 연산 값, 제3 시스템 벡터와 상기 현재 상태 정보의 제5 내적 연산 값 및 제4 시스템 벡터와 상기 센싱 정보의 제6 내적 연산 값을 계산하고,
    상기 제2 내적 연산 값과 상기 제3 내적 연산 값의 합이 상기 제1 내적 연산 값과 동일한지 여부 및 상기 제5 내적 연산 값과 상기 제6 내적 연산 값의 합이 상기 제4 내적 연산 값과 동일한지 여부로 상기 구동 정보의 계산 정확성을 확인하는 플랜트 장치.
  6. 제5항에 있어서,
    상기 검증 정보는,
    상기 제1 시스템 벡터와 상기 제1 랜덤 벡터의 제1 연산 정보 및 상기 제3 시스템 벡터와 상기 제1 랜덤 벡터의 제2 연산 정보를 더 포함하고,
    상기 엑추에이터는,
    상기 제1 연산 정보와 상기 제1 시스템 벡터를 이용하여 상기 제2 내적 연산 값을 계산하고, 상기 제2 연산 정보와 상기 제1 시스템 벡터를 이용하여 상기 제5 내적 연산 값을 계산하는 플랜트 장치.
  7. 제1항에 있어서,
    상기 엑추에이터는,
    수신한 검증 정보와 상기 센싱 정보를 저장하고, 기설정된 시간 범위 내에서 수신한 검증 정보와 센싱 정보를 묶어서 상기 기설정된 시간 범위 내에서 수신한 구동 정보의 계산 정확성을 확인하는 플랜트 장치.
  8. 플랜트 장치와 통신 가능한 원격 제어 장치에 있어서,
    상기 플랜트 장치의 상태에 대응되는 센싱 정보를 상기 플랜트 장치로부터 수신하는 통신 장치;
    상기 원격 제어 장치의 상태 정보를 저장하는 메모리; 및
    상기 메모리에 저장된 현재 상태 정보, 상기 센싱 정보를 이용하여 상기 플랜트 장치의 구동을 위한 구동 정보를 생성하고, 상기 현재 상태 정보와 상기 센싱 정보에 기초하여 다음 상태 정보를 생성하고, 상기 생성된 다음 상태 정보를 이용하여 상기 메모리에 저장된 상태 정보를 업데이트하고, 상기 다음 상태 정보를 포함하는 검증 정보와 상기 구동 정보를 상기 플랜트 장치에 전송하도록 상기 통신 장치를 제어하는 프로세서;를 포함하는 원격 제어 장치.
  9. 제8항에 있어서,
    상기 센싱 정보는,
    암호화된 상태에서도 덧셈 및 곱셈 연산이 가능한 동형 암호문 방식으로 암호화된 상태로 수신되며,
    상기 프로세서는,
    상기 상태 정보 및 상기 센싱 정보를 동형 암호문 상태에서 연산 처리하여 동형 암호문 형태의 구동 정보 및 검증 정보를 생성하는 원격 제어 장치.
  10. 제9항에 있어서,
    상기 프로세서는,
    상기 구동 정보의 계산 정확성을 확인하기 위한 상기 플랜트 장치에서의 연산에 사용되는 제1 연산 정보 및 제2 연산 정보를 생성하고, 상기 생성된 제1 연산 정보 및 상기 제2 연산 정보를 상기 플랜트 장치에 함께 전송하도록 상기 통신 장치를 제어하는 원격 제어 장치.
  11. 제10항에 있어서,
    상기 통신 장치는,
    동형 암호문 방식으로 암호화된 제1 내지 제3 랜덤 값에 대한 정보를 수신하고,
    상기 프로세서는,
    상기 제1 내지 제3 랜덤 값 중 하나가 반영되며 동형 암호문 형태의 제1 연산 정보 및 제2 연산 정보를 생성하는 원격 제어 장치.
  12. 플랜트 시스템에 있어서,
    센싱 정보를 생성하는 플랜트 장치; 및
    상기 플랜트 장치에서 생성된 센싱 정보를 수신하고, 기저장된 현재 상태 정보와 상기 센싱 정보를 이용하여 상기 플랜트 장치의 구동을 위한 구동 정보 및 상기 구동 정보를 검증하기 위한 검증 정보를 생성하여 상기 플랜트 장치에 전송하는 원격 제어 장치;를 포함하고,
    상기 플랜트 장치는,
    상기 구동 정보 및 상기 검증 정보를 이용하여 상기 구동 정보의 계산 정확성을 확인하여 상기 구동 정보를 검증하고, 검증된 구동 정보를 이용하여 구동하는 플랜트 시스템.
  13. 원격 제어 장치와 통신 가능한 플랜트 장치의 제어 방법에 있어서,
    센싱 정보를 생성하여 상기 원격 제어 장치로 전송하는 단계;
    상기 원격 제어 장치의 상태 정보와 상기 센싱 정보에 기초하여 생성된 구동 정보 및 상기 구동 정보를 검증하기 위한 검증 정보를 상기 원격 제어 장치로부터 수신하는 단계;
    직전 단계에서 수신한 검증 정보, 현 단계에서 수신한 검증 정보, 상기 센싱 정보 및 상기 구동 정보에 기초하여 상기 구동 정보의 계산 정확성을 확인하여 상기 구동 정보를 검증하는 단계; 및
    검증된 구동 정보를 이용하여 구동하는 단계;를 포함하는 제어 방법.
  14. 제13항에 있어서,
    상기 전송하는 단계는,
    상기 센싱 정보를 암호화된 상태에서도 덧셈 및 곱셈 연산이 가능한 동형 암호문 방식으로 암호화하여 상기 원격 제어 장치로 전송하고,
    상기 수신하는 단계는,
    상기 동형 암호문 방식으로 암호화된 구동 정보 및 검증 정보를 수신하며,
    상기 검증하는 단계는,
    상기 센싱 정보, 상기 구동 정보 및 상기 검증 정보를 동형 암호문 상태에서 연산 처리하여 상기 계산 정확성을 확인하는 제어 방법.
  15. 플랜트 장치와 통신 가능한 원격 제어 장치의 제어 방법에 있어서,
    상기 플랜트 장치의 상태에 대응되는 센싱 정보를 수신하는 단계;
    기저장된 현재 상태 정보, 상기 센싱 정보를 이용하여 상기 플랜트 장치의 구동을 위한 구동 정보를 생성하고, 상기 현재 상태 정보와 상기 센싱 정보를 이용하여 다음 상태 정보를 생성하여 상기 다음 상태 정보를 포함하는 검증 정보를 생성하는 단계; 및
    상기 구동 정보와 상기 검증 정보를 상기 플랜트 장치에 전송하는 단계;를 포함하는 제어 방법.
  16. 제15항에 있어서,
    상기 센싱 정보는,
    암호화된 상태에서도 덧셈 및 곱셈 연산이 가능한 동형 암호문 방식으로 암호화된 상태로 수신되며,
    상기 생성하는 단계는,
    상기 상태 정보 및 상기 센싱 정보를 동형 암호문 상태에서 연산 처리하여 동형 암호문 형태의 구동 정보 및 검증 정보를 생성하는 제어 방법.
KR1020200124519A 2020-09-25 2020-09-25 플랜트 장치, 원격 제어 장치 및 그의 제어 방법 KR102404762B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200124519A KR102404762B1 (ko) 2020-09-25 2020-09-25 플랜트 장치, 원격 제어 장치 및 그의 제어 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200124519A KR102404762B1 (ko) 2020-09-25 2020-09-25 플랜트 장치, 원격 제어 장치 및 그의 제어 방법

Publications (2)

Publication Number Publication Date
KR20220041390A KR20220041390A (ko) 2022-04-01
KR102404762B1 true KR102404762B1 (ko) 2022-06-02

Family

ID=81183273

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200124519A KR102404762B1 (ko) 2020-09-25 2020-09-25 플랜트 장치, 원격 제어 장치 및 그의 제어 방법

Country Status (1)

Country Link
KR (1) KR102404762B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005031964A (ja) 2003-07-11 2005-02-03 Mitsubishi Materials Corp プラント制御装置の点検システム、点検方法及びコンピュータ読み取り可能なプログラム
JP2016090884A (ja) 2014-11-07 2016-05-23 国立大学法人電気通信大学 暗号化制御システムおよび暗号化制御方法、並びにプログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1575562A (zh) * 2001-10-23 2005-02-02 松下电器产业株式会社 信息处理装置
DE102017202360A1 (de) * 2017-02-14 2018-08-16 Deckel Maho Pfronten Gmbh Datenschnittstellenvorrichtung zum einsatz an einer numerisch gesteuerten werkzeugmaschine
KR20190119514A (ko) * 2018-04-05 2019-10-22 한국전자통신연구원 차량용 온보드 사이버보안진단 시스템, 전자 제어 장치 및 그것의 동작 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005031964A (ja) 2003-07-11 2005-02-03 Mitsubishi Materials Corp プラント制御装置の点検システム、点検方法及びコンピュータ読み取り可能なプログラム
JP2016090884A (ja) 2014-11-07 2016-05-23 国立大学法人電気通信大学 暗号化制御システムおよび暗号化制御方法、並びにプログラム

Also Published As

Publication number Publication date
KR20220041390A (ko) 2022-04-01

Similar Documents

Publication Publication Date Title
CN110460439A (zh) 信息传输方法、装置、客户端、服务端及存储介质
CN103081398B (zh) 用于保护密码资产免受白盒攻击的***和方法
EP3616356B1 (en) Preventing misrepresentation of input data by participants in a secure multi-party computation
EP1903713B1 (en) Authentication system, authentication method, attesting device, verification device, their programs, and recording medium
US8046582B2 (en) Digital signature generation apparatus, digital signature verification apparatus, and key generation apparatus
US20080083039A1 (en) Method for integrity attestation of a computing platform hiding its configuration information
EP2456119A1 (en) Anonymous authentication signature system, user device, verification device, signature method, verification method, and program therefor
CN109347917A (zh) 区块链数据共识处理方法、***、存储介质和电子设备
CN101496337A (zh) 硬盘驱动器认证
CN103023862A (zh) 用于完整性保护和验证的方法、服务器及***
US20130091362A1 (en) Generating implicit certificates
US9553729B2 (en) Authentication method between a reader and a radio tag
CN105474575A (zh) 多方安全认证***、认证服务器、中间服务器、多方安全认证方法以及程序
KR20200046481A (ko) 난수 생성기, 이를 포함하는 암호화 장치 및 이의 동작 방법
KR102443255B1 (ko) 래티스를 기반으로 하는 암호키 생성 방법 및 전자서명 방법
EP3278490B1 (en) Method and system for providing a proof-of-work
KR20190080299A (ko) 차량 네트워크를 위한 보안 기법 및 그 장치
KR102404762B1 (ko) 플랜트 장치, 원격 제어 장치 및 그의 제어 방법
KR20060097309A (ko) 여러 가지 포인트 표현을 기반으로 한 ecc에서 dfa대책을 위한 암호화 방법 및 장치
EP4072062A1 (en) Apparatus for processing non-polynomial operation on homomorphic encrypted messages and methods thereof
US11750367B2 (en) Simulation device and method for homomorphic cryptosystem
KR102463362B1 (ko) 블록체인 기반의 차량용 메시지 관리 장치 및 그 동작 방법
KR102382952B1 (ko) 근사 계산에 대한 계산 검증
JP4922139B2 (ja) 鍵共有方法、第1装置、第2装置、及び、それらのプログラム
CN112861156A (zh) 显示数据的安全通信方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right