KR101704540B1 - A method of managing group keys for sharing data between multiple devices in M2M environment - Google Patents

A method of managing group keys for sharing data between multiple devices in M2M environment Download PDF

Info

Publication number
KR101704540B1
KR101704540B1 KR1020160098687A KR20160098687A KR101704540B1 KR 101704540 B1 KR101704540 B1 KR 101704540B1 KR 1020160098687 A KR1020160098687 A KR 1020160098687A KR 20160098687 A KR20160098687 A KR 20160098687A KR 101704540 B1 KR101704540 B1 KR 101704540B1
Authority
KR
South Korea
Prior art keywords
key
server
signature
data
message
Prior art date
Application number
KR1020160098687A
Other languages
Korean (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 KR1020160098687A priority Critical patent/KR101704540B1/en
Application granted granted Critical
Publication of KR101704540B1 publication Critical patent/KR101704540B1/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/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/083Key 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) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key 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) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • 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/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • H04L9/3273Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response for mutual authentication

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The present invention relates to a method for managing a group key for sharing multiple device data of a M2M system. The method for managing the group key for sharing multiple device data of the M2M system comprises: a step for requesting a service for exchanging a public key; a step of registering an initial user; a step of adding a device for establishing a security session between an M2M master device and an M2M slave device; and a step of sharing data between the M2M master device and the M2M slave device. The present invention can be used in a device in an M2M environment with reference to a CoAP message format and a data flow.

Description

M2M 환경의 다중 디바이스 데이터 공유를 위한 그룹키 관리 방법{A method of managing group keys for sharing data between multiple devices in M2M environment}[0001] The present invention relates to a group key management method for managing a plurality of groups of keys,

본 발명은 M2M 환경에서 암호화 키를 생성하고 저장하여 디바이스 간 데이터 공유를 위한 그룹키 관리 방법에 관한 것이다.The present invention relates to a group key management method for data sharing between devices by generating and storing an encryption key in an M2M environment.

기계 간의 통신을 지칭하는 M2M(Machine to Machine) 환경은 최근 융합 서비스의 등장과 동시에, 수많은 장치의 활용으로 인한 전반적인 요구 사항이 증가하고 있으며, 관련 각 표준화 단체는 이러한 장치 간의 보안 요구 사항을 충족하기 위해 각 영역별 보안 기술에 대해 표준화를 진행 중에 있다. Machine-to-machine (M2M) environments, which refer to the communication between machines, have been increasing in recent years with the emergence of convergence services, and the overall requirements of the use of numerous devices have increased. We are in the process of standardization of security technology for each area.

현재 M2M 보안 기술 동향은 M2M 환경의 주요 보안 요구 사항에 대한 분석 연구가 주를 이루고, 실제로 M2M 관련 보안 기술은 매우 부족한 실정이다. 국내외 M2M 관련 보안 기술의 주 대상은 사용자 디바이스를 이용한 M2M 서비스 활용 중심으로 연구되고 있는데, 이는 주체가 디바이스가 아닌 사람으로 완전한 M2M 개념인 사물 간 데이터 교환에 관한 기술이라 하기 어려운 문제가 있다.Currently, M2M security technology trends are focused on analysis of key security requirements of M2M environment. The main subject of M2M related security technology at home and abroad is the use of M2M service using user devices. It is difficult to say that M2M concept is a complete M2M concept.

2015년 상반기를 기준으로 M2M 표준은 데이터 교환을 위한 프로토콜 표준이 진행 중이므로, 2015년 이전 연구들은 M2M의 실제 표준 프로토콜과 상이한 프로토콜로 제안된 것이 대부분이다. As of the first half of 2015, M2M standards are in the process of protocol standardization for data exchange. Therefore, most of the studies before 2015 are proposed as a protocol different from the actual standard protocols of M2M.

기존의 연구는 M2M 환경에 대한 경량 암호 적용을 고려하지 않아 실제 디바이스에 적용하기 어려운 암호 알고리즘(RSA, PKI 인프라 등)이 적용되어 오버헤드가 크다는 문제가 있다.The existing research has the problem that the encryption algorithm (RSA, PKI infrastructure, etc.), which is difficult to apply to real devices, is applied because it does not consider the application of lightweight cryptography to the M2M environment, resulting in a large overhead.

본 발명은 전술한 문제를 해결하기 위하여, M2M 디바이스와 서버 간에 상호인증을 기반으로 서비스 영역이 다른 디바이스 간에 안전한 데이터 공유를 수행하고, 다수의 M2M 디바이스들 간에 상호인증을 위한 그룹키 관리 방법을 제공하는 것을 그 목적으로 한다. In order to solve the above-mentioned problems, the present invention provides a group key management method for mutual authentication among a plurality of M2M devices, performing secure data sharing among devices having different service areas based on mutual authentication between an M2M device and a server The purpose of that is to do.

본 발명의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The objects of the present invention are not limited to the above-mentioned objects, and other objects not mentioned can be clearly understood by those skilled in the art from the following description.

전술한 목적을 달성하기 위한 본 발명에 따른 M2M 시스템의 다중 디바이스 데이터 공유를 위한 그룹키 관리 방법은 하나의 M2M 서버, 상기 M2M 서버에 연결된 하나 이상의 M2M 게이트웨이 및 상기 M2M 게이트웨이에 연결된 하나 이상의 M2M 디바이스를 포함하는 M2M 시스템의 다중 디바이스 데이터 공유를 위한 그룹키 관리 방법에 있어서, M2M 마스터 디바이스와 상기 M2M 서버가 각자 개인키, 공개키를 생성하고, 생성한 공개키를 교환하는 서비스 요청 단계; 상기 M2M 마스터 디바이스와 상기 M2M 서버가 각자 생성한 서명과 암호화된 메시지를 교환하는 초기 사용자 등록 단계; 상기 M2M 마스터 디바이스의 새로운 M2M 슬레이브 디바이스 추가 요청에 따라 상기 M2M 서버가 상기 M2M 슬레이브 디바이스와 공개키, 서명을 교환하여 데이터 공유를 위하여 상기 M2M 마스터 디바이스와 상기 M2M 슬레이브 디바이스 사이에 보안 세션을 설립하는 디바이스 추가 단계; 상기 M2M 마스터 디바이스가 데이터 공유 요청을 하고, 상기 M2M 슬레이브 디바이스가 데이터 공유 승인 응답을 하면, 상기 M2M 서버가 세션키를 생성하고, 상기 M2M 서버가 상기 M2M 마스터 디바이스 및 상기 M2M 슬레이브 디바이스와 서명 및 암호문을 작성하여 교환하고, 상기 M2M 마스터 디바이스와 상기 M2M 슬레이브 디바이스 사이를 상기 M2M 서버가 중계하여 데이터를 공유 단계; 및 상기 M2M 디바이스의 디바이스 해제 요청에 따라 M2M 디바이스를 해제하는 단계; 를 포함하되, 상기 개인키는 위수 q 미만의 자연수 집합으로부터 무작위로 추출하고, 상기 공개키는 상기 개인키로부터 타원 곡선 암호 방법(Elliptic curve cryptography)을 이용하여 생성하고, 상기 개인키 및 공개키를 이용하여 타원 곡선 암호 방법에 기반한 ElGamal 방법(ElGamal Encryption)에 의하여 데이터의 암호화 및 복호화를 하고, 상기 서명은 메시지와 타임스탬프를 결합하여 해쉬함수를 적용하는 타원 곡선 디지털 서명 알고리즘(Elliptic curve digital signature algorithm)에 의하여 작성되고, 상기 작성된 서명을 이용하여 암호화된 메시지가 서명자가 작성한 것인지를 확인하는 것을 특징으로 한다.According to another aspect of the present invention, there is provided a group key management method for sharing multiple device data in an M2M system, the method comprising: receiving one or more M2M servers connected to the M2M gateway and one or more M2M gateways connected to the M2M server; A method of managing a group key for sharing a multi-device data in an M2M system, the method comprising: a service request step of the M2M master device and the M2M server generating respective private keys and public keys and exchanging the generated public keys; An initial user registration step of exchanging an encrypted message with a signature generated by the M2M master device and the M2M server; The M2M master device exchanges a public key and a signature with the M2M slave device in response to a request for adding a new M2M slave device of the M2M master device to establish a security session between the M2M master device and the M2M slave device An additional step; Wherein the M2M master device generates a session key when the M2M master device makes a data sharing request and the M2M slave device makes a data sharing acknowledgment response, the M2M server generates a session key, and the M2M server authenticates the M2M master device and the M2M slave device, And the M2M server relays data between the M2M master device and the M2M slave device and shares the data; And releasing the M2M device in response to the device release request of the M2M device; Wherein the private key is randomly extracted from a set of natural numbers less than q, and the public key is generated from the private key using an elliptic curve cryptography method, (Elliptic Curve Digital Signature Algorithm (EGS)), which encrypts and decrypts data by using an ElGamal Encryption method based on an elliptic curve cryptosystem and applies the hash function by combining a message and a time stamp. ), And confirms whether the message encrypted by using the created signature is created by the signer.

본 발명에 따르면 현재 신뢰성을 제공하는 프로토콜로 채택 중인 CoAP 메시지 포맷과 데이터 흐름을 참고하여 실제 M2M 환경에서 디바이스에 구현하여 사용할 수 있다. According to the present invention, a CoAP message format and a data flow, which are currently adopted as a protocol for providing reliability, can be considered and implemented in a device in an actual M2M environment.

또한, 경량 암호화 적용을 위하여 상호인증 수행이 가능하면서 효율성이 뛰어난 것으로 알려진 ECC(Elliptic curve cryptography, 타원 곡선 암호화 기법)를 적용하여 상호인증 및 서명 생성, 메시지 및 서명 검증을 효율적으로 수행할 수 있고, 키 교환을 위한 ECDH(Elliptic Curve Diffie-Hellman), 서명 생성에 ECDSA(Elliptic Curve Digital Signature Algorithm) 등 표준 암호 알고리즘을 준수하여 실제 환경에 대한 호환성을 높이는 효과가 있다. In addition, mutual authentication and signature generation, message and signature verification can be efficiently performed by applying ECC (Elliptic curve cryptography), which is mutually authentic and feasible with efficiency, for applying lightweight encryption, Elliptic Curve Diffie-Hellman (ECDH) for key exchange, Elliptic Curve Digital Signature Algorithm (ECDSA) for signature generation, and the like.

