KR101977159B1 - 경량화된 보안 방식을 지원하는 보안 서비스 제공 장치 및 방법 - Google Patents

경량화된 보안 방식을 지원하는 보안 서비스 제공 장치 및 방법 Download PDF

Info

Publication number
KR101977159B1
KR101977159B1 KR1020180172906A KR20180172906A KR101977159B1 KR 101977159 B1 KR101977159 B1 KR 101977159B1 KR 1020180172906 A KR1020180172906 A KR 1020180172906A KR 20180172906 A KR20180172906 A KR 20180172906A KR 101977159 B1 KR101977159 B1 KR 101977159B1
Authority
KR
South Korea
Prior art keywords
block
key
encryption key
terminal
hash value
Prior art date
Application number
KR1020180172906A
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 KR1020180172906A priority Critical patent/KR101977159B1/ko
Application granted granted Critical
Publication of KR101977159B1 publication Critical patent/KR101977159B1/ko
Priority to US16/683,240 priority patent/US11133931B2/en

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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0872Generation of secret information including derivation or calculation of cryptographic keys or passwords using geo-location information, e.g. location data, time, relative position or proximity to other entities
    • 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/12Transmitting and receiving encryption devices synchronised or initially set up in a particular manner
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • 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
    • 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
    • H04L9/3239Cryptographic 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 involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • H04L2209/38
    • 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/80Wireless
    • H04L2209/805Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 경량화된 보안 방식을 지원하는 보안 서비스 제공 장치 및 방법에 관한 것으로서, 더욱 상세히는 단말과의 시간 동기화를 위해 사용되는 오차 계수와 블록 체인의 해시를 암호화키 생성에 이용하여 단말과의 통신에 대한 보안을 보장함과 동시에 보안 복잡도를 개선하여 경량화된 보안 방식을 제공하며, 상기 블록 체인을 통해 암호화 키에 대한 보안 역시 보장할 수 있는 경량화된 보안 방식을 지원하는 보안 서비스 제공 장치 및 방법에 관한 것이다. 본 발명은 서비스 제공 장치와 단말 사이의 통신 세션에 대한 보안을 위해 단말과의 시간 동기화 과정에서 생성된 시간 오차와 블록 체인에 저장되는 타 단말의 암호화키 관련 정보를 기반으로 생성된 해시를 조합하여 해시 알고리즘을 통해 단말의 암호화키를 해시로 생성함으로써 유추가 불가능하며 보안성이 높은 대칭 암호화키를 생성하고 이를 기반으로 통신 세션을 통해 송수신되는 데이터가 암호화되도록 지원함으로써, 해시로 구성되어 보안성이 높은 대칭 암호화키를 이용한 경량화된 보안 방식을 제공하여 안전하게 단말과의 통신 세션에 대한 보안을 보장할 뿐만 아니라 보안과 관련되어 단말의 처리 부하를 낮출 수 있어 단말이 저성능 장치로 구성된 경우에도 용이하게 적용 가능한 동시에 송수신 데이터와 관련하여 높은 보안성 및 신뢰성을 보장하는 효과가 있다.

Description

