KR20190047477A - 스마트시티 통합 관리 시스템의 보안 강화를 위한 보안키 분배 방법 및 이를 이용한 공격자 이상행동 탐지 방법 - Google Patents

스마트시티 통합 관리 시스템의 보안 강화를 위한 보안키 분배 방법 및 이를 이용한 공격자 이상행동 탐지 방법 Download PDF

Info

Publication number
KR20190047477A
KR20190047477A KR1020170141404A KR20170141404A KR20190047477A KR 20190047477 A KR20190047477 A KR 20190047477A KR 1020170141404 A KR1020170141404 A KR 1020170141404A KR 20170141404 A KR20170141404 A KR 20170141404A KR 20190047477 A KR20190047477 A KR 20190047477A
Authority
KR
South Korea
Prior art keywords
key
security
message
smart city
check process
Prior art date
Application number
KR1020170141404A
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 KR1020170141404A priority Critical patent/KR20190047477A/ko
Publication of KR20190047477A publication Critical patent/KR20190047477A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Small-Scale Networks (AREA)

Abstract

본 발명은 스마트시티 통합 관리 시스템의 보안 강화를 위한 보안키 분배 방법 및 이를 이용한 공격자 이상행동 탐지 방법에 관한 것으로, 본 발명의 일실시예에 따른 스마트시티 통합 관리 시스템의 보안 강화를 위한 보안키 분배 방법은, 스마트시티 통합 관리 시스템에 포함된 구성 시스템 각각을 위한 공개키 및 대칭키에 대한 제1 키쌍과 상기 공개키의 비트를 쪼개기 위한 제1 랜덤값을 생성하여 전달하는 단계; 및 기 설정된 키 생성 주기에 따라 상기 구성 시스템 각각을 위한 제2 키쌍과 제2 랜덤값을 재생성하여 전달하는 단계;를 포함하고, 상기 공개키는, 상기 구성 시스템이 메시지 수신측일 때 메시지 송신측으로 전달되어지는 것일 수 있다.

Description