도 1은 CoAP의 추상적 계층을 나타내는 도면.
도 2는 CoAP의 메시지 포맷을 나타내는 도면.
도 3은 CoAP의 신뢰성, 비신뢰성 메시지 전송을 나타내는 도면.
도 4는 본 발명에 따른 M2M 환경 구성도.
도 5는 본 발명에 따른 M2M 시스템의 다중 디바이스 데이터 공유를 위한 그룹키 관리 방법을 설명하기 위한 블록도.
도 6은 본 발명의 부분 실시예에 따른 서비스 요청 단계에서 메시지 절차 흐름을 설명하기 위한 예시도.
도 7은 본 발명의 부분 실시예에 따른 초기 사용자 등록 단계에서 메시지 절차 흐름을 설명하기 위한 예시도.
도 8은 본 발명의 부분 실시예에 따른 데이터 공유를 위한 디바이스 추가 단계에서 메시지 절차 흐름을 설명하기 위한 예시도.
도 9는 본 발명의 부분 실시예에 따른 디바이스 간 데이터 공유 단계에서 메시지 절차 흐름을 설명하기 위한 예시도.
도 10은 본 발명의 부분 실시예에 따른 서비스 및 디바이스를 해제하는 단계에서 메시지 절차 흐름을 설명하기 위한 예시도.
1 shows an abstract layer of a CoAP;
2 is a diagram showing a message format of a CoAP;
3 is a diagram showing the reliability and unreliable message transmission of CoAP;
4 is a configuration diagram of an M2M environment according to the present invention;
5 is a block diagram illustrating a group key management method for multi-device data sharing in the M2M system according to the present invention.
6 is an exemplary diagram illustrating a message procedure flow in a service request step according to a partial embodiment of the present invention;
FIG. 7 is an exemplary diagram for explaining a message procedure flow in an initial user registration step according to a partial embodiment of the present invention; FIG.
8 is an exemplary diagram for explaining a message procedure flow in a device adding step for data sharing according to a partial embodiment of the present invention;
FIG. 9 is an exemplary diagram for explaining a flow of a message procedure in a step of sharing data between devices according to a specific embodiment of the present invention; FIG.
10 is an exemplary diagram for explaining a message procedure flow in a step of releasing a service and a device according to a partial embodiment of the present invention;

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 한편, 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성소자, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성소자, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.BRIEF DESCRIPTION OF THE DRAWINGS The advantages and features of the present invention, and the manner of achieving them, will be apparent from and elucidated with reference to the embodiments described hereinafter in conjunction with the accompanying drawings. The present invention may, however, be embodied in many different forms and should not be construed as being limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. Is provided to fully convey the scope of the invention to those skilled in the art, and the invention is only defined by the scope of the claims. It is to be understood that the terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. In the present specification, the singular form includes plural forms unless otherwise specified in the specification. As used herein, the terms " comprises, " and / or "comprising" refer to the presence or absence of one or more other components, steps, operations, and / Or additions.

이하, 본 발명의 바람직한 실시예에 대하여 첨부한 도면을 참조하여 상세히 설명하기로 한다. Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.

표 1은 본 발명에 따른 보안 기능 별 요구 사항을 나타낸다.Table 1 shows requirements according to security functions according to the present invention.

구분division 보안 기능Security Features 보안 요구 사항Security requirements
인증키 관리 기능

Authentication key management function

M2M 서버 플랫폼의 NSCL(Network Service Capability Layer)과의 정보 데이터를 주고받기 전에 서비스 연결을 위한 인증키들을 생성하고 저장 관리

Before sending and receiving information data to and from the NSCL (Network Service Capability Layer) of the M2M server platform, authentication keys for service connection are created and stored

생성된 인증키의 암호학적 안전성

Cryptographic security of the generated authentication key

암호키의 안전한 저장 관리

Secure storage of cryptographic keys

인증, 권한 설정

Authentication, Authorization

M2M 단말 애플리케이션과 메시지 전송을 시작하기 전에 애플리케이션 인증키를 통해 인증을 수행

Authenticate via application authentication key before initiating message transfer with M2M endpoint application

Device와 서버간의 상호인증

Mutual authentication between device and server

통신 내용의 암호화

Encryption of communication contents

서비스 기능 계층의 리소스 데이터에 접근하기 전에 접근 권한을 설정

Set access rights before accessing resource data in service function layer

서비스 사용자 별 올바른 접근권한 설정

Set correct access rights per service user

데이터 무결성 체크

Data Integrity Check

M2M 단말 애플리케이션과 DSCL(Device Service Capability Layer) 사이의 데이터 전송 시 데이터의 무결성을 체크

Checks the integrity of data when transferring data between M2M terminal application and DSCL (Device Service Capability Layer)

Device와 DSCL 사이의 데이터 무결성 체크

Data integrity check between Device and DSCL

서비스 기능들 사이에 데이터 전송 시 데이터의 무결성을 체크한다.

Checks the integrity of data when transferring data between service functions.

동일 또는 다른 서비스 사이의 데이터 무결성 체크

Data integrity check between same or different services

M2M 단말과 M2M 서버 플랫폼 사이에 데이터 전송 시 데이터의 무결성을 체크

Checks the integrity of data between M2M terminal and M2M server platform

종단 간 데이터 무결성 체크

End-to-end data integrity check

ETSI TS 102 689는 M2M 서비스 요구 사항을 정의하고 있는 표준 규격으로, M2M 서비스의 일반적 요구 사항(General requirements), 관리(Management), M2M 서비스를 위한 기능 요구 사항(Functional requirement for M2M services), 보안(Security), 네이밍 및 어드레싱(Naming, Numbering and addressing) 등을 정의하고 있다.ETSI TS 102 689 is a standard that defines the requirements for M2M services. It includes general requirements for M2M services, management, functional requirements for M2M services, Security, naming and addressing (Naming, Numbering and addressing).

M2M 디바이스의 보안 관리(DESC) 기능은 M2M 단말 및 M2M 서비스 공급자 사이의 성공적인 상호 인증을 통해 M2M 서비스 구동 및 연결을 위한 인증키들을 도출하고, 보안 환경 외부로부터의 무단 접근으로부터 이들 인증키들을 보호한다.The security management (DESC) function of the M2M device derives authentication keys for M2M service activation and connection through successful mutual authentication between the M2M terminal and the M2M service provider and protects the authentication keys from unauthorized access from outside the security environment .

M2M 단말 애플리케이션을 인증하기 위해 서비스 구동 및 연결 과정에서 생성된 인증키들을 활용하여 애플리케이션 인증을 위한 인증키를 생성하고 단말의 서비스 기능 계층 내에서 이들 인증키들을 관리한다.In order to authenticate the M2M terminal application, an authentication key for application authentication is generated using the authentication keys generated in the service activation and connection process, and the authentication keys are managed in the service function layer of the terminal.

또한 M2M 디바이스(100) 및 M2M 서비스 공급자 간의 상호 인증을 통해 서비스 기능 계층의 등록을 수행한다.And performs registration of the service function layer through mutual authentication between the M2M device 100 and the M2M service provider.

현재 M2M 표준에서 특정 서비스 또는 인증기술을 규정하기보다는, 사용 환경들을 기본으로 요구 사항을 충족시키는 인증기술을 선택적으로 적용하는 상황이다. M2M 환경은 주변기기를 제어하는 서비스, 서로 다른 플랫폼, 서로 다른 통신 기술 등 서로 다른 환경과 다른 기기들과의 통신을 위한 상호 인증기술이 기본적으로 요구된다. 또한 민감한 정보에 대한 암호화 기술과, 무결성을 체크할 수 있는 부인방지 기술이 요구된다.Rather than defining a particular service or authentication technology in the current M2M standard, it is a situation that selectively applies an authentication technology that meets requirements based on usage environments. The M2M environment basically requires mutual authentication technology for communication with different environments and other devices such as peripheral control services, different platforms, different communication technologies. In addition, encryption technology for sensitive information and non-repudiation technology for checking integrity are required.

보안 요구 사항에는 공통적으로 디바이스 간 인증, 권한 관리, 데이터 암호화, 무결성 검사 등이 보안 요구 사항 필수 요소로 정의된다. 현재 표준은 환경적인 면에서 공통적으로 인증기술의 호환성과 제한적인 환경을 위한 경량화된 프로토콜이 요구하고 있으며, 향후 서비스가 확대될 것으로 예상했을 때 서비스적인 면에서는 상이한 서비스 별 상호인증에 사용되는 인증키와 권한인가를 위한 키 관리 기법 표준이 요구될 것으로 분석된다.Common security requirements include device-to-device authentication, rights management, data encryption, and integrity checking. Currently, the standard requires a compatibility protocol of authentication technology and a lightweight protocol for a limited environment in common in the environment. When the service is expected to be expanded in the future, the authentication key And a key management technique standard for authorization is required.

도 1은 CoAP의 추상적 계층을 나타내는 도면이다.1 is a diagram showing an abstract layer of CoAP.

인터넷 표준 단체인 IETF는 다양한 기기가 인터넷에 연결될 것을 예상하여 IPv6, 6LowPAN 등 표준 활동을 진행해 왔으며, 각 워킹 그룹에서 저전력, 소형 장치에 들어가는 표준을 개발하고 있다.IETF, an Internet standards organization, has been conducting standard activities such as IPv6 and 6 LowPAN in anticipation that various devices will be connected to the Internet. Each working group is developing standards for low power and small devices.

현재 UDP 기반의 CoAP 표준화와 3차 시험이 완료(2013년 11월)되었으며 이외에 다른 전송계층(SMS, TCP 등)에서 CoAP 사용에 관한 표준화를 진행 중이다. CoAP 프로토콜은 저전력 센서 노드를 위한 IEEE 802.15.4 표준을 기반으로 네트워크 계층인 IPv6 프로토콜과 IEEE 802.15.4 표준과의 인터페이스를 위한 계층으로 6LoWPAN 프로토콜이 위치하고 있다. CoAP의 적용 대상은 노드가 저성능의 CPU, 적은 용량의 램 및 롬을 가지는 조건인 Constrained 노드를 대상으로, 주요 목표는 REST 아키텍처를 기반으로 이기종의 M2M 디바이스(100) 간에 경량 화된 응용 계층을 제공하는 것이다.Currently, UDP-based CoAP standardization and trials are completed (November, 2013). In addition, standardization of CoAP use is underway in other transport layers (SMS, TCP, etc.). The CoAP protocol is based on the IEEE 802.15.4 standard for low-power sensor nodes, and the 6LoWPAN protocol is located in the layer for the interface between the network layer IPv6 protocol and the IEEE 802.15.4 standard. The target of the CoAP is a constrained node which has a low performance CPU, a small amount of RAM, and a ROM. The main goal is to provide a lightweight application layer between different types of M2M devices (100) based on the REST architecture .

도 2는 CoAP의 메시지 포맷을 나타내는 도면이다.2 is a diagram showing a message format of the CoAP.

HTTP 위에서 동작하여 호환성을 높이고, 프락시 내부의 캐시 기능을 제공하여 기존의 통신망에 있는 HTTP 영역의 노드들(Non-Constrained Node)과 CoAP 영역에 있는 노드(Constrained Node)들 간에 프로토콜 변환의 역할을 할 수 있다.It operates on HTTP to enhance compatibility and provides a cache function inside the proxy to perform protocol conversion between non-constrained nodes in the HTTP area and constrained nodes in the CoAP area .