경량화된 보안 방식을 지원하는 보안 서비스 제공 장치 및 방법{Security service providing apparatus and method supporting lightweight security}
본 발명은 경량화된 보안 방식을 지원하는 보안 서비스 제공 장치 및 방법에 관한 것으로서, 더욱 상세히는 단말과의 시간 동기화를 위해 사용되는 오차 계수와 블록 체인의 해시를 암호화키 생성에 이용하여 단말과의 통신에 대한 보안을 보장함과 동시에 보안 복잡도를 개선하여 경량화된 보안 방식을 제공하며, 상기 블록 체인을 통해 암호화 키에 대한 보안 역시 보장할 수 있는 경량화된 보안 방식을 지원하는 보안 서비스 제공 장치 및 방법에 관한 것이다.
현재 영상 감시 시스템이나 IoT 시스템 등과 같은 다양한 시스템을 구성하는 장치간에 송수신되는 데이터의 보안을 위한 다양한 보안 방식이 등장하고 있으며, 이러한 데이터 보안은 데이터 신뢰성과 직결되므로 그 중요성이 점차 커지고 있다.
그러나, 기존 암호화 방식은 복잡도가 상당하여 시스템을 관리하는 서버에는 해당 암호화 방식을 지원하는 하드웨어 구성이 가능하지만 해당 시스템에서 서버와 통신하는 종단 장치가 저성능 장치인 경우 이러한 보안 프로토콜을 지원하기 어려운 문제가 있다.
설령 이러한 종단 장치에 보안 프로토콜을 지원하는 하드웨어 구성이 가능하다 하더라도 서버와의 통신시 종단 장치에 가해지는 부하가 상당하여 이러한 부하로 인한 통신 장애 및 통신 지연의 발생 가능성이 높아 시스템 안정성과 신뢰도를 저하시키는 문제가 있다.
한국등록특허 제10-0577875호
본 발명은 시스템을 구성하는 단말이 저성능 장치로 구성된 경우에 대해서도 단말에 용이하게 적용할 수 있으며 대칭 암호화키를 이용한 경량화된 보안 방식을 제공하여 안전하게 단말과의 통신 세션에 대한 보안을 보장할 뿐만 아니라 보안과 관련된 단말의 처리 부하를 낮추어 시스템의 안정성 및 신뢰도를 보장하는데 그 목적이 있다.
또한, 본 발명은 단말과의 통신시에 사용되는 대칭 암호화키의 위변조를 용이하게 검출하여 암호화키에 대한 보안을 보장함으로써 시스템 전체에 대한 보안성을 보장하는데 그 목적이 있다.
본 발명의 실시예에 따른 경량화된 보안 방식을 지원하는 보안 서비스 제공 방법은, 서비스 제공 장치가 미리 설정된 동기화 프로토콜에 따라 특정 단말과 시간 동기화를 수행하는 동기화 단계와, 상기 서비스 제공 장치가 상기 특정 단말의 암호화키 생성을 위해 블록 체인에 사용되는 미리 저장된 공유 원장에서 상기 특정 단말의 암호화키와 연관된 신규 블록과 연결 대상인 이전 블록을 식별하는 식별 단계와, 상기 서비스 제공 장치가 상기 이전 블록에 포함되어 타 단말의 타 암호화키 관련 정보가 저장된 기존 키블록에서 미리 설정된 해시 알고리즘에 상기 타 단말 관련 타 암호화키 생성에 이용된 해시값과 상기 타 단말의 식별정보 및 상기 타 단말 관련 타 암호화키를 포함하는 상기 타 암호화키 관련 정보와 상기 기존 키블록의 생성 시간을 적용하여 얻어진 기존 키블록 해시값을 추출하고, 상기 시간 동기화를 통해 측정된 상기 특정 단말과의 시간 오차에 따른 오차 계수 및 상기 기존 키블록 해시값을 미리 설정된 해시 알고리즘에 적용하여 상기 암호화키를 생성하는 생성 단계와, 상기 서비스 제공 장치가 상기 특정 단말에서 상기 암호화키를 생성하도록 상기 기존 키블록 해시값을 전송하는 전송 단계 및 상기 서비스 제공 장치가 상기 암호화키를 생성한 상기 특정 단말로 송신 데이터를 상기 암호화키로 암호화하여 전송하거나, 상기 특정 단말로부터 수신되는 상기 암호화키로 암호화된 수신 데이터를 상기 암호화키로 복호화하는 보안 단계를 포함할 수 있다.
본 발명과 관련된 일 예로서, 상기 암호화키는 대칭키인 것을 특징으로 할 수 있다.
본 발명과 관련된 일 예로서, 상기 동기화 프로토콜은 NTP인 것을 특징으로 할 수 있다.
본 발명과 관련된 일 예로서, 상기 서비스 제공 장치로부터 상기 기존 키블록 해시값을 수신한 상기 특정 단말이 상기 기존 키블록 해시값과 상기 서비스 제공 장치와의 동기화 수행 과정에서 측정된 상기 오차 계수를 기초로 상기 암호화키를 생성하는 단계를 더 포함하는 것을 특징으로 할 수 있다.
본 발명과 관련된 일 예로서, 상기 생성 단계는 상기 서비스 제공 장치가 상기 기존 키블록에서 추출한 기존 키블록 해시값과 상기 시간 동기화를 통해 측정된 시간 오차에 따른 오차 계수를 상기 해시 알고리즘에 적용하여 얻어진 1차 난수값과 미리 설정된 고유 설정값을 다시 상기 해시 알고리즘에 적용하여 얻어진 2차 난수값을 상기 암호화키로서 생성하는 단계로 구성되고, 상기 특정 단말이 상기 서비스 제공 장치로부터 수신한 상기 기존 키블록 해시값 및 상기 오차 계수를 상기 해시 알고리즘에 적용하여 생성한 1차 난수값 및 상기 서비스 제공 장치로부터 수신하여 미리 설정된 상기 고유 설정값을 다시 상기 해시 알고리즘에 적용하여 얻어진 2차 난수값을 상기 암호화키로 생성한 후 상기 서비스 제공 장치가 생성한 암호화키와의 동일 여부를 검증하는 단계를 더 포함하는 것을 특징으로 할 수 있다.
본 발명과 관련된 일 예로서, 상기 서비스 제공 장치가 상기 특정 단말의 암호화키와 관련되어 생성한 하나 이상의 트랜잭션을 기초로 상기 이전 블록에 연결되는 신규 블록을 생성하며, 상기 신규 블록 생성시 상기 특정 단말에 대한 암호화키 생성에 사용된 상기 기존 키블록 해시값과 상기 특정 단말의 식별정보 및 상기 특정 단말 관련 암호화키를 포함하는 상기 암호화키 관련 정보가 포함된 신규 키블록의 생성 시간과 상기 암호화키 관련 정보를 상기 해시 알고리즘에 적용하여 얻어진 신규 키블록 해시값을 포함하는 상기 신규 키블록을 생성한 후 상기 신규 블록에 포함시켜 상기 이전 블록에 포함된 상기 기존 키블록 해시값에 대응되는 기존 키블록과 상기 신규 키블록이 상호 연결되도록 상기 신규 블록을 상기 공유 원장에 등록하는 등록 단계를 더 포함하는 것을 특징으로 할 수 있다.
본 발명과 관련된 일 예로서, 상기 등록 단계는 상기 서비스 제공 장치가 상기 신규 블록의 생성 주기 동안에 상기 특정 단말의 암호화키와 관련되어 생성한 하나 이상의 트랜잭션 및 하나 이상의 다른 단말과의 통신에 따라 송수신되는 데이터와 관련되어 생성된 하나 이상의 트랜잭션 각각에 대한 해시값을 기초로 상기 신규 블록의 위조 여부를 판단하기 위한 루트 해시값을 생성하고, 상기 이전 블록의 블록 해시값과 상기 루트 해시값을 기초로 상기 신규 블록을 이전 블록과 연결하기 위한 블록 해시값을 생성하여 상기 신규 블록에 포함시킨 후 상기 신규 블록을 상기 이전 블록에 연결되도록 상기 공유 원장에 등록하는 단계를 더 포함하는 것을 특징으로 할 수 있다.
본 발명과 관련된 일 예로서, 상기 서비스 제공 장치가 상기 특정 단말의 암호화키 생성 이후 상기 암호화키를 삭제하여 폐기한 경우 상기 암호화키 폐기 당시 생성되는 특정 키블록에서 폐기 대상인 암호화키 관련 폐기 정보를 상기 특정 키블록에 추가하고, 상기 폐기 정보를 상기 특정 키블록에 포함된 상기 특정 키블록 이전의 키블록에 대한 키블록 해시값과, 상기 특정 키블록에 대응되는 하나 이상 단말별 식별정보와, 상기 특정 키블록에 대응되는 하나 이상의 서로 다른 새로운 암호화키 및 상기 특정 키블록의 생성 시간과 함께 상기 해시 알고리즘에 적용하여 상기 특정 키블록의 키블록 해시값을 산출하고, 상기 폐기 정보가 반영된 키블록 해시값을 상기 특정 키블록에 설정한 후 상기 폐기 정보가 포함된 특정 키블록을 상기 공유 원장에 등록하여 저장하며, 상기 암호화키가 폐기된 특정 단말에 대해 상기 동기화 단계, 식별 단계, 생성 단계 및 전송 단계를 수행하여 상기 특정 단말에 대응되는 신규 암호화키를 생성하는 단계를 더 포함하는 것을 특징으로 할 수 있다.
본 발명의 실시예에 따른 복수의 서로 다른 단말과 통신망을 통해 통신하며 경량화된 보안 방식을 지원하는 보안 서비스 제공 장치는, 미리 설정된 동기화 프로토콜에 따라 특정 단말과 시간 동기화를 수행하는 동기화부와, 상기 특정 단말의 암호화키 생성을 위해 블록 체인에 사용되는 미리 저장된 공유 원장에서 상기 특정 단말의 암호화키와 연관된 신규 블록과 연결 대상인 이전 블록을 식별하고, 상기 이전 블록에 포함되어 타 단말의 타 암호화키 관련 정보가 저장된 기존 키블록에서 미리 설정된 해시 알고리즘에 상기 타 단말 관련 타 암호화키 생성에 이용된 해시값과 상기 타 단말의 식별정보 및 상기 타 단말 관련 타 암호화키를 포함하는 상기 타 암호화키 관련 정보와 상기 기존 키블록의 생성 시간을 적용하여 얻어진 기존 키블록 해시값을 추출하고, 상기 시간 동기화를 통해 측정된 상기 특정 단말과의 시간 오차에 따른 오차 계수 및 상기 기존 키블록 해시값을 미리 설정된 해시 알고리즘에 적용하여 상기 특정 단말에 대한 암호화키를 생성하며, 상기 특정 단말에서 동일한 암호화키를 생성하도록 상기 기존 키블록 해시값을 전송하는 암호화키 생성부 및 상기 암호화키를 생성한 상기 특정 단말로 송신 데이터를 상기 암호화키로 암호화하여 전송하거나, 상기 특정 단말로부터 수신되는 상기 암호화키로 암호화된 수신 데이터를 상기 암호화키로 복호화하는 암복호화부를 포함할 수 있다.
본 발명과 관련된 일 예로서, 상기 특정 단말의 암호화키와 관련되어 생성한 하나 이상의 트랜잭션을 기초로 상기 이전 블록에 연결되는 신규 블록을 생성하며, 상기 신규 블록 생성시 상기 특정 단말에 대한 암호화키 생성에 사용된 상기 기존 키블록 해시값과 상기 특정 단말의 식별정보 및 상기 특정 단말 관련 암호화키를 포함하는 상기 암호화키 관련 정보가 포함된 신규 키블록의 생성 시간과 상기 암호화키 관련 정보를 상기 해시 알고리즘에 적용하여 얻어진 신규 키블록 해시값을 포함하는 상기 신규 키블록을 생성한 후 상기 신규 블록에 포함시켜 상기 이전 블록에 포함된 상기 기존 키블록 해시값에 대응되는 기존 키블록과 상기 신규 키블록이 상호 연결되도록 상기 신규 블록을 상기 공유 원장에 등록하는 블록체인 관리부를 더 포함하는 것을 특징으로 할 수 있다.
본 발명은 서비스 제공 장치와 단말 사이의 통신 세션에 대한 보안을 위해 단말과의 시간 동기화 과정에서 생성된 시간 오차와 블록 체인에 저장되는 타 단말의 암호화키 관련 정보를 기반으로 생성된 해시를 조합하여 해시 알고리즘을 통해 단말의 암호화키를 해시로 생성함으로써 유추가 불가능하며 보안성이 높은 대칭 암호화키를 생성하고 이를 기반으로 통신 세션을 통해 송수신되는 데이터가 암호화되도록 지원함으로써, 해시로 구성되어 보안성이 높은 대칭 암호화키를 이용한 경량화된 보안 방식을 제공하여 안전하게 단말과의 통신 세션에 대한 보안을 보장할 뿐만 아니라 보안과 관련되어 단말의 처리 부하를 낮출 수 있어 단말이 저성능 장치로 구성된 경우에도 용이하게 적용 가능한 동시에 송수신 데이터와 관련하여 높은 보안성 및 신뢰성을 보장하는 효과가 있다.
또한, 본 발명은 암호화키의 위변조를 확인하기 위해 블록체인을 사용하되, 암호화키 생성 과정에서 생성되는 트랜잭션을 기반으로 생성한 블록 이외에도 암호화키의 생성 과정에서 사용되는 정보와 상기 암호화키에 대응되는 단말의 식별정보 및 상기 암호화키를 이용하여 상기 블록과 구분되는 암호화키의 위변조 확인을 위한 별도의 키블록을 생성한 후 서로 다른 키블록 상호간 체인처럼 연결되도록 공유 원장에 저장하여 암호화키 뿐만 아니라 암호화키 관련 정보에 대한 위변조 발생시 이를 용이하게 검출할 수 있도록 지원함으로써, 통신 세션의 암호화에 사용되는 암호화키에 대한 보안성을 높이는 효과가 있다.
도 1은 본 발명의 실시예에 따른 경량화된 보안 방식을 지원하는 보안 서비스 제공 장치가 구성된 보안 서비스 제공 시스템의 구성도.
도 2는 본 발명의 실시예에 따른 경량화된 보안 방식을 지원하는 보안 서비스 제공 장치의 보안 서비스 제공 방법에 대한 동작 예시도.
도 3은 본 발명의 실시예에 따른 경량화된 보안 방식을 지원하는 보안 서비스 제공 방법에 대한 순서도.
도 4는 본 발명의 실시예에 따른 경량화된 보안 방식을 지원하는 보안 서비스 제공 장치의 블록 체인 관리에 대한 예시도.
도 5는 본 발명의 실시예에 따른 경량화된 보안 방식을 지원하는 보안 서비스 제공 장치의 상세 구성도.
도 6 내지 도 9는 본 발명의 실시예에 따른 경량화된 보안 방식을 지원하는 보안 서비스 제공 방법 관련 알고리즘 예시도.
이하, 도면을 참고하여 본 발명의 상세 실시예를 설명한다.
도 1은 본 발명의 실시예에 따른 경량화된 보안 방식을 지원하는 보안 서비스 제공 장치(100)가 구성된 보안 서비스 제공 시스템의 구성도이며, 도 2 및 도 3은 각각 상기 보안 서비스 제공 장치(이하, 서비스 제공 장치)(100)의 경량화된 보안 방식을 지원하는 보안 서비스 제공 방법에 대한 동작 예시도 및 순서도이다.
도 1 내지 도 3을 참고하여 본 발명의 상세 동작 구성을 설명한다.
도시된 바와 같이, 상기 서비스 제공 장치(100)는 하나 이상의 단말(10)과 통신망을 통해 상호 연결될 수 있으며, 상기 서비스 제공 장치(100)는 블록 체인(blockchain) 기반의 공유 원장을 미리 저장할 수 있다.
이때, 상기 통신망은 널리 알려진 다양한 유무선 통신 방식이 적용될 수 있으며, 이러한 무선 통신망의 일례로 무선랜(Wireless LAN: WLAN), DLNA(Digital Living Network Alliance), 와이브로(Wireless Broadband: Wibro), 와이맥스(World Interoperability for Microwave Access: Wimax), GSM(Global System for Mobile communication), CDMA(Code Division Multi Access), CDMA2000(Code Division Multi Access 2000), EV-DO(Enhanced Voice-Data Optimized or Enhanced Voice-Data Only), WCDMA(Wideband CDMA), HSDPA(High Speed Downlink Packet Access), HSUPA(High Speed Uplink Packet Access), IEEE 802.16, 롱 텀 에볼루션(Long Term Evolution: LTE), LTE-A(Long Term Evolution-Advanced), 광대역 무선 이동 통신 서비스(Wireless Mobile Broadband Service: WMBS), 5G 이동통신 서비스, 블루투스(Bluetooth), LoRa(Long Range), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association: IrDA), UWB(Ultra Wideband), 지그비(ZigBee), 인접 자장 통신(Near Field Communication: NFC), 초음파 통신(Ultra Sound Communication: USC), 가시광 통신(Visible Light Communication: VLC), 와이 파이(Wi-Fi), 와이 파이 다이렉트(Wi-Fi Direct) 등이 포함될 수 있다. 또한, 유선 통신망으로는 유선 LAN(Local Area Network), 유선 WAN(Wide Area Network), 전력선 통신(Power Line Communication: PLC), USB 통신, 이더넷(Ethernet), 시리얼 통신(serial communication), 광/동축 케이블 등이 포함될 수 있다.
또한, 상기 서비스 제공 장치(100)는 서버로 구성될 수 있으며, 상기 단말은 카메라, 센서, VMS(Video Management System), DVR(Digital Video Recorder), NVR(Network Video Recorder), IoT(Internet of Things) 단말 등과 같은 다양한 단말로 구성될 수 있다.
이때, 상기 카메라는 IP(Internet Protocol) 카메라로 구성될 수 있다.
또한, 상기 단말(10)은 종단 장치로 구성될 수 있다.
한편, 상기 서비스 제공 장치(100)는 상기 단말(10)과의 통신시 통신 세션(session)에 대한 보안성을 보장하면서 경량화된 보안 방식을 지원하여 상기 단말(10)이 저성능 장치로 구성된 경우에도 용이하게 단말과의 보안 통신 세션을 형성할 수 있도록 지원함과 아울러 단말(10)과의 통신 세션에 사용되는 암호화키의 보안성을 보장하여 단말(10)과의 통신시 보안에 대한 신뢰도를 보장할 수 있는데, 이를 상세히 설명한다.
우선, 상기 서비스 제공 장치(100)는 미리 설정된 동기화 프로토콜에 따라 하나 이상의 단말(10) 각각에 대해 시간 동기화를 수행할 수 있다.
이때, 상기 동기화 프로토콜은 NTP(network time protocol)일 수 있다.
이에 따라, 상기 서비스 제공 장치(100)는 상기 동기화 프로토콜에 따라 상기 하나 이상의 단말(10)별로 시간 동기화를 수행할 수 있으며, 이를 통해 상기 단말(10)별로 시간 오차를 측정하여 저장할 수 있다(S1).
이때, 상기 서비스 제공 장치(100)와 상기 동기화 프로토콜에 따라 시간 동기화를 수행한 특정 단말(10)은 상기 서비스 제공 장치(100)가 상기 특정 단말(10)에 대해 측정한 시간 오차와 동일한 시간 오차를 산출하여 저장할 수 있다.
이를 통해, 상기 서비스 제공 장치(100)와 특정 단말(10)은 상호 동일한 시간 오차를 공유할 수 있다.
한편, 상기 서비스 제공 장치(100)는 상기 특정 단말(10)에 대한 암호화키를 생성하기 위해서 블록 체인에 사용되는 미리 저장된 공유 원장에서 상기 특정 단말(10)의 암호화키와 연관된 신규 블록과 연결 대상인 이전 블록을 식별할 수 있다(S2).
이때, 상기 신규 블록은 상기 특정 단말(10)의 암호화키 생성 과정에 대한 하나 이상의 트랜잭션(transaction)이 포함되거나 상기 특정 단말(10)의 암호화키 생성 과정과 관련된 트랜잭션을 기반으로 생성되는 블록일 수 있다.
또한, 상기 이전 블록은 특정 단말(10)과 상이한 타 단말의 암호화키(타 암호화키) 생성 과정에 대한 하나 이상의 트랜잭션이 포함되거나 상기 타 단말의 암호화키(타 암호화키) 생성 과정과 관련된 트랜잭션을 기반으로 생성되는 블록일 수 있다.
즉, 상기 공유 원장에 저장되는 블록들은 상기 서비스 제공 장치(100)와 통신하는 단말의 암호화키 생성 과정에 대한 트랜잭션 또는 해당 트랜잭션과 관련된 정보를 포함할 수 있다.
또한, 상기 서비스 제공 장치(100)는 상기 공유 원장에 저장된 상기 이전 블록에 포함되어 타 단말의 타 암호화키 관련 정보가 저장된 기존 키블록에서 미리 설정된 해시(hash) 알고리즘에 상기 타 단말 관련 타 암호화키 생성에 이용된 해시값과 상기 타 단말의 식별정보 및 상기 타 단말 관련 타 암호화키를 포함하는 상기 타 암호화키 관련 정보와 상기 기존 키블록의 생성 시간을 적용하여 얻어진 기존 키블록 해시값을 추출할 수 있다(S3).
이때, 상기 타 암호화키 관련 정보는 상기 타 단말 관련 타 암호화키 생성에 이용된 해시값과 상기 타 단말의 식별정보 및 상기 타 단말 관련 타 암호화키를 포함할 수 있으며, 상기 기존 키블록의 생성 시간 역시 상기 타 암호화키 관련 정보에 포함될 수 있다. 또한 상기 기존 키블록에는 상기 기존 키블록 해시값이 저장(포함)될 수 있다.
또한, 상기 타 암호화키는 상기 서비스 제공 장치(100)가 상기 타 단말과 데이터 보안을 위해 상기 타 단말과 공유하는 대칭 암호화키이며, 상기 특정 단말(10)의 암호화키 생성 과정과 동일한 방식에 따라 상기 타 단말에 대해 생성된 암호화키일 수 있다.
또한, 상기 타 암호화키 생성에 이용된 해시값은 공유 원장에서 상기 기존 키블록과 연결된 이전 키블록의 키블록 해시값일 수 있으며, 상기 이전 키블록은 상기 특정 단말 관련 암호화키 및 상기 타 단말 관련 타 암호화키 이외의 다른 암호화키의 생성 과정에서 생성되어 공유 원장에 저장된 키블록으로서 상기 다른 암호화키 관련 정보가 포함된 키블록일 수 있다. 또한, 상기 이전 키블록은 상기 타 암호화키의 생성 직전에 생성된 상기 다른 암호화키에 대한 키블록일 수 있다.
또한, 상기 서비스 제공 장치(100)는 상기 시간 동기화를 통해 측정된 상기 특정 단말(10)과의 시간 오차에 따른 오차 계수 및 상기 기존 키블록 해시값을 미리 설정된 해시 알고리즘에 적용하여 난수값을 산출하고, 해당 난수값을 상기 특정 단말(10)에 대한 암호화키로서 생성할 수 있다(S4).
이때, 본 발명에서 설명하는 해시 알고리즘은 SHA-1(Secure Hash Algorithm-1)일 수 있다.
또한, 상기 서비스 제공 장치(100)는 상기 이전 블록이 식별되지 않는 경우 상기 오차 계수를 미리 설정된 해시 알고리즘에 적용하여 상기 특정 단말(10)에 대한 암호화키를 생성할 수 있다.
일례로, 상기 서비스 제공 장치(100)는 상기 특정 단말(10)의 암호화키 생성과 관련되어 생성 예정인 신규 블록의 생성 이전에 가장 최근에 생성되어 상기 공유 원장에 저장된 상태인 상기 이전 블록을 상기 공유 원장에서 식별할 수 있다.
또한, 상기 서비스 제공 장치(100)는 상기 이전 블록에 포함되며 타 단말에 대해 생성된 타 암호화키와 관련된 정보를 포함하는 기존 키블록에서 상기 기존 키블록에 포함된 정보를 해시 알고리즘에 적용하여 상기 기존 키블록에 포함된 정보의 위변조 여부를 판단하도록 상기 기존 키블록에 설정된 기존 키블록 해시값을 상기 공유 원장에서 추출하고, 상기 특정 단말(10)에 대해 미리 저장된 상기 시간 오차 관련 오차 계수 및 상기 기존 키블록 해시값을 미리 설정된 해시 알고리즘에 적용하여 생성된 해시값인 난수값을 상기 특정 단말(10)에 대한 암호화키로서 생성할 수 있다.
이때, 상기 서비스 제공 장치(100)는 상기 블록 체인을 구성하는 특정 블록의 생성 주기 동안에 암호화키가 생성된 경우 해당 암호화키를 위한 별도의 키블록을 생성하여 상기 특정 블록에 포함시킬 수 있으며, 상기 키블록은 상기 키블록의 생성 시간과, 단말 관련 암호화키 생성에 이용되며 상기 키블록과 연결 대상인 다른 키블록의 키블록 해시값과, 상기 단말의 식별정보 및 상기 단말 관련 암호화키를 암호화키 관련 정보로 포함할 수 있다.
여기서, 상기 단말 관련 암호화키 생성에 이용되는 상기 키블록 해시값은 상기 다른 키블록에 저장된(포함된) 정보를 해시 알고리즘을 통해 해싱하여 얻어진 값으로서 상기 다른 키블록에 저장(포함) 또는 설정될 수 있다.
또한, 상기 키블록에 포함되는 상기 키블록의 생성 시간은 단말과 서비스 제공 장치(100) 사이의 시간 동기화에 따른 단말에 대한 시간 오차 관련 오차 계수로 대체될 수도 있다.
일례로, 상기 기존 키블록에는 상기 기존 키블록의 생성 시간 대신 상기 기존 키블록에 대응되는 타 단말과 서비스 제공 장치(100) 사이의 시간 동기화에 따라 산출된 시간 오차 관련 오차 계수가 포함(저장)될 수 있으며, 상기 기존 키블록의 기존 키블록 해시값 산출을 위해 상기 기존 키블록의 생성 시간 대신 상기 타 단말 관련 오차 계수가 해시 알고리즘에 적용되어 상기 기존 키블록 해시값이 산출될 수 있다.
또한, 이하에서 설명하는 신규 키블록에는 상기 신규 키블록의 생성 시간 대신 상기 신규 키블록에 대응되는 특정 단말(10)과 서비스 제공 장치(100) 사이의 시간 동기화에 따라 산출된 시간 오차 관련 오차 계수가 포함될 수 있으며, 상기 신규 키블록의 신규 키블록 해시값 산출을 위해 상기 신규 키블록의 생성 시간 대신 상기 특정 단말(10) 관련 오차 계수가 해시 알고리즘에 적용되어 상기 신규 키블록 해시값이 산출될 수 있다.
또한, 상기 서비스 제공 장치(100)는 블록 해시값을 이용한 서로 다른 블록 상호간을 연결하는 것과 마찬가지로 키블록에 포함된 상기 암호화키 관련 정보를 해시 알고리즘에 적용하여 키블록에 대한 블록 해시값인 키블록 해시값을 산출하여 상기 키블록에 포함시킬 수 있으며, 해당 키블록 해시값을 다른 단말의 암호화키 생성에 이용하여 상기 다른 단말에 대해 생성되는 다른 키블록과 상기 키블록이 공유 원장에서 체인처럼 연결되도록 할 수 있다.
즉, 상기 서비스 제공 장치(100)는 블록의 체인 연결과 별도로 서로 다른 키블록 상호간을 상기 키블록 해시값을 통해 체인 처럼 연결할 수 있다.
이를 통해, 상기 키블록에 포함되는 정보가 위변조되는 경우 상기 키블록 내의 키블록 해시값이 변경되므로 상기 서비스 제공 장치(100)는 상기 키블록 해시값의 변경을 통해 키블록 내의 정보 위변조를 용이하게 추적할 수 있으며, 키블록 이외의 블록에 저장된 정보와 구분하여 암호화키에 대해서만 별도로 키블록을 통해 위변조를 추적할 수 있다.
한편, 상기 서비스 제공 장치(100)는 상기 이전 블록에 포함되는 기존 키블록에서 추출한 기존 키블록 해시값을 상기 특정 단말(10)로 전송하여 상기 특정 단말(10)에서 상기 서비스 제공 장치(100)와 동일한 암호화키가 생성되도록 할 수 있다(S5).
이때, 상기 서비스 제공 장치(100)는 상술한 구성을 통해 상기 하나 이상의 단말별로 상기 암호화키를 생성할 수 있으며, 상기 하나 이상의 단말 상호 간 서로 상이한 암호화키가 생성되도록 할 수 있다.
또한, 상기 서비스 제공 장치(100)로부터 상기 기존 키블록 해시값을 수신한 상기 특정 단말(10)은 상기 기존 키블록 해시값과 상기 서비스 제공 장치(100)와의 동기화 수행 과정에서 측정된 시간 오차 관련 오차 계수를 상기 서비스 제공 장치(100)에 설정된 해시 알고리즘과 동일하며 미리 설정된 해시 알고리즘에 적용하여 상기 암호화키를 생성할 수 있다.
즉, 상기 특정 단말(10)은 상기 서비스 제공 장치(100)에서 상기 특정 단말(10)에 대응되어 생성한 암호화키와 동일한 암호화키를 생성할 수 있으며, 상기 서비스 제공 장치(100)와 특정 단말(10) 각각에서 생성한 암호화키는 대칭 암호화키로 구성될 수 있다.
상술한 구성에서, 상기 서비스 제공 장치(100)가 서로 다른 복수의 사이트(ex, A사 서비스 제공 장치, B사 서비스 제공 장치)와 각각 대응되어 복수로 운영되는 경우 복수의 사이트를 구분하고 상기 암호화키의 변화를 가중시키기 위한 가중치 요소로서 상기 서비스 제공 장치(100)에는 다른 서비스 제공 장치(100)와 상이한 고유 설정값(또는 매직넘버(magic number))이 미리 설정될 수 있다.
또한, 상기 서비스 제공 장치(100)는 상기 고유 설정값을 상기 서비스 제공 장치(100)와 통신하는 단말들과 상호 공유할 수 있다.
또한, 상기 서비스 제공 장치(100)는 상기 특정 단말(10) 관련 오차 계수와 상기 기존 키블록 해시값을 해시 알고리즘에 적용하여 1차 난수값을 생성한 후 상기 1차 난수값 및 상기 고유 설정값을 다시 해시 알고리즘에 적용하여 2차 난수값을 산출할 수 있으며, 2차 난수값을 상기 특정 단말(10)의 암호화키로서 생성할 수 있다.
또한, 상기 특정 단말(10) 역시 상기 서비스 제공 장치(100)의 고유 설정값을 미리 저장하고, 상기 서비스 제공 장치(100)로부터 수신한 기존 키블록 해시값과 상기 오차 계수를 기초로 1차 난수값을 생성한 후 상기 1차 난수값 및 고유 설정값을 다시 해시 알고리즘에 적용하여 산출한 2차 난수값을 암호화키로서 생성할 수 있다.
이에 따라, 상기 서비스 제공 장치(100) 및 특정 단말(10) 상호 간 암호화키로 사용되는 동일한 2차 난수값을 산출할 수 있다.
한편, 상기 서비스 제공 장치(100)는 상기 특정 단말(10)에 대응되어 생성한 암호화키를 상기 특정 단말(10)로 암호화하여 전송할 수 있으며, 상기 특정 단말(10)은 상기 서비스 제공 장치(100)로부터 수신한 암호화키를 복호화한 후 상기 특정 단말(10)에서 생성한 암호화키와 상호 비교하여 상기 서비스 제공 장치(100)에서 수신된 암호화키와 상기 특정 단말(10)에서 생성한 암호화키 상호 간 동일 여부를 판단할 수 있다.
또한, 특정 단말(10)은 해당 동일 여부에 따라 상기 특정 단말(10)에서 생성한 암호화키를 검증하고 검증 완료시 상기 특정 단말(10)에서 생성한 암호화키를 상기 서비스 제공 장치(100)와의 데이터 송수신시 데이터 암호화 및 복호화를 위한 암호화키로서 사용할 수 있다.
일례로, 상기 서비스 제공 장치(100)는 상기 특정 단말(10)에 대응되어 생성한 암호화키를 해당 암호화키로 암호화하여 상기 특정 단말(10)로 전송할 수 있으며, 상기 특정 단말(10)은 상기 서비스 제공 장치(100)로부터 수신되는 암호화된 암호화키를 상기 특정 단말(10)에서 생성한 암호화키로 복호화한 후 상기 특정 단말(10)에서 생성한 암호화키와 상호 비교하여 동일한 경우 검증이 완료된 것으로 판단할 수 있다.
또한, 상기 특정 단말(10)은 상기 검증 완료시 검증 완료 관련 완료 정보를 상기 서비스 제공 장치(100)로 전송할 수 있으며, 상기 서비스 제공 장치(100)는 상기 완료 정보 수신시 상기 특정 단말(10)에 대응되어 생성한 상기 암호화키를 상기 통신 세션의 구간 암호화를 위한 암호화키로서 사용할 수 있다.
이에 따라, 상기 서비스 제공 장치(100)는 상기 특정 단말(10)로 전송되는 송신 데이터를 상기 특정 단말(10)에 대응되어 생성한 암호화키로서 암호화하여 전송할 수 있으며, 상기 특정 단말(10)은 상기 서비스 제공 장치(100)로부터 상기 암호화키로 암호화된 송신 데이터를 상기 특정 단말(10)에서 생성한 암호화키로 복호화할 수 있다(S6).
또한, 상기 특정 단말(10) 역시 상기 서비스 제공 장치(100)가 상기 특정 단말(10)에 대응되어 생성한 암호화키와 동일한 암호화키로 상기 서비스 제공 장치(100)로 전송 대상인 데이터를 암호화하여 전송할 수 있으며, 상기 서비스 제공 장치(100)는 상기 특정 단말(10)로부터 수신되는 상기 암호화키로 암호화된 수신 데이터를 상기 특정 단말(10)에 대응되어 생성한 암호화키로 복호화할 수 있다.
이때, 상기 서비스 제공 장치(100) 및 특정 단말(10)은 LEA(Lightweight Encryption Algorithm) 알고리즘을 사용하여 상기 암호화키로 데이터를 암호화하거나 복호화할 수 있으며, 상기 LEA 알고리즘은 128bit를 기반으로 할 수 있다.
또한, 상기 서비스 제공 장치 및 특정 단말은 상기 LEA 알고리즘 뿐만 아니라 AES(Advanced Encryption Standard)-256, ARIA 등과 같이 다양한 대칭 암호화 알고리즘을 선택적으로 사용하여 상기 암호화키로 데이터를 암복호화할 수 있다.
또한, 본 발명에서 설명하는 단말의 식별정보(또는 단말 식별정보)는 IP, MAC address, 시리얼번호 등을 포함할 수 있다.
상술한 바와 같이, 본 발명은 서비스 제공 장치와 단말 사이의 통신 세션에 대한 보안을 위해 단말과의 시간 동기화 과정에서 생성된 시간 오차와 블록 체인에 저장되는 타 단말의 암호화키 관련 정보를 기반으로 생성된 해시를 조합하여 해시 알고리즘을 통해 단말의 암호화키를 해시로 생성함으로써 유추가 불가능하며 보안성이 높은 대칭 암호화키를 생성하고 이를 기반으로 통신 세션을 통해 송수신되는 데이터가 암호화되도록 지원함으로써, 해시로 구성되어 보안성이 높은 대칭 암호화키를 이용한 경량화된 보안 방식을 제공하여 안전하게 단말과의 통신 세션에 대한 보안을 보장할 뿐만 아니라 보안과 관련되어 단말의 처리 부하를 낮출 수 있어 단말이 저성능 장치로 구성된 경우에도 용이하게 적용 가능한 동시에 송수신 데이터와 관련하여 높은 보안성 및 신뢰성을 보장할 수 있다.
한편, 상기 서비스 제공 장치(100)는 블록 체인을 통해 상기 암호화키에 대한 위변조를 방지할 수 있으며, 상기 암호화키 생성시 상기 암호화키와 관련되어 생성되는 신규 블록 직전에 생성되며 상기 신규 블록과의 연결 대상인 이전 블록에 포함된 기존 키블록의 키블록 해시(키블록 해시값)를 상기 암호화키 생성에 사용함으로써 보안성을 높일 수 있는데, 이를 도 4를 참고하여 상세히 설명한다.
우선, 본 발명에서 설명하는 블록체인(blockchain)이란 다수의 트랜잭션 정보를 블록으로 구성하고, 해시(hash)를 이용하여 여러 블록(block)들을 체인처럼 연결하여 보안 정보를 관리하는 알고리즘이다.
또한, 본 발명에서 설명하는 트랜잭션(transaction)은 트랜잭션 정보를 의미할 수 있으며, 상기 트랜잭션 정보는 단위 작업 또는 단위 거래를 수행하기 위해 필요한 하나 이상의 연산함수 및 데이터를 포함할 수 있다.
상술한 구성에 따라, 상기 서비스 제공 장치(100)는 상기 특정 단말(10)의 암호화키와 관련되어 하나 이상의 트랜잭션을 생성할 수 있다.
일례로, 상기 서비스 제공 장치(100)는 상기 특정 단말(10)의 시간 동기화 수행시 생성된 시간 오차 관련 오차 계수와 상기 시간 동기화 수행을 위해 상기 특정 단말(10)과 송수신한 데이터 및 명령어 등을 포함하는 제 1 트랜잭션을 생성할 수 있다.
또한, 상기 서비스 제공 장치(100)에는 상기 블록 체인을 위한 공유 원장이 미리 저장되며, 상기 서비스 제공 장치(100)는 상기 특정 단말(10)에 대응되는 암호화키의 생성과 관련된 신규 블록과 연결 대상인 이전 블록에 포함되는 기존 키블록 해시값과 상기 오차 계수를 미리 설정된 해시 알고리즘에 적용하여 얻어진 난수값을 암호화키로 설정하기 위한 상기 기존 키블록 해시값, 오차 계수 및 난수값과 상기 난수값을 암호화키로 설정하기 위한 명령어 등을 포함하는 제 2 트랜잭션을 생성할 수 있다.
이와 같이, 상기 서비스 제공 장치(100)는 상기 특정 단말(10)의 암호화키 생성과 관련된 제 1 및 제 2 트랜잭션을 생성할 수 있다.
또한, 상기 서비스 제공 장치(100)는 상기 특정 단말(10)의 암호화키와 관련되어 생성되는 신규 블록의 생성 주기 동안에 상기 특정 단말(10) 이외의 다른 단말과 송수신되는 데이터(일례로, 영상 데이터)와 관련되어 트랜잭션을 생성할 수 있으며, 상기 다른 단말과의 데이터 송수신에 따라 생성된 트랜잭션이 상기 신규 블록에 포함되도록 할 수 있다.
또한, 상기 서비스 제공 장치(100)는 상기 신규 블록의 생성 주기 동안에 생성된 상기 제 1 및 제 2 트랜잭션을 포함하는 복수의 트랜잭션 각각을 미리 설정된 상기 해시 알고리즘에 적용하여 복수의 트랜잭션과 각각 대응되는 복수의 해시값을 생성하고, 상기 트랜잭션별 생성 순서에 따라 복수의 해시값을 미리 설정된 2진 트리(또는 머클 트리: merkle tree) 구조에 따라 상기 해시 알고리즘에 적용하여 상기 신규 블록에 대응되는 루트 해시값을 생성할 수 있다.
즉, 상기 서비스 제공 장치(100)는 상기 신규 블록의 생성 주기 동안에 상기 특정 단말(10)의 암호화키와 관련되어 생성한 하나 이상의 트랜잭션 및 하나 이상의 다른 단말과의 통신에 따라 송수신되는 데이터와 관련되어 생성된 하나 이상의 트랜잭션 각각에 대한 해시값을 기초로 상기 신규 블록의 위조 여부를 판단하기 위한 루트 해시값을 생성할 수 있다.
또한, 상기 서비스 제공 장치(100)는 상기 이전 블록의 블록 해시값과 상기 루트 해시값을 기초로 상기 신규 블록을 이전 블록과 연결하기 위한 블록 해시값을 생성하여 상기 신규 블록에 포함시킨 후 상기 신규 블록을 상기 이전 블록에 연결되도록 상기 공유 원장에 등록하여 저장할 수 있다.
이를 통해, 하나의 블록에는 반드시 하나의 루트 해시값이 존재하며, 만약 블록에 포함된 정보 중 하나라도 위변조할 경우 해당 해시값과 그 상위의 모든 해시값이 변경되어 결과적으로 루트 해시값이 달라지게 되므로, 블록의 루트 해시값만 비교해 보면 그 하위에 있는 해시를 일일이 비교 검사하지 않더라도 데이터가 위변조되었는지 즉시 확인할 수 있다.
또한, 상기 서비스 제공 장치(100)는 신규 블록의 생성일시, 버전, 비츠(bits), 루트 해시값, 이전 블록의 블록 해시값, 그리고 논스(nonce)라고 불리는 임시값 등을 조합한 후 해시로 변환하여 상기 신규 블록의 블록 해시값을 생성할 수 있으며, 상기 신규 블록의 블록 해시값을 포함하는 신규 블록을 생성한 후 상기 신규 블록의 생성 직전에 생성된 이전 블록에 상기 신규 블록을 체인처럼 연결하여 상기 공유 원장에 저장할 수 있다.
상술한 구성에서, 상기 서비스 제공 장치(100)는 상기 신규 블록에 대응되는 상기 복수의 트랜잭션 각각을 미리 설정된 해시 알고리즘에 적용하여 얻어진 해시값만이 상기 신규 블록에 포함되도록 할 수 있으며, 상기 트랜잭션 관련 트랜잭션 정보는 상기 서비스 제공 장치(100)에 포함된 DB에 저장할 수 있다.
일례로, 상기 서비스 제공 장치(100)는 카메라로 구성된 단말로부터 영상 데이터 수신시 해당 영상 데이터를 DB에 저장할 수 있으며, 상기 영상 데이터와 관련하여 생성한 트랜잭션을 해시 알고리즘에 적용하여 얻어진 해시값을 상기 신규 블록에 포함시킬 수 있다.
한편, 상술한 블록 체인 구성을 통해 상기 서비스 제공 장치(100)는 상기 트랜잭션에 대한 위변조 여부를 확인할 수 있으나, 상기 암호화키에 대한 위변조가 발생한 경우에도 트랜잭션이라는 하나의 작업에 묶여 상기 트랜잭션에 대응되는 해시값이 변경되므로 암호화키 자체에서 위변조가 발생한 것인지 아니면 암호화키 생성 과정에 대한 위변조가 발생한 것인지 확인이 어려운 문제가 있다.
이를 해결하기 위해, 상기 서비스 제공 장치(100)는 별도의 키 블록을 생성하여 상기 신규 블록에 포함시킬 수 있다.
이를 상세히 설명하면, 상기 서비스 제공 장치(100)는 상기 특정 단말(10)의 암호화키와 관련되어 생성한 하나 이상의 트랜잭션을 기초로 상기 이전 블록에 연결되는 신규 블록을 생성할 수 있다.
또한, 상기 서비스 제공 장치(100)는 상기 특정 단말(10)의 암호화키 생성과 관련되어 생성되는 상기 신규 블록의 생성 주기 동안에 상기 공유 원장에서 상기 신규 블록과 연결대상인 상기 이전 블록에 포함된 타 단말의 암호화키(타 암호화키)에 대응되는 기존 키블록으로부터 상기 특정 단말(10)의 암호화키 생성에 사용되기 위한 기존 키블록 관련 해시값인 기존 키블록 해시값을 추출할 수 있다.
이때, 상기 타 단말에 대응되는 기존 키블록은 상기 타 단말의 타 암호화키 생성에 사용된 다른 키블록에 포함되는 해시값(키블록 해시값)과, 상기 타 단말의 단말 식별정보와, 상기 기존 키블록의 생성 시간(또는 생성 일시)과, 상기 타 단말에 대응되는 타 암호화키 및 상기 기존 키블록 관련 기존 키블록 해시값을 포함할 수 있다.
또한, 상기 기존 키블록 해시값은 상기 타 단말의 타 암호화키 생성에 사용된 다른 키블록에 포함된 해시값과 상기 타 단말의 단말 식별정보 및 상기 타 단말에 대응되는 타 암호화키를 포함하는 상기 타 암호화키 관련 정보와 상기 기존 키블록의 생성 시간을 해시 알고리즘에 적용하여 얻어질 수 있다.
이때, 상기 기존 키블록의 생성 시간은 상기 타 암호화키 관련 정보와 별도로 구성되지 않고 상기 타 암호화키 관련 정보에 포함되는 정보일 수도 있다.
또한, 상기 기존 키블록에 포함된 기존 키블록의 생성 시간은 상기 타 단말과 서비스 제공 장치(100) 사이에 상기 동기화 프로토콜에 따라 측정된 시간 오차 관련 오차 계수로 대체될 수도 있다.
이에 따라, 상기 서비스 제공 장치(100)는 상기 기존 키블록으로부터 상기 기존 키블록 관련 기존 키블록 해시값을 추출한 후 상기 기존 키블록 관련 기존 키블록 해시값과 상기 특정 단말(10)과 동기화 프로토콜에 따른 시간 동기화 과정을 통해 얻어진 오차 계수를 미리 설정된 해시 알고리즘에 적용하여 산출한 해시값인 난수값을 상기 특정 단말(10)에 대한 암호화키로서 생성할 수 있다.
또한, 상기 서비스 제공 장치(100)는 상기 특정 단말(10)에 대응되어 암호화키 생성시 상기 특정 단말(10)에 대한 암호화키 생성에 사용된 상기 기존 키블록 해시값과 상기 특정 단말(10)의 식별정보 및 상기 특정 단말(10) 관련 암호화키를 포함하는 상기 암호화키 관련 정보가 포함된(저장되는) 신규 키블록의 생성 시간(또는 생성 일시)과 상기 암호화키 관련 정보를 포함하는 신규 키블록을 생성할 수 있으며, 상기 신규 키블록에 저장된(포함된) 상기 신규 키블록의 생성 시간(또는 생성 일시) 및 상기 암호화키 관련 정보를 미리 설정된 상기 해시 알고리즘에 적용하여 상기 특정 단말(10)에 대응되는 신규 키블록 관련 신규 키블록 해시값을 생성할 수 있다.
또한, 상기 서비스 제공 장치(100)는 상기 신규 키블록 해시값을 상기 신규 키블록에 포함시키거나 상기 신규 키블록의 키블록 해시값으로 설정할 수 있다.
이에 따라, 상기 서비스 제공 장치(100)는 상기 특정 단말(10)에 대응되는 암호화키와, 상기 기존 키블록 해시값과, 상기 특정 단말(10)의 단말 식별정보와, 상기 신규 키블록의 생성 시간(또는 생성 일시) 및 상기 신규 키블록 해시값을 포함하는 신규 키블록을 상기 신규 블록에 대응되어 생성할 수 있으며, 상기 신규 키블록을 상기 신규 블록에 포함시킨 후 상기 신규 블록이 공유 원장에 저장될 때 상기 신규 키블록이 상기 신규 블록과 함께 상기 공유 원장에 저장되도록 할 수 있다.
이때, 상기 서비스 제공 장치(100)는 상기 신규 키블록 해시값 생성(산출)시 상기 특정 단말(10)과 시간 동기화를 통해 얻어진 시간 오차 관련 오차 계수를 상기 신규 키블록의 생성 시간 대신 해시 알고리즘에 적용하여 상기 신규 키블록 해시값이 생성되도록 할 수도 있으며, 상기 신규 키블록의 생성 시간 대신 상기 특정 단말(10)의 시간 오차 관련 오차 계수가 포함된 신규 키블록을 생성할 수도 있다.
또한, 상기 신규 키블록의 생성 시간은 상기 암호화키 관련 정보와 별도로 구성되지 않고 상기 암호화키 관련 정보에 포함되는 정보일 수도 있다.
상술한 구성을 통해, 상기 서비스 제공 장치(100)는 상기 신규 블록의 생성 주기 동안에 상기 특정 단말(10)의 암호화키와 관련하여 신규 키블록을 생성할 수 있으며, 상기 특정 단말(10)의 암호화키와 관련된 정보를 기초로 상기 특정 단말(10) 관련 신규 키블록의 위변조 여부를 판단하기 위한 키블록 해시값을 생성하여 상기 신규 키블록에 포함시킨 후 신규 블록 내의 별도의 블록으로 상기 신규 키블록을 상기 신규 블록 내에 포함시켜 상기 공유 원장에 저장할 수 있다.
이때, 상기 서비스 제공 장치(100)는 상기 특정 단말(10)의 암호화키 생성에 사용된 기존 키블록의 기존 키블록 해시값을 상기 신규 키블록에 포함시켜 상기 신규 키블록의 위변조 여부를 확인하기 위한 신규 키블록 해시값의 생성에 사용함으로써, 상기 특정 단말(10)의 암호화키와 관련되어 생성된 신규 키블록을 상기 신규 블록 내에 포함시켜 공유 원장에 저장하면 상기 신규 블록에 포함된 신규 키블록과 상기 이전 블록에 포함된 기존 키블록 상호 간을 상기 기존 키블록 해시값 및 신규 키블록 해시값을 통해 체인처럼 연결할 수 있다.
즉, 상기 서비스 제공 장치(100)는 트랜잭션과 관련된 블록을 공유 원장에서 체인처럼 연결하는 것 이외에도 단말별로 생성된 암호화키별로 별도의 키블록을 생성한 후 공유 원장에서 키블록끼리 상호 체인처럼 연결할 수 있다.
이에 따라, 상기 서비스 제공 장치(100)는 특정 키블록에 포함되는 암호화키를 비롯한 암호화키 관련 정보가 위변조되는 경우 상기 특정 키블록의 위변조 여부를 판단하기 위한 키블록 해시값 뿐만 아니라 상기 특정 키블록 이후에 연결되는 키블록마다 키블록 해시값이 변경되므로 해시값이 변경된 하나 이상의 키블록를 추적하여 상기 특정 키블록의 위변조를 용이하게 검출할 수 있다.
즉, 본 발명은 암호화키의 위변조를 확인하기 위해 블록체인을 사용하되, 암호화키 생성 과정에서 생성되는 트랜잭션을 기반으로 생성한 블록 이외에도 암호화키의 생성 과정에서 사용되는 정보와 상기 암호화키에 대응되는 단말의 식별정보 및 상기 암호화키를 이용하여 상기 블록과 구분되는 암호화키 관련 정보의 위변조 확인을 위한 별도의 키블록을 생성한 후 서로 다른 키블록 상호간 체인처럼 연결되도록 공유 원장에 저장하여 암호화키 뿐만 아니라 암호화키 관련 정보에 대한 위변조 발생시 이를 용이하게 검출할 수 있도록 지원함으로써, 통신 세션의 암호화에 사용되는 암호화키에 대한 보안성을 높이는 효과가 있다.
한편, 상술한 구성에서 상기 서비스 제공 장치(100)는 상기 특정 단말(10)에 대해 암호화키를 생성하여 저장한 이후 해당 암호화키의 변경이 필요한 경우 기저장된 상기 암호화키를 삭제하여 폐기할 수 있다.
또한, 상기 서비스 제공 장치(100)는 상기 특정 단말(10)로 상기 암호화키의 변경(또는 갱신)을 위한 갱신 요청 정보를 전송할 수 있으며, 상기 특정 단말(10)은 상기 갱신 요청 정보 수신시 기 생성되어 저장된 암호화키를 삭제하여 폐기할 수 있다.
또한, 상기 서비스 제공 장치(100)는 상기 암호화키 폐기 당시 생성되는 특정 키블록에서 폐기 대상인 암호화키 관련 폐기 정보를 상기 특정 키블록에 추가할 수 있으며, 상기 폐기 정보가 포함된 특정 키블록을 상기 공유 원장에 등록하여 저장할 수 있다.
이때, 상기 서비스 제공 장치(100)는 상기 폐기 정보가 저장되는(포함되는) 상기 특정 키블록의 키블록 해시값 산출시 상기 폐기 정보를 상기 특정 키블록에 포함된 상기 특정 키블록 이전의 키블록에 대한 키블록 해시값과, 상기 특정 키블록에 대응되는 하나 이상 단말별 식별정보와, 상기 특정 키블록에 대응되는 하나 이상의 서로 다른 새로운 암호화키 및 상기 특정 키블록의 생성 시간과 함께 상기 해시 알고리즘에 적용하여 상기 특정 키블록의 키블록 해시값을 산출하고, 상기 폐기 정보가 반영된 키블록 해시값을 상기 특정 키블록에 포함시키거나 설정할 수 있다.
또한, 상기 서비스 제공 장치(100)는 상기 폐기 정보가 반영된 특정 키블록의 키블록 해시값을 상기 특정 키블록 다음에 생성되는 다음 키블록에 대응되는 암호화키의 생성시 이용하고, 상기 다음 키블록의 키블록 해시값 산출시 상기 특정 키블록의 키블록 해시값을 이용함으로써 공유 원장에 저장된 상기 폐기 정보에 대한 위변조 역시 검출할 수 있어 폐기된 암호화키를 사용하지 못하도록 방지하여 보안성을 높일 수 있다.
또한, 상기 서비스 제공 장치(100)는 상기 암호화키가 폐기된 특정 단말(10)에 대해 상기 시간 동기화를 통해 시간 오차를 측정한 후 상술한 암호화키 생성 과정을 이용하여 상기 특정 단말(10)에 대한 신규 암호화키를 생성하여 저장할 수 있으며, 해당 신규 암호화키에 대응되는 키블록을 생성하여 공유 원장에 저장할 수 있다.
도 5는 상술한 구성에 따른 서비스 제공 장치(100)의 상세 구성도이다.
상기 서비스 제공 장치(100)는 도시된 바와 같이, 동기화부(110), 암호화키 생성부(120), 암복호화부(130) 및 블록체인 관리부(140)를 포함하여 구성될 수 있다.
상기 동기화부(110)는 미리 설정된 동기화 프로토콜에 따라 특정 단말(10)과 시간 동기화를 수행할 수 있다.
또한, 암호화키 생성부(120)는 상기 특정 단말(10)의 암호화키 생성을 위해 블록 체인에 사용되는 미리 저장된 공유 원장에서 상기 특정 단말(10)의 암호화키와 연관된 신규 블록과 연결 대상인 이전 블록을 식별하고, 상기 이전 블록에 포함되어 타 단말의 타 암호화키 관련 정보가 저장된 기존 키블록에서 미리 설정된 해시 알고리즘에 상기 타 단말 관련 타 암호화키 생성에 이용된 해시값과 상기 타 단말의 식별정보 및 상기 타 단말 관련 타 암호화키를 포함하는 상기 타 암호화키 관련 정보와 상기 기존 키블록의 생성 시간을 적용하여 얻어진 기존 키블록 해시값을 추출하고, 상기 시간 동기화를 통해 측정된 상기 특정 단말(10)과의 시간 오차에 따른 오차 계수 및 상기 기존 키블록 해시값을 미리 설정된 해시 알고리즘에 적용하여 상기 특정 단말(10)에 대한 암호화키를 생성할 수 있다.
또한, 암호화키 생성부(120)는 상기 특정 단말(10)에서 상기 암호화키를 생성하도록 상기 해시값을 상기 특정 단말(10)로 전송할 수 있다.
한편, 상기 암복호화부(130)는 상기 암호화키를 생성한 상기 특정 단말(10)로 송신 데이터를 상기 암호화키로 암호화하여 전송하거나, 상기 특정 단말(10)로부터 수신되는 상기 암호화키로 암호화된 수신 데이터를 상기 암호화키로 복호화할 수 있다.
또한, 상기 블록체인 관리부(140)는 상술한 블록 체인을 관리하며 공유 원장이 미리 설정되고, 상기 암호화키 생성부(120)와 연동하여 상기 특정 단말(10)의 암호화키와 관련되어 상기 신규 블록 및 키블록을 생성한 후 상기 공유 원장에 저장할 수 있다.
일례로, 상기 블록체인 관리부(140)는 상기 특정 단말(10)의 암호화키와 관련되어 생성한 하나 이상의 트랜잭션을 기초로 상기 이전 블록에 연결되는 신규 블록을 생성하며, 상기 신규 블록 생성시 또는 상기 특정 단말(10)의 암호화키 생성시 상기 특정 단말(10)에 대한 암호화키 생성에 사용된 상기 기존 키블록 해시값과 상기 특정 단말(10)의 식별정보 및 상기 특정 단말(10) 관련 암호화키를 포함하는 상기 암호화키 관련 정보가 포함된(저장되는) 신규 키블록의 생성 시간과 상기 암호화키 관련 정보를 상기 해시 알고리즘에 적용하여 얻어진 신규 키블록 해시값을 포함하는 상기 신규 키블록을 생성한 후 상기 신규 블록에 포함시켜 상기 이전 블록에 포함된 상기 기존 키블록 해시값에 대응되는 기존 키블록과 상기 신규 키블록이 상호 연결되도록 상기 신규 블록을 상기 공유 원장에 등록할 수 있다.
이때, 동기화부(110), 암호화키 생성부(120), 암복호화부(130) 및 블록체인 관리부(140)는 하나의 제어부에 포함되어 구성될 수 있으며, 해당 제어부는 서비스 제공 장치(100)의 전반적인 제어 기능을 수행하도록 구성될 수 있다.
또한, 상기 제어부는 RAM, ROM, CPU, GPU, 버스를 포함할 수 있으며, RAM, ROM, CPU, GPU 등은 버스를 통해 서로 연결될 수 있다. CPU는 저장부에 액세스하여, 미리 저장된 O/S(Operating System)를 이용하여 부팅을 수행할 수 있으며, 미리 저장된 각종 프로그램, 컨텐츠, 데이터 등을 이용하여 본 발명에서 설명하는 서비스 제공 장치(100)의 다양한 동작을 수행할 수 있다.
도 6 내지 도 9는 본 발명의 실시예에 따른 상기 서비스 제공 장치(100) 및 특정 단말(10)에 설정된 경량화된 보안 방식을 지원하는 보안 서비스 제공 방법 관련 알고리즘에 대한 예시도이다.
우선, 도 6에 도시된 바와 같이, 상기 서비스 제공 장치(100)는 특정 단말(10)에 대응되어 시간 동기화 시도시 기준시와 비교시의 시간 오차(time-defferencenew)를 계산할 수 있다.
또한, 상기 서비스 제공 장치(100)는 미리 저장된 공유 원장에서 상기 특정 단말(10)의 암호화키 생성을 위한 신규 블록과 연결 대상인 이전 블록에 포함되며 타 단말의 암호화키와 관련된 기존 키블록의 키블록 해시값을 추출하고, 해당 기존 키블록 해시값과 시간 오차(time-defferencenew)를 조합하여 미리 설정된 해시 알고리즘을 이용하여 해싱하고 1차 난수 해시값(salt-value, 40bytes)를 산출할 수 있다.
다음, 서비스 제공 장치(100)는 상기 1차 난수 해시와 미리 설정된 설정값(magic-number)을 조합하여 상기 해시 알고리즘에 적용하여 해싱함으로써 2차 난수 해시값(symmetric-keynew, 40bytes)인 고유한 대칭 암호화키를 생성할 수 있다.
또한, 상기 서비스 제공 장치(100)는 상기 암호화키에 대응되어 신규 블록을 생성하고, 상기 특정 단말(10)에 대응되어 생성한 암호화키 관련 신규 키블록을 생성한 후 상기 신규 블록에 포함시켜 상기 공유 원장에 저장할 수 있다.
이를 통해, 상기 서비스 제공 장치(100)는 상기 신규 블록의 블록 해시값을 상기 이전 블록의 블록 해시값을 기초로 생성하여 상기 신규 블록과 상기 이전 블록을 체인처럼 연결하여 저장하는 동시에 상기 신규 키블록의 키블록 해시값을 상기 이전 블록에 포함된 기존 키블록의 키블록 해시값을 이용하여 생성한 후 상기 신규 키블록과 기존 키블록을 체인처럼 연결하여 저장함으로써 암호화키에 대한 보안을 보장할 수 있다.
또한, 도 7에 도시된 바와 같이, 상기 특정 단말(10)에 대응되어 생성된 암호화키는 대칭키로 이루어져 있으므로 반드시 서비스 제공 장치(100)와 특정 단말(10) 상호 간 정확히 동일한 키를 사용하여야 한다,
그러므로, 서비스 제공 장치(100)에서 신규 생성하여 상기 서비스 제공 장치(100)로부터 공유 받은 키는 상기 특정 단말(10) 측에서도 동일한 메커니즘으로 생성된 키인지 다시 한번 검증할 필요가 있다.
이때, 상기 1차 난수 해시값(1차 난수값)을 연산하기 위해 필요한 요소 중 기존 키블록 해시값은 오직 서비스 제공 장치(100)만이 알 수 있으므로, 상기 특정 단말(10)은 서비스 제공 장치(BC server)(100)에 상기 기존 키블록 해시값을 요청하여 수신하고 상기 특정 단말(10)이 이미 알고 있는 시간 오차(time-differencestored)와 상기 서비스 제공 장치(100)로부터 수신한 기존 키블록 해시값(keymap-hash-1)을 조합하여 상기 서비스 제공 장치(100)와 동일한 암호화키 생성 과정을 진행하고, 최종적으로 해시된 2개의 암호화키값(symmetric-keynew, symmetric-keycalc)이 상호 동일한지 비교하여 검증 할 수 있다.
만약, 서비스 제공 장치(100)와 특정 단말(10)이 동일한 시스템에 포함되지 않은 경우 서로 다른 설정값을 가지고 있으므로 이때 상기 2개의 암호화키 값은 항상 일치하지 않는다.
또한, 도 8에 도시된 바와 같이, 상술한 과정을 통해 생성한 공유 암호화키를 사용해 송/수신할 데이터를 암호화할 수 있다.
상기 서비스 제공 장치(100)에는 다양한 저성능 장비들이 연결되므로 낮은 연산 능력으로도 원활하게 암/복호화를 진행할 수 있도록 경량 암호 알고리즘들 중 성능과 보안에서 강한 면모를 보이는 LEA 128bit 블록 암호 알고리즘을 사용하도록 한다.
서비스 제공 장치(100) 및 특정 단말(10) 중 송신측은 암호화를 위해 전송할 평문(plain-data)데이터를 LEA 알고리즘을 사용하여 상기 공유 암호화키로 암호화할 수 있다.
또한, 도 9에 도시된 바와 같이, 서비스 제공 장치(100) 및 특정 단말(10) 중 수신측은 암호화(cipher-data) 데이터를 받아 데이터에 문제가 없는지 확인하고 송신측과 매칭되는 공유 암호화키와 LEA 알고리즘을 사용하여 복호화(decrypt)할 수 있다.
본 명세서에 기술된 다양한 장치 및 구성부는 하드웨어 회로(예를 들어, CMOS 기반 로직 회로), 펌웨어, 소프트웨어 또는 이들의 조합에 의해 구현될 수 있다. 예를 들어, 다양한 전기적 구조의 형태로 트랜지스터, 로직게이트 및 전자회로를 활용하여 구현될 수 있다.
전술된 내용은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
10: 단말 100: 보안 서비스 제공 장치
110: 동기화부 120: 암호화키 생성부
130: 암복호화부 140: 블록체인 관리부