스마트시티 통합 관리 시스템의 보안 강화를 위한 보안키 분배 방법 및 이를 이용한 공격자 이상행동 탐지 방법{SECURITY KEY DISTRIBUTION METHOD FOR THE SECURITY REINFORCE OF SMART CITY COBINATION MANAGEMENT SYSTEM AND ATTACKER ABNORMAL BEHAVIOR DETECTION METHOD USING THE SAME}
본 발명은 스마트시티 통합 관리 시스템의 보안 강화를 위한 보안키 분배 방법 및 이를 이용한 공격자 이상행동 탐지 방법에 관한 것으로서, 보다 상세하게는, 보안키 분배 시스템에서 스마트시티 통합 관리 시스템의 구성 시스템별로 보안키(공개키, 대칭키 및 랜덤키)를 생성하여 전달한 후 주기적으로 구성 시스템별로 보안키를 재생성하여 전달함으로써, 고정키 사용에 따른 보안위험에 대한 보안성을 강화시키기 위한, 스마트시티 통합 관리 시스템의 보안 강화를 위한 보안키 분배 방법 및 이를 이용한 공격자 이상행동 탐지 방법에 관한 것이다.
또한, 본 발명은 데이터 수집 시간 체크, 세션키 사이즈 요청, 응답 횟수 체크, 시프트 연산값 체크를 통해 공격자 이상행동 탐지를 수행함으로써 키 탈취 후 공격자 이상행동 탐지를 통해 다양한 보안 위협에 대응하기 위한, 스마트시티 통합 관리 시스템의 보안 강화를 위한 보안키 분배 방법 및 이를 이용한 공격자 이상행동 탐지 방법에 관한 것이다.
스마트시티(smart city)는 텔레커뮤니케이션(tele-communication)을 위한 기반시설이 인간의 신경망처럼 도시 구석구석까지 연결된 도시를 말한다. 이러한 스마트시티 플랫폼은 전력 데이터뿐만 아니라 수도, 가스, 난방 비전력 에너지 데이터, 기상 및 환경, 교통 등 도시 운영에 필요한 다양한 정보들을 송수신하는 기반 인프라로서, 높은 수준의 정보보안과 보안위협에 대한 방어 대책이 요구된다.
기존 보안기술은 스마트시티 플랫폼에 그대로 적용할 경우에, 인증, 기밀성, 무결성, 부인방지 등과 같은 관련 보안서비스에서, 악의적 행동을 취하는 공격자가 사이버 공격(예를 들어, 스니핑, DoS, 악성코드, 중간자 공격, 데이터 위/변조 등)을 실행할 경우에 취약할 수 있다.
특히, 현재의 보안서비스는 고정된 키(예를 들어, 공개키, 대칭키 등)를 통해서 서비스를 사용한다. 그런데, 스마트시티 플랫폼에서는 현재의 보안서비스를 활용할 경우에 데이터 보호, 보안 위협 등 운영 관리 측면에서 비효율적일 수 있다.
종래에는 다음과 같은 기술이 제안된 바 있다.
먼저, 대한민국 공개특허공보 제10-2016-0035999호에서는 센서 네트워크, 사물 인터넷과 스마트 시티 등에서 활용되는 P2P(Peer-to-Peer)의 송/수신에서 식별을 방지하는 암호화된 데이터를 송/수신하는 기술이 제안된 바 있다. 이는 디바이스의 식별을 방지하기 위한 데이터 암호화 방식에 해당한다.
또한, 대한민국 등록특허공보 제10-1061958호에서는 무선 통신 시스템의 취약점인 외부노출과 무선 방식으로 인해 사생활 관련 공격에 영향을 받기 쉽기 때문에 이를 방지하기 위해 토큰/키를 송신하거나 통신 장치에 임베딩하여 해당 워터마크를 확실하게 전달하는 기술이 제안된 바 있다.
또한, 대한민국 공개특허공보 제10-2017-0036392호에서는 센서 네트워크, 사물 인터넷 등의 통신 시스템에서 디바이스로 전달하는 정보를 보호하는 기술이 제안된 바 있다. 즉, 대한민국 공개특허공보 제10-2017-0036392호는 애플리케이션이 실행됨을 검출할 경우, 데이터베이스 보안 분석 결과를 획득하는 과정, 애플리케이션에 대한 데이터베이스 보안 분석 결과를 출력하는 과정을 통해 통신 디바이스가 정보를 보호하는 기술이 개시되어 있다.
기존의 통신 보안 매커니즘은 공개키 인증 방식, 대칭키 암/복호 방식, MAC검증을 통한 기기 인증 방식을 통해 디바이스 간의 신원 확인 또는 데이터 유출 방지에 관한 것이었다.
도 1은 P2P 보안서비스 절차를 설명하는 도면이다. 도 1을 참조하면, 기존 통신 시스템은 클라이언트(1)와 서버(2) 사이에서 서로간의 보안서비스를 설립하는 구성을 나타낸다. 먼저, 클라이언트(1)와 서버(2)는 공개키 기반 방식을 통해 서로간의 인증 단계를 수행한다(①, ②). 이후, 클라이언트(1)와 서버(2)는 대칭키를 교환한다(③, ④). 그리고, 클라이언트(1)와 서버(2)는 교환된 대칭키를 통해 데이터에 대한 암호화 및 복호화를 수행한다(⑤, ⑥).
이러한 통신 보안 매커니즘들은 동일한 키값을 계속적(고정적)으로 사용하기 때문에 외부에 노출될 경우, 불필요한 데이터 발생과 개인정보 등에 대한 유출을 증가시키는 한계가 있다.
따라서, 스마트시티 플랫폼에서는 보안키 분배를 통해 주기적으로 보안키를 변경하고, 노출될 경우 해커의 이상 행동 탐지를 위한 이상행동 탐지 메커니즘이 제안될 필요가 있다.
대한민국 공개특허공보 제10-2016-0035999호 대한민국 등록특허공보 제10-1061958호 (2011.08.29) 대한민국 공개특허공보 제10-2017-0036392호
본 발명의 목적은 보안키 분배 시스템에서 스마트시티 통합 관리 시스템의 구성 시스템별로 보안키(공개키, 대칭키 및 랜덤키)를 생성하여 전달한 후 주기적으로 구성 시스템별로 보안키를 재생성하여 전달함으로써, 고정키 사용에 따른 보안위험에 대한 보안성을 강화시키기 위한, 스마트시티 통합 관리 시스템의 보안 강화를 위한 보안키 분배 방법 및 이를 이용한 공격자 이상행동 탐지 방법을 제공하는데 있다.
또한, 본 발명의 다른 목적은 데이터 수집 시간 체크, 세션키 사이즈 요청, 응답 횟수 체크, 시프트 연산값 체크를 통해 공격자 이상행동 탐지를 수행함으로써 키 탈취 후 공격자 이상행동 탐지를 통해 다양한 보안 위협에 대응하기 위한, 스마트시티 통합 관리 시스템의 보안 강화를 위한 보안키 분배 방법 및 이를 이용한 공격자 이상행동 탐지 방법을 제공하는데 있다.
본 발명의 일실시예에 따른 스마트시티 통합 관리 시스템의 보안 강화를 위한 보안키 분배 방법은, 스마트시티 통합 관리 시스템에 포함된 구성 시스템 각각을 위한 공개키 및 대칭키에 대한 제1 키쌍과 상기 공개키의 비트를 쪼개기 위한 제1 랜덤값을 생성하여 전달하는 단계; 및 기 설정된 키 생성 주기에 따라 상기 구성 시스템 각각을 위한 제2 키쌍과 제2 랜덤값을 재생성하여 전달하는 단계;를 포함하고, 상기 공개키는, 상기 구성 시스템이 메시지 수신측일 때 메시지 송신측으로 전달되어지는 것일 수 있다.
상기 제1 키쌍 및 상기 제2 키쌍 각각은, 상기 구성 시스템 각각에 대해 다르게 생성되는 것이고, 상기 제1 랜덤값 및 상기 제2 랜덤값 각각은, 상기 구성 시스템 각각에 대해 동일하게 생성되는 것일 수 있다.
상기 공개키는, 메시지 송신측인 구성 시스템에서 세션키의 암호화를 위해 이용되는 것일 수 있다.
상기 대칭키는, 메시지 수신측인 구성 시스템에서 상기 세션키의 복호화를 위해 이용되는 것일 수 있다.
상기 세션키는, 메시지 송신측인 구성 시스템에서 계량데이터의 암호화를 위해 이용되는 것일 수 있다.
상기 복호화된 세션키는, 메시지 수신측인 구성 시스템에서 상기 계량데이터의 복호화를 위해 이용되는 것일 수 있다.
또한, 본 발명의 일실시예에 따른 공격자 이상행동 탐지 방법은, 스마트시티 통합 관리 시스템에 포함된 구성 시스템 각각의 보안 검증에 이용되는 랜덤값을 전달받는 단계; 및 상기 구성 시스템이 메시지 수신측인 경우에, 데이터 수집시간 체크 과정, 세션키 사이즈 체크 과정, 응답 횟수 체크 과정, 시프트 연산값 체크 과정 중 하나 이상의 과정을 수행하여 공격자 이상행동을 탐지하는 단계;를 포함할 수 있다.
상기 데이터 수집시간 체크 과정은, 메시지 송신측의 수집시간과 메시지 수신측의 기준시간을 비교하는 과정일 수 있다.
상기 세션키 사이즈 체크 과정은, 메시지 수신측에서 기존 세션키에 머지를 위해 내장된 정수값을 병합한 후, 메시지 송신측의 세션키 사이즈를 비교하는 과정일 수 있다.
상기 응답 횟수 체크 과정은, 메시지 수신측에서 기 결정된 횟수 만큼 응답 요청할 때, 메시지 송신측에서 상기 결정된 횟수 만큼 응답되는지를 확인하는 과정일 수 있다.
상기 시프트 연산 체크 과정은, 메시지 수신측에서 메시지 송신측의 공개키를 이용하여 시프트 연산을 수행하고, 메시지 송신측에서 자신의 공개키로 상기 랜덤값을 기준으로 시프트 연산하여 상호 비교하는 과정일 수 있다.
상기 시프트 연산 체크 과정은, 메시지 수신측에서 메시지 송신측의 공개키를 이용하여 시프트 연산을 수행하고, 메시지 송신측에서 메시지 수신측의 공개키를 이용하여 시프트 연산을 수행하여 상호 비교하는 과정일 수 있다.
상기 공격자 이상행동을 탐지하는 단계는, 상기 데이터 수집시간 체크 과정, 상기 세션키 사이즈 체크 과정, 상기 응답 횟수 체크 과정 및 상기 시프트 연산값 체크 과정의 순서에 따라 수행할 수 있다.
본 발명은 보안키 분배 시스템에서 스마트시티 통합 관리 시스템의 구성요소별로 보안키(공개키, 대칭키 및 랜덤키)를 생성하여 전달한 후 주기적으로 구성요소별로 보안키를 재생성하여 전달함으로써, 고정키 사용에 따른 보안위험에 대한 보안성을 강화시킬 수 있다.
또한, 본 발명은 데이터 수집 시간 체크, 세션키 사이즈 요청, 응답 횟수 체크, 시프트 연산값 체크를 통해 공격자 이상행동 탐지를 수행함으로써 키 탈취 후 공격자 이상행동 탐지를 통해 다양한 보안 위협에 대응할 수 있다.
또한, 본 발명은 기존의 통신에 적용되는 보안서비스에서 발생되는 취약점인 고정키 사용과 키 탈취 후 공격자 이상행동 탐지 검증을 수행하기 때문에, 향후 중간자 공격, DoS, 위/변조 데이터, 수집 영역 장비 탈취에 대한 보안 위협에 대응할 수 있다.
또한, 본 발명은 기존의 보안서비스와 달리 정책 규칙 등에 의한 보안키 분배를 통해 고정키 사용의 단점을 보완하여 보안성을 향상시킬 수 있다.
또한, 본 발명은 이상 행동 탐지 검증을 통한 DoS, 데이터 위/변조 등과 같은 공격에 대응할 수 있기 때문에 한층 더 높은 보안서비스 품질을 제공하여 스마트시티에서 발생되는 개인정보 및 설비 데이터 등에 대한 유출 방지와 데이터 신뢰성을 높일 수 있다.
또한, 본 발명은 기존 보안서비스의 취약점인 고정된 키 사용과 탈취 후 공격자 이상행동 탐지를 해결하기 위한 스마트시티 플랫폼에 대한 보안성 강화를 통해 높은 수준의 보안서비스를 제공할 수 있다.
도 1은 P2P 보안서비스 절차를 설명하는 도면,
도 2는 본 발명의 일실시예에 따른 스마트시티 통합 관리 시스템을 나타낸 도면,
도 3은 1st 스텝(First-Step) 인증 프로세스를 설명하는 도면,
도 4는 2nd 스텝(Second-Step) 인증 프로세스를 설명하는 도면,
도 5는 3rd 스텝(Third-Step) 인증 프로세스를 설명하는 도면,
도 6은 4th 스텝(Fourth-Step) 인증 프로세스를 설명하는 도면,
도 7은 본 발명의 일실시예에 따른 보안키 분배 시스템을 나타낸 도면,
도 8은 본 발명의 일실시예에 따른 공격자 이상행동 탐지 방법을 나타낸 도면,
도 9a는 공개키 생성과 랜덤값 전달 과정을 설명하는 도면이고, 도 9b는 랜덤값 전달을 통한 이상행동 탐지 과정을 설명하는 도면,
도 10은 본 발명의 일실시예에 따른 보안키 분배 시스템에서 키쌍 및 랜덤값 생성 및 분배 과정을 설명하는 도면이다.
이하 본 발명의 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 또한, 도면 전체에 걸쳐 동일한 구성 요소들은 가능한 한 동일한 도면 부호로 나타내고 있음에 유의하여야 한다.
이하에서 설명되는 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위한 용어로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다.
따라서 본 명세서에 기재된 실시 예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시 예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다.
첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 또는 개략적으로 도시되었으며, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다. 본 발명은 첨부한 도면에 그려진 상대적인 크기나 간격에 의해 제한되어지지 않는다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
아래에서는 첨부한 도면을 참고하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 설명한다.
도 2는 본 발명의 일실시예에 따른 스마트시티 통합 관리 시스템을 나타낸 도면이다.
도 2에 도시된 바와 같이, 본 발명의 일실시예에 따른 스마트시티 통합 관리 시스템(100)은, 전력 데이터뿐만 아니라 수도, 가스, 난방 비전력 에너지 데이터, 기상 및 환경, 교통 등 도시 운영에 필요한 다양한 정보들을 송수신하는 기반 인프라를 구현하는 스마트시티 플랫폼의 운영 체계로서, 데이터 수집 시스템(110), 스마트시티 운영 시스템(120), 서비스 제공 시스템(130), 보안키 분배 시스템(140)를 포함한다. 이러한 스마트시티 통합 관리 시스템(100)은 서비스 제공 시스템(130)을 통해 사용자 단말기(200)와 연동한다.
데이터 수집 시스템(110)은 전국 각지에 분산되어 있는 현장 시스템에 해당하며, 신재생에너지, SGS(Smart Grid System), ESS(Energy Storage System), EV(Electric Volt), 통합검침(AMI, 수도, 가스, 난방 등) 등에서 발생되는 데이터들을 수집하여 스마트시티 운영 시스템(120)으로 전송한다. 여기서, 데이터 수집 시스템(110)은 스마트시티 플랫폼에서 정해진 정책에 따라 일괄적 또는 실시간으로 수집된 데이터들을 전송한다.
스마트시티 운영 시스템(120)은 전송된 수집 데이터들을 처리하여 서비스 제공 시스템(130)으로 제공한다. 이때, 서비스 제공 시스템(130)은 관리 서비스 영역과 고객 서비스 영역으로 구분하여 스마트시티 운영 시스템(120)으로부터 전송된 수집 데이터들을 사용자 단말기(200)로 제공한다.
보안키 분배 시스템(140)은 데이터 수집 시스템(110)과 스마트시티 운영 시스템(120) 간의 데이터 전송 과정, 스마트시티 운영 시스템(120)과 서비스 제공 시스템(130) 간의 데이터 전송 과정, 서비스 제공 시스템(130)과 사용자 단말기(200) 간의 데이터 전송 과정에서 필요한 보안키(즉, 공개키, 대칭키 및 랜덤값[난수값])를 각 구성 시스템별로 생성하여 각 구성 시스템에 분배한다.
구체적으로, 전술한 스마트시티 통합 관리 시스템(100)은 스마트시티 플랫폼 환경의 보안성을 강화시키기 위한 기기인증, 무결성 검증, 기밀성, 공격자 이상행동 탐지 등에 대한 검증 및 운영을 진행한다. 이러한 스마트시티 통합 관리 시스템(100)은 우선 스마트시티 플랫폼 정책에 따라 주기적으로 보안키를 분배하는 방식을 적용하고, 다음으로 랜덤값 시프트 연산을 통한 이상행동 탐지 방식을 적용한다.
반면에, 기존의 보안서비스는 '주기적으로 보안키를 분배하는 기능'과 '설비 또는 키 탈취 후 공격자 이상행동에 대한 탐지 기능'을 적용하고 있지 않기 때문에, 스마트시트 플랫폼의 보안성을 떨어트리며, DoS와 위/변조 데이터를 통한 불필요한 자원 낭비와 전체 시스템에 대한 운영 효율을 떨어트린다.
이와 같이, 스마트시티 통합 관리 시스템(100)은 DoS, 위/변조 공격, 비효율적인 자원 낭비와 운영 효율을 떨어트리게 되는 행동을 사전에 방지 및 대응하여 보안성과 시스템 운영 효율성을 향상시킬 수 있다.
스마트시티 통합 관리 시스템(100)은 스텝 바이 스텝(Step-by-Step) 인증을 통해 스마트시티 플랫폼의 보안성을 강화한다.
이에 대한 자세한 설명은 후술할 도 3 내지 도 6을 참조하여 설명하기로 한다.
도 3은 1st 스텝(First-Step) 인증 프로세스를 설명하는 도면이다.
도 3에 도시된 바와 같이, 1st 스텝 인증 프로세스는 데이터 수집 시스템(110)과 스마트시티 운영 시스템(120) 간의 데이터 전송 과정에서 수행되는 인증 프로세스를 나타낸다.
이러한 1st 스텝 인증 프로세스는 기존의 평문 전송 방식 대신에, 다음과 같은 프로세스를 통해 진행된다.
먼저, 데이터 수집 시스템(110)은 인증에 필요한 '공개키 m' 및 '대칭키 m'에 대한 키쌍(Pubm, Prim)을 생성한 다음에, 스마트시티 운영 시스템(120)으로부터 전달된 '공개키 dc'(Pubdc)를 획득한다(S1).
이후, 데이터 수집 시스템(110)은 설비를 통해 검침된 '계량데이터'(D)와 '제1 세션키'(Sk1)를 생성하고(S2, S3), 생성된 '계량데이터'(D)를 '제1 세션키'(Sk1)를 통해 MAC값을 산출하여 변수 HM에 저장한다(S4). 즉, 변수 HM은 HM=Sk1[D∥MAC(D)]를 만족하고, '암호화된 MAC값'에 해당된다.
또한, 데이터 수집 시스템(110)은 MAC값을 저장한 후 '제1 세션키'(Sk1)를 안전하게 전달하기 위해, '대칭키 m'(Prim)과 '공개키 dc'(Pubdc)를 이용하여 '제1 세션키'(Sk1)를 암호화하여 변수 PS_1에 저장한다(S5). 여기서, 변수 PS_1는 PS_1=Pubdc{Prim(Sk1)}를 만족하고, '암호화된 제1 세션키'에 해당된다.
그리고, 데이터 수집 시스템(110)은 암호코드를 생성하기 위해, '공개키 dc'(Pubdc)와 '제1 세션키'(Sk1)의 합으로 이루어진 키 즉, Pubdc+Sk1로 계량데이터(D)를 암호화하여 변수 C1에 저장한다(S6). 즉, 변수 C1는 C1=Pubdc+Sk1[D∥CF(D)]를 만족하고, '암호화된 계량데이터'에 해당된다.
이와 같이, 데이터 수집 시스템(110)은 '공개키 m'(Pubm), 변수 HM, PS_1, C1을 생성하고, 이를 메시지(M)에 첨부하여 스마트시티 운영 시스템(120)으로 전송한다(S7).
메시지(M)에 '공개키 m'(Pubm)를 첨부하여 전송하는 이유는 복호화 용도와 사전에 보안키 분배 시스템(140)에 의해 랜덤한 비트로 쪼개져서 값이 달라졌기 때문에 함께 첨부하여 전송하는 것이다.
다음으로, 스마트시티 운영 시스템(120)은 인증 모듈(121)을 통해 데이터 수집 시스템(110)과 인증 과정을 수행한다.
먼저, 스마트시티 운영 시스템(120)의 인증 모듈(121)은 데이터 수집 시스템(110)으로부터 메시지(M)를 전송받기 이전에, '공개키 dc'(Pubdc)와 '대칭키 dc'(Pridc)에 대한 키쌍(Pubdc, Pridc)을 생성한 다음에, '공개키 dc'(Pubdc)를 데이터 수집 시스템(110)으로 전달한다(S11).
이후, 스마트시티 운영 시스템(120)의 인증 모듈(121)은 데이터 수집 시스템(110)으로부터 메시지(M)를 전송받은 후(S7), 메시지(M)에 첨부된 '공개키 m'(Pubm)을 메모리(도면에 미도시)를 저장한다(S12).
그리고, 스마트시티 운영 시스템(120)의 인증 모듈(121)은 '암호화된 제1 세션키'에 해당되는 변수 PS_1를 복호화한 후 변수 DS1에 저장한다(S13). 즉, 변수 DS1은 DS1=Pubdc{Pubm(PS_1(Sk1))}를 만족하고, '복호화된 제1 세션키'에 해당된다.
또한, 스마트시티 운영 시스템(120)의 인증 모듈(121)은 '암호화된 계량데이터'에 해당되는 변수 C1을 복호화하기 위해, '공개키 dc'(Pubdc)와 변수 DS1의 합으로 이루어진 키 즉, Pubdc+DS1로 변수 C1을 복호화하여 변수 D1에 저장한다(S14). 즉, 변수 D1은 D1=Pubdc+DS1[C∥DF(C1)]를 만족하며, '복호화된 계량데이터'에 해당된다.
그런 다음, 스마트시티 운영 시스템(120)의 인증 모듈(121)은 데이터 수집 시스템(110)으로부터 전달된 계량데이터의 네트워크상에서 위변조 여부를 판단하기 위해, 'MAC(D1)을 생성하여 메시지(M)에 첨부된 HM의 MAC(HM)과 비교한다(S15). 즉, 'MAC(D1)=MAC(HM)이다.
이 경우, 스마트시티 운영 시스템(120)의 인증 모듈(121)은 비교 결과가 다를 경우에 계량데이터의 네트워크상에서 위변조가 있는 경우를 나타내고, 비교 결과가 같을 경우에 검증 성공으로 판단한다.
도 4는 2nd 스텝(Second-Step) 인증 프로세스를 설명하는 도면이다.
도 4에 도시된 바와 같이, 2nd 스텝 인증 프로세스는 스마트시티 운영 시스템(120)과 서비스 제공 시스템(130) 간의 데이터 전송 과정에서 수행되는 인증 프로세스를 나타낸다.
먼저, 스마트시티 운영 시스템(120)은 인증에 필요한 '공개키 dc'(Pubdc)와 '대칭키 dc'(Pridc)에 대한 키쌍(Pubdc, Pridc)을 유지하고, 서비스 제공 시스템(130)으로부터 전달된 '공개키 dg'(Pubdg)를 획득한다(S21).
이후, 스마트시티 운영 시스템(120)은 '제2 세션키'(Sk2)를 생성하고(S22), 이를 '대칭키 dc'(Pridc)와 '공개키 dg'(Pubdg) 순으로 암호화하여 변수 PS_2에 저장한다(S23). 즉, 변수 PS_2는 PS_2=Pubdg{Pridc(Sk2)}를 만족하며, '암호화된 제2 세션키'에 해당된다.
그리고, 스마트시티 운영 시스템(120)은 암호코드 생성을 위해, '공개키 dg'(Pubdg)와 '제2 세션키'(Sk2)의 합으로 이루어진 키 즉, Pubdg+Sk2로 계량데이터(D)를 암호화하여 변수 C2에 저장한다(S24). 즉, 변수 C2는 C2=Pubdg+Sk2(D)를 만족하며, '암호화된 계량데이터'에 해당된다.
이와 같이, 스마트시티 운영 시스템(120)은 '공개키 dg'(Pubdg), 변수 PS_2, C2를 생성하고, 이를 메시지(M)에 첨부하여 서비스 제공 시스템(130)으로 전송한다(S25).
다음으로, 서비스 제공 시스템(130)은 인증 모듈(131)을 통해 스마트시티 운영 시스템(120)과 인증 과정을 수행한다.
먼저, 서비스 제공 시스템(130)의 인증 모듈(131)은 스마트시티 운영 시스템(120)으로부터 메시지(M)를 전송받기 이전에, '공개키 dg'(Pubdg)와 '대칭키 dg'(Pridg)에 대한 키쌍(Pubdg, Pridg)을 생성한 다음에, '공개키 dg'(Pubdg)를 스마트시티 운영 시스템(120)으로 전달한다(S31). 이때, 서비스 제공 시스템(130)은 스마트시티 운영 시스템(120)과 세션 연결 후, '공개키 dg'(Pubdg)를 자동으로 전달한다.
이후, 서비스 제공 시스템(130)의 인증 모듈(131)은 스마트시티 운영 시스템(120)으로부터 메시지(M)를 전송받은 후(S25), 메시지(M)에 첨부된 '공개키 dg'(Pubdg)를 메모리(도면에 미도시)를 저장한다(S32).
그리고, 서비스 제공 시스템(130)의 인증 모듈(131)은 '암호화된 제2 세션키'에 해당되는 변수 PS_2를 복호화한 후 변수 DS2에 저장한다(S33). 즉, 변수 DS2는 DS2=Pridg{Pubdc(PS_2)}를 만족하고, '복호화된 제2 세션키'에 해당된다.
또한, 서비스 제공 시스템(130)의 인증 모듈(131)은 '암호화된 계량데이터'에 해당되는 변수 C2을 복호화하기 위해, '공개키 dg'(Pubdg)와 변수 DS2의 합으로 이루어진 키 즉, Pubdg+DS2로 변수 C2를 복호화하여 변수 D2에 저장한다(S34). 즉, 변수 D2는 D2=Pubdg+DS2(C2)를 만족하며, '복호화된 계량데이터'에 해당된다.
그런 다음, 서비스 제공 시스템(130)의 인증 모듈(131)은 다음 전송을 위해 새로운 제3 세션키(Sk3)를 생성한다(S35).
도 5는 3rd 스텝(Third-Step) 인증 프로세스를 설명하는 도면이다.
도 5에 도시된 바와 같이, 3rd 스텝 인증 프로세스는 서비스 제공 시스템(130)과 사용자 단말기(200) 간의 데이터 전송 과정에서 수행되는 인증 프로세스를 나타낸다.
먼저, 서비스 제공 시스템(130)은 인증에 필요한 '공개키 dg'(Pubdg)와 '대칭키 dg'(Pridg)에 대한 키쌍(Pubdg, Pridg)을 유지하고, 사용자 단말기(200)로부터 전달된 '공개키 di'(Pubdi)를 획득한다(S41).
이후, 서비스 제공 시스템(130)은 '제3 세션키'(Sk3)를 유지하고(S42), 이를 '대칭키 dg'(Pridg)와 '공개키 di'(Pubdi) 순으로 암호화하여 변수 PS_3에 저장한다(S43). 즉, 변수 PS_3는 PS_3=Pubdi{Pridg(Sk3)}를 만족하며, '암호화된 제3 세션키'에 해당된다.
그리고, 서비스 제공 시스템(130)은 암호코드 생성을 위해, '공개키 dg'(Pubdg)와 '제3 세션키'(Sk3)의 합으로 이루어진 키 즉, Pubdg+Sk3로 계량데이터(D2)를 암호화하여 변수 C3에 저장하면서 종료한다(S44). 즉, 변수 C3은 C3=Pubdg+Sk3(D2)를 만족하며, '암호화된 계량데이터'에 해당된다.
이와 같이, 서비스 제공 시스템(130)은 '공개키 dg'(Pubdg), 변수 PS_3, C3를 생성하고, 이를 메시지(M)에 첨부하여 사용자 단말기(200)로 전송한다(S45).
다음으로, 사용자 단말기(200)는 인증 모듈(151)을 통해 서비스 제공 시스템(130)과 인증 과정을 수행한다.
먼저, 사용자 단말기(200)의 인증 모듈(151)은 서비스 제공 시스템(130)으로부터 메시지(M)를 전송받기 이전에, '공개키 di'(Pubdi)와 '대칭키 di'(Pridi)에 대한 키쌍(Pubdi, Pridi)을 생성한 다음에, '공개키 di'(Pubdi)를 서비스 제공 시스템(130)으로 전달한다(S51). 이때, 사용자 단말기(200)는 서비스 제공 시스템(130)과 세션 연결 후, '공개키 di'(Pubdi)를 자동으로 전달한다.
이후, 사용자 단말기(200)의 인증 모듈(151)은 서비스 제공 시스템(130)으로부터 메시지(M)를 전송받은 후(S45), 메시지(M)에 첨부된 '공개키 dg'(Pubdg)를 메모리(도면에 미도시)를 저장한다(S52).
그리고, 사용자 단말기(200)의 인증 모듈(151)은 '암호화된 제3 세션키'에 해당되는 변수 PS_3를 복호화한 후 변수 DS3에 저장한다(S53). 즉, 변수 DS3는 DS3=Pridi{Pubdg(PS_3)}를 만족하고, '복호화된 제3 세션키'에 해당된다.
또한, 사용자 단말기(200)의 인증 모듈(131)은 '암호화된 계량데이터'에 해당되는 변수 C3을 복호화하기 위해, '공개키 dg'(Pubdg)와 변수 DS3의 합으로 이루어진 키 즉, Pubdg+DS3로 변수 C3을 복호화하여 변수 D3에 저장한다(S54). 즉, 변수 D3은 D3=Pubdg+DS3(C3)를 만족하며, '복호화된 계량데이터'에 해당된다.
그런 다음, 사용자 단말기(200)의 인증 모듈(151)은 다음 전송을 위해 새로운 제4 세션키(Sk4)를 생성한다(S55).
도 6은 4th 스텝(Fourth-Step) 인증 프로세스를 설명하는 도면이다.
도 6에 도시된 바와 같이, 4th 스텝 인증 프로세스는 사용자 단말기(200), 서비스 제공 시스템(130) 및 스마트시티 운영 시스템(120)으로 이어지는 데이터 전송 과정에서 수행되는 인증 프로세스를 나타낸다.
먼저, 사용자 단말기(200)는 인증에 필요한 '공개키 di'(Pubdi)와 '대칭키 di'(Pridi)에 대한 키쌍(Pubdi, Pridi)을 유지하고, 서비스 제공 시스템(130)으로부터 전달된 '공개키 df'(Pubdf)를 획득한다(S61).
이후, 사용자 단말기(200)는 '제4 세션키'(Sk4)를 유지하고(S62), 이를 '대칭키 di'(Pridi)와 '공개키 df'(Pubdf) 순으로 암호화하여 변수 PS_4에 저장한다(S63). 즉, 변수 PS_4는 PS_4=Pubdf{Pridi(Sk4)}를 만족하며, '암호화된 제4 세션키'에 해당된다.
그리고, 사용자 단말기(200)는 암호코드 생성을 위해, '공개키 di'(Pubdi)와 '제4 세션키'(Sk4)의 합으로 이루어진 키 즉, Pubdi+Sk4로 계량데이터(D3)를 암호화하여 변수 C4에 저장한다(S64). 즉, 변수 C4는 C4=Pubdi+Sk4(D3)를 만족하며, '암호화된 계량데이터'에 해당된다.
이와 같이, 사용자 단말기(200)는 '공개키 di'(Pubdi), 변수 PS_4, C4를 생성하고, 이를 메시지(M)에 첨부하여 서비스 제공 시스템(130)으로 전송한다(S65).
다음으로, 서비스 제공 시스템(130)과 스마트시티 운영 시스템(120)은 세션을 연결하여 인증 과정을 수행한다.
먼저, 서비스 제공 시스템(130)은 사용자 단말기(200)로부터 메시지(M)를 전송받기 이전에(S65), '공개키 df'(Pubdf)와 '대칭키 df'(Pridf)에 대한 키쌍(Pubdf, Pridf)을 생성한 다음에, '공개키 df'(Pubdf)를 사용자 단말기(200)로 전달한다(S71).
이후, 서비스 제공 시스템(130)은 스마트시티 운영 시스템(120)과 세션 연결 이후에, 스마트시티 운영 시스템(120)의 내부에서 생성된 페어-와이즈 키(Pair-wise key)(이하 'PW 키'라 함)를 전달받아 메모리에 저장한다(S72). 여기서, PW 키는 서비스 제공 시스템(130)과 스마트시티 운영 시스템(120)이 연동되는 안전한 내부망에서 생성된 보안키로서, MAC 검증 시도를 위해 사용된다.
그리고, 서비스 제공 시스템(130)은 사용자 단말기(200)로부터 전송된 메시지(M)에서 '암호화된 제4 세션키'에 해당되는 변수 PS_4를 복호화하기 위해, '대칭키 df'(Pridf)와 '공개키 di'(Pubdi)를 이용하여 변수 PS_4를 복호화하고, 이를 변수 DS4에 저장한다(S73). 즉, 변수 DS4는 DS4=Pridf{Pubdi(PS_4)}를 만족하고, '복호화된 제4 세션키'에 해당된다.
또한, 서비스 제공 시스템(130)은 '암호화된 계량데이터'에 해당되는 변수 C4를 복호화하기 위해, '공개키 dg'(Pubdg)와 '제3 세션키'(Sk3)의 합으로 이루어진 키 즉, Pubdg+Sk3로 변수 C4을 복호화하여 변수 D4에 저장한다(S74). 즉, 변수 D4은 D4=Pubdg+Sk3(C4)를 만족하며, '복호화된 계량데이터'에 해당된다.
이후, 서비스 제공 시스템(130)은 '복호화된 계량데이터'의 무결성 검증을 위해, 변수 D4를 스마트시티 운영 시스템(120)으로부터 전달된 PW 키를 통해 MAC값을 생성하여 변수 HM에 저장한다(S74). 즉, 변수 HM은 HM=PW[M∥MAC(D4)]를 만족한다.
이와 같이, 서비스 제공 시스템은 변수 D4, HM을 생성하고, 이를 메시지(M)에 첨부하여 스마트시티 운영 시스템(120)으로 전송한다(S75).
한편, 스마트시티 운영 시스템(120)은 서비스 제공 시스템(130)으로부터 메시지(M)를 전송받기 이전에(S75), PW 키를 생성하고, 이를 서비스 제공 시스템(130)으로 전달한다(S81).
이후, 스마트시티 운영 시스템(120)은 서비스 제공 시스템(130)으로부터 메시지(M)를 전송받은 후(S75), 무결성 검증 진행 작업을 시도한다. 즉, 스마트시티 운영 시스템(120)은 변수 D4에 대해 PW 키를 통해 MAC값을 검출하여 변수 'HM에 도출하고(S83), 이를 서비스 제공 시스템(130)으로부터 전달받은 메시지(M)에 포함된 변수 HM과 비교한다(S84).
그런 다음, 스마트시티 운영 시스템(120)은 변수 'HM과 HM의 비교 결과에 따라 데이터 위변조를 판별한다(S85). 즉, 스마트시티 운영 시스템(120)은 변수 'HM과 HM이 일치하면 변수 D4의 데이터를 메모리에 저장하고, 변수 'HM과 HM이 일치하지 않으면 변수 D4의 데이터를 폐기한다.
도 7은 본 발명의 일실시예에 따른 보안키 분배 시스템을 나타낸 도면이다.
도 7을 참조하면, 스마트시티 플랫폼은 데이터 수집 시스템(110), 서비스 제공 시스템(130), 사용자 단말기(200)와 관련된 계층과, 디바이스의 검증 과정을 위한 보안 모듈 프로세스 계층을 가진다.
보안 모듈 프로세스 계층은 보안키 분배 시스템(140)과 연동된다. 이러한 보안키 분배 시스템(140)은 키 생성 모듈(141)과 난수 생성 모듈(142)을 포함한다.
키 생성 모듈(141)은 관리자 보안 정책에 따라 기 설정된 키 생성 주기를 체크하여 임계값이 확인되면 바로 키생성 동작 과정을 수행한다.
키 생성 모듈(141)은 개인키로서 공개키(Pub), 세션키(Sk), 대칭키(Pri)를 생성하는 순으로 프로세스를 진행한다. 난수 생성 모듈(142)은 키들이 생성되면 트리거를 통해 동작된다. 난수 생성 모듈(142)은 랜덤값 주기 체크를 확인하고 탐지용 랜덤값 생성 과정을 수행한다.
난수 생성 모듈(142)에서 생성된 랜덤값(Rn)은 후술할 도 8의 공격자 이상행동 탐지를 위해 사용된다.
도 8은 본 발명의 일실시예에 따른 공격자 이상행동 탐지 방법을 나타낸 도면이다.
스마트시티 운영 시스템(120)은 초기에 설정된 규칙을 통해 수상한 이상행동을 다음과 같은 체크를 통해 감지한다. 즉, 스마트시티 운영 시스템(120)은 공격자 이상행동 의심 디바이스들에 대해 데이터 수집 시간, 세션키 사이즈, 응답 횟수, 시프트 연산값을 체크하는 이상행동 체크 과정을 수행한다.
여기서, 시프트 연산 횟수에 대한 초기 랜덤값과 시프트 방향은 초기 설정을 통해 생성하는데, 이는 외부 공격자의 이상행동 탐지를 위한 하나의 수단이 될 수 있다.
이처럼, 공격자 이상행동 의심 디바이스들은 이상행동 체크 과정을 통해 출력된 체크 데이터를 암호화하여 스마트시티 운영 시스템(120)으로 전송하고, 스마트시티 운영 시스템(120)은 공격자 이상행동 의심 디바이스들로부터 전송된 체크 데이터에 대한 비교를 통해 이상행동 탐지에 대한 검증을 수행한다.
구체적으로, 스마트시티 운영 시스템(120)은 데이터 수집 시스템(110)의 데이터 수집 시간을 체크한다(S101).
이때, 스마트시티 운영 시스템(120)은 데이터 수집 시스템(110)을 통해 데이터를 수집하면서, 수집 데이터의 양 또는 수집 시간의 주기가 달라질 경우에 기 설정된 수집 데이터의 평균량 또는 수집 시간의 기준 주기와 비교하여 이상이 없으면 비교 결과를 기록한 후 이상행동 체크 과정을 종료한다(S102).
반면에, 스마트시티 운영 시스템(120)은 비교 결과 이상이 있으면, 데이터 수집 시스템(110)으로 기존의 세션키 사이즈를 요청하여 세션키 사이즈를 비교한다(S103, S104). 여기서, ReQsk는 기존의 세션키 사이즈이고, ReSsk는 응답된 세션키 사이즈이다.
스마트시티 운영 시스템(120)은 요청된 세션키 사이즈와 응답된 세션키 사이즈가 동일하면, 비교 결과를 기록한 후 이상행동 체크 과정을 종료한다.
반면에, 스마트시티 운영 시스템(120)은 요청된 세션키 사이즈와 응답된 세션키 사이즈가 동일하지 않으면, 데이터 수집 시스템(110)으로 기 설정된 횟수 만큼 응답을 요청함에 따라 동일한 횟수 만큼 응답하는지를 체크한다(S105, S106). 여기서, ReQcount는 응답 요청 횟수이고, ReScount는 응답 횟수이다. 응답 요청 횟수는 관리자에 의해 설정 가능하다.
스마트시티 운영 시스템(120)은 응답 요청 횟수와 응답 횟수가 동일하면, 비교 결과를 기록한 후 이상행동 체크 과정을 종료한다.
반면에, 스마트시티 운영 시스템(120)은 응답 요청 횟수와 응답 횟수가 동일하지 않으면, 데이터 수집 시스템(110)으로 기존의 시프트 연산값을 요청하여 시프트 연산값을 비교한다(S107, S108). 여기서, ReQshift는 기존의 시프트 연산값이고, ReSshift는 응답된 시프트 연산값이다.
이때, 스마트시티 운영 시스템(120)은 최초 설정 당시에 메모리에 기록된 데이터와 연산값을 통해 데이터를 변경한다.
스마트시티 운영 시스템(120)은 기존의 시프트 연산값과 응답된 시프트 연산값이 동일하면 비교 결과를 기록한 후 이상행동 체크 과정을 종료하고, 동일하지 않으면 시스템 관리자에게 통보한다(S109).
여기서는 데이터 수집 시간 체크 과정(S101, S102), 세션키 사이즈 요청 과정(S103, S104), 응답 횟수 체크 과정(S105, S106), 시프트 연산값 체크 과정(S107, S108)의 순서대로 이상행동 체크 과정을 수행하였으나, 검증 순서에 따라 보안강도가 계속적으로 높아지는 것이 아니므로 검증 순서를 다양하게 조정할 수 있다.
도 9a는 공개키 생성과 랜덤값 전달 과정을 설명하는 도면이고, 도 9b는 랜덤값 전달을 통한 이상행동 탐지 과정을 설명하는 도면이다.
도 9a를 참조하면, 기반시설A(10)는 메시지 X를 기반시설B(20)로 전송함에 있어서, 공개키 생성 과정을 통해 공개키를 산출하고, 메시지 X에 대한 서명을 계산한다.
공개키 생성 과정에서 1~5 과정은 통상적인 공개키 생성 과정을 나타낸다. 다만, 6 과정은 이상징후 탐지 과정에 이용하기 위한 랜덤값(난수값)을 보안키 분배 시스템(140)으로부터 할당받는 과정으로, 랜덤값은 기반시설A(10)와 기반시설B(20)에서 상호 인증할 때 사용된다. 이때, 기반시설B(20)는 보안키 분배 시스템(140)으로부터 전달받은 랜덤값을 메모리에 저장한다.
이후, 스마트시티 운영 시스템(120)에서는 랜덤값 전달을 통한 이상행동 탐지 과정이 동작될 때 앞서 설명한 도 8과 같은 순서로 프로세스가 진행되는데, 도 9b에 도시된 예를 통해 설명하기로 한다.
도 9b를 참조하면, S111 단계에서는 데이터 수집시간을 체크하는 부분으로, 데이터가 수집되는 정상 기준시간이 10초라고 가정할 때, 기반시설A(10)의 수집시간과 기반시설B(20)의 기준시간이 동일해야 'True(1)'값이 생성된다.
'True(1)'일 경우에, S112 단계에서는 세션키 사이즈를 요청하는 부분으로, 기반시설A(10)의 세션키에 기반시설B(20)의 '머지(merge)를 위한 11(1011)이라는 내장된 정수값(2진 비트)' 즉, 머지키(merge key)를 병합하여 동일한 값인지를 체크한다. 동일한 값이면 'True(1)'값이 생성된다.
'True(1)'일 경우에, S113 단계에서는 응답횟수를 체크하는 부분으로, 기반시설B(20)가 기반시설A(10)에게 각 기반시설에 공유된 응답 카운트 임계값(threshold) 만큼 응답을 요청했을 때 그 만큼 응답을 수신해야 한다. 정확한 임계값 만큼 응답을 수신하지 않는다면 'False(0)'값이 생성되고, 정확한 임계값 만큼 응답을 수신한다면 'True(1)'값이 생성된다.
'True(1)'일 경우에, S114 단계에서는 기존에 기반시설 설립 후 보안키 분배 시스템(140)으로부터 할당받은 랜덤값으로 이상행동 탐지 과정을 수행한다.
즉, 기반시설B(20)는 기반시설A(10)의 공개키로, 기반시설A(10)는 자신의 공개키로 할당받은 랜덤값 즉, NE(5)를 기준으로 그 만큼 시프트 연산(왼쪽 또는 오른쪽)하여 동일한 값이 나오는지를 판단한다. 동일한 값이 생성되면 'True(1)'값이 생성되고, 동일한 값이 생성되지 않으면 'False(0)'값이 생성된다.
또한, 서로의 공개키를 시프트 연산하여 동일한 값이 나오는지를 판단해도 무관하다. 즉, 기반시설A(10)는 기반시설B(20)의 공개키로, 기반시설B(20)는 기반시설A(10)의 공개키를 사용해도 된다.
S115 단계에서는 S111 단계 내지 S114 단계의 이상행동 탐지 과정 결과에 따라, 보안 위협 단계를 판단하여 이상행동 탐지 결과를 시스템 관리자에게 통보한다.
도 10은 본 발명의 일실시예에 따른 보안키 분배 시스템에서 키쌍 및 랜덤값 생성 및 분배 과정을 설명하는 도면이다.
도 10을 참조하면, 보안키 분배 시스템(140)은 데이터 수집 시스템(110), 스마트시티 운영 시스템(120), 서비스 제공 시스템(130) 각각에 전달할 키쌍과 공개키의 비트를 쪼개기 위한 랜덤값을 생성하여 분배한다.
여기서, 데이터 수집 시스템(110)에 전달되는 키쌍은 '공개키 dc'(Pubdc)와 '대칭키 dc'(Pridc)에 대한 키쌍으로서, 전술한 바와 같이 (Pubdc, Pridc)와 같다. 스마트시티 운영 시스템(120)에 전달되는 키쌍은 '공개키 dg'(Pubdg)와 '대칭키 dg'(Pridg)에 대한 키쌍으로서, 전술한 바와 같이 (Pubdg, Pridg)와 같다. 서비스 제공 시스템(130)에 전달되는 키쌍은 '공개키 di'(Pubdi)와 '대칭키 di'(Pridi)에 대한 키쌍으로서, 전술한 바와 같이 (Pubdi, Pridi)와 같다. 공개키의 비트를 쪼개기 위한 랜덤값(Rb)은 보안 검증에 사용되는 보안 난수값이다.
보안키 분배 시스템(140)은 초기에 키쌍(Pubdc, Pridc, Pubdg, Pridg, Pubdi, Pridi)과 랜덤값(Rb)을 생성하여 각각을 데이터 수집 시스템(110), 스마트시티 운영 시스템(120), 서비스 제공 시스템(130)으로 전달한다.
이후, 보안키 분배 시스템(140)은 키의 안정성을 제공하기 위해 일정 주기와 횟수에 따라 각각의 키쌍들과 랜덤값을 재생성하여 다시 데이터 수집 시스템(110), 스마트시티 운영 시스템(120), 서비스 제공 시스템(130)으로 전달한다.
여기서는 데이터 수집 시스템(110), 스마트시티 운영 시스템(120), 서비스 제공 시스템(130), 보안키 분배 시스템(140)에 장비를 설치하기 전에 하드웨어 자체에 내장된 대칭키가 존재한다고 가정한다.
이러한 대칭키는 데이터 수집 시스템(110), 스마트시티 운영 시스템(120), 서비스 제공 시스템(130)에 각각의 키쌍들과 랜덤값을 안전하게 전달하기 위해 ARIA(국내표준) 또는 AES(국제표준) 등과 같은 암호 알고리즘으로 암호화한 후 전달한다.
그런 다음, 데이터 수집 시스템(110), 스마트시티 운영 시스템(120), 서비스 제공 시스템(130) 각각은 내장된 대칭키를 이용하여 보안키 분배 시스템(140)으로부터 전달된 키쌍과 랜덤값을 복호화하여 메모리에 저장한다.
일부 실시 예에 의한 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CDROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
비록 상기 설명이 다양한 실시예들에 적용되는 본 발명의 신규한 특징들에 초점을 맞추어 설명되었지만, 본 기술 분야에 숙달된 기술을 가진 사람은 본 발명의 범위를 벗어나지 않으면서도 상기 설명된 장치 및 방법의 형태 및 세부 사항에서 다양한 삭제, 대체, 및 변경이 가능함을 이해할 것이다. 따라서, 본 발명의 범위는 상기 설명에서보다는 첨부된 특허청구범위에 의해 정의된다. 특허청구범위의 균등 범위 안의 모든 변형은 본 발명의 범위에 포섭된다.
100 : 스마트시티 통합 관리 시스템 110 : 데이터 수집 시스템
120 : 스마트시티 운영 시스템 130 : 서비스 제공 시스템
140 : 보안키 분배 시스템 141 : 키 생성 모듈
142 : 난수 생성 모듈 200 : 사용자 단말기