도 3은 CoAP의 신뢰성, 비신뢰성 메시지 전송을 나타내는 도면이다.3 is a diagram showing the reliability and unreliable message transmission of the CoAP.

통신과정을 위해 CoAP는 확인형, 비확인형, 승인, 리셋의 4가지 메시지 타입을 정의하고 있다. 기본적으로 요청(request)과 응답(response)의 상호작용으로 전달되며 각 메시지 ID를 이용하여 신뢰성 메시지 전송과 비확인성 메시지 전송을 수행하여 동작에 필요한 프락시 동작, 서비스 및 리소스 탐색 방법, 멀티캐스트, HTTP 연계 등을 수행한다.For the communication process, the CoAP defines four message types: confirmation type, unconfirmed type, acknowledgment, and reset. Basically, it is transmitted through interactions of request and response. By performing reliable message transmission and non-acknowledged message transmission using each message ID, a proxy operation, a service and resource search method necessary for the operation, a multicast, HTTP connection and so on.

CoAP 요청에 따른 응답은 토큰이라는 필드를 통해 서로 짝을 이루며, 유지된 토큰을 이용하여 Sleep 모드에 들어간 M2M 디바이스(100)에 대한 뒤늦은 지연에 대해 응답 처리할 수 있다. Http 기반 Get, Post 요청 방식을 지원하기 때문에 서버의 자원 접근이 용이하며, 링크 포맷 표준에 여러 대의 센서에 대한 링크 정보를 포함하여 센서 간에 데이터 공유 기능을 수행할 수 있다.The response according to the CoAP request is paired with each other through a field called a token, and a response to the delayed delay to the M2M device 100 entering the sleep mode using the held token can be processed. It supports Http based Get and Post request method, so it is easy to access resources of server, and it can perform data sharing function between sensors by including link information of several sensors in link format standard.

도 4는 본 발명에 따른 M2M 환경 구성도를 나타낸다.4 shows a configuration diagram of an M2M environment according to the present invention.

표준에서 정의하는 M2M Device, M2M Gateway, M2M Server를 포함하며 서비스 구성요소에 요구되는 가정 사항은 다음과 같다.M2M Device, M2M Gateway, and M2M Server defined in the standard. The following are the assumptions required for service components.

1. 서비스 1:1 또는 1:N 구성으로 상호 응용되어 사용자에게 통합된 스마트 융합 서비스 제공이 가능하다.1. Service It is possible to provide smart convergence service integrated with users by mutually applying 1: 1 or 1: N configuration.

2. M2M Device는 상호인증에 필요한 키 교환을 위한 고유한 파라미터 전달을 위해서 사용자 등록을 반드시 한 번 이상 수행해야 한다.2. The M2M Device must perform user registration more than once in order to transmit the unique parameters for key exchange necessary for mutual authentication.

3. 표준에서 통합되는 M2M 플랫폼으로 인해 단일 또는 다중 Device가 각 다른 서비스에서 연동될 수 있다.3. The M2M platform integrated in the standard allows single or multiple devices to work together in different services.

4. M2M 게이트웨이(300)는 프로토콜 수행에서 유지해야 할 세션 및 식별자 등을 저장하고 유지할 수 있는 저장 공간이 존재한다.4. The M2M gateway 300 has a storage space for storing and maintaining sessions and identifiers to be maintained in protocol execution.

5. 서버는 M2M 플랫폼 표준에서 정의하는 사용자 정의 프로필과 키 관리 기능을 제공하며 신뢰된 서버로 가정한다.5. The server provides the user-defined profile and key management functions defined in the M2M platform standard and assumes that it is a trusted server.

6. 서버는 M2M 플랫폼으로 통신하는 모든 M2M Device에 대해 최소한의 식별 정보를 저장하고 있다. 이는 사용자 등록 단계에서 수행된다.6. The server stores a minimum amount of identification information for all M2M devices communicating with the M2M platform. This is done in the user registration step.

7. 모든 통신과정은 사용자 등록(키의 생성) 단계 이후 키 갱신 및 키 폐지 등 모든 과정을 자동으로 수행한다.7. All communication processes automatically perform all processes such as key renewal and key revocation after user registration (key generation step).

본 발명에서는 도 4에 표시된 M2M Device(100) 중 어느 하나가 M2M 마스터 디바이스(110)가 되고, 나머지 M2M Device(100)에 대하여 데이터 공유를 위한 보안 세션을 설립하여 M2M Device(100) 간의 데이터 공유를 할 수 있게 된다.In the present invention, any one of the M2M devices 100 shown in FIG. 4 becomes the M2M master device 110 and establishes a security session for data sharing with the remaining M2M devices 100 to share data between the M2M devices 100 .

M2M Server, M2M Gateway 및 M2M device 사이에서는 CoAP 프로토콜을 이용하여 통신하게 된다.M2M Server, M2M Gateway and M2M device communicate using CoAP protocol.

표 2는 본 발명에 따른 암호화 알고리즘의 파라미터 명세를 나타낸다.Table 2 shows the parameter specifications of the encryption algorithm according to the present invention.

No.No. ParametersParameters DescriptionDescription 1One DevicePu_KeyDevicePu_Key 디바이스 공개키Device public key 22 ServerPu_KeyServerPu_Key 서버 공개키Server public key 33 DevicePr_KeyDevicePr_Key 디바이스 개인키Device private key 44 ServerPr_KeyServerPr_Key 서버 개인키Server private key 55 Message IDMessage ID 식별 메시지Identification message 66 MM 평문(PlainText)PlainText 77 K_GK_G 키 그룹(Key Group)Key Group 88 rr Ephemeral Random NumberEphemeral Random Number 99 ss Random Number(Session Key)Random Number (Session Key) 1010 D_S1, D_S2 D_S 1, D_S 2 디바이스 디지털 서명Device digital signature 1111 S_S1, S_S2 S_S 1, S_S 2 서버 디지털 서명Server digital signature 1212 TsTs 타임스탬프Timestamp 1313 D_CD_C 디바이스 암호문Device ciphertext 1414 S_CS_C 서버 암호문Server ciphertext

양 당사자의 명칭으로 통상 암호화 방법을 설명할 때 관용하는 Alice와 Bob을 사용하도록 한다.Use the generic Alice and Bob when describing the encryption method in the name of both parties.

서비스 등록 과정에서 사용되는 키 교환 알고리즘은 디피-헬만 공개키 교환 방법을 이용한다. 디피-헬만 공개키 교환 방법이란 정보를 교환할 양 당사자인 Alice와 Bob이 각자 개인키를 생성하고, 각 개인키로부터 공개키를 생성하여 공개키를 교환한다. 즉, Alice와 Bob은 상대방의 공개키를 보유하게 된다. Alice와 Bob은 교환한 공개키와 자신의 개인키를 이용하여 새로운 키를 생성하는데 이를 공유 비밀키(shared secret key)라고 불린다. Alice와 Bob이 갖게 되는 공유 비밀키는 같은 값을 가지게 되고, 이를 이용해 암호화 및 복호화 작업을 한다. The key exchange algorithm used in the service registration process uses the Diffie-Hellman public key exchange method. The Diffie-Hellman public key exchange method is a method in which both parties Alice and Bob who exchange information exchange their private keys, generate public keys from their respective private keys, and exchange public keys. That is, Alice and Bob have the other party's public key. Alice and Bob create a new key using the exchanged public key and their private key, which is called a shared secret key. The shared secret key that Alice and Bob have has the same value and uses it to encrypt and decrypt.

디피-헬만 공개키 교환 방법을 사용하기 위해서는 개인키로부터 공개키를 생성하기는 쉬우나 공개키로부터 개인키를 계산하는 것은 어려워야 한다. 또한 개인키를 알지 못하는 한 공개키로부터 공유 비밀키를 계산하는 것이 어려워야 하며, Alice와 Bob의 공개키만으로는 공유 비밀키를 생성하기 어려워야 한다. To use the Diffie-Hellman public key exchange method it is easy to generate the public key from the private key, but it is difficult to calculate the private key from the public key. Also, it is difficult to calculate the shared secret key from the public key unless the private key is known, and Alice and Bob's public key should be difficult to generate the shared secret key.

이러한 조건을 만족한다면, 암호화 및 복호화의 프로토콜 상 개인키 및 공유 비밀키를 교환되지 아니하므로 교환되는 공개키가 유출된다 하더라도 보안은 유지된다. If this condition is satisfied, the private key and the shared secret key are not exchanged in the encryption and decryption protocol, so that the security is maintained even if the public key to be exchanged is leaked.

본 발명에서 사용하는 암호화 알고리즘은 다수 Device 간 통신의 성능을 고려하여 ECC 기반의 ElGamal 공개키 암호화 방법을 사용한다.The encryption algorithm used in the present invention uses an ECC-based ElGamal public key encryption method considering the performance of communication between multiple devices.

유한체(Finite Field, Galois Field) GF(2p)를 기반의 타원곡선은 이동통신기기 기반의 환경에서 VLSI chip 같은 특수 목적 연산장치(Chip)에 구현에 적합하다.The elliptic curve based on finite field (Galois Field) GF (2p) is suitable for implementation in a special purpose computing device such as a VLSI chip in a mobile communication device based environment.

ECC 기반의 ElGamal 공개키 암호화 방법이란 양자(예컨대, Alice와 Bob) 간 암호화 통신방법으로는 Alice와 Bob이 공개키를 서로 교환한 후, Bob이 Alice의 공개키와 자신의 개인키를 이용하여 메시지를 암호화하여 Alice에게 전송하고, Alice는 자신의 개인키와 Bob의 공개키를 이용하여, 암호화된 메시지를 복호화하는 암호화 방법을 말한다. 이때, 개인키(k)로부터 생성되는 공개키는 순환군을 이루므로, 가환군의 위수(order) 미만의 자연수를 무작위로 추출하여 개인키로 사용하고, 소수(prime)인 위수(order)에 의하여 정하여 지는 타원 곡선상의 무한원점 E1(a1,b1)을 이용하여 공개키(K)를 계산하게 된다. 이때, K = k ⅹ E1(a1,b1) 이고, ⅹ는 타원 곡선 포인트 스칼라 곱이다. 즉, 타원 곡선(Elliptic curve)을 이용하여 개인키로부터 공개키를 생성하고(ECC), 순환군을 이용하여 비밀 공유키를 만드는(ElGamal) 방법이다.The ECC-based ElGamal public key encryption method is a cryptographic communication method between the two (for example, Alice and Bob). After Alice and Bob exchanged public keys, Bob transmits a public key using Alice's public key and his / To Alice, and Alice is an encryption method that decrypts the encrypted message using her private key and Bob's public key. Since the public key generated from the private key k is a circular group, a natural number less than the order of the group is randomly extracted and used as a private key, and then, by a prime order, The public key K is calculated using the infinite origin E 1 (a 1 , b 1 ) on the elliptic curve to be determined. Here, K = k x E 1 (a 1 , b 1 ) and x is an elliptic curve point scalar product. That is, a public key is generated from a private key using an elliptic curve (ECC), and a secret shared key is generated using a cyclic group (ElGamal).