Claims (10)

  1. 서비스 제공 장치가 미리 설정된 동기화 프로토콜에 따라 특정 단말과 시간 동기화를 수행하는 동기화 단계;
    상기 서비스 제공 장치가 상기 특정 단말의 암호화키 생성을 위해 블록 체인에 사용되는 미리 저장된 공유 원장에서 상기 특정 단말의 암호화키와 연관된 신규 블록과 연결 대상인 이전 블록을 식별하는 식별 단계;
    상기 서비스 제공 장치가 상기 이전 블록에 포함되어 타 단말의 타 암호화키 관련 정보가 저장된 기존 키블록에서 미리 설정된 해시 알고리즘에 상기 타 단말 관련 타 암호화키 생성에 이용된 해시값과 상기 타 단말의 식별정보 및 상기 타 단말 관련 타 암호화키를 포함하는 상기 타 암호화키 관련 정보와 상기 기존 키블록의 생성 시간을 적용하여 얻어진 기존 키블록 해시값을 추출하고, 상기 시간 동기화를 통해 측정된 상기 특정 단말과의 시간 오차에 따른 오차 계수 및 상기 기존 키블록 해시값을 미리 설정된 해시 알고리즘에 적용하여 상기 암호화키를 생성하는 생성 단계;
    상기 서비스 제공 장치가 상기 특정 단말에서 상기 암호화키를 생성하도록 상기 기존 키블록 해시값을 전송하는 전송 단계; 및
    상기 서비스 제공 장치가 상기 암호화키를 생성한 상기 특정 단말로 송신 데이터를 상기 암호화키로 암호화하여 전송하거나, 상기 특정 단말로부터 수신되는 상기 암호화키로 암호화된 수신 데이터를 상기 암호화키로 복호화하는 보안 단계
    를 포함하는 경량화된 보안 방식을 지원하는 보안 서비스 제공 방법.
  2. 청구항 1에 있어서,
    상기 암호화키는 대칭키인 것을 특징으로 하는 경량화된 보안 방식을 지원하는 보안 서비스 제공 방법.
  3. 청구항 1에 있어서,
    상기 동기화 프로토콜은 NTP인 것을 특징으로 하는 경량화된 보안 방식을 지원하는 보안 서비스 제공 방법.
  4. 청구항 1에 있어서,
    상기 서비스 제공 장치로부터 상기 기존 키블록 해시값을 수신한 상기 특정 단말이 상기 기존 키블록 해시값과 상기 서비스 제공 장치와의 동기화 수행 과정에서 측정된 상기 오차 계수를 기초로 상기 암호화키를 생성하는 단계를 더 포함하는 것을 특징으로 하는 경량화된 보안 방식을 지원하는 보안 서비스 제공 방법.
  5. 청구항 4에 있어서,
    상기 생성 단계는 상기 서비스 제공 장치가 상기 기존 키블록에서 추출한 기존 키블록 해시값과 상기 시간 동기화를 통해 측정된 시간 오차에 따른 오차 계수를 상기 해시 알고리즘에 적용하여 얻어진 1차 난수값과 미리 설정된 고유 설정값을 다시 상기 해시 알고리즘에 적용하여 얻어진 2차 난수값을 상기 암호화키로서 생성하는 단계로 구성되고,
    상기 특정 단말이 상기 서비스 제공 장치로부터 수신한 상기 기존 키블록 해시값 및 상기 오차 계수를 상기 해시 알고리즘에 적용하여 생성한 1차 난수값 및 상기 서비스 제공 장치로부터 수신하여 미리 설정된 상기 고유 설정값을 다시 상기 해시 알고리즘에 적용하여 얻어진 2차 난수값을 상기 암호화키로 생성한 후 상기 서비스 제공 장치가 생성한 암호화키와의 동일 여부를 검증하는 단계를 더 포함하는 것을 특징으로 하는 경량화된 보안 방식을 지원하는 보안 서비스 제공 방법.
  6. 청구항 1에 있어서,
    상기 서비스 제공 장치가 상기 특정 단말의 암호화키와 관련되어 생성한 하나 이상의 트랜잭션을 기초로 상기 이전 블록에 연결되는 신규 블록을 생성하며, 상기 신규 블록 생성시 상기 특정 단말에 대한 암호화키 생성에 사용된 상기 기존 키블록 해시값과 상기 특정 단말의 식별정보 및 상기 특정 단말 관련 암호화키를 포함하는 암호화키 관련 정보가 포함된 신규 키블록의 생성 시간과 상기 암호화키 관련 정보를 상기 해시 알고리즘에 적용하여 얻어진 신규 키블록 해시값을 포함하는 상기 신규 키블록을 생성한 후 상기 신규 블록에 포함시켜 상기 이전 블록에 포함된 상기 기존 키블록 해시값에 대응되는 기존 키블록과 상기 신규 키블록이 상호 연결되도록 상기 신규 블록을 상기 공유 원장에 등록하는 등록 단계를 더 포함하는 것을 특징으로 하는 경량화된 보안 방식을 지원하는 보안 서비스 제공 방법.
  7. 청구항 6에 있어서,
    상기 등록 단계는 상기 서비스 제공 장치가 상기 신규 블록의 생성 주기 동안에 상기 특정 단말의 암호화키와 관련되어 생성한 하나 이상의 트랜잭션 및 하나 이상의 다른 단말과의 통신에 따라 송수신되는 데이터와 관련되어 생성된 하나 이상의 트랜잭션 각각에 대한 해시값을 기초로 상기 신규 블록의 위조 여부를 판단하기 위한 루트 해시값을 생성하고, 상기 이전 블록의 블록 해시값과 상기 루트 해시값을 기초로 상기 신규 블록을 이전 블록과 연결하기 위한 블록 해시값을 생성하여 상기 신규 블록에 포함시킨 후 상기 신규 블록을 상기 이전 블록에 연결되도록 상기 공유 원장에 등록하는 단계를 더 포함하는 것을 특징으로 하는 경량화된 보안 방식을 지원하는 보안 서비스 제공 방법.
  8. 청구항 1에 있어서,
    상기 서비스 제공 장치가 상기 특정 단말의 암호화키 생성 이후 상기 암호화키를 삭제하여 폐기한 경우 상기 암호화키 폐기 당시 생성되는 특정 키블록에서 폐기 대상인 암호화키 관련 폐기 정보를 상기 특정 키블록에 추가하고, 상기 폐기 정보를 상기 특정 키블록에 포함된 상기 특정 키블록 이전의 키블록에 대한 키블록 해시값과, 상기 특정 키블록에 대응되는 하나 이상 단말별 식별정보와, 상기 특정 키블록에 대응되는 하나 이상의 서로 다른 새로운 암호화키 및 상기 특정 키블록의 생성 시간과 함께 상기 해시 알고리즘에 적용하여 상기 특정 키블록의 키블록 해시값을 산출하고, 상기 폐기 정보가 반영된 키블록 해시값을 상기 특정 키블록에 설정한 후 상기 폐기 정보가 포함된 특정 키블록을 상기 공유 원장에 등록하여 저장하며, 상기 암호화키가 폐기된 특정 단말에 대해 상기 동기화 단계, 식별 단계, 생성 단계 및 전송 단계를 수행하여 상기 특정 단말에 대응되는 신규 암호화키를 생성하는 단계를 더 포함하는 것을 특징으로 하는 경량화된 보안 방식을 지원하는 보안 서비스 제공 방법.
  9. 복수의 서로 다른 단말과 통신망을 통해 통신하며 경량화된 보안 방식을 지원하는 보안 서비스 제공 장치에 있어서,
    미리 설정된 동기화 프로토콜에 따라 특정 단말과 시간 동기화를 수행하는 동기화부;
    상기 특정 단말의 암호화키 생성을 위해 블록 체인에 사용되는 미리 저장된 공유 원장에서 상기 특정 단말의 암호화키와 연관된 신규 블록과 연결 대상인 이전 블록을 식별하고, 상기 이전 블록에 포함되어 타 단말의 타 암호화키 관련 정보가 저장된 기존 키블록에서 미리 설정된 해시 알고리즘에 상기 타 단말 관련 타 암호화키 생성에 이용된 해시값과 상기 타 단말의 식별정보 및 상기 타 단말 관련 타 암호화키를 포함하는 상기 타 암호화키 관련 정보와 상기 기존 키블록의 생성 시간을 적용하여 얻어진 기존 키블록 해시값을 추출하고, 상기 시간 동기화를 통해 측정된 상기 특정 단말과의 시간 오차에 따른 오차 계수 및 상기 기존 키블록 해시값을 미리 설정된 해시 알고리즘에 적용하여 상기 특정 단말에 대한 암호화키를 생성하며, 상기 특정 단말에서 동일한 암호화키를 생성하도록 상기 기존 키블록 해시값을 전송하는 암호화키 생성부; 및
    상기 암호화키를 생성한 상기 특정 단말로 송신 데이터를 상기 암호화키로 암호화하여 전송하거나, 상기 특정 단말로부터 수신되는 상기 암호화키로 암호화된 수신 데이터를 상기 암호화키로 복호화하는 암복호화부
    를 포함하는 경량화된 보안 방식을 지원하는 보안 서비스 제공 장치.
  10. 청구항 9에 있어서,
    상기 특정 단말의 암호화키와 관련되어 생성한 하나 이상의 트랜잭션을 기초로 상기 이전 블록에 연결되는 신규 블록을 생성하며, 상기 신규 블록 생성시 상기 특정 단말에 대한 암호화키 생성에 사용된 상기 기존 키블록 해시값과 상기 특정 단말의 식별정보 및 상기 특정 단말 관련 암호화키를 포함하는 암호화키 관련 정보가 포함된 신규 키블록의 생성 시간과 상기 암호화키 관련 정보를 상기 해시 알고리즘에 적용하여 얻어진 신규 키블록 해시값을 포함하는 상기 신규 키블록을 생성한 후 상기 신규 블록에 포함시켜 상기 이전 블록에 포함된 상기 기존 키블록 해시값에 대응되는 기존 키블록과 상기 신규 키블록이 상호 연결되도록 상기 신규 블록을 상기 공유 원장에 등록하는 블록체인 관리부를 더 포함하는 것을 특징으로 하는 경량화된 보안 방식을 지원하는 보안 서비스 제공 장치.