Claims (13)

  1. 스마트시티 통합 관리 시스템에 포함된 구성 시스템 각각을 위한 공개키 및 대칭키에 대한 제1 키쌍과 상기 공개키의 비트를 쪼개기 위한 제1 랜덤값을 생성하여 전달하는 단계; 및
    기 설정된 키 생성 주기에 따라 상기 구성 시스템 각각을 위한 제2 키쌍과 제2 랜덤값을 재생성하여 전달하는 단계;를 포함하고,
    상기 공개키는, 상기 구성 시스템이 메시지 수신측일 때 메시지 송신측으로 전달되어지는 것인 스마트시티 통합 관리 시스템의 보안 강화를 위한 보안키 분배 방법.
  2. 제 1 항에 있어서,
    상기 제1 키쌍 및 상기 제2 키쌍 각각은,
    상기 구성 시스템 각각에 대해 다르게 생성되는 것이고,
    상기 제1 랜덤값 및 상기 제2 랜덤값 각각은,
    상기 구성 시스템 각각에 대해 동일하게 생성되는 것인 스마트시티 통합 관리 시스템의 보안 강화를 위한 보안키 분배 방법.
  3. 제 1 항에 있어서,
    상기 공개키는,
    메시지 송신측인 구성 시스템에서 세션키의 암호화를 위해 이용되는 것인 스마트시티 통합 관리 시스템의 보안 강화를 위한 보안키 분배 방법.
  4. 제 3 항에 있어서,
    상기 대칭키는,
    메시지 수신측인 구성 시스템에서 상기 세션키의 복호화를 위해 이용되는 것인 스마트시티 통합 관리 시스템의 보안 강화를 위한 보안키 분배 방법.
  5. 제 4 항에 있어서,
    상기 세션키는,
    메시지 송신측인 구성 시스템에서 계량데이터의 암호화를 위해 이용되는 것인 스마트시티 통합 관리 시스템의 보안 강화를 위한 보안키 분배 방법.
  6. 제 5 항에 있어서,
    상기 복호화된 세션키는,
    메시지 수신측인 구성 시스템에서 상기 계량데이터의 복호화를 위해 이용되는 것인 스마트시티 통합 관리 시스템의 보안 강화를 위한 보안키 분배 방법.
  7. 스마트시티 통합 관리 시스템에 포함된 구성 시스템 각각의 보안 검증에 이용되는 랜덤값을 전달받는 단계; 및
    상기 구성 시스템이 메시지 수신측인 경우에, 데이터 수집시간 체크 과정, 세션키 사이즈 체크 과정, 응답 횟수 체크 과정, 시프트 연산값 체크 과정 중 하나 이상의 과정을 수행하여 공격자 이상행동을 탐지하는 단계;
    를 포함하는 공격자 이상행동 탐지 방법.
  8. 제 7 항에 있어서,
    상기 데이터 수집시간 체크 과정은,
    메시지 송신측의 수집시간과 메시지 수신측의 기준시간을 비교하는 과정인 공격자 이상행동 탐지 방법.
  9. 제 7 항에 있어서,
    상기 세션키 사이즈 체크 과정은,
    메시지 수신측에서 기존 세션키에 머지를 위해 내장된 정수값을 병합한 후, 메시지 송신측의 세션키 사이즈를 비교하는 과정인 공격자 이상행동 탐지 방법.
  10. 제 7 항에 있어서,
    상기 응답 횟수 체크 과정은,
    메시지 수신측에서 기 결정된 횟수 만큼 응답 요청할 때, 메시지 송신측에서 상기 결정된 횟수 만큼 응답되는지를 확인하는 과정인 공격자 이상행동 탐지 방법.
  11. 제 7 항에 있어서,
    상기 시프트 연산 체크 과정은,
    메시지 수신측에서 메시지 송신측의 공개키를 이용하여 시프트 연산을 수행하고, 메시지 송신측에서 자신의 공개키로 상기 랜덤값을 기준으로 시프트 연산하여 상호 비교하는 과정인 공격자 이상행동 탐지 방법.
  12. 제 7 항에 있어서,
    상기 시프트 연산 체크 과정은,
    메시지 수신측에서 메시지 송신측의 공개키를 이용하여 시프트 연산을 수행하고, 메시지 송신측에서 메시지 수신측의 공개키를 이용하여 시프트 연산을 수행하여 상호 비교하는 과정인 공격자 이상행동 탐지 방법.
  13. 제 7 항에 있어서,
    상기 공격자 이상행동을 탐지하는 단계는,
    상기 데이터 수집시간 체크 과정, 상기 세션키 사이즈 체크 과정, 상기 응답 횟수 체크 과정 및 상기 시프트 연산값 체크 과정의 순서에 따라 수행하는 공격자 이상행동 탐지 방법.