DevicePr_Key는 M2M 디바이스(100)의 개인키를 의미하고, DevicePu_Key는 M2M 디바이스(100)의 공개키를 의미한다. ServerPr_Key는 M2M 서버(200)의 개인키를 의미하고, ServerPu_Key는 M2M 서버(200)의 공개키를 의미한다.DevicePr_Key denotes a private key of the M2M device 100, and DevicePu_Key denotes a public key of the M2M device 100. [ ServerPr_Key denotes a private key of the M2M server 200, and ServerPu_Key denotes a public key of the M2M server 200. [

개인키는 위수(order) q를 이용하여 랜덤 변수로부터 얻을 수 있다. 즉, DevicePr_Key는 구간 [1, q-1]에 포함된 하나의 정수를 뜻한다. 공개키는 위수(q), 타원곡선 p, 개인키로부터 계산할 수 있다. 타원곡선 p는 무한원점 E1(a1, b1)을 갖게 되는데, 타원 곡선 스칼라 포인트 곱(ⅹ)으로부터 공개키 E2(a2, b2)는 다음 수학식1을 이용하여 구할 수 있다.The private key can be obtained from a random variable using order q. That is, DevicePr_Key means one integer included in the interval [1, q-1]. The public key can be computed from the modulus q, the elliptic curve p, and the private key. The elliptic curve p has the infinite origin E 1 (a 1 , b 1 ). From the elliptic curve scalar point product (x), the public key E 2 (a 2, b 2 ) can be obtained using the following equation (1).

Figure 112016075357200-pat00001
Figure 112016075357200-pat00001

주어진 타원곡선 p의 무한원점 E1(a1, b1)은 유일하고, 무한원점은 타원곡선 위의 점들로 이루어진 순환군(Cyclic Group)에 대하여 포인트 덧셈에 관한 항등원 역할을 한다.The infinite origin E 1 (a 1 , b 1 ) of a given elliptic curve p is unique, and the infinite origin serves as an identity point for a cyclic group consisting of points on an elliptic curve.

본 발명에 따른 타원곡선 p, 위수 q, 무한원점 E1(a1, b1)은 미리 정하여진 값이라 할 것이고, 타원 곡선 위에서 타원 곡선 스칼라 포인트 곱(ⅹ)으로부터 계산된 공개키 역시 타원 곡선 위에 있는 점이 된다. 순환군의 특성상 공개키에 임의의 자연수를 타원 곡선 스칼라 포인트 곱한 값도 타원 곡선 위에 있는 점이 된다.The elliptic curve p, the constant q, the infinite origin E 1 (a 1 , b 1 ) according to the present invention will be a predetermined value, and the public key calculated from the elliptic curve scalar point product (x) It becomes a point on the top. The nature of the cyclic group is that the value obtained by multiplying an arbitrary natural number by the elliptic curve scalar point with the public key is also a point on the elliptic curve.

공개키로부터 개인키를 계산하는 것은 불가능한 것은 아니나, 타원곡선상에서 이산 로그를 찾는 것이 오래 걸린다는 점(Intractability)에서 착안된 방법이다. 타원곡선 암호 방법은 배경 이론이 복잡하고 이를 구현하는 것이 해당 기술분야의 전문지식을 필요로 하며, RSA 암호화 방법에 비하여 상대적으로 덜 알려진 측면이 있다. 그러나, RSA보다 짧은 키를 사용하면서 비슷한 수준의 안전성을 제공한다는 장점이 있다.It is not impossible to calculate the private key from the public key, but it is a method that is derived from the fact that finding the discrete log on the elliptic curve takes a long time (Intractability). The elliptic curve cryptosystem requires complex knowledge of the background and requires expertise in the technical field to implement it, and has a relatively less known aspect than the RSA encryption method. However, it has the advantage of providing a similar level of security while using shorter keys than RSA.

표 3은 상술한 개인키, 공개키, 서명, 암호문 생성하는 방법을 수식으로 정리한 표이다. Table 3 is a table summarizing the above-described methods of generating a private key, a public key, a signature, and a cipher text.

No.No. ParametersParameters DescriptionDescription 1One DevicePr_KeyDevicePr_Key 163bit Interger Number163bit Interger Number 22 DevicePu_KeyDevicePu_Key E1(a1, b1)
E2(a2, b2) = DevicePr_Key ⅹ E1(a1, b1)
E 1 (a 1 , b 1 )
E 2 (a 2 , b 2 ) = DevicePr_Key x E 1 (a 1 , b 1 )
33 ServerPr_KeyServerPr_Key 163bit Integer Number163bit Integer Number 44 ServerPu_KeyServerPu_Key E1(a1, b1)
E3(a3, b3) = ServerPr_Key ⅹ E1(a1, b1)
E 1 (a 1 , b 1 )
E 3 (a 3 , b 3 ) = ServerPr_Key x E 1 (a 1 , b 1 )
55 D_S1, D_S2 D_S 1 , D_S 2 D_S1 = r ⅹ (E1(a1, b1))
D_S2 = (h(Md||Ts) + DevicePr_Key ⅹ D_S1)r-1 mod q
D_S 1 = r x (E 1 (a 1 , b 1 ))
D_S 2 = (h (M d? Ts) + DevicePr_Key x D_S 1 ) r -1 mod q
66 S_S1, S_S2 S_S 1 , S_S 2 S_S1 = s ⅹ (E1(a1, b1))
S_S2 = (h(Ms||Ts) + ServerPr_Key ⅹ S_S1)s-1 mod q
S_S 1 = s x (E 1 (a 1 , b 1 ))
S_S 2 = (h (M s | Ts) + ServerPr_Key x S_S 1 ) s -1 mod q
77 rr 임시 랜덤 변수(Ephemeral Random Number)Ephemeral Random Number 88 ss 세션 키(Random Number)The session key (Random Number) 9
9
D_CD_C 암호화encryption D_C = (Md||Ts) + r ⅹ E3(a3, b3)
D_C = (Md) + DevicePr_Key ⅹ E3(a3, b3)
D_C = (M d | Ts) + r x E 3 (a 3 , b 3 )
D_C = (M d ) + DevicePr_Key x E 3 (a 3 , b 3 )
복호화Decryption Md||Ts = D_C - (ServerPr_Key ⅹ D_S1)
Md = D_C - (ServerPr_Key ⅹ E2(a2, b2))
M d? Ts = D_C - (ServerPr_Key x D_S 1 )
M d = D_C - (ServerPr_Key x E 2 (a 2 , b 2 ))
10
10
S_CS_C 암호화encryption S_C = (Ms||Ts) + s ⅹ E2(a2, b2)
S_C = (Ms) + ServerPr_Key ⅹ E2(a2, b2)
S_C = (M s | Ts) + s x E 2 (a 2 , b 2 )
S_C = (M s ) + ServerPr_Key x E 2 (a 2 , b 2 )
복호화Decryption Ms||Ts = S_C - (DevicePr_Key ⅹ S_S1)
Ms = S_C - (DevicePr_Key ⅹ E3(a3, b3))
M s | Ts = S_C - (DevicePr_Key x S_S 1 )
M s = S_C - (DevicePr_Key x E 3 (a 3 , b 3 ))

각 개인키(DevicePr_Key, ServerPr_Key)와 공개키(DeivcePu_Key, ServerPu_Key)의 생성은 ElGamal 기반의 타원 곡선 암호(ECC) 알고리즘을 이용하고, 타원곡선 기반의 디지털 서명 구조(ECDSA)를 이용하여 서명(D_S1, D_S2, S_S1, S_S2)을 생성한다. 해쉬 함수(h(M||Ts))는 SHA-1 160비트, SHA-2, SHA-3, DES, 3DES, MD5sum, RC4 중 어느 하나 일 수 있다. 상기 해쉬 함수의 입력값은 메시지(M)와 타임스탬프(Ts)를 함께 사용할 수 있다. 즉, 서명(D_S2, S_S2)은 동기화 과정 이전에 제3자가 메시지를 가로채어 저장한 후 재전송 공격을 방지를 위한 타임스탬프(Ts)를 포함할 수 있다.Each private key (DevicePr_Key, ServerPr_Key) and the public key generated in (DeivcePu_Key, ServerPu_Key) is using a digital signature scheme of using the elliptic curve cryptography (ECC) algorithm in ElGamal-based and elliptic curve-based (ECDSA) signature (D_S 1 , D_S 2 , S_S 1 , S_S 2 ). The hash function h (M | Ts) may be any of SHA-1 160 bits, SHA-2, SHA-3, DES, 3DES, MD5sum, and RC4. The input value of the hash function may be a combination of a message M and a time stamp Ts. That is, the signatures (D_S 2 , S_S 2 ) may include a time stamp (Ts) for preventing a replay attack after a third party intercepts and stores the message before the synchronization process.

모듈로(modulo) p 덧셈 연산으로 얻는 타원곡선을 p로 정의한다. M2M Device의 공개키로 선언되는 파라미터는 타원곡선 p, 모듈로 q, E1(a1, b1), E2(a2, b2)이다. 반면 M2M server의 공개키로 선언되는 파라미터는 타원곡선 p, 모듈로 q, E1(a1, b1), E3(a3, b3)이다.Modulo p Defines the elliptic curve obtained by the addition operation as p. The parameters that are declared as public key of M2M device are elliptic curve p, modulo q, E 1 (a 1 , b 1 ), E 2 (a 2 , b 2 ). While the parameters that are declared public key of the M2M server is q, E 1 to the elliptic curve p, the module (a1, b1), E 3 (a 3, b 3).

타원곡선 p, 모듈로 q 와 무한원점 E1(a1, b1)은 본 발명에 따른 M2M 환경에서 약속되어 알려진 값이고, 실질적인 교환되는 공개키는 E2(a2, b2)와 E3(a3, b3)를 의미한다.The elliptic curve p, the modulo q and the infinite origin E 1 (a 1 , b 1 ) are known values in the M2M environment according to the present invention, and the actually exchanged public keys are E 2 (a 2 , b 2 ) and E 3 a 3 , b 3 ).

타원 곡선 기반의 디지털 서명 구조(ECDSA)라 함은 암호화 통신에 있어서 서로 주고받은 메시지가 상대방이 보낸 메시지임을 확인하는 암호화 기법을 의미한다. Alice가 Bob에게 메시지 m을 보낸 경우, Alice는 Bob에게 추가적으로 서명 (S1, S2)을 보내게 된다. S1 및 S2는 다음 수학식 2을 만족한다.Elliptic Curve-based Digital Signature Architecture (ECDSA) is a cryptographic technique that confirms that messages exchanged in encrypted communication are messages sent by the other party. When Alice sends a message m to Bob, Alice sends an additional signature (S 1 , S 2 ) to Bob. S 1 and S 2 satisfy the following equation (2).

Figure 112016075357200-pat00002
Figure 112016075357200-pat00002

여기서 r는 구간 [1,q-1]에 포함되는 임시 랜덤 변수(ephemeral random number)를 의미하며, S1은 공개키와 유사한 역할을 할 수 있다. ⅹ는 상술한 것과 마찬가지로 타원 곡선 포인트 스칼라 곱(Elliptic curve point multiplication by a scalar)을 의미한다.Here, r denotes an ephemeral random number included in the interval [1, q-1], and S 1 can play a role similar to a public key. X means an elliptic curve point multiplication by a scalar as in the above.

본 발명에서는 메시지 m에 타임스탬프를 결합하여 해쉬함수를 적용한다. 본 발명에서 사용한 서명은 수학식 2와 같다.In the present invention, a hash function is applied by combining a time stamp with a message m. The signature used in the present invention is shown in Equation (2).

Figure 112016075357200-pat00003
Figure 112016075357200-pat00003

서명은 받은 메시지가 상대방이 보낸 메시지가 맞는지 확인하기 위한 수단이 된다. 복호화한 메시지의 hash 값과 상대방이 보낸 hash 값이 일치한다면 복호화가 잘 된 것이 확인된다. ECDSA는 hash 값이 일치하는지를 확인하기 위하여 다음의 방법을 이용한다. The signature is a means of verifying that the message received is correct. If the hash value of the decrypted message matches the hash value sent by the other party, it is confirmed that the decryption is successful. ECDSA uses the following method to check whether the hash values match.

산출한 서명 S1, S2를 이용하여 w, u, v을 계산한다.And calculates w, u, v using the calculated signatures S 1 , S 2 .

w, u, v을 계산하는 방법은 다음과 같다.How to calculate w, u, v is as follows.

Figure 112016075357200-pat00004
Figure 112016075357200-pat00004

이때, u을 계산할 때 사용하는 hash(m||Ts)는 받은 메시지와 타임스탬프를 결합하여 해쉬함수를 적용하므로 재사용 공격을 방지하는 역할을 한다. S2에 사용된 hash(m||Ts)와 일치하는지 확인하기 위해 상기 계산한 w, u, v 및 수학식 5를 이용하여 타원 곡선 상의 점 (x1, y1)을 구한다. In this case, hash (m || Ts), which is used to calculate u, combines the received message with the time stamp and applies the hash function to prevent the reuse attack. In order to make sure it matches the hash (m || Ts) used for S 2 using the calculated w, u, v, and equation (5) to calculate the points (x 1, y 1) on the elliptic curve.

Figure 112016075357200-pat00005
Figure 112016075357200-pat00005

수학식 6이 성립할 경우, (S2의 m)과 (u의 m)이 일치하는 것으로 본다(일치하지 않을 가능성은 0에 가깝다). 즉, 수학식 6이 성립하면 서명이 올바른 것으로 판단한다. When Equation (6) is satisfied, it is regarded that (m of S 2 ) and (m of u) are coincident (possibility of non-coincidence is close to 0). That is, when Equation (6) is established, it is determined that the signature is correct.

S2는 암호화되어 전송되므로, 1차적으로 보호되지만, 효율성을 위해 암호화하지 않는 경우라 하여도, Hash(m)은 공격에 의해 노출되더라도 해쉬함수는 단방향 함수(irreversibility)이므로 Hash(m)으로 m를 구하는 것은 확률적으로 희박하다. 해쉬함수는 n:1 대응이므로, m≠m'인 경우라도 Hash(m) = Hash(m') 성립하는 것은 극히 낮은 확률로 성립할 수 있으나, 무시해도 무방하다.S 2 is encrypted is transmitted, but the protection primarily, be referred to if not encrypted for the efficiency, Hash (m), even if exposed by the attack hash function is a one-way function (irreversibility) m with Hash (m) Is stochastically scarce. Since the hash function corresponds to n: 1, even if m ≠ m ', Hash (m) = Hash (m') can be established with extremely low probability, but it can be disregarded.