KR1020180172906A 2018-12-28 2018-12-28 경량화된 보안 방식을 지원하는 보안 서비스 제공 장치 및 방법 KR101977159B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020180172906A KR101977159B1 (ko) 2018-12-28 2018-12-28 경량화된 보안 방식을 지원하는 보안 서비스 제공 장치 및 방법
US16/683,240 US11133931B2 (en) 2018-12-28 2019-11-13 Security service providing apparatus and method for supporting lightweight security scheme

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180172906A KR101977159B1 (ko) 2018-12-28 2018-12-28 경량화된 보안 방식을 지원하는 보안 서비스 제공 장치 및 방법

Publications (1)

Publication Number Publication Date
KR101977159B1 true KR101977159B1 (ko) 2019-06-21

Family

ID=67056505

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180172906A KR101977159B1 (ko) 2018-12-28 2018-12-28 경량화된 보안 방식을 지원하는 보안 서비스 제공 장치 및 방법

Country Status (2)

Country Link
US (1) US11133931B2 (ko)
KR (1) KR101977159B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220108584A (ko) * 2021-01-27 2022-08-03 주식회사 엠블럭 블록체인을 기반으로 한 동적 암호키를 생성하는 저전력 무선 센서 네트워크 시스템 및 상기 시스템에서의 동적 암호키 생성 방법
KR20230076699A (ko) * 2021-11-24 2023-05-31 세종텔레콤 주식회사 블록체인 기술을 이용한 보안 데이터 관리 방법 및 오프체인 시스템

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11012425B2 (en) 2018-12-28 2021-05-18 Micron Technology, Inc. Replay protection nonce generation
US11615196B2 (en) * 2020-04-02 2023-03-28 Cyberus Labs sp. z o.o. Lightweight encryption
CN112187834A (zh) * 2020-11-30 2021-01-05 江苏荣泽信息科技股份有限公司 一种基于安全存储的区块链网络节点服务***

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100577875B1 (ko) 2003-02-07 2006-05-17 김지관 전송 데이터의 암호화 및 복호화 방법
KR20080090935A (ko) * 2007-04-06 2008-10-09 삼성전자주식회사 Ums 기기의 컨텐츠를 시간 정보를 이용하여 보호하는방법 및 이를 위한 장치
KR20160114749A (ko) * 2015-02-25 2016-10-06 이진희 블록체인 구조를 사용하는 암호화화폐 거래방법
KR101754519B1 (ko) * 2016-01-19 2017-07-07 순천향대학교 산학협력단 일회용 키를 이용하여 키보드를 통해 입력된 데이터를 보호하기 위한 키보드 보안 시스템 및 방법
KR20180113084A (ko) * 2017-04-05 2018-10-15 삼성에스디에스 주식회사 블록체인 기반 디지털 아이덴티티 관리 방법
KR101921470B1 (ko) * 2018-09-21 2018-11-23 유영근 온라인 증명 블록체인 생성 시스템 및 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU6620000A (en) * 1999-08-06 2001-03-05 Frank W Sudia Blocked tree authorization and status systems
EP3251046B1 (fr) * 2015-01-30 2021-03-24 Enrico Maim Systèmes et procédés pour la gestion d'engagements en réseau d'entités sécurisées
US11341259B2 (en) * 2018-12-12 2022-05-24 Spideroak, Inc. Managing group authority and access to a secured file system in a decentralized environment

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100577875B1 (ko) 2003-02-07 2006-05-17 김지관 전송 데이터의 암호화 및 복호화 방법
KR20080090935A (ko) * 2007-04-06 2008-10-09 삼성전자주식회사 Ums 기기의 컨텐츠를 시간 정보를 이용하여 보호하는방법 및 이를 위한 장치
KR20160114749A (ko) * 2015-02-25 2016-10-06 이진희 블록체인 구조를 사용하는 암호화화폐 거래방법
KR101754519B1 (ko) * 2016-01-19 2017-07-07 순천향대학교 산학협력단 일회용 키를 이용하여 키보드를 통해 입력된 데이터를 보호하기 위한 키보드 보안 시스템 및 방법
KR20180113084A (ko) * 2017-04-05 2018-10-15 삼성에스디에스 주식회사 블록체인 기반 디지털 아이덴티티 관리 방법
KR101921470B1 (ko) * 2018-09-21 2018-11-23 유영근 온라인 증명 블록체인 생성 시스템 및 방법

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220108584A (ko) * 2021-01-27 2022-08-03 주식회사 엠블럭 블록체인을 기반으로 한 동적 암호키를 생성하는 저전력 무선 센서 네트워크 시스템 및 상기 시스템에서의 동적 암호키 생성 방법
KR102528441B1 (ko) * 2021-01-27 2023-05-02 주식회사 엠블럭 블록체인을 기반으로 한 동적 암호키를 생성하는 저전력 무선 센서 네트워크 시스템 및 상기 시스템에서의 동적 암호키 생성 방법
KR20230076699A (ko) * 2021-11-24 2023-05-31 세종텔레콤 주식회사 블록체인 기술을 이용한 보안 데이터 관리 방법 및 오프체인 시스템
KR102656660B1 (ko) * 2021-11-24 2024-04-11 세종텔레콤 주식회사 블록체인 기술을 이용한 보안 데이터 관리 방법 및 오프체인 시스템

