KR101373574B1 - 무인증서 기반 서명을 이용한 디바이스의 펌웨어 관리 장치 및 방법 - Google Patents

무인증서 기반 서명을 이용한 디바이스의 펌웨어 관리 장치 및 방법 Download PDF

Info

Publication number
KR101373574B1
KR101373574B1 KR1020120096809A KR20120096809A KR101373574B1 KR 101373574 B1 KR101373574 B1 KR 101373574B1 KR 1020120096809 A KR1020120096809 A KR 1020120096809A KR 20120096809 A KR20120096809 A KR 20120096809A KR 101373574 B1 KR101373574 B1 KR 101373574B1
Authority
KR
South Korea
Prior art keywords
firmware
server
distribution
key
image
Prior art date
Application number
KR1020120096809A
Other languages
English (en)
Other versions
KR20140029070A (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 KR1020120096809A priority Critical patent/KR101373574B1/ko
Priority to PCT/KR2013/007180 priority patent/WO2014035077A1/ko
Publication of KR20140029070A publication Critical patent/KR20140029070A/ko
Application granted granted Critical
Publication of KR101373574B1 publication Critical patent/KR101373574B1/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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • 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/3247Cryptographic 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 digital signatures
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
    • Y04S40/00Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
    • Y04S40/20Information technology specific aspects, e.g. CAD, simulation, modelling, system security

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

무인증서 기반 서명을 이용한 디바이스의 펌웨어 관리 장치 및 방법이 개시된다. 본 발명의 일례에 따라 디바이스의 펌웨어를 관리하는 방법은, 펌웨어 서버가 키 생성 서버로부터 펌웨어 서버 자신의 식별자에 대응하는 부분 비밀키를 수신하고, 부분 비밀키에 기초하여 공개키 및 비밀키를 생성하고, 비밀키를 이용하여 펌웨어의 해쉬값에 대한 서명값을 생성하며, 펌웨어와 서명값을 결합하여 배포용 펌웨어 이미지를 생성한다.

Description

무인증서 기반 서명을 이용한 디바이스의 펌웨어 관리 장치 및 방법{APPARATUS AND METHOD FOR MANAGING FIRMWARE OF DEVICE USING CERTIFICATELESS SIGNATURE}
본 발명은 디바이스 펌웨어 관리 기술에 관한 것으로, 특히 무인증서 기반 서명을 이용하여 스마트 그리드 디바이스에게 검증된 펌웨어를 제공함으로써 신뢰할 수 있는 펌웨어만을 해당 디바이스에 설치하도록 유도하는 펌웨어 관리 장치, 방법 및 그 방법을 기록한 기록매체에 관한 것이다.
스마트 그리드(smart grid)란 기존의 전력망에 지능형 통신 기술(Intelligent Communication Technology, ICT)를 접목하여 전력생산 및 소비정보를 양방향 및 실시간으로 교환함으로써 에너지 효율을 최적화하는 차세대 전력망을 말한다. 스마트 그리드를 구성하기 위해 다양한 디바이스들이 활용되고 있는데, 특히 스마트 미터(smart meter), DCU(Data Collection Unit) 또는 스마트 가전 제품 등과 같은 디바이스들은 열린 공간에 설치되거나, 에너지 소비자 측의 빌딩 또는 가정에 설치되어 전기 사용량을 측정하고, 사용된 양에 대한 과금 정보를 전달하는 등의 역할을 수행한다.
무엇보다도 이러한 스마트 그리드를 구성하는 디바이스들은 전기 사용량이나 과금정보 등을 취급하기 때문에 안전하게 보호되어야 할 필요성이 있다. 이하에서 인용되는 비특허문헌에는 스마트 그리드에 대한 사이버 보안 위협과 스마트 그리드 사이버 보안성 강화를 위한 국내 외의 다양한 시도들을 소개하고 있다.
특히 스마트 그리드 디바이스를 운영함에 있어서, 요구기능 추가, 기능 최적화 내지 소프트웨어 결함 수정 등이 필요할 경우, 스마트 그리드 디바이스의 특성상 원격에서 해당 디바이스의 펌웨어 업그레이드(firmware upgrade)를 수행하게 된다. 만약 이때 악의적인 펌웨어가 배포되어 스마트 그리드 디바이스에 설치될 경우, 서비스 가용성이 크게 침해되거나, 전력 사용정보를 조작하거나 유출되는 등의 심각한 보안 사고를 유발할 수 있다.
스마트그리드와 사이버 보안, 이건희, 서정택, 이철원, 한국통신학회논문지 제27권 제4호 (2010년 4월) pp.23-30 1226-4717 KCI, 한국통신학회, 2010년.
본 발명이 해결하고자 하는 기술적 과제는, 스마트 그리드 환경에서 활용되는 다양한 디바이스들에 대한 펌웨어의 관리 및 업그레이드시 악의적인 펌웨어 설치에 의해 해당 디바이스들이 무방비로 노출되는 위험을 제거하고, 이러한 악의적인 펌웨어 설치를 통해 발생할 수 있는 사용정보의 조작 내지 유출 등의 보안 사고를 예방하며, 동시에 인증서 관리의 불편함 및 키 생성 기관(key generating center, KGC)에게 개인키 정보가 노출되는 키 에스크로(key escrow) 문제를 해결하고자 한다.
상기 기술적 과제를 해결하기 위하여, 본 발명의 일 실시예에 따른 펌웨어(firmware) 서버가 디바이스의 펌웨어를 관리하는 방법은, 상기 펌웨어 서버가 키 생성 서버로부터 펌웨어 서버 자신의 식별자에 대응하는 부분 비밀키를 수신하는 단계; 상기 펌웨어 서버가 상기 수신된 부분 비밀키에 기초하여 공개키 및 비밀키를 생성하는 단계; 상기 생성된 비밀키를 이용하여 상기 펌웨어 서버가 자신이 관리하는 펌웨어의 해쉬값에 대한 서명값을 생성하는 단계; 및 상기 펌웨어 서버가 상기 펌웨어와 상기 생성된 서명값을 결합하여 배포용 펌웨어 이미지를 생성하는 단계;를 포함하되, 상기 펌웨어 서버는, 상기 디바이스의 펌웨어 갱신 요청에 따라 상기 배포용 펌웨어 이미지를 상기 디바이스에 전송하며, 상기 공개키를 이용하여 상기 디바이스로 하여금 상기 배포용 펌웨어 이미지 내에 포함된 서명값을 검증함으로써 유효한 펌웨어만을 설치하도록 유도한다.
일 실시예에 따른 상기 펌웨어 서버가 디바이스의 펌웨어를 관리하는 방법에서, 상기 부분 비밀키는, 상기 펌웨어 서버가 자신의 식별자를 상기 키 생성 서버에 전송하고, 부분 비밀키 추출(partial private key extract) 알고리즘을 이용하여 상기 키 생성 서버로 하여금 상기 펌웨어 서버의 식별자에 대응하는 부분 비밀키를 생성하도록 한 후, 생성된 부분 키를 전송받음으로써 획득된다.
일 실시예에 따른 상기 펌웨어 서버가 디바이스의 펌웨어를 관리하는 방법은, 상기 펌웨어 서버가 상기 펌웨어의 갱신 정보, 상기 펌웨어 서버의 식별자, 상기 공개키를 상기 디바이스에 제공하는 단계;를 더 포함하고, 상기 디바이스가 상기 갱신 정보를 참조하여 자신의 펌웨어를 갱신할 필요가 있다고 판단한 경우, 상기 디바이스는 상기 펌웨어 서버에 펌웨어 갱신을 요청한다. 또한, 상기 펌웨어 서버로부터 상기 배포용 펌웨어 이미지를 수신한 경우, 상기 디바이스는, 상기 펌웨어 서버의 식별자, 상기 공개키, 상기 배포용 펌웨어 이미지 내에 포함된 펌웨어의 해쉬값 및 서명값을 이용하여 상기 서명값의 유효성을 판단함으로써 유효한 펌웨어만을 설치할 수 있다.
일 실시예에 따른 상기 펌웨어 서버가 디바이스의 펌웨어를 관리하는 방법에서, 상기 키 생성 서버는 제 3의 신뢰 기관으로서 무인증서(certificateless) 기반의 전자서명 방식에 따르는 부분 비밀키를 생성하고, 상기 펌웨어 서버는 새로운 버전의 펌웨어를 저장하고, 상기 부분 비밀키에 기반한 비밀키를 이용하여 전자서명이 부착된 배포용 펌웨어 이미지를 생성하여 상기 디바이스에게 제공하며, 상기 디바이스는 상기 펌웨어 서버로부터 펌웨어를 제공받아 상기 전자서명의 유효성이 검증된 경우에만 상기 펌웨어를 설치할 수 있다.
상기 기술적 과제를 해결하기 위하여, 본 발명의 다른 실시예에 따른 디바이스가 자신의 펌웨어를 갱신하는 방법은, 상기 디바이스가 펌웨어 서버로부터 펌웨어의 갱신 정보, 상기 펌웨어 서버의 식별자 및 공개키를 수신하는 단계; 상기 디바이스가 상기 갱신 정보를 참조하여 자신의 펌웨어를 갱신할 필요가 있는지 여부를 판단하는 단계; 상기 판단 결과에 따라 상기 디바이스가 상기 펌웨어 서버에 펌웨어 갱신을 요청하고, 상기 펌웨어 서버로부터 배포용 펌웨어 이미지를 수신하는 단계; 및 상기 디바이스가 상기 공개키를 이용하여 상기 수신된 배포용 펌웨어 이미지 내에 포함된 서명값을 검증함으로써 유효한 펌웨어만을 선택적으로 설치하는 단계;를 포함하되, 상기 배포용 펌웨어 이미지는, 상기 펌웨어 서버가 키 생성 서버로부터 펌웨어 서버 자신의 식별자에 대응하는 부분 비밀키를 수신하고, 상기 수신된 부분 비밀키에 기초하여 공개키 및 비밀키를 생성하고, 상기 생성된 비밀키를 이용하여 펌웨어의 해쉬값에 대한 서명값을 생성하며, 상기 펌웨어와 상기 생성된 서명값을 결합함으로써 상기 펌웨어 서버 내에 생성된다.
다른 실시예에 따른 상기 디바이스가 자신의 펌웨어를 갱신하는 방법에서, 상기 펌웨어 서버로부터 상기 배포용 펌웨어 이미지를 수신한 경우, 상기 디바이스는, 상기 펌웨어 서버의 식별자, 상기 공개키, 상기 배포용 펌웨어 이미지 내에 포함된 펌웨어의 해쉬값 및 서명값을 이용하여 상기 서명값의 유효성을 판단함으로써 유효한 펌웨어만을 설치할 수 있다.
다른 실시예에 따른 상기 디바이스가 자신의 펌웨어를 갱신하는 방법에서, 상기 디바이스는, 스마트 그리드(smart grid) 디바이스로서, 상기 펌웨어 서버의 펌웨어 갱신 정보를 참조하여 펌웨어 갱신 요청을 전송하고, 상기 펌웨어 갱신 요청에 따라 상기 배포용 펌웨어 이미지가 수신된 경우, 출처가 검증된 펌웨어만을 설치할 수 있다.
한편, 이하에서는 상기 기재된 디바이스의 펌웨어를 관리하는 방법 및 펌웨어를 갱신하는 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
본 발명의 실시예들은 펌웨어 서버가 무인증서 기반의 전자서명을 활용하여 배포하고자 하는 펌웨어에 서명하고 이를 스마트 그리드 디바이스가 검증함으로써, 인증서 관리의 불편함을 해소하고, 식별자(identifier, ID) 기반의 공개키 시스템이 갖는 키 에스크로 문제를 해결하며, 이를 통해 스마트 그리드 디바이스의 펌웨어 업그레이드시 배포용 펌웨어 이미지에 대한 무결성을 검증하고 출처를 인증함으로써 신뢰성이 보장된 펌웨어만을 선택적으로 디바이스에 설치하는 안정적인 관리 및 정보 보안이 달성 가능하다.
도 1은 디바이스의 펌웨어 업그레이드를 위해 본 발명의 실시예들이 구현되는 시스템 전체 구성을 예시한 도면이다.
도 2는 본 발명의 실시예들이 채택하고 있는 배포용 펌웨어 이미지의 구조를 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 펌웨어 서버가 디바이스의 펌웨어를 관리하는 방법을 도시한 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 펌웨어 서버가 공개키를 초기화하는 과정을 도시한 도면이다.
도 5는 도 4의 공개키 초기화 과정에서 활용되는 알고리즘과 그 변수들을 설명하기 위한 도면이다.
도 6은 본 발명의 다른 실시예에 따른 디바이스가 자신의 펌웨어를 갱신하는 방법을 도시한 흐름도이다.
도 7은 본 발명의 다른 실시예에 따른 디바이스가 펌웨어를 갱신하는 과정을 도시한 도면이다.
도 8은 도 7의 펌웨어 갱신 과정에서 활용되는 알고리즘과 그 변수들을 설명하기 위한 도면이다.
본 발명의 실시예들을 설명하기에 앞서, 스마트 그리드 환경에서 발생하는 디바이스의 펌웨어 관리 및 업그레이드시의 문제점들을 검토한 후, 이들 문제점을 해결하기 위해 본 발명의 실시예들이 채택하고 있는 기술적 수단을 개괄적으로 소개하도록 한다.
앞서 기술한 바와 같이 스마트 그리드 환경의 디바이스들은 전기 사용량이나 과금정보 등을 취급하기 때문에 안전하게 보호되어야 할 필요성이 있다. 그럼에도 불구하고, 스마트 그리드 디바이스들은 구조적인 특성상 요구기능의 추가, 기능 최적화 또는 소프트웨어 결함 수정 등의 상황 하에서 원격으로 해당 디바이스의 펌웨어 업그레이드를 수행하게 된다. 이 경우, 만약 악의적인 펌웨어가 배포되고 설치될 경우, 서비스 가용성이 침해되거나, 전력 사용정보 조작, 유출 등의 심각한 보안 사고를 유발할 수 있다. 따라서, 이하에서 기술되는 본 발명의 실시예들은 스마트 그리드 디바이스의 펌웨어 관리 및 갱신 과정에서 신뢰할 수 있는 배포용 펌웨어 이미지를 인증할 수 있는 무인증서 기반의 전자서명 기술을 제안하고자 한다.
현재 널리 사용되고 있는 전자서명 기술은 공인된 기관에서 발급한 인증서를 이용하여 무결성 및 부인방지 기능을 제공하고 있다. 이러한 인증서를 활용한 전자서명 기술은 단말 디바이스들 각각이 인증서를 관리해야 하는 불편함이 있으며, 특히 종래의 식별자 기반의 공개키 기술에서 키 생성 기관이 개인키의 정보를 알게됨에 따라 키 에스크로 문제가 발생할 우려가 존재한다. 이러한 문제점들을 해소하기 위해 제안된 본 발명의 실시예들은 무인증서 기반의 전자서명을 통해 인증서 관리의 문제점과 키 에스크로 문제를 동시에 해결하고자 한다.
본 발명의 실시예들이 채택하고 있는 무인증서 기반의 전자서명 기술은 다음과 같이 크게 7 단계의 알고리즘으로 구성된다. 여기서는 그 개요만을 개괄적으로 소개한 후, 이후 각각의 도면을 참조하여 구체적인 구성을 설명하도록 한다.
(1) Setup(1k) → (params, msk) : 보안 변수 k를 입력받아, CL-PKS(Certificateless public-key signature)의 시스템 변수 params와 키 생성 기관(KGC)의 마스터 비밀키 msk를 반환한다. 이 과정은 초기화 과정으로서, 제 3의 신뢰 기관인 키 생성 기관을 통해 수행되게 된다. 시스템 변수는 스마트 그리드를 구성하는 시스템의 구현 환경에 따라 다양하게 설정될 수 있다.
(2) Partial-Private-Key-Extract(params, msk, IDA) → DA : 시스템 변수 params, 마스터 비밀키 msk, 인증서 발급 대상 A에 대한 식별정보 IDA를 입력받아, A의 부분 비밀키 DA를 반환한다. 여기서, 인증서 발급 대상은 키 생성 키관으로부터 전자서명을 위한 인증서를 발급받고자 하는 대상을 말하며, 예를 들어 펌웨어 서버가 그 대상이 될 수 있다. 이 경우, 본 발명의 실시예들은 이러한 부분 비밀키를 생성받음으로써 종래의 식별자 기반의 인증서와는 달리, 실질적으로 별도의 인증서 없이도 검증하고자 하는 대상 객체(예를 들어, 펌웨어 업그레이드 이미지가 될 수 있다.)에 대한 전자서명이 가능하다.
(3) Set-Secret-Value(params, IDA) → xA : 시스템 변수 params와 A의 식별정보 IDA를 입력받아 A의 비밀정보 xA를 반환한다. 이러한 비밀정보는 다음 단계에서 비밀키 및 공개키를 생성하기 위해 활용된다.
(4) Set-Private-Key(params, DA, xA) → SA : 시스템 변수 params와 A의 부분 비밀키 DA 및 비밀정보 xA를 입력받아 A의 비밀키 SA를 반환한다. 비밀키는 이후 검증하고자 하는 대상 객체의 해쉬값과 더불어 전자서명을 생성하기 위한 입력값으로 활용된다.
(5) Set-Public-Key(params, xA) → PA : 시스템 변수 params와 A의 비밀정보 xA를 입력받아 A의 공개키 PA를 반환한다. 공개키는 배포용 펌웨어 이미지가 스마트 그리드 디바이스에 전송된 경우, 해당 디바이스가 배포용 펌웨어 이미지의 전자서명을 검증하기 위해 활용된다.
(6) Sign(params, M, SA) → σM : 시스템 변수 params, 서명할 메시지 M 그리고 A의 비밀키 SA를 입력받아 메시지 M에 대한 서명값 σM를 반환한다. 여기서 서명할 메시지는 배포하고자 하는 펌웨어 업그레이드 이미지에 대응하는 특정한 값이 될 수 있으며, 이후 예시되는 실시예에서는 펌웨어의 해쉬값이 활용되었다.
(7) Verify(params, M, IDA, PA, σM) → valid/invalid : 시스템 변수 params, 서명한 메시지 M, A의 식별정보 IDA, A의 공개키 PA, 메시지 M에 대한 서명값 σM를 입력받아 서명값의 유효성을 판별한 결과를 반환한다. 이러한 과정은 스마트 그리드 디바이스에서 수행됨으로써 펌웨어 서버로부터 전달받은 배포용 펌웨어 이미지 내의 서명값에 대한 유효성을 판단하는 근거로 활용된다.
이하에서는 도면을 참조하여 본 발명의 실시예들을 구체적으로 설명하도록 한다. 다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 또한, 도면 전체에 걸쳐 동일한 구성 요소들은 가능한 한 동일한 도면 부호로 나타내고 있음에 유의하여야 한다.
도 1은 디바이스의 펌웨어 업그레이드를 위해 본 발명의 실시예들이 구현되는 시스템 전체 구성을 예시한 도면으로서, 크게 키 생성 서버(10), 펌웨어 서버(20) 및 적어도 하나 이상의 디바이스(30)를 포함할 수 있다. 여기서, 펌웨어 서버(20)는 다시 기능적인 관점에서 2개의 서버로 구분될 수 있다. 즉, 새로운 펌웨어를 등록하고 저장, 관리하며 펌웨어에 대한 전자서명을 부착하는 관리 서버(23)와 전자서명이 부착된 배포용 펌웨어 이미지를 디바이스(30)에게 제공하는 배포 서버(25)가 그것이다. 이러한 관리 서버(23)와 배포 서버(25)는 구현의 편의에 따라 실제로 분리된 하드웨어로서 구현될 수도 있으나, 필요에 따라서는 물리적으로 하나의 하드웨어로서 구현될 수도 있을 것이다. 이상의 구분은 그 기능상의 역할에 근거한 분류에 불과함을 주의하자. 또한, 스마트 그리드의 목적이나 활용도를 고려할 때, 예를 들어 도 1의 펌웨어 서버(20)는 전력회사의 내부에 설치될 수 있을 것이다.
도 1에서, 키 생성 서버(KGC)(10)는 제 3의 신뢰기관으로서 시스템 변수 params 및 디바이스들의 부분 비밀키를 생성하고, 펌웨어 서버(20)는 스마트 그리드 디바이스들(smart grid device, SGD)의 펌웨어를 관리하는 관리 서버(management server, MS)(23) 및 펌웨어를 배포하는 배포 서버(distribution server, DS)(25)를 포함한다.
키 생성 서버(10)는 관리 서버(23)에 부분 비밀키를 전송하고, 스마트 그리드 디바이스(30)에는 각종 시스템 변수를 전송한다. 관리 서버(23)는 디바이스들(30)에게 배포하고자 하는 펌웨어 이미지를 배포 서버(25)에 전달한다. 이 때 배포 서버(25)에 전달되는 펌웨어 이미지는 전자서명이 부착된 것으로 배포용 펌웨어 이미지에 해당한다. 또한, 관리 서버(23)는 디바이스(30)에 새로운 펌웨어 갱신 정보를 전송함으로써 해당 디바이스(30)로 하여금 펌웨어 갱신을 유도한다. 그러면, 디바이스(30)는 펌웨어 갱신 정보를 참조하여 배포 서버(25)에 펌웨어 갱신 요청을 전송하고 그 회신으로서 배포용 펌웨어 이미지를 수신받는다. 마지막으로, 디바이스(30)는 전자서명을 이용하여 수신된 배포용 펌웨어 이미지를 검증함으로써 유효한 펌웨어를 설치하게 된다.
도 2는 본 발명의 실시예들이 채택하고 있는 배포용 펌웨어 이미지의 구조를 도시한 도면으로서, 도 2의 일련의 과정은 도 1의 펌웨어 서버(20), 특히 관리 서버(MS)(23)에서 수행된다.
210 단계에서, 배포하고자 하는 새로운 펌웨어 업그레이드 이미지(firmware upgrade image, FUI)가 관리 서버(23)에 등록된다. 220 단계에서는, 전자서명을 효율적으로 생성하기 위해 펌웨어 업그레이드 이미지를 우선 해쉬함수 H로 처리하여 압축된 해쉬값을 얻는다. 그런 다음, 240 단계에서는 앞서 생성된 해쉬값과 230 단계에서 획득된 비밀키 SMS를 Sign 알고리즘에 입력하고, 250 단계를 통해 전자서명 σFUI을 생성한다. 이렇게 생성된 전자서명은 펌웨어의 무결성과 출처를 인증하는 역할을 하게 되며, 특히 전자서명 과정에서 인증서가 사용되지 않은 무인증서 기반의 전자서명이라는 점에 주목하자. 마지막으로, 260 단계에서는 210 단계의 펌웨어 업그레이드 이미지 FUI와 250 단계를 통해 생성된 전자서명 σFUI를 연접하여 배포용 펌웨어 이미지를 생성하게 된다.
이러한 일련의 과정을 통해 배포용 펌웨어 이미지에는 펌웨어 그 자체와 해당 펌웨어에 대한 검증을 위한 전자서명이 결합된 하나의 파일이 생성된다. 이렇게 생성된 배포용 펌웨어 이미지는 앞서 설명한 바 있는 도 1의 배포 서버(25)에 등록되고, 이후 스마트 그리드 디바이스(30)의 요청이 있는 경우 제공될 수 있다.
도 3은 본 발명의 일 실시예에 따른 펌웨어 서버가 디바이스의 펌웨어를 관리하는 방법을 도시한 흐름도로서, 펌웨어 서버를 중심으로 수행 과정들을 기술하고 있다.
310 단계에서, 펌웨어 서버는 키 생성 서버로부터 펌웨어 서버 자신의 식별자에 대응하는 부분 비밀키를 수신한다. 여기서, 부분 비밀키는, 상기 펌웨어 서버가 자신의 식별자를 상기 키 생성 서버에 전송하고, 부분 비밀키 추출(partial private key extract) 알고리즘을 이용하여 상기 키 생성 서버로 하여금 상기 펌웨어 서버의 식별자에 대응하는 부분 비밀키를 생성하도록 한 후, 생성된 부분 키를 전송받음으로써 획득된다.
320 단계에서, 펌웨어 서버는 상기 310 단계를 통해 수신된 부분 비밀키에 기초하여 공개키 및 비밀키를 생성한다.
330 단계에서, 펌웨어 서버는 상기 320 단계를 통해 생성된 비밀키를 이용하여 새로운 펌웨어 업그레이드 이미지의 해쉬값에 대한 서명값을 생성한다.
340 단계에서, 펌웨어 서버는 상기 펌웨어와 상기 생성된 서명값을 결합하여 배포용 펌웨어 이미지를 생성한다.
특히, 상기 펌웨어 서버는, 상기 디바이스의 펌웨어 갱신 요청에 따라 상기 배포용 펌웨어 이미지를 상기 디바이스에 전송하며, 상기 공개키를 이용하여 상기 디바이스로 하여금 상기 배포용 펌웨어 이미지 내에 포함된 서명값을 검증함으로써 유효한 펌웨어만을 설치하도록 유도하는 역할을 수행한다.
이를 위해 상기된 펌웨어 관리 방법은, 상기 펌웨어 서버가 상기 펌웨어의 갱신 정보, 상기 펌웨어 서버의 식별자, 상기 공개키를 상기 디바이스에 제공하는 단계를 더 포함할 수 있다. 이러한 단계를 통해 상기 디바이스가 상기 갱신 정보를 참조하여 자신의 펌웨어를 갱신할 필요가 있다고 판단한 경우, 상기 디바이스는 상기 펌웨어 서버에 펌웨어 갱신을 요청하게 된다.
이제, 디바이스가 상기 펌웨어 서버로부터 상기 배포용 펌웨어 이미지를 수신한 경우, 상기 디바이스는, 상기 펌웨어 서버의 식별자, 상기 공개키, 상기 배포용 펌웨어 이미지 내에 포함된 펌웨어의 해쉬값 및 서명값을 이용하여 상기 서명값의 유효성을 판단함으로써 유효한 펌웨어만을 설치하게 된다.
분리된 장치의 관점에서, 상기 키 생성 서버는 제 3의 신뢰 기관으로서 무인증서(certificateless) 기반의 전자서명 방식에 따르는 부분 비밀키를 생성하고, 상기 펌웨어 서버는 새로운 버전의 펌웨어를 저장하고, 상기 부분 비밀키에 기반한 비밀키를 이용하여 전자서명이 부착된 배포용 펌웨어 이미지를 생성하여 상기 디바이스에게 제공하며, 상기 디바이스는 상기 펌웨어 서버로부터 펌웨어를 제공받아 상기 전자서명의 유효성이 검증된 경우에만 상기 펌웨어를 설치하게 된다.
본 발명의 실시예에서는 펌웨어 업그레이드 절차를 편의상 관리서버 공개키 초기화 과정과 새로운 펌웨어 업그레이드 이미지 배포 과정의 2 단계로 구분하여 설명하도록 한다.
도 4는 본 발명의 일 실시예에 따른 펌웨어 서버가 공개키를 초기화하는 과정을 도시한 도면으로서, 특히 관리 서버(23)에서 수행되는 일련의 절차를 기술하고 있다. 앞서 기술한 바와 같이 관리 서버(23)와 배포 서버(25)는 양자 모두 펌웨어 서버(20)에 포함되는 구성으로서, 물리적으로 하나의 장치로 구현될 수도 있고, 각각 분리된 장치로서 구현될 수도 있다.
410 단계에서, 키 생성 서버(10)는 무인증서 기반 전자서명 기술의 Setup 알고리즘을 통해 전체 시스템에서 사용될 시스템 변수 params와 키 생성 서버(10)의 마스터 비밀키 msk를 생성한다.
420 단계에서, 관리 서버(23)는 키 생성 서버(10)에게 관리 서버 자신의 식별자 값인 IDMS를 전달하여 자신의 부분 비밀키 DMS를 요청한다. 이러한 부분 비밀키 DMS는 이후 자신의 비밀키 SMS를 생성하기 위해 활용되게 된다.
430 단계에서, 키 생성 서버(10)는 부분 비밀키 추출(Partial-Private-Key-Extract) 알고리즘을 이용하여 관리 서버(23)의 부분 비밀키 DMS를 생성한다.
440 단계에서, 키 생성 서버(10)는 앞서 430 단계를 통해 생성된 관리 서버(23)의 부분 비밀키 DMS와 시스템 변수 params를 관리 서버(23)에게 전달한다.
450 단계 내지 470 단계에서, 관리 서버(23)는 Set-Secret-Value 알고리즘을 이용하여 관리 서버(23)의 비밀정보 xMS를 생성하고, Set-Public-Key 알고리즘을 이용하여 관리 서버(23)의 공개키 PMS를 생성하며, Set-Private-Key 알고리즘을 이용하여 관리 서버(23)의 비밀키 SMS를 생성한다. 각각의 알고리즘은 보편적인 기능을 중심으로 임의로 기술되었으며, 무인증서 방식의 부분 비밀키 기반 전자서명을 생성하기 위해 적절한 형태로 변형이 가능하다.
도 5는 도 4의 공개키 초기화 과정에서 활용되는 알고리즘과 그 변수들을 설명하기 위한 도면으로서, 예시적으로 구현된 함수의 입출력 값을 정의하고 있다.
도 5를 참조하면, 무인증서 기반 전자서명 기술의 Setup 알고리즘을 통해 획득되는 시스템 변수 params에 포함되는 구체적인 변수들과 마스터 키 msk가 정의되어 있고, 부분 비밀키 추출 알고리즘의 입력값으로 시스템 변수, 마스터 키, 식별자(예를 들어, 펌웨어 관리 서버가 될 수 있다.)가 활용되어 부분 비밀키가 추출됨이 정의되어 있으며, 비밀정보 생성 함수, 공개키 및 비밀키 생성 함수의 입력값과 출력값이 정의되어 있음을 확인할 수 있다.
도 6은 본 발명의 다른 실시예에 따른 디바이스가 자신의 펌웨어를 갱신하는 방법을 도시한 흐름도로서, 도 6의 일련의 과정은 특히 스마트 그리드 디바이스(30)에서 수행된다.
610 단계에서, 디바이스는 펌웨어 서버로부터 펌웨어의 갱신 정보, 상기 펌웨어 서버의 식별자 및 공개키를 수신한다.
620 단계에서, 디바이스는 상기 610 단계를 통해 수신된 갱신 정보를 참조하여 자신의 펌웨어를 갱신할 필요가 있는지 여부를 판단한다.
630 단계에서, 상기 판단 결과에 따라 상기 디바이스는 상기 펌웨어 서버에 펌웨어 갱신을 요청하고, 상기 펌웨어 서버로부터 배포용 펌웨어 이미지를 수신한다. 여기서, 상기 배포용 펌웨어 이미지는, 상기 펌웨어 서버가 키 생성 서버로부터 펌웨어 서버 자신의 식별자에 대응하는 부분 비밀키를 수신하고, 상기 수신된 부분 비밀키에 기초하여 공개키 및 비밀키를 생성하고, 상기 생성된 비밀키를 이용하여 펌웨어의 해쉬값에 대한 서명값을 생성하며, 상기 펌웨어와 상기 생성된 서명값을 결합함으로써 상기 펌웨어 서버 내에 생성된 것에 해당한다.
640 단계에서, 상기 디바이스는 상기 610 단계를 통해 수신된 공개키를 이용하여 상기 수신된 배포용 펌웨어 이미지 내에 포함된 서명값을 검증함으로써 유효한 펌웨어만을 선택적으로 설치한다. 구체적으로, 디바이스가 상기 펌웨어 서버로부터 상기 배포용 펌웨어 이미지를 수신한 경우, 상기 디바이스는, 상기 펌웨어 서버의 식별자, 상기 공개키, 상기 배포용 펌웨어 이미지 내에 포함된 펌웨어의 해쉬값 및 서명값을 이용하여 상기 서명값의 유효성을 판단함으로써 유효한 펌웨어만을 설치하게 된다.
분리된 장치의 관점에서, 상기 디바이스는, 스마트 그리드(smart grid) 디바이스로서, 상기 펌웨어 서버의 펌웨어 갱신 정보를 참조하여 펌웨어 갱신 요청을 전송하고, 상기 펌웨어 갱신 요청에 따라 상기 배포용 펌웨어 이미지가 수신된 경우, 출처가 검증된 펌웨어만을 설치함으로써, 앞서 지적한 바와 같은 스마트 그리드 기술 분야의 펌웨어 업그레이드 과정에서의 보안 문제 및 신뢰도 문제를 해결할 수 있다.
도 7은 본 발명의 다른 실시예에 따른 디바이스가 펌웨어를 갱신하는 과정을 도시한 도면으로서, 특히 관리 서버(23), 배포 서버(25) 및 스마트 그리드 디바이스(30)에서 수행되는 일련의 절차를 기술하고 있다. 앞서 기술한 바와 같이 관리 서버(23)와 배포 서버(25)는 양자 모두 펌웨어 서버(20)에 포함되는 구성으로서, 물리적으로 하나의 장치로 구현될 수도 있고, 각각 분리된 장치로서 구현될 수도 있다.
710 단계에서, 관리 서버(23)는 새로운 펌웨어 업그레이드 이미지 FUI를 생성하여 저장한다.
720 단계에서, 관리 서버(23)는 Sign 알고리즘을 이용하여 펌웨어 업그레이드 이미지 FUI에 대한 무인증서 기반의 전자서명 σFUI를 생성한다.
730 단계에서, 관리 서버(23)는 새로운 펌웨어 업그레이드 이미지 FUI와 전자서명 σFUI을 펌웨어 배포 서버(25)에게 전송한다. 편의상 배포 서버(25)가 물리적으로 분리되어 있지 않다면, 이러한 전송 과정은 단지 하나의 물리적인 펌웨어 서버 내에서 배포용 펌웨어 이미지의 저장 경로를 등록하는 과정으로 대체될 수 있을 것이다.
740 단계에서, 관리 서버(23)는 새로운 펌웨어 업그레이드에 대한 갱신 정보와 배포 서버(25) 내의 배포용 펌웨어 이미지 파일의 접근 경로 내지 주소를 펌웨어 업그레이드 대상 스마트 그리드 디바이스(30)에게 전달한다. 이 때, 새로운 펌웨어 업그레이드 이미지 FUI에 대한 정보 전달시 배포 서버(25)의 위치 정보, 시스템 변수 params 및 식별자 IDMS 등의 정보도 한께 전달되는 것이 바람직하다.
750 단계에서, 스마트 그리드 디바이스(30)는 앞서 740 단계를 통해 수신된 갱신 정보를 참조하여 펌웨어 배포 서버(25)에게 새로운 펌웨어 업그레이드 이미지를 요청한다.
760 단계에서, 배포 서버(25)는 디바이스(30)의 요청에 응답하여 무인증서 기반 전자서명이 포함된 새로운 펌웨어 업그레이드 이미지를 스마트 그리드 디바이스(30)에 전송한다.
770 단계에서, 스마트 그리드 디바이스(30)는 Verify 알고리즘을 이용하여 전자서명 σFUI을 검증한다.
780 단계에서, 770 단계를 통해 수행된 전자서명에 대한 검증이 성공하였다면, 스마트 그리드 디바이스(30)는 펌웨어 업그레이드를 진행한다.
도 8은 도 7의 펌웨어 갱신 과정에서 활용되는 알고리즘과 그 변수들을 설명하기 위한 도면으로서, 예시적으로 구현된 함수의 입출력 값과 수행 동작을 정의하고 있다.
도 8을 참조하면, Sign 함수의 입력값으로 시스템 변수, 메시지(이 경우, 펌웨어가 될 수 있다.) 및 비밀키가 입력되며, 정의된 바에 따른 연산을 통해 서명값을 산출한다. 또한, Verify 함수의 입력값으로 시스템 변수, 메시지(이 경우, 배포 서버로부터 수신된 배포용 펌웨어 이미지 내에 포함된 펌웨어가 될 수 있다.), 펌웨어 관리 서버의 식별자, 공개키 및 서명값(이 때의 서명값은 수신된 배포용 펌웨어 이미지 내에 포함된 서명값을 의미한다.)이 입력되며, 정의된 바에 따른 연산 및 비교를 통해 서명값의 유효성 여부를 결정한다.
상기된 본 발명의 실시예들에 따르면, 펌웨어 서버가 무인증서 기반의 전자서명을 활용하여 배포하고자 하는 펌웨어에 서명하고 이를 스마트 그리드 디바이스가 검증함으로써, 인증서 관리의 불편함을 해소하고, 식별자(identifier, ID) 기반의 공개키 시스템이 갖는 키 에스크로 문제를 해결하며, 이를 통해 스마트 그리드 디바이스의 펌웨어 업그레이드시 배포용 펌웨어 이미지에 대한 무결성을 검증하고 출처를 인증함으로써 신뢰성이 보장된 펌웨어만을 선택적으로 디바이스에 설치하는 안정적인 관리 및 정보 보안이 달성 가능하다.
보다 구체적으로, 이상과 같은 무인증서 기반 전자서명을 통해, 본 발명의 실시예들은 종래의 인증서 기반의 전자서명과 다음과 같은 차이점을 갖는다.
종래의 전자서명의 경우, 전자서명에 대한 검증에 앞서 서명자의 인증서에 대한 검증 절차가 선행되는데, 이러한 검증 절차는 크게 다음과 같은 두 단계로 나누어진다. 첫째, 인증서의 유효기간이 남았는지 확인하고, CRL(Certificate Revocation List)에 등록되어 이미 폐기된 인증서가 아닌지 확인함으로써, 인증서의 유효성 검증을 수행한다. 둘째, 인증서가 생성된 이후, 위조 또는 변조가 이루어지지 않았는지 여부에 관하여 CA의 공개키를 이용하여 인증서의 서명값을 검증한다.
이에 반해, 본 발명의 실시예들이 채택하고 있는 무인증서 기반 전자서명의 경우, 상기된 인증서 관리의 이슈가 사라지게 되며, 식별자 기반의 전자서명 기술에서 나타나는 키 에스크로 문제(키 생성 기관이 서명자의 비밀키를 알고 있어, 키 생성기관이 서명을 생성할 수 있는 문제를 말한다.)를 상기된 부분 비밀키를 통해 해결할 수 있다는 장점을 갖는다. 결과적으로, 무인증서 기반 전자서명을 사용하는 본 발명의 실시예들에서는 디바이스에서 펌웨어 이미지에 대한 검증 절차가 크게 간소화될 수 있다.
한편, 본 발명의 실시예들은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.
컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현하는 것을 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술 분야의 프로그래머들에 의하여 용이하게 추론될 수 있다.
이상에서 본 발명에 대하여 그 다양한 실시예들을 중심으로 살펴보았다. 본 발명에 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
10 : 키 생성 서버 (KGC)
20 : 펌웨어 서버
23 : 관리 서버 (MS) 25 : 배포 서버 (DS)
30 : 디바이스, 스마트 그리드 디바이스 (SGD)

Claims (9)

  1. 펌웨어(firmware) 서버가 디바이스의 펌웨어를 관리하는 방법에 있어서,
    상기 펌웨어 서버가 키 생성 서버로부터 펌웨어 서버 자신의 식별자에 대응하는 부분 비밀키를 수신하는 단계;
    상기 펌웨어 서버가 상기 수신된 부분 비밀키에 기초하여 공개키 및 비밀키를 생성하는 단계;
    상기 생성된 비밀키를 이용하여 상기 펌웨어 서버가 자신이 관리하는 펌웨어의 해쉬값에 대한 서명값을 생성하는 단계; 및
    상기 펌웨어 서버가 상기 펌웨어와 상기 생성된 서명값을 결합하여 배포용 펌웨어 이미지를 생성하는 단계;를 포함하되,
    상기 펌웨어 서버는, 상기 디바이스의 펌웨어 갱신 요청에 따라 상기 배포용 펌웨어 이미지를 상기 디바이스에 전송하며, 상기 공개키를 이용하여 상기 디바이스로 하여금 상기 배포용 펌웨어 이미지 내에 포함된 서명값을 검증함으로써 유효한 펌웨어만을 설치하도록 유도하는 것을 특징으로 하는 방법.
  2. 제 1 항에 있어서,
    상기 부분 비밀키는,
    상기 펌웨어 서버가 자신의 식별자를 상기 키 생성 서버에 전송하고, 부분 비밀키 추출(partial private key extract) 알고리즘을 이용하여 상기 키 생성 서버로 하여금 상기 펌웨어 서버의 식별자에 대응하는 부분 비밀키를 생성하도록 한 후, 생성된 부분 비밀키를 전송받음으로써 획득되는 것을 특징으로 하는 방법.
  3. 제 1 항에 있어서,
    상기 펌웨어 서버가 상기 펌웨어의 갱신 정보, 상기 펌웨어 서버의 식별자, 상기 공개키를 상기 디바이스에 제공하는 단계;를 더 포함하고,
    상기 디바이스가 상기 갱신 정보를 참조하여 자신의 펌웨어를 갱신할 필요가 있다고 판단한 경우, 상기 디바이스는 상기 펌웨어 서버에 펌웨어 갱신을 요청하는 것을 특징으로 하는 방법.
  4. 제 3 항에 있어서,
    상기 펌웨어 서버로부터 상기 배포용 펌웨어 이미지를 수신한 경우, 상기 디바이스는,
    상기 펌웨어 서버의 식별자, 상기 공개키, 상기 배포용 펌웨어 이미지 내에 포함된 펌웨어의 해쉬값 및 서명값을 이용하여 상기 서명값의 유효성을 판단함으로써 유효한 펌웨어만을 설치하는 것을 특징으로 하는 방법.
  5. 제 1 항에 있어서,
    상기 키 생성 서버는 제 3의 신뢰 기관으로서 무인증서(certificateless) 기반의 전자서명 방식에 따르는 부분 비밀키를 생성하고,
    상기 펌웨어 서버는 새로운 버전의 펌웨어를 저장하고, 상기 부분 비밀키에 기반한 비밀키를 이용하여 전자서명이 부착된 배포용 펌웨어 이미지를 생성하여 상기 디바이스에게 제공하며,
    상기 디바이스는 상기 펌웨어 서버로부터 펌웨어를 제공받아 상기 전자서명의 유효성이 검증된 경우에만 상기 펌웨어를 설치하는 것을 특징으로 하는 방법.
  6. 디바이스가 자신의 펌웨어를 갱신하는 방법에 있어서,
    상기 디바이스가 펌웨어 서버로부터 펌웨어의 갱신 정보, 상기 펌웨어 서버의 식별자 및 공개키를 수신하는 단계;
    상기 디바이스가 상기 갱신 정보를 참조하여 자신의 펌웨어를 갱신할 필요가 있는지 여부를 판단하는 단계;
    펌웨어를 갱신할 필요가 있다고 판단되는 경우, 상기 디바이스가 상기 펌웨어 서버에 펌웨어 갱신을 요청하고, 상기 펌웨어 서버로부터 배포용 펌웨어 이미지를 수신하는 단계; 및
    상기 디바이스가 상기 공개키를 이용하여 상기 수신된 배포용 펌웨어 이미지 내에 포함된 서명값을 검증함으로써 유효한 펌웨어만을 선택적으로 설치하는 단계;를 포함하되,
    상기 배포용 펌웨어 이미지는,
    상기 펌웨어 서버가 키 생성 서버로부터 펌웨어 서버 자신의 식별자에 대응하는 부분 비밀키를 수신하고, 상기 수신된 부분 비밀키에 기초하여 공개키 및 비밀키를 생성하고, 상기 생성된 비밀키를 이용하여 펌웨어의 해쉬값에 대한 서명값을 생성하며, 상기 펌웨어와 상기 생성된 서명값을 결합함으로써 상기 펌웨어 서버 내에 생성된 것을 특징으로 하는 방법.
  7. 제 6 항에 있어서,
    상기 펌웨어 서버로부터 상기 배포용 펌웨어 이미지를 수신한 경우, 상기 디바이스는,
    상기 펌웨어 서버의 식별자, 상기 공개키, 상기 배포용 펌웨어 이미지 내에 포함된 펌웨어의 해쉬값 및 서명값을 이용하여 상기 서명값의 유효성을 판단함으로써 유효한 펌웨어만을 설치하는 것을 특징으로 하는 방법.
  8. 제 6 항에 있어서,
    상기 디바이스는,
    스마트 그리드(smart grid) 디바이스로서, 상기 펌웨어 서버의 펌웨어 갱신 정보를 참조하여 펌웨어 갱신 요청을 전송하고,
    상기 펌웨어 갱신 요청에 따라 상기 배포용 펌웨어 이미지가 수신된 경우, 출처가 검증된 펌웨어만을 설치하는 것을 특징으로 하는 방법.
  9. 제 1 항 내지 제 8 항 중에 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020120096809A 2012-08-31 2012-08-31 무인증서 기반 서명을 이용한 디바이스의 펌웨어 관리 장치 및 방법 KR101373574B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020120096809A KR101373574B1 (ko) 2012-08-31 2012-08-31 무인증서 기반 서명을 이용한 디바이스의 펌웨어 관리 장치 및 방법
PCT/KR2013/007180 WO2014035077A1 (ko) 2012-08-31 2013-08-09 무인증서 기반 서명을 이용한 디바이스의 펌웨어 관리 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120096809A KR101373574B1 (ko) 2012-08-31 2012-08-31 무인증서 기반 서명을 이용한 디바이스의 펌웨어 관리 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20140029070A KR20140029070A (ko) 2014-03-10
KR101373574B1 true KR101373574B1 (ko) 2014-03-12

Family

ID=50183837

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120096809A KR101373574B1 (ko) 2012-08-31 2012-08-31 무인증서 기반 서명을 이용한 디바이스의 펌웨어 관리 장치 및 방법

Country Status (2)

Country Link
KR (1) KR101373574B1 (ko)
WO (1) WO2014035077A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11520483B2 (en) 2020-09-24 2022-12-06 Samsung Electronics Co., Ltd. Operating method for performing firmware image chunk update and verification of whether damage as occurred on storage device

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2854066B1 (en) * 2013-08-21 2018-02-28 Nxp B.V. System and method for firmware integrity verification using multiple keys and OTP memory
KR102139546B1 (ko) * 2014-03-11 2020-07-30 삼성전자주식회사 펌웨어 검증 기능을 갖는 모바일 시스템 그리고 그것의 펌웨어 업데이트 방법
CN104393996B (zh) * 2014-11-04 2018-10-23 马鞍山城智信息技术有限公司 一种基于无证书的签密方法和系统
CN106802810B (zh) * 2016-11-28 2020-08-11 硅谷数模半导体(北京)有限公司 固件升级方法及装置、系统
CN111124453B (zh) * 2019-12-25 2023-03-31 哈尔滨新中新电子股份有限公司 一种终端设备固件程序升级方法
CN111538512A (zh) * 2020-04-16 2020-08-14 山东正中信息技术股份有限公司 一种空中下载技术ota固件升级方法、装置及设备
WO2022144438A1 (en) * 2020-12-31 2022-07-07 Onespan Nv A system, apparatus and method for memory efficient updating of firmware

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060074955A (ko) * 2004-12-28 2006-07-03 주식회사 케이티 홈 네트워크 서비스에 사용되는 단말기 소프트웨어의업그레이드 시스템 및 그 방법
KR20090013734A (ko) * 2007-08-01 2009-02-05 엔이씨 시스템 테크놀로지 가부시키가이샤 소프트웨어 정의 무선장치, 및 소프트웨어 갱신 방법, 및소프트웨어 정의 무선시스템
US20100119061A1 (en) 2008-11-13 2010-05-13 International Business Machines Corporation Generating secure private keys for use in a public key communications environment

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060074955A (ko) * 2004-12-28 2006-07-03 주식회사 케이티 홈 네트워크 서비스에 사용되는 단말기 소프트웨어의업그레이드 시스템 및 그 방법
KR20090013734A (ko) * 2007-08-01 2009-02-05 엔이씨 시스템 테크놀로지 가부시키가이샤 소프트웨어 정의 무선장치, 및 소프트웨어 갱신 방법, 및소프트웨어 정의 무선시스템
US20100119061A1 (en) 2008-11-13 2010-05-13 International Business Machines Corporation Generating secure private keys for use in a public key communications environment

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"A new provably secure certificateless short signature scheme" Computers & Mathematics with Applications, Volume 61, Issue 7, Aprill 2011, pp. 1760-1768 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11520483B2 (en) 2020-09-24 2022-12-06 Samsung Electronics Co., Ltd. Operating method for performing firmware image chunk update and verification of whether damage as occurred on storage device

Also Published As

Publication number Publication date
WO2014035077A1 (ko) 2014-03-06
KR20140029070A (ko) 2014-03-10

Similar Documents

Publication Publication Date Title
KR101373574B1 (ko) 무인증서 기반 서명을 이용한 디바이스의 펌웨어 관리 장치 및 방법
CN103886260B (zh) 一种基于二次签名验签技术的应用程序管控方法
US11714633B2 (en) Method for providing a firmware update of a device
US8819441B2 (en) Long-term signature server, long-term signature terminal, and long-term signature verification server
KR101430240B1 (ko) 어플리케이션 서명 장치 및 방법
US11379213B1 (en) Decentralized identifiers for securing device registration and software updates
CN104901794A (zh) 根证书的撤销
US11411746B2 (en) Systems, methods, and storage media for permissioned delegation in a computing environment
CN108696356B (zh) 一种基于区块链的数字证书删除方法、装置及系统
CN103080958A (zh) 用于产生/发行电子文档分发证书的方法、用于验证电子文档分发证书的方法以及用于分发电子文档的系统
WO2019109943A1 (zh) 一种云平台管理方法、装置、电子设备及可读存储介质
US10516535B2 (en) Management apparatus, measurement apparatus, service providing apparatus, computer program product, transfer system, and transfer method
CN111934870B (zh) 区块链网络中的根证书更新方法、装置、设备以及介质
CN109961281B (zh) 流量结算方法、系统,以及基站和计算机可读存储介质
US10116454B2 (en) Authentication system and authentication method
KR20190115515A (ko) Pki 기반의 사물인터넷 기기 인증방법 및 인증시스템
CN110730081A (zh) 基于区块链网络的证书吊销方法、相关设备及介质
US10615986B2 (en) Authentication system and authentication method
JP2012195903A (ja) 情報処理装置、プログラム及びアクセス制御システム
US9729332B2 (en) Device authentication system and authentication method
KR20200143034A (ko) 인증서 기반의 보안 전자식 전력량계
Akkaoui et al. Resilient, Auditable and Secure IoT-Enabled Smart Inverter Firmware Amendments With Blockchain
JP5477922B2 (ja) 長期署名検証用サーバ
KR102162108B1 (ko) Nfv 환경을 위한 lw_pki 시스템 및 그 시스템을 이용한 통신방법.
KR20230009535A (ko) 신원증명 인증 서비스공급자 단말 및 그 동작 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170109

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180108

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190211

Year of fee payment: 6