KR1020170141404A 2017-10-27 2017-10-27 스마트시티 통합 관리 시스템의 보안 강화를 위한 보안키 분배 방법 및 이를 이용한 공격자 이상행동 탐지 방법 KR20190047477A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170141404A KR20190047477A (ko) 2017-10-27 2017-10-27 스마트시티 통합 관리 시스템의 보안 강화를 위한 보안키 분배 방법 및 이를 이용한 공격자 이상행동 탐지 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170141404A KR20190047477A (ko) 2017-10-27 2017-10-27 스마트시티 통합 관리 시스템의 보안 강화를 위한 보안키 분배 방법 및 이를 이용한 공격자 이상행동 탐지 방법

Publications (1)

Publication Number Publication Date
KR20190047477A true KR20190047477A (ko) 2019-05-08

Family

ID=66580444

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170141404A KR20190047477A (ko) 2017-10-27 2017-10-27 스마트시티 통합 관리 시스템의 보안 강화를 위한 보안키 분배 방법 및 이를 이용한 공격자 이상행동 탐지 방법

Country Status (1)

Country Link
KR (1) KR20190047477A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102169343B1 (ko) * 2019-11-07 2020-10-23 에듀해시글로벌파트너스 주식회사 스마트 시티의 데이터 처리 서비스를 운영하는 방법과 시스템 및 이 방법을 기록한 컴퓨터로 읽을 수 있는 기록 매체

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101061958B1 (ko) 2005-01-12 2011-09-05 인터디지탈 테크날러지 코포레이션 무선 통신의 보안성을 강화하는 방법 및 장치
KR20160035999A (ko) 2014-09-24 2016-04-01 삼성전자주식회사 데이터 통신 보안을 위한 방법, 장치 및 시스템
KR20170036392A (ko) 2015-09-24 2017-04-03 삼성전자주식회사 통신 시스템에서 정보 보호 장치 및 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101061958B1 (ko) 2005-01-12 2011-09-05 인터디지탈 테크날러지 코포레이션 무선 통신의 보안성을 강화하는 방법 및 장치
KR20160035999A (ko) 2014-09-24 2016-04-01 삼성전자주식회사 데이터 통신 보안을 위한 방법, 장치 및 시스템
KR20170036392A (ko) 2015-09-24 2017-04-03 삼성전자주식회사 통신 시스템에서 정보 보호 장치 및 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102169343B1 (ko) * 2019-11-07 2020-10-23 에듀해시글로벌파트너스 주식회사 스마트 시티의 데이터 처리 서비스를 운영하는 방법과 시스템 및 이 방법을 기록한 컴퓨터로 읽을 수 있는 기록 매체