Figure 112016075357200-pat00006
Figure 112016075357200-pat00006

전술한 서명 확인 절차(ECDSA)에 의하여 Bob은 Alice로부터 전달받은 메시지 m, 서명 (S1, S2)를 이용하여 주어진 메시지가 Alice가 보낸 것임을 확인할 수 있게 된다. 본 발명에서는 표 3에 표시된 것과 같이 Device의 서명을 D_S1, D_S2라 하고, Server의 서명을 S_S1, S_S2라 한다. According to the above-mentioned signature verification procedure (ECDSA), Bob can confirm that the given message is sent by Alice using the message m and signature (S 1 , S 2 ) received from Alice. In the present invention, it referred to as the signature of the Device D_S 1, 2 D_S la, the Server's signature S_S 1, and S_S 2, as shown in Table 3.

본래 ECDSA는 다른 서명을 하는데 있어서는 다른 r 값을 무작위로 다시 추출하여 사용하는 것이 중요하다. 그리하여 흔히 메시지마다 다른 서명을 하고, r값을 새로이 추출한다. In essence, it is important for ECDSA to randomly re-extract other r values for other signatures. Thus, often different signatures are used for each message, and a new r value is extracted.

본 발명에서는 M2M 서버(200)가 세션키로 사용할 s를 이용하여 서명을 작성하고, M2M 디바이스(100)는 r값을 이용하여 서명을 작성한다. 두가지 값 모두 임시 랜덤 변수(Ephemeral Random Number)라는 점에서는 차이가 없지만, M2M 서버(200)가 사용하는 세션키는 보안세션이 설립되었을 때, 보다 효율적인 데이터 공유를 위하여 세션키를 활용할 수 있다.In the present invention, the M2M server 100 creates a signature using s, which the M2M server 200 will use as a session key, and the M2M device 100 creates a signature using the value r. The session key used by the M2M server 200 can utilize the session key for more efficient data sharing when a security session is established, although both values are not different in that they are an ephemeral random number.

세션키를 활용하여 데이터 공유 작업을 하는 경우 재사용공격에 취약할 수 있으므로 메시지에 타임스탬프를 포함하여 해쉬함수를 생성하여 재사용공격을 방지하는 역할을 한다.When data is shared by using session key, it can be vulnerable to reuse attacks. Therefore, it generates a hash function including a time stamp in a message to prevent a reuse attack.

도 5은 본 발명에 따른 서 M2M 시스템의 다중 디바이스 데이터 공유를 위한 그룹키 관리 방법을 설명하기 위한 블록도를 나타낸다.FIG. 5 is a block diagram illustrating a group key management method for sharing multi-device data in the M2M system according to the present invention.

M2M 시스템의 다중 디바이스 데이터 공유를 위한 그룹키 관리 방법의 프로토콜의 통신단계는 ①서비스 요청(S510), ②사용자 등록(S520), ③디바이스 추가(S530), ④데이터 공유(S540), ⑤해제(S550) 총 5가지 단계를 수행한다. 각각의 단계에 대하여는 도 6 내지 도 10에서 상세히 설명한다.The communication step of the protocol of the group key management method for M2M system's multi-device data sharing includes (1) service request (S510), (2) user registration (S520), (3) add device (S530) S550). The respective steps will be described in detail in Figs. 6 to 10. Fig.

도 6은 본 발명의 부분 실시예에 따른 서비스 요청 단계(S510)에서 메시지 절차흐름을 설명하기 위한 예시도를 나타낸다.FIG. 6 illustrates an exemplary diagram for explaining a message procedure flow in a service request step (S510) according to a partial embodiment of the present invention.

사용자 등록 이전의 요청 메시지는 CoAP의 식별 메시지(메시지 ID)를 전송하여 식별을 수행한다. 사용자 등록 과정에서 필요한 키를 생성하고 교환하기 때문에 등록 과정 이전에 교환하는 요청 메시지는 단순히 식별 가능한 메시지를 사용한다. 즉, 서비스 요청 단계(S510)에서 M2M 마스터 디바이스(110)와 M2M 서버(200)가 각자 생성한 공개키를 교환하게 된다.The request message before user registration carries out identification by transmitting an identification message (message ID) of the CoAP. In order to generate and exchange necessary keys during the user registration process, the request message exchanged before the registration process simply uses the identifiable message. That is, in the service request step S510, the M2M master device 110 and the M2M server 200 exchange their generated public keys.

서비스 요청 단계(S510)는 공개키 교환 전이므로 모든 메시지가 평문(plaintext)으로 전송된다. 이후 단계에서의 메시지 교환 및 데이터 전송은 암호문(ciphertext)로 전송된다. 이후 단계에서 암호문을 생성하는 암호화 키는 공개키를 이용하여 암호화할 수도 있고, 세션키를 포함하여 생성된 서명을 이용하여 암호화할 수도 있다. 또한, 보안 세션 설립 후에 교환한 공개키, 세션키, 타임스탬프 등을 이용하여 양자간 사용할 대칭 비밀키를 이용하여 암호화 및 복호화가 이루어질 수도 있다. Since the service request step (S510) is before the public key exchange, all messages are transmitted in plaintext. The message exchange and data transmission at a later stage is transmitted as a ciphertext. The encryption key generating the ciphertext in the subsequent step may be encrypted using the public key, or may be encrypted using the signature generated including the session key. In addition, encryption and decryption may be performed using a public key, a session key, a time stamp, and the like, which are exchanged after establishing a secure session, using a symmetric secret key for use with both parties.

예컨대, 초기 사용자 등록 단계(S520) 및 디바이스 추가 단계(S530)에서는 서명을 교환하기 전이므로 자신의 개인키와 상대방의 공개키를 이용하여 메시지를 암호화 및 복호화를 하나, M2M 디바이스(100) 간에 많은 데이터를 전송할 수 있는 데이터 공유 단계(S540)에서는 공개키 암호화, 서명을 이용한 암호화, 대칭키 암호화 모두 가능하고, 이중 암호화도 적용 가능하다. 다만, M2M 환경을 고려할 때, 세션키를 포함하는 서명을 이용하거나, ElGamal 암호화 방법에 의하여 교환된 대칭 비밀키를 이용하여 암호화 및 복호화를 하는 것이 효율적일 수 있다. For example, in the initial user registration step (S520) and the device addition step (S530), the message is encrypted and decrypted using its own private key and the other party's public key since the signature is exchanged. In the data sharing step S540 in which data can be transmitted, public key encryption, encryption using a signature, and symmetric key encryption are all possible, and double encryption is also applicable. However, considering the M2M environment, it may be efficient to encrypt or decrypt using a signature including a session key, or using a symmetric secret key exchanged by the ElGamal encryption method.

도 7은 본 발명의 부분 실시예에 따른 초기 사용자 등록 단계(S520)에서 메시지 절차 흐름을 설명하기 위한 예시도이다.7 is an exemplary diagram illustrating a message procedure flow in an initial user registration step (S520) according to a partial embodiment of the present invention.