Also Published As

Publication number Publication date
US11133931B2 (en) 2021-09-28
US20200213106A1 (en) 2020-07-02

Similar Documents

Publication Publication Date Title
KR101977159B1 (ko) 경량화된 보안 방식을 지원하는 보안 서비스 제공 장치 및 방법
US10601594B2 (en) End-to-end service layer authentication
US11533297B2 (en) Secure communication channel with token renewal mechanism
US9326142B2 (en) Cryptographic key generation
KR102030047B1 (ko) 경량화된 보안 방식을 지원하는 출입 통제 시스템 및 방법
US9392453B2 (en) Authentication
US20150350196A1 (en) Terminal authentication system, server device, and terminal authentication method
US20220131872A1 (en) System and method for verifying device security
WO2016098303A1 (ja) 署名検証装置、署名生成装置、署名処理システム、署名検証方法及び署名生成方法
US20070189528A1 (en) Wireless LAN transmitting and receiving apparatus and key distribution method
EP4231680A1 (en) Identity authentication system, method and apparatus, device, and computer readable storage medium
US20180013832A1 (en) Health device, gateway device and method for securing protocol using the same
US10637651B2 (en) Secure systems and methods for resolving audio device identity using remote application
CN109905384B (zh) 数据迁移方法及***
KR20150135032A (ko) Puf를 이용한 비밀키 업데이트 시스템 및 방법
US10122755B2 (en) Method and apparatus for detecting that an attacker has sent one or more messages to a receiver node
US20180176230A1 (en) Data packet transmission method, apparatus, and system, and node device
CN104468074A (zh) 应用程序之间认证的方法及设备
KR102030053B1 (ko) 경량화된 보안 방식을 지원하는 주차 관제 시스템 및 방법
WO2020216047A1 (zh) 一种认证信息处理方法、终端和网络设备
WO2020215958A1 (zh) 一种认证信息处理方法、终端和网络设备
KR102030045B1 (ko) 경량화된 보안 방식을 지원하는 영상 감시 시스템 및 방법
KR102219018B1 (ko) 블록체인 기반의 사물인터넷 데이터 전송 방법
KR102030049B1 (ko) 경량화된 보안 방식을 지원하는 통합 재난 비상 방송 시스템 및 방법
JP2004194196A (ja) パケット通信認証システム、通信制御装置及び通信端末

Legal Events

Date Code Title Description
GRNT Written decision to grant