KR20230168406A - 암호모듈을 이용한 신뢰점 인증 시스템 및 방법 - Google Patents

암호모듈을 이용한 신뢰점 인증 시스템 및 방법 Download PDF

Info

Publication number
KR20230168406A
KR20230168406A KR1020220068822A KR20220068822A KR20230168406A KR 20230168406 A KR20230168406 A KR 20230168406A KR 1020220068822 A KR1020220068822 A KR 1020220068822A KR 20220068822 A KR20220068822 A KR 20220068822A KR 20230168406 A KR20230168406 A KR 20230168406A
Authority
KR
South Korea
Prior art keywords
response
authentication
hash value
distributed power
power output
Prior art date
Application number
KR1020220068822A
Other languages
English (en)
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 KR1020220068822A priority Critical patent/KR20230168406A/ko
Publication of KR20230168406A publication Critical patent/KR20230168406A/ko

Links

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/3271Cryptographic 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 challenge-response
    • H04L9/3278Cryptographic 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 challenge-response using physically unclonable functions [PUF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/81Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer by operating on the power supply, e.g. enabling or disabling power-on, sleep or resume operations
    • 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/3234Cryptographic 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 involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • 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/3236Cryptographic 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 cryptographic hash functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

IoT(Internet of Things) 보안에서 주목하고 있는 PUF(Physical Unclonable Function) 기술을 이용하여 분산 전원 출력제어 장치의 ROT(Root of Trust) 확보 및 초기 인증을 구현할 수 있는 암호모듈을 이용한 신뢰점 인증 시스템이 개시된다. 상기 신뢰점 인증 시스템은, 암호 모듈을 가지며, 상기 암호 모듈을 이용하여 인증 요청 패킷을 생성하는 분산 전원 출력 제어 장치, 및 상기 인증 요청 패킷을 수신하여 상기 분산 전원 출력 제어 장치와 인증 절차를 수행하는 인증 서버를 포함하는 것을 특징으로 한다.
이때, 상기 암호 모듈은 동일 시도(challenge)를 입력으로 사용할 경우 칩마다 서로 다른 응답(response)를 제공하는 것을 특징으로 한다.

Description

암호모듈을 이용한 신뢰점 인증 시스템 및 방법{System and Method for authenticating Root of Trust using Cryptographic Module}
본 발명은 인증 기술에 관한 것으로서, 더 상세하게는 PUF(Physical Unclonable Function)를 지원하는 암호모듈을 이용한 분산 전원 출력 제어 장치의 ROT(Root of Trust) 확보 및 초기 인증을 구현하는 시스템 및 방법에 대한 것이다.
특히, 본 발명은 상위로는 DERMS(Distributed Energy Resources Management System) 및 하위로는 스마트 인버터와 통신하면서 분산 전원의 유/무효 출력을 제어하는 임무를 수행하는 분산 전원 출력제어 장치에 PUF를 지원하는 H/W(Hardware) 암호 모듈을(이하 PUF 암호 모듈) 이용한 ROT 확보와 초기 인증을 구현하는 시스템 및 방법에 대한 것이다.
종래 기술이 가졌던 불편한 점, 고비용, 저효율 등의 문제점에 대해 자세히 기재 전력 시스템 대부분은 완전한 폐쇄망으로 운영하기 때문에 상호인증, 암호화 및/또는 무결성 검증과 같은 통신 구간의 데이터 보안과 사용자 접근관리 및 부채널 공격(side channel attack) 방어와 같은 단말 보안에 대해서도 요구사항이 미미하였다.
그러나, 분산 전원의 유/무효 출력을 제어하기 위해서는 상용 인터넷망과 (발전 사업자 대부분은 발전량을 감시하기 위해서 스마트 인버터에 상용 인터넷망을 연결하여 모니터링 수행) 연결된 스마트 인버터와 신재생 제어망간 통신망 구성이 필수적이다.
이는 결국 상용 인터넷망에 있는 해커가 스마트 인버터를 매개체로 신재생 제어망에 악성코드 주입, DDOS(Distributed Denial of Service) 공격과 같은 보안 위협을 가중할 수 있으므로 이에 대한 대책이 필요한 상황이다.
한편, 기존 PUF를 이용한 인증방식은 모두 strong PUF를 이용하는 방법에 관해서만 기술하였다. 그러나 현실 및 구현 관점에서 보면 제품화된 strong PUF는 없으며 앞으로도 제품 형태의 strong PUF는 어려울 것으로 예상된다.
1. 대한민국등록특허번호 제10-2384664호(등록일자: 2022년04월05일)
본 발명은 위에서 제시된 과제를 달성하기 위해, IoT(Internet of Things) 보안에서 주목하고 있는 PUF(Physical Unclonable Function) 기술을 이용하여 분산 전원 출력제어 장치의 ROT(Root of Trust) 확보 및 초기 인증을 구현할 수 있는 시스템 및 방법을 제공하는데 그 목적이 있다.
또한, 본 발명은 ROT(Root of Trust) 확보와 초기 인증을 완료하여 우리가 믿을 수 있는 현장단말로 인정 후 데이터 보안 및 단말 인증 등의 추가적인 보안을 손쉽게 적용할 수 있는 신뢰점 인증 시스템 및 방법을 제공하는데 그 목적이 있다.
본 발명은 위에서 제시된 과제를 달성하기 위해, IoT(Internet of Things) 보안에서 주목하고 있는 PUF(Physical Unclonable Function) 기술을 이용하여 분산 전원 출력제어 장치의 ROT(Root of Trust) 확보 및 초기 인증을 구현할 수 있는 암호모듈을 이용한 신뢰점 인증 시스템을 제공한다.
상기 신뢰점 인증 시스템은,
암호 모듈을 가지며, 상기 암호 모듈을 이용하여 인증 요청 패킷을 생성하는 분산 전원 출력 제어 장치; 및
상기 인증 요청 패킷을 수신하여 상기 분산 전원 출력 제어 장치와 인증 절차를 수행하는 인증 서버;를 포함하는 것을 특징으로 한다.
이때, 상기 암호 모듈은 동일 시도(challenge)를 입력으로 사용할 경우 칩마다 서로 다른 응답(response)를 제공하는 것을 특징으로 한다.
또한, 상기 암호 모듈에서 생성하는 시도-응답쌍(CRP: challenge-Response Pair)과 분산 전원 출력 제어 장치의 펌웨어(Firmware) 이미지 정보는 각각 상기 인증 서버의 시도-응답쌍(CRP) DB(Database) 및 펌웨어 DB에 미리 저장되는 것을 특징으로 한다.
또한, 상기 암호 모듈은, PUF(Physical Unclonable Function)를 기반으로 고유의 상기 시도-응답쌍(CRP)을 생성하는 PUF부; 난수를 생성하는 난수 발생기; 고유의 상기 시도-응답쌍(CRP) 및 상기 난수를 저장하는 메모리; 대칭키 및 비대칭키 연산을 수행하는 코프로세서(co-processor); 및 상기 인증 요청 패킷을 생성하는 MCU(Micro Control Unit)를 포함하는 것을 특징으로 한다.
또한, 상기 인증 서버는, 상기 인증 요청 패킷을 수신하는 통신부; 상기 인증 요청 패킷을 복호화하여 제 1 해시값을 추출하는 복호화부; 미리 정의되는 해시 알고리즘을 이용하여 추출되는 상기 펌웨어 DB로부터의 제 2 해시값과 상기 제 1 해시값의 일치여부를 비교하는 비교부; 및 상기 비교결과에 따라 인증 성공 여부를 결정하는 결정부;를 포함하는 것을 특징으로 한다.
또한, 상기 비교부는 상기 제 2 해시값과 상기 제 1 해시값의 일치여부의 비교후 상기 시도-응답쌍 DB에 저장된 응답(Response)(R) 리스트와 상기 분산 전원 출력 제어 장치로부터 수신한 응답(R)을 비교하는 것을 특징으로 한다.
또한, 상기 비교부는 상기 제 2 해시값과 상기 제 1 해시값이 일치하나 상기 응답(R)) 리스트와 상기 수신한 응답(R)이 다르면, 상기 수신한 응답(R)이 상기 응답(R) 리스트의 다수의 응답(R)과의 해밍 거리(hamming distance)를 계산하여 미리 설정된 임계값과 비교하여 동일 응답으로 판별하는 것을 특징으로 한다.
또한, 상기 해밍 거리는 비트별로 비교되며, 상기 비트별로 값이 다르면 거리 크기가 1씩 증가되는 것을 특징으로 한다.
또한, 상기 해시 알고리즘은 사전에 상기 인증 서버(210)와 공유된 알고리즘인 것을 특징으로 한다.
또한, 상기 PUF(Physical Unclonable Function)는 약(weak) PUF인 것을 특징으로 한다.
다른 한편으로, 본 발명의 다른 일실시예는, (a) 분산 전원 출력 제어 장치가 암호 모듈을 가지며, 상기 암호 모듈을 이용하여 인증 요청 패킷을 생성하는 단계; 및 (b) 인증 서버가 상기 인증 요청 패킷을 수신하여 상기 분산 전원 출력 제어 장치와 인증 절차를 수행하는 단계;를 포함하는 암호모듈을 이용한 신뢰점 인증 방법을 제공한다.
또한, 상기 (a) 단계는, (a-1) PUF부가 PUF(Physical Unclonable Function)를 기반으로 고유의 상기 시도-응답쌍(CRP)을 생성하는 단계; (a-2) 난수 발생기가 난수를 생성하는 단계; (a-3) 고유의 상기 시도-응답쌍(CRP) 및 상기 난수를 메모리에 저장하는 단계; (a-4) 코프로세서를 이용해서 대칭키 및 비대칭키 연산을 수행하는 단계; 및 (a-5) MCU가 상기 인증 요청 패킷을 생성하는 단계;를 포함하는 것을 특징으로 한다.
또한, 상기 (b) 단계는, (b-1) 통신부가 상기 인증 요청 패킷을 수신하는 단계; (b-2) 복호화부가 상기 인증 요청 패킷을 복호화하여 제 1 해시값을 추출하는 단계; (b-3) 비교부가 미리 정의되는 해시 알고리즘을 이용하여 추출되는 상기 펌웨어 DB로부터의 제 2 해시값과 상기 제 1 해시값의 일치여부를 비교하는 단계; 및 (b-4) 결정부가 상기 비교결과에 따라 상기 인증 절차의 성공 여부를 결정하는 단계;를 포함하는 것을 특징으로 한다.
또한, 상기 (b-3) 단계는, 상기 비교부가 상기 제 2 해시값과 상기 제 1 해시값의 일치여부의 비교후 상기 시도-응답쌍 DB에 저장된 응답(Response)(R) 리스트와 상기 분산 전원 출력 제어 장치로부터 수신한 응답(R)을 비교하는 단계;를 포함하는 것을 특징으로 한다.
또한, 상기 (b-3) 단계는, 상기 비교 이후, 상기 비교부가 상기 제 2 해시값과 상기 제 1 해시값이 일치하나 상기 응답(R)) 리스트와 상기 수신한 응답(R)이 다르면, 상기 수신한 응답(R)이 상기 응답(R) 리스트의 다수의 응답(R)과의 해밍 거리(hamming distance)를 계산하여 미리 설정된 임계값과 비교하여 동일 응답으로 판별하는 단계;를 포함하는 것을 특징으로 한다.
또한, 상기 (a-4) 단계는, 상기 난수와 시도(C)를 KDF(Key Derivation Function) 함수의 입력으로 사용하여 출력값((난수 || En_암호키[H(F/W) || Response(R)])(여기서, H는 해시함수이고, F/W는 펌웨어이다)을 생성하고, 상기 출력값을 사용 암호키로 생성하는 것을 특징으로 한다.
본 발명에 따르면, 현재 제품화되어 있는 약한(weak) PUF(Physical Unclonable Function)를 이용한 인증방식을 제안하였으며 손쉽게 구현할 수 있는 장점이 있다.
또한, 본 발명의 다른 효과로서는 PUF의 고유값인 응답(response)(R) 값과 더불어 분산 전원 출력제어 장치의 F/W(Firmware) 해시값을 각각 모두 비교하여 모두 같으면 인증을 성공적으로 완료할 수 있다는 점을 들 수 있다.
또한, 본 발명의 또 다른 효과로서는 해밍 거리(hamming distance)를 이용한 추가적인 비교방식을 제안함으로써 F/W 해시값이 같음에도 불구하고 잡음 등에 의한 response(R)값의 비트 오류 발생을 대비할 수 있다는 점을 들 수 있다.
도 1은 분산 전원 감시 제어 시스템의 구성 블럭도이다.
도 2는 본 발명의 일실시예에 따른 신뢰점 인증 시스템의 구성 블럭도이다.
도 3은 도 2에 도시된 인증 서버의 세부 구성 블럭도이다.
도 4는 본 발명의 일실시예에 따른 분산 전원 출력 제어 장치의 인증 절차를 보여주는 도면이다.
도 5는 본 발명의 일실시예에 따른 분산 전원 출력 제어 장치의 인증 절차를 보여주는 흐름도이다.
도 6은 본 발명의 일실시예에 따른 인증 서버의 인증 절차를 보여주는 흐름도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 상세한 설명에 구체적으로 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용한다.
제 1, 제 2등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다. "및/또는" 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미가 있다.
일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미가 있는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않아야 한다.
이하 첨부된 도면을 참조하여 본 발명의 일실시예에 따른 암호모듈을 이용한 신뢰점 인증 시스템 및 방법을 상세하게 설명하기로 한다.
도 1은 분산 전원 감시 제어 시스템(100)의 구성 블럭도이다. 도 1을 참조하면, 분산 전원 감시 제어 시스템(100)은 신재생의 분산 전원 출력을 제어하는 신재생 제어망(110)과 신재생 제어망(110)의 제어 정보에 따라 발생하는 유/무효 전력 출력을 모니터링하는 상용 인터넷망(120)으로 구성된다.
신재생 제어망(110)은 DERMS(Distributed Energy Resource Management Systems)(111), 분산 전원 출력 제어 장치(112) 등을 포함하여 구성될 수 있다.
DERMS(111)는 그리드에서 사용 가능한 분산 에너지 생성 및/또는 저장 장치 관리를 위해 사용된다. 이를 위해 DERMS 소프트웨어 플랫폼이 구현되며, DERMS 소프트웨어 플랫폼은 다양한 소스로부터 분산 에너지 자원(DERs:distributed energy resources)을 예측, 모니터링, 제어 및 조정하도록 설계되었다. 여기에는 전력망 전체에 걸친 태양 전지, 풍력 발전소, 스토리지 시스템 등이 포함된다.
분산 전원 출력 제어 장치(112)는 발전 사업자 구내의 스마트 인버터 내/외부에 장착하거나 인근 전주에 설치될 수 있다. 분산 전원 출력 제어 장치(112)의 역할은 DERMS(111)로부터 수신한 제어 명령을 스마트 인버터(121)에 전송하여 유/무효 출력제어 수행, 스마트 인버터(121)의 설정/제어 파라미터 변경 및 전압/전류/전력과 같은 계측값을 모니터링을 한다. DERMS(111)와 분산 전원 출력 제어 장치(112)는 광역 통신을 통해 연결된다. 이 광역 통신은 DNP(Distributed Network Protocol) 등을 이용할 수 있다.
또한, 분산 전원 출력 제어 장치(112)가 하위에 다수의 스마트 인버터(121)를 관리할 때는(1:N의 경우) 상위 DERMS(111)로부터 수신한 명령을 기반으로 하위 스마트 인버터(121)의 동작 현황을 파악후, 각각의 스마트 인버터(121)에 최적화된 유/무효 출력량을 배분하는 역할과 같은 엣지 컴퓨팅(edge computing) 기능도 수행할 수 있다.
분산 전원 출력제어 장치(112)의 구성은 MCU(Micro Control Unit), 메모리, 광역/근거리 무선통신을 위한 통신 인터페이스, 및 PUF(Physical Unclonable Function) 기능을 지원하는 암호 모듈을 최소한으로 포함한다. 또한, RTOS(Real Time Operating System)와 같은 OS 및 IP(Internet Protocol)와 같은 필요한 통신 네트워크 스택을 갖춘다.
응용 프로그램으로는 모드버스 서버(modbus server)로 동작하는 스마트 인버터(121)와 통신하기 위한 모드버스 클라이언트(modbus client) 역할, DNP 마스터(master)로 동작하는 DERMS와 통신하기 위한 DNP 아웃스테이션(outstation) 역할, 계통지원(스마트) 기능이 없는 기존 레거시 인버터를 위한 유·무효 출력제어 알고리즘, 이상 동작 및 보안 이벤트 로그 기능, 관련 데이터 저장용 DB 및 보안 기능 등을 포함할 수 있다.
응용계층의 보안 기능은 구체적으로 근거리 통신 구간에서 사용하는 modbus 패킷에 대한 DPI(Deep Packet Inspection) 기반이 필터링과 광역통신 구간의 데이터 보안(인증, 암호화 및 무결성 검증)으로 구분할 수 있다.
DPI 기반 Modbus 패킷 필터링은 사전에 정의된 스마트 인버터(121)의 감시/제어 항목과 데이터 가능값을 화이트 리스트(white list)로 정의 후 패킷을 분해하여 심층적인 분석을 수행 후 이상 패킷을 제한하는 역할을 한다. 즉, 일종의 상용 인터넷망(120)과 신재생 제어망(110)간 망분리 역할을 하는 응용계층에서의 방화벽 역할을 한다.
DERMS(111)와 분산 전원 출력 제어 장치(112)간의 데이터 보안은 TLS(Transport Layer Security) 방식을 이용하며 전자 인증서 기반 또는 사전 공유키(pre-shared key) 방식을 이용할 수 있다. 전송 및 응용계층의 보안(TLS 및 패킷 필터링을 의미함)을 적용하기 위한 분산 전원 출력제어 장치(112)의 ROT 확보가 필요한데 이는 PUF 칩을 이용한 인증을 통해서 확보할 수 있다. 여기서, 언급한 DNP 및 Modbus 프로토콜은 일예시이며 다른 프로토콜도 적용 가능하다.
상용 인터넷망(120)은 스마트 인버터(121)를 포함하여 구성될 수 있다. 스마트 인버터(121)는 태양광 발전의 전력을 이용하여 전압-와트(Voltage-Watt) 제어, Voltage-Var 제어, 주파수-와트(Frequency-Watt) 제어를 구현하여 계통 안정화를 구현할 수 있다. 따라서, 스마트 인버터(121)는 분산 전원 출력 제어 장치(112)와 통신하기 위한 통신 인터페이스(121-1), 모드버스 클라이언트(modbus client)와 통신하기 위한 모드버스 서버(121-2), 메인 보드(121-3) 등을 포함하여 구성될 수 있다. 물론, 메인 보드(121-3)에는 마이크로프로세서, 메모리, 회로 소자 등이 구성될 수 있다.
도 2는 본 발명의 일실시예에 따른 신뢰점 인증 시스템(200)의 구성 블럭도이다. 도 2를 참조하면, 신뢰점 인증 시스템(200)은 암호 모듈(221)을 갖는 분산 전원 출력 제어 장치(112), 상기 분산 전원 출력 제어 장치(112)와 인증 절차를 수행하는 인증 서버(210)를 포함하여 구성될 수 있다.
최근 통신 및 반도체 기술의 발전으로 전력 분야에서도 IoT 디바이스가 주목을 받고 있으나, 불법 복제와 키 노출로 인한 보안 위험이 증가하고 있다. 이러한 문제를 원천적으로 해결하고자 PUF(Physical Unclonable Function)라는 새로운 기술이 등장하였다. PUF는 사람의 지문과 같이 각각의 디바이스가 고유의 특성을 가질 수 있는 기술로써, 반도체 공정의 미세한 차이를 이용한다.
구현 방법에 따라서 반도체 칩의 지연시간을 이용하는 알비테르(arbiter) PUF(Physical Unclonable Function), 물리적 특성을 이용하는 VIA PUF, 메모리의 특성을 이용하는 스램(SRAM:Static Random Access Memor) PUF 등이 있다. 이러한 PUF 기술은 칩마다 유일무이한 휘발성 난수를 생성하는데, 이를 암호키 및 인증키로 사용함으로써 키 노출 위협에 대한 보안 안정성을 강화하고 디바이스 인증에도 효과적으로 이용될 수 있다.
PUF는 시도(challenge)에 대한 응답(response)을 제공하는데 이를 시도-응답쌍(CRP: challenge-Response Pair)라고 부른다. CRP 개수가 많으면 강(strong) PUF라 불리며 1개 또는 극소수일 경우에는 약(weak) PUF로 불린다.
대부분 강(strong) PUF 기반의 인증 방법에 관해서만 기술되어 있다. 즉 strong PUF는 1회 패드(one-time pad)와 같이 동작할 수 있으므로 우수한 보안성을 제공할 수 있다. 따라서 strong PUF를 활용하는 방식이 인증 기술로 가장 적합하다.
그러나, 전 세계적으로 제품화된(상용화된) strong PUF는 없는 상황이다. 또한, 향후 기술의 발전으로 CRP 개수는 증가할 수 있겠지만 PUF 동작의 신뢰성/안정성 이슈로 one-time pad와 같이 동작할 수 있는 수준의 strong PUF 제품화는 어려울 것으로 판단된다. 즉 현실적으로 이용 가능한 PUF는 weak PUF이고 그마저도 1개의 CRP만을 제공한다고 가정하는 것이 합리적인 현실 상황이다.
따라서, 본 발명의 일실시예에서 사용하는 암호모듈은 동일 시도(challenge)를 입력으로 사용했을 때 PUF 칩마다 서로 다른 response를 제공하는(1개의 CRP만 제공) 경우이며 현재 시장에서 구할 수 있는 상용 제품의 암호모듈을 사용하는 경우이다.
도 2를 참조하면, 암호 모듈(221)에서 생성하는 시도-응답쌍(CRP)과 분산 전원 출력 제어 장치(112)의 펌웨어(F/W: Firmware) 이미지 정보는 안전한 채널(신뢰할 수 있는 제조사 및 파트너)(230)을 통해서 인증 서버(210)의 시도-응답쌍(CRP) DB(Database)(211)및 펌웨어 DB(Database)(212)에 미리 저장되었음을 가정한다.
분산 전원 출력 제어 장치(112)의 암호 모듈(221)은 고유의 CRP를 생성하는 PUF부(221-1), 난수를 생성하는 난수 발생기(TRNG: True Random Number Generator)(221-2), 주요 연산을 수행하는 MCU(221-3), 고유의 CRP 및 난수를 저장하는 메모리(221-4), 대칭키 및 비대칭키 연산을 수행하여 인증 요청 패킷을 생성하는 코프로세서(co-processor(221-6), 입출력(I/O: Input/Output) 인터페이스(221-5)를 포함한다.
메모리(221-4)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD(Secure Digital) 또는 XD(eXtreme Digital) 메모리 등), 램(Random Access Memory, RAM), SRAM(Static Random Access Memory), 롬(Read Only Memory, ROM), EEPROM(Electrically Erasable Programmable Read Only Memory), PROM(Programmable Read Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
입출력(I/O: Input/Output) 인터페이스(221-5)는 UART(Universal asynchronous receiver/transmitter) 등이 될 수 있다.
코프로세서(co-processor(221-6)는 AES(Advanced Encryption Standard)/ARIA(Accessible Rich Internet Applications)/ECC(Elliptic Curve Cryptography)/RSA(Rivest Shamir Adleman) 등과 같은 대칭키 및 비대칭키 연산을 수행한다.
부연하면, 코프로세서는 대칭키 및 비댕키 등의 연산만을 수행한다. MCU(221-3)가 상기 기능을 수행할 수도 있으나, 굳이 코프로세서를 사용하는 이유는 오버로드를 줄이기 위함이다. 인증 요청 패킷 등을 생성하는 실제 역할은 메인 프로세서인 MCU(221-3)가 수행한다. 따라서, 코프로세서는 대칭키 및 비대칭키 연산만 전용으로 수행하여 MCU의 부하를 최소화하는 역할을 한다.
인증 서버(210)에는 시도-응답쌍(CRP: challenge-Response Pair)과 분산 전원 출력 제어 장치(112)의 F/W(Firmware) 이미지 정보를 저장하기 위한 시도-응답쌍(CRP) DB(211) 및 FW(Firmware) DB(212)가 구성된다.
도 3은 도 2에 도시된 인증 서버(210)의 세부 구성 블럭도이다. 도 3을 참조하면, 인증 서버(210)는, 인증 요청 패킷을 수신하는 통신부(310), 인증 요청 패킷을 복호화하여 응답(R) 및 제 1 해시값을 추출하는 복호화부(320), FW DB(212)로부터의 제 2 해시값과 제 1 해시값의 일치여부를 비교하는 비교부(330), 비교결과에 따라 인증 성공 여부를 결정하는 결정부(340) 등을 포함하여 구성될 수 있다.
제 1 해시값은 분산 전원 출력 제어 장치가 생성하여 송신한 해시값을 그대로 사용하므로 해시 알고리즘을 생성할 필요가 없다.
펌웨어 DB(212)에 있는 펌웨어는 사전에 정의된 해시 알고리즘을 이용해서 해시값을 생성해야 분산 전원 출력 제어 장치가 송신한 해시값(제1 해시값)과 비교할 수 있다.
통신부(310)는 통신 채널(230)을 통해 분산 전원 출력 제어 장치(112)와 통신으로 연결된다. 이를 위해 통신부(310)는 모뎀, 메모리, 통신 회로 소자 등을 포함하여 구성될 수 있다. 이때 사용되는 통신 기술은 RS485, PLC(Power Line Communication), WiSUN, LAN(Local Area Network), Wireless LAN(Wireless Local Area Network), WiFi(Wireless Fidelity),DLNA(Digital Living Network Alliance), Zigbee, Z-wave, HSDPA(High Speed Downlink Packet Access) 망, 블루투스(bluetooth), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association; IrDA), 등과 같은 근거리 통신방식이 될 수 있다.
또한, 상위 시스템인 DERMS(111)와는 공중교환 전화망(PSTN), 공중교환 데이터망(PSDN), 종합정보통신망(ISDN: Integrated Services Digital Networks), 광대역 종합 정보 통신망(BISDN: Broadband ISDN), 근거리 통신망(LAN: Local Area Network), 대도시 지역망(MAN: Metropolitan Area Network), 광역 통신망(WLAN: Wide LAN), GPP(3rd Generation Partnership Project) 네트워크, LTE(Long Term Evolution) 네트워크, 5GPP(5rd Generation Partnership Project) 네트워크, WIMAX(World Interoperability for Microwave Access) 네트워크, 인터넷(Internet), LTE(Long Term Evolution)와 같은 광역통신방식으로 연동될 수 있다.
복호화부(320)는 인증 요청 패킷을 복호화하여 해시값만을 추출하여 제 1 해시값을 생성하는 기능을 수행한다.
도 3에 도시된 복호화부(320), 비교부(330), 결정부(340)는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 소프트웨어 및/또는 하드웨어로 구현될 수 있다. 하드웨어 구현에 있어, 상술한 기능을 수행하기 위해 디자인된 ASIC(application specific integrated circuit), DSP(digital signal processing), PLD(programmable logic device), FPGA(field programmable gate array), 프로세서, 마이크로프로세서, 다른 전자 유닛 또는 이들의 조합으로 구현될 수 있다.
소프트웨어 구현에 있어, 소프트웨어 구성 컴포넌트(요소), 객체 지향 소프트웨어 구성 컴포넌트, 클래스 구성 컴포넌트 및 작업 구성 컴포넌트, 프로세스, 기능, 속성, 절차, 서브 루틴, 프로그램 코드의 세그먼트, 드라이버, 펌웨어, 마이크로 코드, 데이터, 데이터베이스, 데이터 구조, 테이블, 배열 및 변수를 포함할 수 있다. 소프트웨어, 데이터 등은 메모리에 저장될 수 있고, 프로세서에 의해 실행된다. 메모리나 프로세서는 당업자에게 잘 알려진 다양한 수단을 채용할 수 있다.
도 4는 본 발명의 일실시예에 따른 분산 전원 출력 제어 장치(112)의 인증 절차를 보여주는 도면이다. 도 4를 참조하면, 현장에 분산 전원 출력 제어 장치(112)가 설치되고 전원이 인가되어 부팅이 완료되면 자신의 F/W 이미지를 사전에 정의된 해시 알고리즘(Hash)을 이용해서 해시값(H(F/W))을 생성한다. 여기서 해시 알고리즘은 SHA256/384 등을 사용할 수 있으며 사전에 인증 서버(210)와 공유된 알고리즘을 사용한다.
난수 생성부(221-2) 또는 PUF부(221-1)(난수 생성 기능이 있는 PUF칩의 경우)로부터 난수를 생성한다. 모든 PUF 칩에서 동일하게 사용하는 challenge(C)와 생성한 난수를 KDF(Key Derivation Function) 함수의 입력으로 사용하여 출력값((난수 || En_암호키[H(F/W) || Response(R)])을 생성하고, 출력값을 암호키로 사용한다.
여기서 KDF 함수의 알고리즘은 H-MAC(Hashed Message Authentication code)/C-MAC 등을 사용할 수 있으며 사전에 인증 서버(210)와 공유된 알고리즘을 사용한다.
분산 전원 출력제어 장치(112)의 암호 모듈(221)은 동일 challenge(C)의 응답으로 유일무이한 응답(response)(R)값을 출력하며 계산한 F/W 해시값(H(F/W))과 유일무이한 Response(R) 값을 병합후, KDF 함수의 출력인 암호키(비밀키)로 암호화후 암호키(비밀키) 생성에 사용한 난수는 평문 형태로 병합하고 인증 서버(210)로 인증요청 패킷 형태로 전송한다(A410).
인증 요청 패킷을 수신한 인증 서버(210)는 평문으로 전송된 난수를 분리하고 시도-응답쌍 DB(211)에 저장된 challenge(C)와 수신한 난수를 KDF의 입력으로 사용하여 복호화용 암호키(비밀키)를 생성한다.
암호화되어 수신된 인증 요청 패킷(En_암호키[H(F/W) || Response(R)])은 복호화용 암호키로 복호화(De_암호키En_암호키[H(F/W) || Response(R)])한다. 인증 서버(210)는 F/W DB(212)에 저장된 F/W의 해시값(H(F/W)을 계산후 수신한 해시값과 비교한다. 만약 해시값이 다르면 인증요청에 대해서 실패로 응답한다. 반대로 해시값이 같다면 추가로 인증 서버(210)는 CRP DB(211)에 저장된 응답(Response)(R) 리스트와 수신한 응답(R)을 비교한다. 동일 Response(R)가 발견되면 인증요청에 대해서 성공으로 응답한다(A420).
만약 F/W의 해시값은 같은데 Response(R)의 값이 다를 경우에는 추가적인 검증을 수행할 필요가 있다. 즉 PUF 칩에서 Response(R)의 값을 생성할 때 주변 잡음으로 인한 일부 비트(bit) 값에 대한 오류가 발생할 수 있는 상황을 고려하는 것이 필요하다. 추가적인 검증은 수신한 Response(R)의 값과 인증 서버에 저장된 다수의 Response(R) 들과의 해밍 거리(hamming distance)를 계산한다. 사전 설정된 임계값(threshold)보다 해밍 거리(hamming distance)의 값이 작으면 동일 Response(R)로 판별한다.
여기서 해밍 거리(hamming distance)는 비트(bit)별로 비교하며 비트별로 값이 다를 경우 distance 크기를 1씩 증가한다. 따라서 threshold 값을 가능한 한 작게 설정하는 것이 신뢰성을 높이는 방법이다. 인증 서버(210)는 고유지문과 같은 분산 전원 출력제어 장치(112)의 Response(R)를 확인함으로써 RoT(Root of Trust)를 확보하고 인증을 완료한다.
인증 서버(210)는 PKI(Public Key Infrastructure) 기반으로 동작할 때 수신한 분산 전원 출력 제어 장치(112)의 정보를 기반으로 인증서를 생성하여 발급할 수 있다. 이 경우, 키쌍 생성을 인증 서버(210)가 수행할 때는 보안 채널(secure channel)을 통해서 개인키를 전송한다.
반대로 분산 전원 출력 제어 장치(112)가 키쌍 생성을 수행할 때는 인증 서버(210)는 공개키를 평문으로 수신 후 해당하는 인증서를 생성하여 평문으로 전송할 수 있다(A430). 보안관점에서는 후자가 더욱 안전한 방식이다.
이후 인증 서버(210)를 포함한 DERMS(111)와 분산 전원 출력 제어 장치(112) 간에는 TLS(Transport Layer Security) 보안을 적용한다. 세부적으로 TLS 방식은 인증서 기반 또는 사전 공유키(pre-shared key) 방식을 사용할 수 있다. 보안 채널(secure channel)을 통해서 세션 비밀키를 공유하였으면 TLS의 사전 공유키(pre-shared key) 방식을 사용할 수 있으며 이는 키합(key agreement)의 (공유)를 위한 트랜잭션을 최소화할 수 있으며 간단한 방식이다.
도 5는 본 발명의 일실시예에 따른 분산 전원 출력 제어 장치(112)의 인증 절차를 보여주는 흐름도이다. 도 5를 참조하면, 현장에 분산 전원 출력 제어 장치(112)가 설치되고 전원이 인가되어 부팅이 완료되면 자신의 F/W 이미지를 사전에 정의된 해시 알고리즘(Hash)을 이용해서 해시값(H(F/W))을 생성한다(단계 S510).
이후, 난수 생성부(221-2)가 난수를 생성하고, 모든 PUF 칩에서 동일하게 사용하는 시도(challenge)(C)를 획득한다(단계 S520,S530).
이후, 생성한 난수, 시도(C)를 KDF(Key Derivation Function) 함수의 입력으로 사용하여 암호키로 출력값이 생성되는지를 확인한다(단계 S540).
단계 S540에서 판단 결과, 암호키가 출력되지 않으면, 단계 S510 내지 S540이 다시 진행된다.
이와 달리, 단계 S540에서 판단 결과, 암호키가 출력되면, 시도(C)로부터 응답(R)값을 획득하고, 인증 요청 패킷을 생성한다(단계 S550,S560).
이후, 분산 전원 출력 제어 장치(112)는 이 인증 요청 패킷(En_암호키[H(F/W) || Response(R)])을 인증 서버(210)으로 전송한다(단계 S570).
도 6은 본 발명의 일실시예에 따른 인증 서버의 인증 절차를 보여주는 흐름도이다. 도 6을 참조하면, 인증 요청 패킷을 수신한 인증 서버(210)는 평문으로 전송된 난수를 분리하고 시도-응답쌍 DB(211)에 저장된 시도(challenge)(C)를 획득한다(단계 S610,S620).
이후, 획득한 시도(C)와 수신한 난수를 KDF 함수의 입력으로 사용하여 복호화용 암호키(비밀키)가 생성되는지를 확인한다(단계 S630).
확인 결과, 단계 S630에서 암호키가 생성 출력되지 않으면 단계 S610 내지 S630이 다시 진행된다.
이와 달리, 단계 S630에서 암호키가 생성 출력되면 인증 요청 패킷에 대해 복호화가 되는지를 확인한다(단계 S640).
확인 결과, 단계 S640에서 복호화가 되지 않으면 단계 S610 내지 S640이 다시 진행된다.
이와 달리, 확인 결과, 단계 S640에서 복호화가 수행되면, 인증 서버(210)는 F/W DB(212)에 저장된 F/W의 해시값(H(F/W))을 계산하고, 복호화된 패킷으로부터 해시값(H(F/W))을 추출한다(단계 S650).
이후, 수신한 해시값과 계산된 해시값을 비교하여 일치 여부를 확인한다(단계 S660).
확인 결과, 단계 S660에서 만약 해시값이 다르면 프로세서는 종료된다.
이와 달리, 단계 S660에서 해시값이 일치하면, 인증 서버(210)는 CRP DB(211)에 저장된 응답(Response)(R) 리스트와 수신한 응답(R)을 비교한다(단계 S670). 즉, 응답(R) 리스트에서 동일 Response(R)가 발견되는지를 확인한다.
확인 결과, 단계 S670에서 동일 Response(R)가 발견되면 인증요청에 대해서 성공으로 응답하고 프로세스를 종료한다.
이와 달리, 확인 결과, 단계 S670에서 만약 F/W의 해시값은 같은데 Response(R)의 값이 다를 경우에 인증 서버(210)는 수신한 Response(R)의 값과 인증 서버에 저장된 다수의 Response(R) 들과의 해밍 거리(hamming distance)를 계산하고, 사전 설정된 임계값(threshold)이하로 매칭되는 지를 확인한다(단계 S680).
확인 결과, 단계 S680에서 해밍 거리(hamming distance)의 값이 작으면 동일 Response(R)로 판별하고 인증 성공 메시지를 분산 전원 출력 제어 장치(112)에 전송한다(단계 S690). 이와 달리, 해밍 거리(hamming distance)의 값이 임계값 이하로 매치되지 않으면 단계 S610 내지 S680가 다시 진행된다.
또한, 여기에 개시된 실시형태들과 관련하여 설명된 방법 또는 알고리즘의 단계들은, 마이크로프로세서, 프로세서, CPU(Central Processing Unit) 등과 같은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 (명령) 코드, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다.
상기 매체에 기록되는 프로그램 (명령) 코드는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프 등과 같은 자기 매체(magnetic media), CD-ROM, DVD, 블루레이 등과 같은 광기록 매체(optical media) 및 롬(ROM: Read Only Memory), 램(RAM: Random Access Memory), 플래시 메모리 등과 같은 프로그램 (명령) 코드를 저장하고 수행하도록 특별히 구성된 반도체 기억 소자가 포함될 수 있다.
여기서, 프로그램 (명령) 코드의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
100: 분산 전원 감시 제어 시스템
112: 분사 전원 출력 제어 장치 121: 스마트 인버터
121-1: 통신 인터페이스 121-2: 모드버스 서버
121-3: 메인보드
200: 신뢰점 인증 시스템
210: 인증 서버
211: 시도-응답쌍 DB(Database) 212: 펌웨어(F/W) DB
221-1: PUF(Physical Unclonable Function)부
221-2: 난수 발생기 221-3: MCU(Micro Control Unit)
221-4: 메모리 221-5: 입출력 인터페이스
221-6: 코프로세서
230: 신뢰할 수 있는 제조사 및 파트너와의 안전한 채널
310: 통신부 320: 복호화부
330: 비교부 340: 결정부

Claims (18)

  1. 암호 모듈(221)을 가지며, 상기 암호 모듈(221)을 이용하여 인증 요청 패킷을 생성하는 분산 전원 출력 제어 장치(112); 및
    상기 인증 요청 패킷을 수신하여 상기 분산 전원 출력 제어 장치(112)와 인증 절차를 수행하는 인증 서버(210);를 포함하며,
    상기 암호 모듈(221)은 동일 시도(challenge)를 입력으로 사용할 경우 칩마다 서로 다른 응답(response)을 제공하는 것을 특징으로 하는 암호모듈을 이용한 신뢰점 인증 시스템.
  2. 제 1 항에 있어서,
    상기 암호 모듈(221)에서 생성하는 시도-응답쌍(CRP: challenge-Response Pair)과 분산 전원 출력 제어 장치(112)의 펌웨어(Firmware) 이미지 정보는 각각 상기 인증 서버(210)의 시도-응답쌍(CRP) DB(Database)(211) 및 펌웨어 DB(212)에 미리 저장되는 것을 특징으로 하는 암호모듈을 이용한 신뢰점 인증 시스템.
  3. 제 1 항에 있어서,
    상기 암호 모듈(221)은,
    PUF(Physical Unclonable Function)를 기반으로 고유의 상기 시도-응답쌍(CRP)을 생성하는 PUF부(221-1);
    난수를 생성하는 난수 발생기(221-2);
    고유의 상기 시도-응답쌍(CRP) 및 상기 난수를 저장하는 메모리(221-4);
    대칭키 및 비대칭키 연산을 수행하는 코프로세서(co-processor)(221-6); 및
    상기 인증 요청 패킷을 생성하는 MCU(Micro Control Unit(221-3);를 포함하는 것을 특징으로 하는 암호모듈을 이용한 신뢰점 인증 시스템.
  4. 제 2 항에 있어서,
    상기 인증 서버(210)는,
    상기 인증 요청 패킷을 수신하는 통신부(310);
    상기 인증 요청 패킷을 복호화하여 제 1 해시값을 추출하는 복호화부(320);
    미리 정의되는 해시 알고리즘을 이용하여 추출되는 상기 펌웨어 DB(212)로부터의 제 2 해시값과 상기 제 1 해시값의 일치여부를 비교하는 비교부(330); 및
    상기 비교결과에 따라 인증 성공 여부를 결정하는 결정부(340);를 포함하는 것을 특징으로 하는 암호모듈을 이용한 신뢰점 인증 시스템.
  5. 제 4 항에 있어서,
    상기 비교부(330)는 상기 제 2 해시값과 상기 제 1 해시값의 일치여부의 비교후 상기 시도-응답쌍 DB(211)에 저장된 응답(Response)(R) 리스트와 상기 분산 전원 출력 제어 장치(112)로부터 수신한 응답(R)을 비교하는 것을 특징으로 하는 암호모듈을 이용한 신뢰점 인증 시스템.
  6. 제 5 항에 있어서,
    상기 비교부(330)는 상기 제 2 해시값과 상기 제 1 해시값이 일치하나 상기 응답(R)) 리스트와 상기 수신한 응답(R)이 다르면, 상기 수신한 응답(R)이 상기 응답(R) 리스트의 다수의 응답(R)과의 해밍 거리(hamming distance)를 계산하여 미리 설정된 임계값과 비교하여 동일 응답으로 판별하는 것을 특징으로 하는 암호모듈을 이용한 신뢰점 인증 시스템.
  7. 제 6 항에 있어서,
    상기 해밍 거리는 비트별로 비교되며, 상기 비트별로 값이 다르면 거리 크기가 1씩 증가되는 것을 특징으로 하는 암호모듈을 이용한 신뢰점 인증 시스템.
  8. 제 4 항에 있어서,
    상기 해시 알고리즘은 사전에 상기 인증 서버(210)와 공유된 알고리즘인 것을 특징으로 하는 암호모듈을 이용한 신뢰점 인증 시스템.
  9. 제 3 항에 있어서,
    상기 PUF(Physical Unclonable Function)는 약(weak) PUF인 것을 특징으로 하는 암호모듈을 이용한 신뢰점 인증 시스템.
  10. (a) 분산 전원 출력 제어 장치(112)가 암호 모듈(221)을 가지며, 상기 암호 모듈(221)을 이용하여 인증 요청 패킷을 생성하는 단계; 및
    (b) 인증 서버(210)가 상기 인증 요청 패킷을 수신하여 상기 분산 전원 출력 제어 장치(112)와 인증 절차를 수행하는 단계;를 포함하며,
    상기 암호 모듈(221)은 동일 시도(challenge)를 입력으로 사용할 경우 칩마다 서로 다른 응답(response)을 제공하는 것을 특징으로 하는 암호모듈을 이용한 신뢰점 인증 방법.
  11. 제 10 항에 있어서,
    상기 암호 모듈(221)에서 생성하는 시도-응답쌍(CRP: challenge-Response Pair)과 분산 전원 출력 제어 장치(112)의 펌웨어 이미지 정보는 각각 상기 인증 서버(210)의 시도-응답쌍(CRP) DB(Database)(211) 및 펌웨어 DB(212)에 미리 저장되는 것을 특징으로 하는 암호모듈을 이용한 신뢰점 인증 방법.
  12. 제 10 항에 있어서,
    상기 (a) 단계는,
    (a-1) PUF부(221-1)가 PUF(Physical Unclonable Function)를 기반으로 고유의 상기 시도-응답쌍(CRP)을 생성하는 단계;
    (a-2) 난수 발생기(221-2)가 난수를 생성하는 단계;
    (a-3) 고유의 상기 시도-응답쌍(CRP) 및 상기 난수를 메모리(221-4)에 저장하는 단계;
    (a-4) 코프로세서(221-6)를 이용하여 대칭키 및 비대칭키 연산을 수행하는 단계; 및
    (a-5) MCU(221-3)가 상기 인증 요청 패킷을 생성하는 단계;를 포함하는 것을 특징으로 하는 암호모듈을 이용한 신뢰점 인증 방법.
  13. 제 11 항에 있어서,
    상기 (b) 단계는,
    (b-1) 통신부(310)가 상기 인증 요청 패킷을 수신하는 단계;
    (b-2) 복호화부(320)가 상기 인증 요청 패킷을 복호화하여 제 1 해시값을 추출하는 단계;
    (b-3) 비교부(330)가 미리 정의되는 해시 알고리즘을 이용하여 추출되는 상기 펌웨어 DB(212)로부터의 제 2 해시값과 상기 제 1 해시값의 일치여부를 비교하는 단계; 및
    (b-4) 결정부(340)가 상기 비교결과에 따라 상기 인증 절차의 성공 여부를 결정하는 단계;를 포함하는 것을 특징으로 하는 암호모듈을 이용한 신뢰점 인증 방법.
  14. 제 13 항에 있어서,
    상기 (b-3) 단계는, 상기 비교부(330)가 상기 제 2 해시값과 상기 제 1 해시값의 일치여부의 비교후 상기 시도-응답쌍 DB(211)에 저장된 응답(Response)(R) 리스트와 상기 분산 전원 출력 제어 장치(112)로부터 수신한 응답(R)을 비교하는 단계;를 포함하는 것을 특징으로 하는 암호모듈을 이용한 신뢰점 인증 방법.
  15. 제 14 항에 있어서,
    상기 (b-3) 단계는, 상기 비교 이후, 상기 비교부(330)가 상기 제 2 해시값과 상기 제 1 해시값이 일치하나 상기 응답(R)) 리스트와 상기 수신한 응답(R)이 다르면, 상기 수신한 응답(R)이 상기 응답(R) 리스트의 다수의 응답(R)과의 해밍 거리(hamming distance)를 계산하여 미리 설정된 임계값과 비교하여 동일 응답으로 판별하는 단계;를 포함하는 것을 특징으로 하는 암호모듈을 이용한 신뢰점 인증 방법.
  16. 제 15 항에 있어서,
    상기 해밍 거리는 비트별로 비교되며, 상기 비트별로 값이 다르면 거리 크기가 1씩 증가되는 것을 특징으로 하는 암호모듈을 이용한 신뢰점 인증 방법.
  17. 제 13 항에 있어서,
    상기 해시 알고리즘은 사전에 상기 인증 서버(210)와 공유된 알고리즘인 것을 특징으로 하는 암호모듈을 이용한 신뢰점 인증 방법.
  18. 제 12 항에 있어서,
    상기 (a-4) 단계는, 상기 난수와 시도(C)를 KDF(Key Derivation Function) 함수의 입력으로 사용하여 출력값((난수 || En_암호키[H(F/W) || Response(R)])(여기서, H는 해시함수이고, F/W는 펌웨어이다)을 생성하고, 상기 출력값을 사용 암호키로 생성하는 것을 특징으로 하는 암호모듈을 이용한 신뢰점 인증 방법.

KR1020220068822A 2022-06-07 2022-06-07 암호모듈을 이용한 신뢰점 인증 시스템 및 방법 KR20230168406A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220068822A KR20230168406A (ko) 2022-06-07 2022-06-07 암호모듈을 이용한 신뢰점 인증 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220068822A KR20230168406A (ko) 2022-06-07 2022-06-07 암호모듈을 이용한 신뢰점 인증 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR20230168406A true KR20230168406A (ko) 2023-12-14

Family

ID=89167109

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220068822A KR20230168406A (ko) 2022-06-07 2022-06-07 암호모듈을 이용한 신뢰점 인증 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR20230168406A (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102384664B1 (ko) 2019-06-28 2022-04-11 한국전자통신연구원 사용자 장치, 물리적 복제방지 기능 기반 인증 서버 및 그것의 동작 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102384664B1 (ko) 2019-06-28 2022-04-11 한국전자통신연구원 사용자 장치, 물리적 복제방지 기능 기반 인증 서버 및 그것의 동작 방법

Similar Documents

Publication Publication Date Title
Mandal et al. Certificateless-signcryption-based three-factor user access control scheme for IoT environment
CN108092776B (zh) 一种基于身份认证服务器和身份认证令牌的系统
Dey et al. Session-key establishment and authentication in a smart home network using public key cryptography
CN110995642B (zh) 使用预共享密钥提供安全连接
US8438631B1 (en) Security enclave device to extend a virtual secure processing environment to a client device
Bhatia et al. Data security in mobile cloud computing paradigm: a survey, taxonomy and open research issues
US10187373B1 (en) Hierarchical, deterministic, one-time login tokens
US20190052622A1 (en) Device and method certificate generation
CN113079132B (zh) 海量物联网设备认证方法、存储介质、信息数据处理终端
CN112417494A (zh) 基于可信计算的电力区块链系统
WO2014105914A1 (en) Security enclave device to extend a virtual secure processing environment to a client device
CN113572765B (zh) 一种面向资源受限终端的轻量级身份认证密钥协商方法
CN114070559A (zh) 一种基于多因子的工业物联网会话密钥协商方法
CN115333839A (zh) 数据安全传输方法、系统、设备及存储介质
US20220182229A1 (en) Protected protocol for industrial control systems that fits large organizations
Khan et al. A brief review on cloud computing authentication frameworks
US20210367775A1 (en) Devices, Systems, And Methods For Providing Security To IoT Networks And Sensors
WO2020018187A1 (en) Network device, method for security and computer readable storage medium
CN113986470A (zh) 一种用户无感知的虚拟机批量远程证明方法
KR101836211B1 (ko) 전자 기기 인증 매니저 장치
US11240661B2 (en) Secure simultaneous authentication of equals anti-clogging mechanism
CN116528239A (zh) 一种基于超级sim卡的物联网软件完整性证明方法
KR20230168406A (ko) 암호모듈을 이용한 신뢰점 인증 시스템 및 방법
Jonsson et al. RSA authentication in Internet of Things: Technical limitations and industry expectations
David et al. A framework for secure single sign-on

Legal Events

Date Code Title Description
E902 Notification of reason for refusal