초기 사용자 등록을 위해 올바른 M2M Device로 통신하는지 확인할 필요가 있기 때문에 상호인증을 위한 키 교환 사전 단계를 수행한다. Device에서 전달받은 식별 메시지는 공개키와 맵핑하여 게이트웨이와 서버에 저장하고 이후 암호화된 메시지를 서버로 전송한다. 서버는 M2M Device 식별 값들을 저장하고 이후 통신에서 키 갱신 마다 식별 값들을 확인하여 올바른 Device와 통신하는지 확인한다. 사용자 등록 단계(S520)에서 처음 등록된 Device는 M2M 마스터 디바이스(110)로 지정한다.Because it is necessary to verify that the correct M2M device is communicating for initial user registration, perform the key exchange preliminary step for mutual authentication. The identification message transmitted from the device is mapped to the public key and stored in the gateway and the server, and then the encrypted message is transmitted to the server. The server stores the M2M device identification values and verifies the identification values for each key update in subsequent communication to verify that they are communicating with the correct device. The device registered in the user registration step (S520) is designated to the M2M master device (110).

서명 값은 임의의 수와 타원곡선 상에 선택된 좌표(E1(a1, b1))의 곱(Elliptic curve point multiplication by a scalar)에 의해 생성되는 값으로 제3자가 메시지를 가로채어 저장한 후 재전송 공격을 방지를 위한 타임스탬프를 포함한다. The signature value is a value generated by a product of an arbitrary number and the coordinates (E 1 (a 1 , b 1 )) selected on the elliptic curve (Elliptic curve point multiplication by a scalar) And a timestamp for preventing a re-transmission attack.

각 생성된 암호문은 평문 M, 임의의수 r, s 또는 개인키, 타원곡선 상의 점 E2 또는 E3을 이용하여 암호화를 진행하고, 복호화의 경우 자신의 개인키와 각 전송받은 서명을 이용하여 복호화하거나 자신의 개인키와 각 전송받은 공개키(E2 또는 E3)를 이용하여 복호화를 진행한다.Each generated ciphertext is encrypted using a plaintext M, an arbitrary number r, s or a private key, a point E 2 or E 3 on an elliptic curve, and in the case of decryption, using its own private key and each transmitted signature Decrypts the decrypted private key or decrypts it using its own private key and each public key (E 2 or E 3 ) received.

M2M 서버(200)은 M2M 디바이스(100)에 대하여 초기 사용자 등록을 하기 위한 교환한 공개키를 이용하여 작성된 서명(D_S1, D_S2)과 암호화된 텍스트(D_C)를 전송받고(CoAP 요청), M2M 디바이스(100)에게 자신의 서명(S_S1, S_S2)과 암호화된 텍스트(S_C)를 전송하고(CoAP 응답), M2M 디바이스(100)로부터 키 그룹(K_G)과 OK Message를 수신하여(CoAP 요청) 초기 사용자 등록(키 그룹을 세팅)을 마치게 된다. The M2M server 200 receives the signature (D_S 1 , D_S 2 ) and the encrypted text (D_C) created using the exchanged public key for initial user registration with the M2M device 100 (CoAP request) Sends a key group (K_G) and an OK message from the M2M device 100 (CoAP) to the M2M device 100 (S_S 1 , S_S 2 ) and encrypted text S_C Request) to complete the initial user registration (key group setting).

이때 주고받는 메시지는 모두 개인키와 공개키를 이용하여 암호화 및 복호화할 수 있고, 개인키와 서명을 이용하여 암호화 및 복호화할 수 있다. 다만, 서명(D_S1, S_S1)의 데이터 형식은 공개키의 데이터 형식과 동일하므로 암호화 및 복호화하는 방법은 동일하다.(표 3 참조)At this time, all the sending and receiving messages can be encrypted and decrypted using the private key and the public key, and can be encrypted and decrypted using the private key and signature. However, since the data format of the signature (D_S 1 , S_S 1 ) is the same as that of the public key, the encryption and decryption methods are the same (see Table 3).

도 8은 본 발명의 부분 실시예에 따른 데이터 공유를 위한 디바이스 추가 단계(S530)에서 메시지 절차 흐름을 설명하기 위한 예시도이다.FIG. 8 is an exemplary diagram illustrating a message procedure flow in a device adding step (S530) for data sharing according to a partial embodiment of the present invention.

사용자는 각 다른 서비스의 디바이스를 추가하여 M2M 서비스를 이용할 수 있다. 신뢰된 M2M 서버(200)를 통하여 새로운 디바이스 추가에 대한 요청을 수행한다. 추가 디바이스(도 8에서 M2M 슬레이브 디바이스(120))는 등록 단계와 동일하게 안전한 상호인증을 위한 공개키 교환과 암호문을 교환한다. 초기 등록한 M2M 마스터 디바이스(110)의 키 그룹에 디바이스를 추가하고, 서버로부터 생성된 새 세션키를 갱신하여 암호문을 교환하고 통신을 진행한다.The user can use the M2M service by adding devices of different services. And performs a request for adding a new device through the trusted M2M server 200. The additional device (M2M slave device 120 in FIG. 8) exchanges public key exchange and ciphertext for secure mutual authentication in the same manner as the registration step. The device is added to the key group of the initially registered M2M master device 110 and the new session key generated from the server is updated to exchange the cipher text and proceed with communication.

M2M 마스터 디바이스(110)가 M2M 슬레이브 디바이스(120)에 대하여 디바이스 추가 요청(Add Device Request)을 하게 되면, M2M 마스터 디바이스(110)를 등록한 M2M 서버(200)가 M2M 슬레이브 디바이스(120)를 추가하는 과정이 진행된다. 이러한 진행은 상기 도 6 내지 도 7에서 M2M 서버(200)와 M2M 마스터 디바이스(110) 사이에 진행된 절차 흐름과 유사하나, M2M 슬레이브 디바이스(120)의 공개키 및 서명 등의 정보를 M2M 마스터 디바이스(110)의 키 그룹에 저장한다는 점에서 차이가 있다.When the M2M master device 110 makes an Add Device Request to the M2M slave device 120, the M2M server 200 that registered the M2M master device 110 adds the M2M slave device 120 The process proceeds. This process is similar to the process flow between the M2M server 200 and the M2M master device 110 in FIGS. 6 through 7, except that information such as the public key and signature of the M2M slave device 120 is transmitted to the M2M master device 110). ≪ / RTI >