Similar Documents

Publication Publication Date Title
CN108270571B (zh) 基于区块链的物联网身份认证系统及其方法
US10356055B2 (en) System and method for grid based cyber security
Sun et al. A privacy-preserving mutual authentication resisting DoS attacks in VANETs
CN101510877B (zh) 单点登录方法和系统、通信装置
CN105530253B (zh) 基于CA证书的Restful架构下的无线传感器网络接入认证方法
CN100566250C (zh) 一种点对点网络身份认证方法
CN103856468A (zh) 身份验证系统及方法
CN105812128A (zh) 一种智能电网抗恶意数据挖掘攻击的数据聚合系统及方法
Saxena et al. Efficient signature scheme for delivering authentic control commands in the smart grid
CN113285806B (zh) 一种电力异构设备控制指令动态执行方法及系统
KR101344074B1 (ko) 프라이버시 보호를 위한 스마트 그리드 정보 전송 기법
CN111147257A (zh) 身份认证和信息保密的方法、监控中心和远程终端单元
CN104796399B (zh) 一种数据加密传输的密钥协商方法
Thomas et al. A secure way of exchanging the secret keys in advanced metering infrastructure
CN110519222A (zh) 基于一次性非对称密钥对和密钥卡的外网接入身份认证方法和系统
Wang Yet another log-in authentication using n-dimensional construction based on circle property
CN112311553B (zh) 一种基于挑战应答的设备认证方法
Oh et al. Mutual Authentication and Key establishment mechanism using DCU certificate in Smart Grid
CN116915480A (zh) 一种电力物联网安全管理方法及系统
KR20190047477A (ko) 스마트시티 통합 관리 시스템의 보안 강화를 위한 보안키 분배 방법 및 이를 이용한 공격자 이상행동 탐지 방법
CN116743470A (zh) 业务数据加密处理方法及装置
Yahya et al. On the security of an authentication scheme for smart metering infrastructure
CN110289961A (zh) 远程医疗认证方法
CN113347004A (zh) 一种电力行业加密方法
Imamoto et al. A design of Diffie-Hellman based key exchange using one-time ID in pre-shared key model