M2M 서버(200)와 M2M 슬레이브 디바이스(120) 사이에 공개키를 교환하고, 서명 파일 및 암호화된 텍스트를 교환하고, OK Message를 받아 M2M 서버(200)의 M2M 마스터 디바이스(110) 키 그룹에 저장함으로써 M2M 마스터 디바이스(110)와 M2M 슬레이브 디바이스(120) 사이에 보안 세션이 설립된다. Exchanges the public key between the M2M server 200 and the M2M slave device 120, exchanges the signature file and the encrypted text, receives the OK message, stores it in the key group of the M2M master device 110 of the M2M server 200 A secure session is established between the M2M master device 110 and the M2M slave device 120. [

M2M 마스터 디바이스(110)의 디바이스 추가 요청에 대하여, M2M 슬레이브 디바이스(120)가 OK Message로 응답한 것이므로, 이후 데이터 공유 단계(S540)에서 서버에 저장된 M2M 마스터 디바이스(110)에 대한 키 그룹 정보를 이용하여 보안 데이터 공유를 할 수 있다.Since the M2M slave device 120 has responded to the device addition request of the M2M master device 110 with the OK message, the key group information for the M2M master device 110 stored in the server in the data sharing step (S540) Can be used to share security data.

도 9은 본 발명의 부분 실시예에 따른 디바이스 간 데이터 공유 단계(S540)에서 메시지 절차 흐름을 설명하기 위한 예시도이다.FIG. 9 is an exemplary diagram for explaining a message procedure flow in the inter-device data sharing step (S540) according to the embodiment of the present invention.

인증된 디바이스에 대한 보안 세션이 설립된 이후 데이터 공유를 위해 서버는 새로운 세션키를 생성하여 각 디바이스와 새션키가 포함된 암호문을 교환한다. 여기서 생성된 세션키는 기존의 서명 생성 시 사용한 r값 또는 s값을 갱신하여 연산을 수행한다. After establishing a secure session for an authenticated device, for data sharing, the server creates a new session key and exchanges the ciphertext with each device and the new session key. The generated session key is updated by updating the r value or the s value used in generating the existing signature.

M2M 마스터 디바이스(110)가 M2M 슬레이브 디바이스(120)와 데이터를 공유하고자 할 때, M2M 서버(200)에 데이터 공유 요청(Data Sharing Request)을 하고, M2M 서버(200)는 M2M 슬레이브 디바이스(120)에게 데이터 공유 요청을 하여 OK Message를 수신하면, 새로운 세션키(s)를 생성하여 서명(S_S1, S_S2)과 암호화된 텍스트(S_C)를 M2M 마스터 디바이스(110)와 M2M 슬레이브 디바이스(120)와 교환하여, M2M 마스터 디바이스(110)과 M2M 슬레이브 디바이스(120) 사이에 보안 데이터 공유가 가능하게 된다.When the M2M master device 110 wants to share data with the M2M slave device 120, the M2M server 200 makes a data sharing request to the M2M server 200 and the M2M server 200 transmits the data sharing request to the M2M slave device 120, (S_S 1 , S_S 2 ) and encrypted text (S_C) to the M2M master device 110 and the M2M slave device 120 by generating a new session key (s) The security data can be shared between the M2M master device 110 and the M2M slave device 120. [

지금까지 설명한 ECC 곡선에 기반한 ElGamal 암호화 방법을 이용하여 M2M 디바이스(100) 간의 메시지 및 데이터 공유를 할 수 있으나, ⒜ 암호문(cyphertext)외의 정보(서명 등)를 반복하여 보내야 하고, ⒝ 반드시 M2M 서버(200)가 데이터 교환을 해야 하고, ⒞ M2M 서버(200)와 M2M 디바이스(100) 간의 서명을 교환하는 프로토콜이 비효율적이며, ⒟ 세션키는 반복 사용할 경우 개인키가 유출될 수 있는 단점이 있다. The M2M device 100 can share messages and data using the ElGamal encryption method based on the ECC curve described above. However, it is necessary to repeatedly send information other than the cyphertext (signature, etc.) 200 have to exchange data, and a protocol for exchanging signatures between the M2M server 200 and the M2M device 100 is inefficient, and there is a disadvantage that a private key can be leaked when the session key is repeatedly used.

이를 해결하기 위하여 데이터 공유 단계(S540)에서 교환하는 서명 정보를 이용하여 디바이스 간의 1:1 매칭 관계 또는 1:N 매칭 관계에 대하여 세션키를 생성하고, 이를 기반으로 대칭 비밀키를 생성하여, M2M 마스터 디바이스(110)와 M2M 슬레이브 디바이스(120)가 직접적으로 데이터를 공유하는 방법을 사용할 수 있다.To solve this problem, in a data sharing step (S540), a session key is generated for a 1: 1 matching relationship or a 1: N matching relationship between devices using the signature information to be exchanged, a symmetric secret key is generated based on the generated session key, A method in which the master device 110 and the M2M slave device 120 directly share data can be used.

세션키를 포함하여 생성한 대칭 비밀키의 재사용 공격을 방지하기 위하여 타임스탬프 정보를 이용할 수 있다.The time stamp information can be used to prevent the reuse attack of the symmetric secret key generated including the session key.

도 10은 본 발명의 부분 실시예에 따른 서비스 및 디바이스를 해제하는 단계(S550)에서 메시지 절차 흐름을 설명하기 위한 예시도이다.10 is an exemplary diagram for explaining a message procedure flow in releasing a service and a device according to a partial embodiment of the present invention (S550).

디바이스를 해제하는 단계(S550)는 M2M 마스터 디바이스(110)가 해제되어 연동된 M2M 디바이스(100)가 모두 해제되거나 특정 M2M 슬레이브 디바이스(120)가 해제되는 경우를 의미한다. The step S550 of releasing the device means a case where the M2M master device 110 is released and the M2M devices 100 interlocked with each other are released or the specific M2M slave device 120 is released.

M2M 마스터 디바이스(110)를 해제할 경우 초기 등록에서 설정된 키 그룹에 추가된 모든 Deivce에 대한 키를 폐지하고, 특정 디바이스의 경우 기존 보안 세션을 유지하고 해제 대상인 디바이스를 K_G에서 해제한다.When the M2M master device 110 is released, all keys added to the key group set in the initial registration are revoked. In the case of the specific device, the existing security session is maintained and the device to be released is released from the K_G.

일반적으로 서비스 이용 시 마스터 디바이스는 사용자가 해제하지 않고, 세션을 유지하면서 특정 디바이스를 추가하거나 해제하는 형태로 사용되기 때문에 M2M 마스터 디바이스(110)의 키 갱신은 디바이스의 종료(꺼짐), 기지국의 이동(핸드오버), 사용자의 요청(재등록)의 경우 키를 폐지하도록 한다.In general, when the service is used, the master device is used in a form of adding or releasing a specific device while maintaining the session without releasing the user. Therefore, updating of the key of the M2M master device 110 is terminated (turned off) (Handover), or the user's request (re-registration).

해제 이후 공유 단계와 동일한 세션키 갱신을 수행하여 세션 재설립과 키그룹 갱신을 통해 안전한 데이터 공유를 진행한다. After the session is released, the same session key update is performed as in the sharing step, and the session data is shared through the session re-establishment and the key group renewal.

(1) 인증 관리 기능 (2) 인증, 권한 설정, (3) 데이터 무결성 체크 측면에서 M2M 서비스 보안 요구 사항 항목에 따른 제안하는 프로토콜의 안정성을 분석한 결과는 다음과 같다.The results of analyzing the stability of the proposed protocol according to the item of M2M service security requirement in (1) authentication management function (2) authentication, authorization setting, and (3) data integrity check are as follows.

(1) 인증 관리 기능 (1) Authentication management function

M2M 서버(200) 플랫폼의 데이터 공유를 위한 키 교환을 통해 정당한 디바이스인지 상호인증을 수행할 수 있도록 RSA 1024bit의 안정성에 준하는 163bit 키 길이의 타원곡선 알고리즘을 사용하였다. 알고리즘 내에 사용된 타원곡선 기반 서명용 개인키의 보안성은 공격 시도의 제한이 없는 오프라인 수준에서 RSA와 동일한 수준인 1024bit의 키에 대하여

Figure 112016075357200-pat00007
ⅹ100% 수준의 공격 성공률을, 2048bit의 키에 대하여
Figure 112016075357200-pat00008
ⅹ100% 수준의 공격 성공률로 공격이 어렵다. We used an elliptic curve algorithm with a 163 bit key length that conforms to the RSA 1024 bit stability to enable legitimate device or mutual authentication through key exchange for data sharing of the M2M server (200) platform. The security of the elliptic curve-based signature private key used in the algorithm is based on the 1024-bit key, which is the same level as the RSA at the off-line level,
Figure 112016075357200-pat00007
Ⅹ100% level of attack success rate, about 2048bit key
Figure 112016075357200-pat00008
It is difficult to attack with 100% attack rate.

프로토콜 내 사용된 타원곡선 알고리즘의 개인키 163bit 키를 증가시킬 경우 알고리즘 수준의 복잡도를 배수 단위로 증가시킬 수 있다. M2M 서버(200)는 기존 신뢰할 수 있는 기관인 CA와 같은 개념으로 전 동작 과정에 사용자의 개입 없이 키의 생성과, 갱신, 폐지 등 키 관리를 수행할 수 있도록 하였다.If the 163-bit key of the private key of the elliptic curve algorithm used in the protocol is increased, the complexity of the algorithm level can be increased in multiples. The M2M server 200 is able to perform key management such as generation, update, and revocation of keys without intervention of the user in the entire operation process with the same concept as CA, which is a trusted authority.

(2) 인증, 권한 설정 (2) authentication, authorization setting

초기 사용자 등록 단계(S520)를 통해 디바이스의 데이터 공유 이전에 각 디바이스 간 상호인증을 수행하며, 생성된 인증키는 첫 식별자 M과 공개키 교환 이외에 모든 과정이 암호화되어 교환되기 때문에 안전하다고 할 수 있다. 공격자는 설립된 보안 세션에 대하여 Device나 서버로 위장하더라도 각 생성된 암호문에서 사용된 개인키의 역원 값을 알지 못하므로 올바른 메시지와 세션키를 유추할 수 없다.The mutual authentication between the devices is performed before the data sharing of the device through the initial user registration step S520 and the generated authentication key is secure because all processes except the public key exchange with the first identifier M are encrypted and exchanged . Even if the attacker masquerades as a device or a server for the established security session, it can not infer the correct message and session key because it does not know the inverse value of the private key used in each generated ciphertext.

또한 각 다른 Device의 통신 내용의 암호화를 위해 데이터 공유시 새로운 세션키를 생성하고, 사용자가 요청한 동일한 디바이스에 대한 키 그룹인지 확인하여 디바이스 간에 접근 권한을 인가할 수 있도록 하였다.Also, in order to encrypt the communication contents of each other device, a new session key is generated in data sharing, and the access right between the devices can be confirmed by checking whether the same key group is requested by the user.

(3) 데이터 무결성 체크(3) Data Integrity Check

데이터 암호화 내 데이터 무결성을 위해 생성된 서명내에 메시지와 타임스탬프를 포함하여 해쉬함수를 사용한다. 타임스탬프는 재사용 공격을 방지한다. 디바이스와 서버의 식별자, 공개키 이외에 모든 메시지가 갱신된 세션키를 암호화되어 전송되기 때문에 이전 세션에서 수집한 메시지를 다음 세션에 재사용하는 재사용 공격에 안전하다. 적용된 SHA-1이외에 적용될 수 있는 대칭키 알고리즘으로는 DES, 3DES, RC4 등 환경의 특성에 따라 확장하여 적용될 수 있다.Use a hash function, including a message and a timestamp, in the generated signature for data integrity in data encryption. Timestamps prevent replay attacks. In addition to the device and server identifier and the public key, all messages are transmitted encrypted with the renewed session key, so it is safe to reuse attacks that reuse the messages collected in the previous session for the next session. The symmetric key algorithm that can be applied to SHA-1 other than the applied SHA-1 can be extended according to the characteristics of the environment such as DES, 3DES, and RC4.

사용자가 초기에 등록하는 디바이스를 마스터로 설정하여 다른 서비스에서 추가되는 디바이스인 경우라도 서버에서 세션키를 포함한 서명을 이용하여 암호화하고 분배하기 때문에 전 과정에 무결성 체크를 모두 충족한다. 서명에 생성되는 연산의 효율성을 위해 세션키만을 갱신하여 알고리즘을 수행한다. 서명을 다시 생성하는 경우는 디바이스가 해제된 경우만 수행하도록 하여 연산의 오버헤드를 최대한 감소시켰다.Even if the user initially registers the device to be registered as a master and added to another service, the server encrypts and distributes it using the signature including the session key. In order to improve the efficiency of the operation generated in the signature, only the session key is updated and the algorithm is executed. When the signature is regenerated, it is performed only when the device is released, thereby reducing the overhead of the operation as much as possible.

이상, 본 발명의 구성에 대하여 첨부 도면을 참조하여 상세히 설명하였으나, 이는 예시에 불과한 것으로서, 본 발명이 속하는 기술 분야에 통상의 지식을 가진 자라면 본 발명의 기술적 사상의 범위 내에서 다양한 변형과 변경이 가능함은 물론이다. 따라서 본 발명의 보호 범위는 전술한 실시예에 국한되어서는 아니 되며 이하의 특허청구범위의 기재에 의하여 정해져야 할 것이다.While the present invention has been described in detail with reference to the accompanying drawings, it is to be understood that the invention is not limited to the above-described embodiments. Those skilled in the art will appreciate that various modifications, Of course, this is possible. Accordingly, the scope of protection of the present invention should not be limited to the above-described embodiments, but should be determined by the description of the following claims.

100: M2M 디바이스
110: M2M 마스터 디바이스
120: M2M 슬레이브 디바이스
200: M2M 서버
300: M2M 게이트웨이
S510: 서비스 요청 단계
S520: 초기 사용자 등록 단계
S530: 디바이스 추가 단계
S540: 데이터 공유 단계
S550: 디바이스 해제 단계
100: M2M device
110: M2M master device
120: M2M slave device
200: M2M server
300: M2M gateway
S510: Service request step
S520: Initial user registration step
S530: Device addition step
S540: Data sharing step
S550: Device release step

Claims (6)

하나의 M2M 서버, 상기 M2M 서버에 연결된 하나 이상의 M2M 게이트웨이 및 상기 M2M 게이트웨이에 연결된 하나 이상의 M2M 디바이스를 포함하는 M2M 시스템의 다중 디바이스 데이터 공유를 위한 그룹키 관리 방법에 있어서,
M2M 마스터 디바이스와 상기 M2M 서버가 각자 개인키, 공개키를 생성하고, 생성한 공개키를 교환하는 서비스 요청 단계;
상기 M2M 마스터 디바이스와 상기 M2M 서버가 각자 생성한 서명과 암호화된 메시지를 교환하는 초기 사용자 등록 단계;
상기 M2M 마스터 디바이스의 새로운 M2M 슬레이브 디바이스 추가 요청에 따라 상기 M2M 서버가 상기 M2M 슬레이브 디바이스와 공개키, 서명을 교환하여 데이터 공유를 위하여 상기 M2M 마스터 디바이스와 상기 M2M 슬레이브 디바이스 사이에 보안 세션을 설립하는 디바이스 추가 단계;
상기 M2M 마스터 디바이스가 데이터 공유 요청을 하고, 상기 M2M 슬레이브 디바이스가 데이터 공유 승인 응답을 하면, 상기 M2M 서버가 세션키를 생성하고, 상기 M2M 서버가 상기 M2M 마스터 디바이스 및 상기 M2M 슬레이브 디바이스와 서명 및 암호문을 작성하여 교환하고, 상기 M2M 마스터 디바이스와 상기 M2M 슬레이브 디바이스 사이를 상기 M2M 서버가 중계하여 데이터를 공유 단계; 및
상기 M2M 디바이스의 다른 M2M 디바이스 해제 요청에 따라 디바이스를 해제하는 단계;를 포함하되,
상기 개인키는 위수 q 미만의 자연수 집합으로부터 무작위로 추출하고,
상기 공개키는 상기 개인키로부터 타원 곡선 암호 방법(Elliptic curve cryptography)을 이용하여 생성하고,
상기 개인키 및 공개키를 이용하여 타원 곡선 암호 방법에 기반한 ElGamal 방법(ElGamal Encryption)에 의하여 데이터의 암호화 및 복호화를 하고,
상기 서명은 메시지와 타임스탬프를 결합하여 해쉬함수를 적용하는 타원 곡선 디지털 서명 알고리즘(Elliptic curve digital signature algorithm)에 의하여 작성되고,
상기 작성된 서명을 이용하여 암호화된 메시지가 서명자가 작성한 것인지를 확인하는 것을 특징으로 하는
M2M 시스템의 다중 디바이스 데이터 공유를 위한 그룹키 관리 방법.
A group key management method for multi-device data sharing in an M2M system including one M2M server, one or more M2M gateways connected to the M2M server, and one or more M2M devices connected to the M2M gateway,
A service request step of the M2M master device and the M2M server generating respective private keys and public keys and exchanging the generated public keys;
An initial user registration step of exchanging an encrypted message with a signature generated by the M2M master device and the M2M server;
The M2M master device exchanges a public key and a signature with the M2M slave device in response to a request for adding a new M2M slave device of the M2M master device to establish a security session between the M2M master device and the M2M slave device An additional step;
Wherein the M2M master device generates a session key when the M2M master device makes a data sharing request and the M2M slave device makes a data sharing acknowledgment response, the M2M server generates a session key, and the M2M server authenticates the M2M master device and the M2M slave device, And the M2M server relays data between the M2M master device and the M2M slave device and shares the data; And
Releasing the device in response to a request to release another M2M device of the M2M device,
Wherein the private key is randomly extracted from a set of natural numbers less than q,
The public key is generated from the private key using an elliptic curve cryptography method,
Encrypting and decrypting the data by an ElGamal method based on an elliptic curve cryptosystem using the private key and the public key,
The signature is generated by an elliptic curve digital signature algorithm that applies a hash function by combining a message and a time stamp,
And verifies whether the message encrypted by using the created signature has been created by the signer
A Group Key Management Method for Multi - Device Data Sharing in M2M System.
제1항에 있어서,
상기 해쉬 함수는 SHA1, DES, 3DES, RC4 중 어느 하나인 것인
M2M 시스템의 다중 디바이스 데이터 공유를 위한 그룹키 관리 방법.
The method according to claim 1,
The hash function is any one of SHA1, DES, 3DES, RC4
A Group Key Management Method for Multi - Device Data Sharing in M2M System.
제1항에 있어서,
상기 M2M 서버, 상기 M2M 게이트웨이 및 상기 M2M 디바이스가 연결되는 네트워크는 IEEE 802.15.4를 따르는 센서 네트워크인 것인
M2M 시스템의 다중 디바이스 데이터 공유를 위한 그룹키 관리 방법.
The method according to claim 1,
Wherein the network to which the M2M server, the M2M gateway and the M2M device are connected is a sensor network compliant with IEEE 802.15.4
A Group Key Management Method for Multi - Device Data Sharing in M2M System.
제3항에 있어서,
상기 센서 네트워크에서 메시지를 전송하는 프로토콜은 CoAP(constrained Application Protocol)인 것인
M2M 시스템의 다중 디바이스 데이터 공유를 위한 그룹키 관리 방법.
The method of claim 3,
The protocol for transmitting a message in the sensor network is CoAP (Constrained Application Protocol)
A Group Key Management Method for Multi - Device Data Sharing in M2M System.
제1항에 있어서,
상기 초기 사용자 등록 단계에서 상기 서명은 상대방의 공개키와 자신의 개인키를 이용하여 암호화하여 전송하고, 상기 암호화된 메시지는 상대방의 서명과 자신의 개인키를 이용한 암호화 방법 및 상대방의 공개키와 자신의 개인키를 이용한 암호화 방법을 적용하여 이중으로 암호화된 것을 특징으로 하는
M2M 시스템의 다중 디바이스 데이터 공유를 위한 그룹키 관리 방법.
The method according to claim 1,
In the initial user registration step, the signature is encrypted using the public key of the other party and its own private key, and the encrypted message is transmitted to the user through the encryption method using the signature of the other party and its own private key, By using the encryption method using the private key of < RTI ID = 0.0 >
A Group Key Management Method for Multi - Device Data Sharing in M2M System.
제1항에 있어서,
상기 데이터를 공유 단계는
상기 M2M 서버가 세션키 s를 랜덤제네레이터를 이용하여 생성하고, 세션키 s를 자신의 개인키와 상대방의 공개키를 이용하여 암호화한 암호문을 상기 M2M 마스터 디바이스 및 상기 M2M 슬레이브 디바이스에게 전달하여 상기 세션키를 공유된 비밀키(shared secret key)로 사용하여 데이터를 공유하는 것을 특징으로 하는
M2M 시스템의 다중 디바이스 데이터 공유를 위한 그룹키 관리 방법.
The method according to claim 1,
The step of sharing the data
The M2M server generates a session key s using a random generator and transmits a cipher text obtained by encrypting the session key s using its own private key and a public key of the other party to the M2M master device and the M2M slave device, And the key is used as a shared secret key to share the data.
A Group Key Management Method for Multi - Device Data Sharing in M2M System.
KR1020160098687A 2016-08-03 2016-08-03 A method of managing group keys for sharing data between multiple devices in M2M environment KR101704540B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160098687A KR101704540B1 (en) 2016-08-03 2016-08-03 A method of managing group keys for sharing data between multiple devices in M2M environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160098687A KR101704540B1 (en) 2016-08-03 2016-08-03 A method of managing group keys for sharing data between multiple devices in M2M environment

Publications (1)

Publication Number Publication Date
KR101704540B1 true KR101704540B1 (en) 2017-02-09

Family

ID=58154527

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160098687A KR101704540B1 (en) 2016-08-03 2016-08-03 A method of managing group keys for sharing data between multiple devices in M2M environment

Country Status (1)

Country Link
KR (1) KR101704540B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019016641A1 (en) * 2017-07-18 2019-01-24 International Business Machines Corporation A cluster of secure execution platforms
KR101997117B1 (en) 2017-12-27 2019-07-05 경동대학교 산학협력단 Group-key management and authentication method and apparatus for information-sharing of group members
KR20190123448A (en) * 2018-04-24 2019-11-01 주식회사 호그린에어 Method for encrypting high-speed video data of LTE-based swarm UAS
KR20190128533A (en) * 2018-05-08 2019-11-18 한국과학기술원 Cryptocurrency wallet redundancy method using multi-sig for overcoming failover

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040097717A (en) * 2003-05-13 2004-11-18 펜타시큐리티시스템 주식회사 Method and system for transporting session key

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040097717A (en) * 2003-05-13 2004-11-18 펜타시큐리티시스템 주식회사 Method and system for transporting session key

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019016641A1 (en) * 2017-07-18 2019-01-24 International Business Machines Corporation A cluster of secure execution platforms
GB2579490A (en) * 2017-07-18 2020-06-24 Ibm A cluster of secure execution platforms
GB2579490B (en) * 2017-07-18 2022-03-16 Ibm A cluster of secure execution platforms
KR101997117B1 (en) 2017-12-27 2019-07-05 경동대학교 산학협력단 Group-key management and authentication method and apparatus for information-sharing of group members
KR20190123448A (en) * 2018-04-24 2019-11-01 주식회사 호그린에어 Method for encrypting high-speed video data of LTE-based swarm UAS
KR102087498B1 (en) * 2018-04-24 2020-03-10 주식회사 호그린에어 Method for encrypting high-speed video data of LTE-based swarm UAS
KR20190128533A (en) * 2018-05-08 2019-11-18 한국과학기술원 Cryptocurrency wallet redundancy method using multi-sig for overcoming failover
KR102173264B1 (en) 2018-05-08 2020-11-03 한국과학기술원 Cryptocurrency wallet redundancy method using multi-sig for overcoming failover

Similar Documents

Publication Publication Date Title
Cao et al. Fast authentication and data transfer scheme for massive NB-IoT devices in 3GPP 5G network
Li et al. Group-based authentication and key agreement with dynamic policy updating for MTC in LTE-A networks
Arkko et al. Mikey: Multimedia internet keying
KR101394730B1 (en) Identity based authenticated key agreement protocol
RU2554532C2 (en) Method and device for secure data transmission
CN108599925B (en) Improved AKA identity authentication system and method based on quantum communication network
WO2017185999A1 (en) Method, apparatus and system for encryption key distribution and authentication
Li et al. iTLS: Lightweight transport-layer security protocol for IoT with minimal latency and perfect forward secrecy
Lavanya et al. Lightweight key agreement protocol for IoT based on IKEv2
KR20080025202A (en) Establishment of a trusted relationship between unknown communication parties
CN111970699B (en) Terminal WIFI login authentication method and system based on IPK
Rabiah et al. A lightweight authentication and key exchange protocol for IoT
KR101704540B1 (en) A method of managing group keys for sharing data between multiple devices in M2M environment
US20120226909A1 (en) Method of Configuring a Node, Related Node and Configuration Server
US20160044007A1 (en) Method and device for establishing session keys
CN103118363A (en) Method, system, terminal device and platform device of secret information transmission
Tian et al. Analysis and improvement of an authenticated key exchange protocol for sensor networks
US11088835B1 (en) Cryptographic module to generate cryptographic keys from cryptographic key parts
Judmayer et al. On the security of security extensions for IP-based KNX networks
GB2543359A (en) Methods and apparatus for secure communication
KR100456624B1 (en) Authentication and key agreement scheme for mobile network
CN114928503B (en) Method for realizing secure channel and data transmission method
Dikii Authentication algorithm for internet of things networks based on MQTT protocol
Resner et al. Key establishment and trustful communication for the internet of things
TWI761243B (en) Encryption system and encryption method for group instant massaging

Legal Events

Date Code Title Description
GRNT Written decision to grant