KR20170114927A - Method and apparatus for providing light weight authentication protocol for mobile sensor network - Google Patents

Method and apparatus for providing light weight authentication protocol for mobile sensor network Download PDF

Info

Publication number
KR20170114927A
KR20170114927A KR1020170036271A KR20170036271A KR20170114927A KR 20170114927 A KR20170114927 A KR 20170114927A KR 1020170036271 A KR1020170036271 A KR 1020170036271A KR 20170036271 A KR20170036271 A KR 20170036271A KR 20170114927 A KR20170114927 A KR 20170114927A
Authority
KR
South Korea
Prior art keywords
message
key
ticket
node
information
Prior art date
Application number
KR1020170036271A
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 한국전자통신연구원
Publication of KR20170114927A publication Critical patent/KR20170114927A/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/068Network architectures or network communication protocols for network security for supporting key management in a packet data network using time-dependent keys, e.g. periodically changing keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/04Large scale networks; Deep hierarchical networks
    • H04W84/042Public Land Mobile systems, e.g. cellular systems
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Abstract

모바일 센서 네트워크를 위한 경량 인증 프로토콜을 제공하는 방법 및 장치가 제공된다. 베이스 스테이션은 그룹 키 암호화를 사용하여 시간에 기반한 키 생성 인자(generation argument)들을 그룹 멤버 들에게 브로드캐스트 한다. 각 그룹 멤버는 비가역(irreversible) 함수를 사용하여 확약 키 생성자(commitment key generator)를 생성한다. 각 그룹 멤버는 확약키 생성자를 사용하여 키 생성자 체인을 생성한다. 키들의 체인의 각 키는 각 키 별로 기정의된 시간 인터벌에서 유효할 수 있다. 티켓의 검증자는 키들의 체인에 기반하여 센서 노드에 대한 인증을 수행할 수 있다.A method and apparatus are provided for providing a lightweight authentication protocol for a mobile sensor network. The base station uses group key encryption to broadcast time-based key generation arguments to group members. Each group member uses an irreversible function to create a commitment key generator. Each group member uses a commitment key generator to create a key generator chain. Each key of a chain of keys may be valid at a predetermined time interval for each key. The verifier of the ticket can perform authentication on the sensor node based on a chain of keys.

Description

모바일 센서 네트워크를 위한 경량 인증 프로토콜을 제공하는 방법 및 장치{METHOD AND APPARATUS FOR PROVIDING LIGHT WEIGHT AUTHENTICATION PROTOCOL FOR MOBILE SENSOR NETWORK}METHOD AND APPARATUS FOR PROVIDING LIGHT WEIGHT AUTHENTICATION PROTOCOL FOR MOBILE SENSOR NETWORK [

하기의 실시예들은 동적 환경 내에서의 센서 노드 및 싱크 노드를 위한 안전한(secure) 상호 인증 프로토콜을 설립(establish)하기 위해 설계된(designed) 것이다.The following embodiments are designed to establish a secure mutual authentication protocol for sensor nodes and sink nodes in a dynamic environment.

네트워크 시스템에서, 네트워크 시스템의 엔티티들은 동적으로 네트워크 시스템에 가입(join)하거나, 네트워크 시스템으로부터 이탈(leave)할 수 있다.In a network system, entities of the network system may dynamically join or leave the network system.

네트워크 시스템의 가입 및 이탈에 있어서, 커베로스(Kerberos)는 재-인증(re-authentication)을 위한 티켓(ticket)을 발급(issue)한다. 또한, 네트워크 시스템의 가입 및 이탈에 있어서, 테슬라(TESLA)는 시간에 기반한 키 체인 메커니즘을 사용함으로써 인증 티켓을 암호화(encrypt)한다.In joining and leaving the network system, Kerberos issues a ticket for re-authentication. In addition, in joining and leaving the network system, TESLA encrypts the authentication ticket by using a time-based key chain mechanism.

또한, 니드햄-슈레더(Needham-Schroeder), 커베로스, 와이드-마우스-프로그(Wide-Mouth-Frog) 및 우-람(Woo-Lam) 등은 엔티티들 간의 세션(session) 키를 유지(maintain)한다.In addition, Needham-Schroeder, Kerberos, Wide-Mouth-Frog and Woo-Lam, etc. maintain a session key between entities )do.

키를 사용하는 다수의 노드들 간의 통신 기술에 관련하여 미국등록특허 제8300830호가 공개된 바 있다.U.S. Patent No. 8,300,830 has been disclosed in connection with a communication technique between a plurality of nodes using a key.

일 실시예는 동적 모바일 네트워크를 위한 안전하고, 경량인(light weight) 인증 프로토콜을 사용하는 장치 및 방법을 제공할 수 있다.One embodiment may provide an apparatus and method for using a secure, light weight authentication protocol for dynamic mobile networks.

일 실시예는 통신 엔티티들이 최소의 통신 복잡도(complexity)로 인증할 수 있게 하는 장치 및 방법을 제공할 수 있다.One embodiment may provide an apparatus and method for allowing communication entities to authenticate with minimal communication complexity.

일 실시예는 통신 엔티티들이 최소의 통신 복잡도로 인증함으로써 인증 절차(procedure) 지연(delay)를 감소시키고, 센서 노드의 에너지 소모(consumption)를 감소시키는 장치 및 방법을 제공할 수 있다.One embodiment may provide an apparatus and method for reducing authentication procedure delays and reducing energy consumption of sensor nodes by communicating with minimal communication complexity by communication entities.

일 측에 있어서, 센서 네트워크의 베이스 스테이션에 의해 수행되는, 네트워크 내의 통신 엔티티에 대한 인증을 위한 키들의 체인을 생성하는 단계; 및 상기 키들의 체인에 기반하여 센서 노드에 대한 인증을 수행하는 단계를 포함하고, 상기 키들의 체인의 각 키는 상기 각 키 별로 기정의된 시간 인터벌에서 유효한 인증 방법이 제공된다.On one side, generating a chain of keys for authentication to a communication entity in the network, performed by the base station of the sensor network; And performing authentication on the sensor node based on the chain of keys, wherein each key in the chain of keys is valid in a predetermined time interval for each key.

이 외에도, 본 발명을 구현하기 위한 다른 방법, 장치, 시스템 및 상기 방법을 실행하기 위한 컴퓨터 프로그램을 기록하기 위한 컴퓨터 판독 가능한 기록 매체가 더 제공된다.In addition, there is further provided another method, apparatus, system for implementing the invention and a computer readable recording medium for recording a computer program for executing the method.

동적 모바일 네트워크를 위한 안전하고, 경량인(light weight) 인증 프로토콜을 사용하는 장치 및 방법이 제공된다.An apparatus and method for using a secure, light weight authentication protocol for dynamic mobile networks are provided.

통신 엔티티들이 최소의 통신 복잡도(complexity)로 인증할 수 있게 하는 장치 및 방법이 제공된다.An apparatus and method are provided for enabling communication entities to authenticate with minimal communication complexity.

통신 엔티티들이 최소의 통신 복잡도로 인증함으로써 인증 절차 지연(delay)를 감소시키고, 센서 노드의 에너지 소모(consumption)를 감소시키는 장치 및 방법이 제공된다.An apparatus and method are provided for reducing authentication procedure delays and reducing energy consumption of sensor nodes by communicating with communication entities with minimal communication complexity.

도 1은 일 실시예에 따른 센서 네트워크를 나타낸다.
도 2는 일 실시예에 따른 베이스 스테이션의 구조도이다.
도 3은 일 실시예에 따른 싱크 노드의 구조도이다.
도 4는 일 실시예에 따른 센서 노드의 구조도이다.
도 5는 일 실시예에 따른 사용자 노드의 흐름도이다.
도 6은 일 실시예에 따른 인증 방법의 흐름도이다.
도 7은 일 예에 따른 시간에 기반한 키들의 생성 및 사용에 관련된 시간 프레임을 나타낸다.
도 8은 일 예에 따른 시간 경과(time passage)에 관련하여 시간에 기반한 키들의 생성 및 승인(admission)을 나타낸다.
도 9a은 일 예에 따른 함수 g의 구조를 나타낸다.
도 9b는 일 예에 따른 함수 F의 구조를 나타낸다.
도 9c는 일 예에 따른 함수 f의 구조를 나타낸다.
도 10은 일 예에 따른 인덱스 벡터의 이진 해시 트리를 나타낸다.
도 11은 일 예에 따른 싱크 노드에서의 키들의 체인의 생성자의 관리를 나타낸다.
도 12는 일 예에 따른 인증 절차의 흐름도이다.
도 13은 일 예에 따른 SAAP의 흐름도이다.
도 14는 일 예에 따른 SRP1의 흐름도이다.
도 15는 일 예에 따른 SRP2의 흐름도이다.
도 16은 일 예에 따른 UAAP의 흐름도이다.
도 17은 일 예에 따른 USeAP의 흐름도이다.
1 illustrates a sensor network according to one embodiment.
2 is a structural view of a base station according to an embodiment.
3 is a block diagram of a sink node according to an embodiment of the present invention.
4 is a structural diagram of a sensor node according to an embodiment.
5 is a flow diagram of a user node according to one embodiment.
6 is a flowchart of an authentication method according to an embodiment.
7 shows a time frame associated with the generation and use of time-based keys according to an example.
Figure 8 shows the generation and admission of time-based keys in relation to a time passage according to an example.
9A shows the structure of function g according to an example.
9B shows the structure of a function F according to an example.
9C shows the structure of a function f according to an example.
FIG. 10 shows a binary hash tree of an index vector according to an example.
11 illustrates management of a generator of a chain of keys in a sink node according to an example.
12 is a flowchart of an authentication procedure according to an example.
13 is a flowchart of SAAP according to an example.
14 is a flow chart of the SRP 1 according to an example.
15 is a flow chart of SRP2 according to an example.
16 is a flow diagram of a UAAP according to an example.
17 is a flow chart of USeAP according to an example.

후술하는 예시적 실시예들에 대한 상세한 설명은, 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 실시예를 실시할 수 있기에 충분하도록 상세히 설명된다. 다양한 실시예들은 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 실시예의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 예시적 실시예들의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다.The following detailed description of exemplary embodiments refers to the accompanying drawings, which illustrate, by way of illustration, specific embodiments. These embodiments are described in sufficient detail to enable those skilled in the art to practice the embodiments. It should be understood that the various embodiments are different, but need not be mutually exclusive. For example, certain features, structures, and characteristics described herein may be implemented in other embodiments without departing from the spirit and scope of the invention in connection with an embodiment. It is also to be understood that the location or arrangement of the individual components within each disclosed embodiment may be varied without departing from the spirit and scope of the embodiments. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the exemplary embodiments is to be limited only by the appended claims, along with the full scope of equivalents to which such claims are entitled, if properly explained.

도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다. 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.In the drawings, like reference numerals refer to the same or similar functions throughout the several views. The shape and size of the elements in the figures may be exaggerated for clarity.

실시예에서 사용된 용어는 실시예를 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 실시예에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않으며, 추가적인 구성이 예시적 실시예들의 실시 또는 예시적 실시예들의 기술적 사상의 범위에 포함될 수 있음을 의미한다. 어떤 구성요소(component)가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 상기의 2개의 구성요소들이 서로 간에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있으나, 상기의 2개의 구성요소들의 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.The terms used in the examples are intended to illustrate the embodiments and are not intended to limit the invention. In the examples, the singular includes the plural unless otherwise stated in the specification. It is noted that the terms "comprises" and / or "comprising" used in the specification are intended to be inclusive in a manner similar to the components, steps, operations, and / And that additional configurations may be encompassed within the scope of the embodiments of the exemplary embodiments or the technical ideas of the exemplary embodiments. When it is mentioned that a component is "connected" or "connected" to another component, the two components may be directly connected or connected to each other, It is to be understood that other components may be present in the middle of the components.

제1 및 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기의 구성요소들은 상기의 용어들에 의해 한정되어서는 안 된다. 상기의 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하여 지칭하기 위해서 사용된다. 예를 들어, 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.The terms first and second, etc. may be used to describe various components, but the components should not be limited by the terms above. The above terms are used to distinguish one component from another. For example, without departing from the scope of the right, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component.

또한 실시예들에 나타나는 구성요소들은 서로 다른 특징적인 기능들을 나타내기 위해 독립적으로 도시되는 것으로, 각 구성요소가 분리된 하드웨어나 하나의 소프트웨어 구성 단위로만 이루어짐을 의미하지 않는다. 즉, 각 구성요소는 설명의 편의상 각각의 구성요소로 나열된 것이다. 예를 들면, 구성요소들 중 적어도 두 개의 구성요소들이 하나의 구성요소로 합쳐질 수 있다. 또한, 하나의 구성요소가 복수의 구성요소들로 나뉠 수 있다. 이러한 각 구성요소의 통합된 실시예 및 분리된 실시예 또한 본질에서 벗어나지 않는 한 권리범위에 포함된다.In addition, the components shown in the embodiments are shown independently to represent different characteristic functions, which does not mean that each component is composed of separate hardware or one software constituent unit. That is, each component is listed as each component for convenience of explanation. For example, at least two of the components may be combined into a single component. Also, one component can be divided into a plurality of components. The integrated embodiments and the separate embodiments of each of these components are also included in the scope of the right without departing from the essence.

또한, 일부의 구성요소는 본질적인 기능을 수행하는 필수적인 구성요소는 아니고 단지 성능을 향상시키기 위한 선택적 구성요소일 수 있다. 실시예들은 실시예의 본질을 구현하는데 필수적인 구성부만을 포함하여 구현될 수 있고, 예를 들면, 단지 성능 향상을 위해 사용되는 구성요소와 같은, 선택적 구성요소가 제외된 구조 또한 권리 범위에 포함된다.Also, some components are not essential components to perform essential functions, but may be optional components only to improve performance. Embodiments may be implemented only with components that are essential to implementing the essentials of the embodiments, and structures within which the optional components are excluded, such as, for example, components used only for performance enhancement, are also included in the scope of the right.

이하에서는, 기술분야에서 통상의 지식을 가진 자가 실시예들을 용이하게 실시할 수 있도록 하기 위하여, 첨부된 도면을 참조하여 실시예들을 상세히 설명하기로 한다. 실시예들을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 명세서의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings in order to facilitate embodiments of the present invention by those skilled in the art. In the following description of the embodiments, detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present disclosure rather unclear.

하기의 실시예들은 싱크 노드 및 센서 노드 간의 상호 인증에 관련된 것일 수 있다. 여기에서, 센서 노드들은 네트워크 시스템에 동적으로 가입 및/또는 이탈할 수 있다.The following embodiments may be related to mutual authentication between a sink node and a sensor node. Here, the sensor nodes may dynamically join and / or leave the network system.

센서 노드들은 네트워크를 가로질러(across) 이동할 수 있으며, 재-인증 절차에 기반하여 매우 단순한 티켓을 가지고 재-인증을 얻을 수 있다.Sensor nodes can move across the network and re-authenticate with very simple tickets based on re-authentication procedures.

또한, 센서 노드는 다중의 싱크 노드들과의 동시(concurrent) 연결을 설립할 수 있다. 다중의 연결들을 설립하기 위해, 센서 노드에게 프로토콜의 다중의 인스턴스들을 실행하는 것이 허용될 수 있다. 센서 노드는 재-인증 티켓을 동시 연결들을 설립하기 위해 사용할 수 있다.In addition, the sensor node may establish a concurrent connection with multiple sink nodes. In order to establish multiple connections, it may be permissible to run multiple instances of the protocol to the sensor node. The sensor node can use re-authentication tickets to establish concurrent connections.

실시예에서는, 시간이 지원되는 인증 프로토콜(Time assisted Authentication Protocol; TAP)에 따른 키 생성 및 분배의 매커니즘이 사용될 수 있다. TAP는 센서 네트워크(100)에서의 재-인증을 위한 티켓을 발급할 수 있다. 또한, TAP는 시간에 기반한 키 체인 메커니즘을 사용하여 인증 티켓을 암호화할 수 있다.In an embodiment, a mechanism of key generation and distribution according to time-assisted authentication protocol (TAP) may be used. The TAP may issue a ticket for re-authentication in the sensor network (100). In addition, the TAP can encrypt the authentication ticket using a time-based keychain mechanism.

이러한 키 생성 및 분배의 절차는 시간에 기반한 키를 사용하여 인증 티켓을 암호화하기 위해 사용될 수 있다. 또한, 키 생성 및 분배의 절차는 싱크 노드 및 센서 노드 간의 세션 키를 관리할 수 있다. 세션 키는 센서 노드에 특정하고, 시간에 기반한 정보로부터 유도될 수 있다. 센서 노드는 동일한 세션 키를 다중의 싱크 노드들과 통신하기 위해 사용할 수 있다.The procedure of generating and distributing the key may be used to encrypt the authentication ticket using a time-based key. Also, the key generation and distribution procedure can manage the session key between the sink node and the sensor node. The session key is specific to the sensor node and can be derived from time-based information. The sensor node may use the same session key to communicate with multiple sink nodes.

하기의 실시예에서는, 센서 노드가 동일한 티켓을 사용하여 재-인증되지만, 다중의 프라이빗(private) 세션 키들을 설립하는 또 다른 안전 모드가 도입될 수 있다. 또한, 싱크 노드가 티켓 및 세션 키들을 재-발급하기 위한 작업 부하(work load)는 확약 키 생성자의 유효 시간(validity time)에 걸쳐서(across) 분산될 수 있다.
In the following embodiments, although the sensor node is re-authenticated using the same ticket, another secure mode may be introduced in which multiple private session keys are established. In addition, the workload for the sink node to re-issue the ticket and session keys may be distributed across the validity time of the commitment key generator.

도 1은 일 실시예에 따른 센서 네트워크를 나타낸다.1 illustrates a sensor network according to one embodiment.

도 1에서는, 실시예들에 따른 전반적인 시스템 아키텍쳐(architecture)의 일 예가 도시되었다.In FIG. 1, an example of an overall system architecture according to embodiments is shown.

사물 인터넷(Internet of Things; IoT) 스마트 서비스는 서비스 센터를 통해 인터넷에 연결된 다양한 베이스 스테이션들과 함께 무선 센서 네트워크(Wireless Sensor Network; WSN)을 배치하고 있다.Internet of Things (IoT) Smart Services is deploying a Wireless Sensor Network (WSN) with various base stations connected to the Internet through a service center.

센서 네트워크(100)는, 베이스 스테이션(Base Station; BS), 싱크 노드(Sink node; S), 센서 노드(sensor Node; N) 및 사용자 노드(User node; U)(141)를 포함할 수 있다.The sensor network 100 may include a base station (BS), a sink node (S), a sensor node (N), and a user node (U) 141 .

센서 네트워크(100)에서, 베이스 스테이션은 복수일 수 있다. 복수의 베이스 스테이션들로서, 도 1에서는 BS 1(111), BS 2(112) 및 BS 3(113)이 도시되었다.In the sensor network 100, the base station may be plural. As a plurality of base stations, BS 1 111, BS 2 112 and BS 3 113 are shown in FIG.

센서 네트워크(100)에서, 싱크 노드는 복수일 수 있다. 복수의 싱크 노드들로서, 도 1에서는 S 1(121), S 2(122), S 3(123), S 4(124), S 5(125) 및 S 6(126)이 도시되었다.In the sensor network 100, there may be a plurality of sink nodes. As a plurality of sink nodes, S 1 121, S 2 122, S 3 123, S 4 124, S 5 125 and S 6 126 are shown in FIG.

싱크 노드의 영역은 원으로 표시되었다. 각 원은, 싱크 노드가 어떤 베이스 스테이션과 연관되어 있는 가에 따라 실선, 일점 쇄선 및 점선으로 각각 표시되었다.The area of the sink node is indicated by a circle. Each circle is indicated by a solid line, a dot-dash line, and a dotted line, respectively, depending on which base station the sink node is associated with.

센서 네트워크(100)에서, 센서 노드는 복수일 수 있다. 복수의 센서 노드들로서, 도 1에서는 N 1(131) 및 N 2(132)가 도시되었다.In the sensor network 100, there may be a plurality of sensor nodes. As a plurality of sensor nodes, N 1 131 and N 2 132 are shown in FIG.

도 1에서는, 사용자 노드로서 U 1(141)이 도시되었다. 아래에서, "사용자 노드"는 "사용자"로 약술될 수 있다.In Fig. 1, U 1 141 is shown as a user node. In the following, "user node" can be outlined as "user ".

WSN에서, N 1(131)은 BS 1(111)에 의해 초기에 인증될 수 있다. 또한, 네트워크 내를 이동하면서, N 1(131)는 재-인증 티켓에 의해 재-인증될 수 있다. 최종의 목적지에서 N 1(131)는 사용자 노드 U 1(141)가 센서 노드 N 2(132) 및 싱크 노드 S 1(121)로부터 데이터를 수집하는 동안, 다중의 싱크 노드들과 데이터를 공유할 수 있다.
In the WSN, N 1 131 may be initially authenticated by BS 1 111. Further, by moving within the network, N 1 (131) is a re-authentication may be - again by the authentication ticket. N 1 131 at the final destination shares data with multiple sink nodes while user node U 1 141 collects data from sensor node N 2 132 and sink node S 1 121 .

베이스 스테이션Base station

베이스 스테이션은 모든 싱크 노드들 및 모든 센서 노드들의 공개 키(public key)들을 미리 알 수 있다.The base station can know public keys of all sink nodes and all sensor nodes in advance.

베이스 스테이션은 인증을 수행할 수 있으며, 재-인증을 위한 시간에 기반한 티켓 T k 를 발급할 수 있다. 또한, 인증의 프로세스의 도중에, 베이스 스테이션은 효율적이고 최적화된 센서 노드 및 싱크 노드 간의 관계를 위해 "센서 노드의 요구사항 프로파일"을 싱크 노드로 전송할 수 있다.The base station can perform authentication and issue a ticket T k based on time for re-authentication. In addition, during the authentication process, the base station can send a "sensor node ' s requirement profile" to the sink node for efficient and optimized relationship between sensor nodes and sink nodes.

이하에서, "요구사항 프로파일"은 "프로파일"로 약술될 수 있다.Hereinafter, the "requirement profile" can be outlined as "profile ".

싱크 노드Sink node

유효한 시간에 기반한 티켓 T k 를 수신함에 따라, 싱크 노드는 모바일 센서 노드에 대한 재-인증을 수행한다.Upon receipt of a ticket T k based on a valid time, the sink node performs re-authentication for the mobile sensor node.

또한, 싱크 노드는 인증된 센서 노트로 티켓을 재-발급(re-issue)하는 것에 대한 책임을 가질 수 있다.In addition, the sink node may be responsible for re-issuing the ticket with the authenticated sensor note.

몇몇 어플리케이션들에 대하여, 싱크 노드는 2개의 파트들(parts)로 분리될 수 있다. 예를 들면, 2개의 파트들은 서비스 배달(delivery) 영역 A s 및 통신 영역 A c 일 수 있다. 싱크 노드는 센서 노드가 A s 내에 있을 경우 인증을 수행하거나 요청을 베이스 스테이션으로 전달할 수 있다. 또한, 싱크 노드는 센서 노드가 일단 A c 에 진입하면 센서 노드에게 서비스(들)을 제공할 수 있다.For some applications, the sink node may be split into two parts. For example, the two parts may be a service delivery area A s and a communications area A c . The sink node can perform authentication or forward the request to the base station if the sensor node is within A s . The sink node may also provide the service (s) to the sensor node once the sensor node has entered A c .

센서 노드Sensor node

센서 노드는 인증의 절차의 개시(initiate)에 대한 책임을 가질 수 있다. 센서 노드의 인증의 요청에 의해 인증의 절차가 개시될 수 있다.The sensor node may be responsible for initiating the authentication procedure. The authentication procedure can be initiated by requesting authentication of the sensor node.

대부분의 사물 인터넷(Internet of Things; IoT) 응용들에 있어서, 센서 노드가 서로 다른 타입의 데이터를 수집하고, 수집된 서로 다른 타입의 데이터를 상이한 싱크 노드들과 공유하는 것이 요구될 경우가 있다. 따라서, 센서 노드가, 도 1에서 도시된 것과 같이, 다중의 싱크 노드들에 의해 인증될 필요가 있다. 예를 들면, N 1은(131)는 S 5(125) 및 S 6 (126)과 동시에 통신할 수 있다.In most Internet of Things (IoT) applications, it may be required that sensor nodes collect different types of data and share the collected different types of data with different sink nodes. Therefore, the sensor node needs to be authenticated by multiple sink nodes, as shown in Fig. For example, N 1 can communicate with S 5 (125) and S 6 (126) at the same time.

유사하게, 사용자 노드 U 1(140)는 싱크 노드 S 3(1123) 및 센서 노드 N 2(132)와 동시에 통신할 수 있다. 이러한 어플리케이션 시나리오에서, 센서 노드 또는 사용자 노드가 네트워크를 가로 질러 이동할 때, 재-인증 프로세스의 빈도는 동시 연결들의 개수에 비례하여 증가할 수 있다.Similarly, user node U 1 140 may communicate with sink node S 3 1123 and sensor node N 2 132 simultaneously. In such an application scenario, when the sensor node or the user node moves across the network, the frequency of the re-authentication process may increase in proportion to the number of simultaneous connections.

하기의 실시예들은 하기의 제약들에 대한 고려하에 개발(develop)된 것일 수 있다.The following embodiments may be developed with consideration of the following constraints.

1) 통신 채널들은 안전하지 않을 수 있다.1) Communication channels may not be secure.

2) 다양한 공격들을 런치하는 능력을 가진 침입자가 출현할 수 있다.2) An intruder with the ability to launch various attacks can emerge.

3) IoT 환경에 채용된 WSN의 요구사항에 기인하여, 프로토콜 참여자들에게 프로토콜의 다중의 인스턴스들을 실행하는 것이 허용될 수 있다.3) Due to the requirements of the WSN employed in the IoT environment, it may be allowed to execute multiple instances of the protocol to the protocol participants.

4) 사용자 노드 및 센서 노드들은 네트워크를 가로 질러 이동할 수 있다.4) User nodes and sensor nodes can move across the network.

이러한 유동성(flexibility) 하에서는, TAP를 사용하는 완전히 안전한 인증 프로토콜이 제공될 필요가 있다.
Under such flexibility, a completely secure authentication protocol using TAP needs to be provided.

도 2는 일 실시예에 따른 베이스 스테이션의 구조도이다.2 is a structural view of a base station according to an embodiment.

도 2의 베이스 스테이션(200)은 실시예들의 베이스 스테이션 BS를 나타낼 수 있다.The base station 200 of FIG. 2 may represent the base station BS of the embodiments.

베이스 스테이션(200)는 처리부(210), 통신부(220) 및 저장부(230)를 포함할 수 있다.The base station 200 may include a processing unit 210, a communication unit 220, and a storage unit 230.

처리부(210)는 베이스 스테이션(200)의 동작을 위해 요구되는 작업을 처리할 수 있다. 처리부(210)는 실시예들에서 설명되는 처리부(210)의 동작 또는 단계의 코드를 실행(execute)할 수 있다.The processing unit 210 may process a job required for the operation of the base station 200. [ The processing unit 210 may execute the code of the operation or step of the processing unit 210 described in the embodiments.

처리부(210)는 데이터 또는 정보의 생성 및 처리를 수행할 수 있고, 데이터 또는 정보에 관련된 검사, 비교 및 판단 등을 수행할 수 있다. 말하자면, 실시예에서 데이터 또는 정보의 생성 및 처리와 데이터 또는 정보에 관련된 검사, 비교 및 판단은 처리부(210)에 의해 수행될 수 있다.The processing unit 210 may perform generation and processing of data or information, and may perform inspection, comparison, and judgment related to data or information. In other words, in the embodiment, the generation and processing of data or information and the inspection, comparison and judgment relating to data or information can be performed by the processing unit 210. [

예를 들면, 처리부(210)는 데이터 또는 정보의 암호화 및/또는 복호화를 수행할 수 있다. 처리부(210)는 메시지를 생성할 수 있다.For example, the processing unit 210 may perform encryption and / or decryption of data or information. The processing unit 210 may generate a message.

예를 들면, 처리부(210)는 적어도 하나의 프로세서(processor)일 수 있다.For example, the processing unit 210 may be at least one processor.

통신부(220)는 베이스 스테이션(200)의 동작을 위해 요구되는 데이터 또는 정보를 수신할 수 있으며, 베이스 스테이션(200)의 동작을 위해 요구되는 데이터 또는 정보를 전송할 수 있다. The communication unit 220 may receive data or information required for the operation of the base station 200 and may transmit data or information required for the operation of the base station 200.

통신부(220)는 네트워크 내의 다른 장치로 데이터 또는 정보를 전송할 수 있고, 다른 장치로부터 데이터 또는 정보를 수신할 수 있다. 말하자면, 실시예에서 데이터 또는 정보의 전송 또는 수신은 통신부(220)에 의해 수행될 수 있다.The communication unit 220 can transmit data or information to another device in the network, and can receive data or information from another device. In other words, in the embodiment, transmission or reception of data or information can be performed by the communication unit 220. [

예를 들면, 통신부(220)는 네트워킹 칩(chip), 네트워킹 인터페이스(interface) 또는 통신 포트(port)일 수 있다.For example, the communication unit 220 may be a networking chip, a networking interface, or a communication port.

저장부(230)는 베이스 스테이션(200)의 동작을 위해 요구되는 데이터 또는 정보를 저장할 수 있다. 실시예에서, 베이스 스테이션(200)가 갖는 데이터 또는 정보는 저장부(230) 내에 저장될 수 있다.The storage unit 230 may store data or information required for operation of the base station 200. In an embodiment, data or information possessed by the base station 200 may be stored in the storage unit 230.

예를 들면, 저장부(230)는 메모리(memory)일 수 있다. 저장부(230)는 램(RAM) 및 플레시(flash) 메모리 등과 같은 내장형의 저장 매체를 포함할 수 있고, 메모리 카드 등과 같은 탈착가능한 저장 매체를 포함할 수 있다.For example, the storage unit 230 may be a memory. The storage unit 230 may include a built-in storage medium such as a RAM and a flash memory, and may include a removable storage medium such as a memory card or the like.

저장부(230)는 적어도 하나의 프로그램을 저장할 수 있다. 처리부(210)는 적어도 하나의 프로그램을 실행할 수 있다. 처리부(210)는 저장부(230)로부터 적어도 하나의 프로그램의 코드를 독출(read)할 수 있고, 독출된 코드를 실행할 수 있다.The storage unit 230 may store at least one program. The processing unit 210 may execute at least one program. The processing unit 210 can read the code of at least one program from the storage unit 230 and execute the read code.

베이스 스테이션(200)의 처리부(210), 통신부(220) 및 저장부(230)의 동작, 기능 및 특징에 대해서 실시예들을 참조하여 아래에서 상세하게 설명된다.
Operations, functions, and characteristics of the processing unit 210, the communication unit 220, and the storage unit 230 of the base station 200 will be described in detail below with reference to embodiments.

도 3은 일 실시예에 따른 싱크 노드의 구조도이다.3 is a block diagram of a sink node according to an embodiment of the present invention.

도 3의 싱크 노드(300)는 실시예들의 싱크 노드 S를 나타낼 수 있다.The sink node 300 of FIG. 3 may represent the sink node S of the embodiments.

싱크 노드(300)는 처리부(310), 통신부(320) 및 저장부(330)를 포함할 수 있다.The sink node 300 may include a processing unit 310, a communication unit 320, and a storage unit 330.

처리부(310)는 싱크 노드(300)의 동작을 위해 요구되는 작업을 처리할 수 있다. 처리부(310)는 실시예들에서 설명되는 처리부(310)의 동작 또는 단계의 코드를 실행(execute)할 수 있다.The processing unit 310 may process a task required for the operation of the sink node 300. [ The processing unit 310 may execute the code of the operation or step of the processing unit 310 described in the embodiments.

처리부(310)는 데이터 또는 정보의 생성 및 처리를 수행할 수 있고, 데이터 또는 정보에 관련된 검사, 비교 및 판단 등을 수행할 수 있다. 말하자면, 실시예에서 데이터 또는 정보의 생성 및 처리와 데이터 또는 정보에 관련된 검사, 비교 및 판단은 처리부(310)에 의해 수행될 수 있다.The processing unit 310 may perform the generation and processing of data or information, and may perform inspection, comparison, and judgment related to data or information. In other words, in the embodiment, the generation and processing of data or information and the inspection, comparison and judgment relating to data or information can be performed by the processing unit 310. [

예를 들면, 처리부(310)는 데이터 또는 정보의 암호화 및/또는 복호화를 수행할 수 있다. 처리부(310)는 메시지를 생성할 수 있다.For example, the processing unit 310 may perform encryption and / or decryption of data or information. The processing unit 310 may generate a message.

예를 들면, 처리부(310)는 적어도 하나의 프로세서(processor)일 수 있다.For example, the processing unit 310 may be at least one processor.

통신부(320)는 싱크 노드(300)의 동작을 위해 요구되는 데이터 또는 정보를 수신할 수 있으며, 싱크 노드(300)의 동작을 위해 요구되는 데이터 또는 정보를 전송할 수 있다. The communication unit 320 may receive data or information required for operation of the sink node 300 and may transmit data or information required for the operation of the sink node 300. [

통신부(320)는 네트워크 내의 다른 장치로 데이터 또는 정보를 전송할 수 있고, 다른 장치로부터 데이터 또는 정보를 수신할 수 있다. 말하자면, 실시예에서 데이터 또는 정보의 전송 또는 수신은 통신부(320)에 의해 수행될 수 있다.The communication unit 320 can transmit data or information to another device in the network, and can receive data or information from another device. In other words, in the embodiment, transmission or reception of data or information can be performed by the communication unit 320. [

예를 들면, 통신부(320)는 네트워킹 칩(chip), 네트워킹 인터페이스(interface) 또는 통신 포트(port)일 수 있다.For example, the communication unit 320 may be a networking chip, a networking interface, or a communication port.

저장부(330)는 싱크 노드(300)의 동작을 위해 요구되는 데이터 또는 정보를 저장할 수 있다. 실시예에서, 싱크 노드(300)가 갖는 데이터 또는 정보는 저장부(330) 내에 저장될 수 있다.The storage unit 330 may store data or information required for operation of the sink node 300. In an embodiment, the data or information that the sink node 300 has may be stored in the storage 330.

예를 들면, 저장부(330)는 메모리(memory)일 수 있다. 저장부(330)는 램(RAM) 및 플레시(flash) 메모리 등과 같은 내장형의 저장 매체를 포함할 수 있고, 메모리 카드 등과 같은 탈착가능한 저장 매체를 포함할 수 있다.For example, the storage unit 330 may be a memory. The storage unit 330 may include a built-in storage medium such as a random access memory (RAM) and a flash memory, and may include a removable storage medium such as a memory card or the like.

저장부(330)는 적어도 하나의 프로그램을 저장할 수 있다. 처리부(310)는 적어도 하나의 프로그램을 실행할 수 있다. 처리부(310)는 저장부(330)로부터 적어도 하나의 프로그램의 코드를 독출(read)할 수 있고, 독출된 코드를 실행할 수 있다.The storage unit 330 may store at least one program. The processing unit 310 may execute at least one program. The processing unit 310 can read the code of at least one program from the storage unit 330 and execute the read code.

싱크 노드(300)의 처리부(310), 통신부(320) 및 저장부(330)의 동작, 기능 및 특징에 대해서 실시예들을 참조하여 아래에서 상세하게 설명된다.
Operations, functions, and characteristics of the processing unit 310, the communication unit 320, and the storage unit 330 of the sink node 300 will be described in detail below with reference to embodiments.

도 4는 일 실시예에 따른 센서 노드의 구조도이다.4 is a structural diagram of a sensor node according to an embodiment.

도 4의 센서 노드(400)는 실시예들의 센서 노드 N을 나타낼 수 있다.The sensor node 400 of FIG. 4 may represent the sensor node N of the embodiments.

센서 노드(400)는 처리부(410), 통신부(420) 및 저장부(430)를 포함할 수 있다.The sensor node 400 may include a processing unit 410, a communication unit 420, and a storage unit 430.

처리부(410)는 센서 노드(400)의 동작을 위해 요구되는 작업을 처리할 수 있다. 처리부(410)는 실시예들에서 설명되는 처리부(410)의 동작 또는 단계의 코드를 실행(execute)할 수 있다.The processing unit 410 may process a job required for the operation of the sensor node 400. [ The processing unit 410 may execute the code of the operation or step of the processing unit 410 described in the embodiments.

처리부(410)는 데이터 또는 정보의 생성 및 처리를 수행할 수 있고, 데이터 또는 정보에 관련된 검사, 비교 및 판단 등을 수행할 수 있다. 말하자면, 실시예에서 데이터 또는 정보의 생성 및 처리와 데이터 또는 정보에 관련된 검사, 비교 및 판단은 처리부(410)에 의해 수행될 수 있다.The processing unit 410 may perform generation and processing of data or information, and may perform inspection, comparison, and judgment related to data or information. In other words, in the embodiment, the generation and processing of data or information and the inspection, comparison and judgment relating to data or information can be performed by the processing unit 410. [

예를 들면, 처리부(410)는 데이터 또는 정보의 암호화 및/또는 복호화를 수행할 수 있다. 처리부(410)는 메시지를 생성할 수 있다.For example, the processing unit 410 may perform encryption and / or decryption of data or information. The processing unit 410 can generate a message.

예를 들면, 처리부(410)는 적어도 하나의 프로세서(processor)일 수 있다.For example, the processing unit 410 may be at least one processor.

통신부(420)는 센서 노드(400)의 동작을 위해 요구되는 데이터 또는 정보를 수신할 수 있으며, 센서 노드(400)의 동작을 위해 요구되는 데이터 또는 정보를 전송할 수 있다. The communication unit 420 may receive data or information required for the operation of the sensor node 400 and may transmit data or information required for the operation of the sensor node 400.

통신부(420)는 네트워크 내의 다른 장치로 데이터 또는 정보를 전송할 수 있고, 다른 장치로부터 데이터 또는 정보를 수신할 수 있다. 말하자면, 실시예에서 데이터 또는 정보의 전송 또는 수신은 통신부(420)에 의해 수행될 수 있다.The communication unit 420 may transmit data or information to another device in the network, and may receive data or information from another device. In other words, in the embodiment, the transmission or reception of data or information can be performed by the communication unit 420.

예를 들면, 통신부(420)는 네트워킹 칩(chip), 네트워킹 인터페이스(interface) 또는 통신 포트(port)일 수 있다.For example, the communication unit 420 may be a networking chip, a networking interface, or a communication port.

저장부(430)는 센서 노드(400)의 동작을 위해 요구되는 데이터 또는 정보를 저장할 수 있다. 실시예에서, 센서 노드(400)가 갖는 데이터 또는 정보는 저장부(430) 내에 저장될 수 있다.The storage unit 430 may store data or information required for the operation of the sensor node 400. In an embodiment, the data or information possessed by the sensor node 400 may be stored in the storage 430.

예를 들면, 저장부(430)는 메모리(memory)일 수 있다. 저장부(430)는 램(RAM) 및 플레시(flash) 메모리 등과 같은 내장형의 저장 매체를 포함할 수 있고, 메모리 카드 등과 같은 탈착가능한 저장 매체를 포함할 수 있다.For example, the storage unit 430 may be a memory. The storage unit 430 may include a built-in storage medium such as a RAM and a flash memory, and may include a removable storage medium such as a memory card or the like.

저장부(430)는 적어도 하나의 프로그램을 저장할 수 있다. 처리부(410)는 적어도 하나의 프로그램을 실행할 수 있다. 처리부(410)는 저장부(430)로부터 적어도 하나의 프로그램의 코드를 독출(read)할 수 있고, 독출된 코드를 실행할 수 있다.The storage unit 430 may store at least one program. The processing unit 410 may execute at least one program. The processing unit 410 can read the code of at least one program from the storage unit 430 and execute the read code.

센서 노드(400)의 처리부(410), 통신부(420) 및 저장부(430)의 동작, 기능 및 특징에 대해서 실시예들을 참조하여 아래에서 상세하게 설명된다.
Operations, functions, and characteristics of the processing unit 410, the communication unit 420, and the storage unit 430 of the sensor node 400 will be described in detail below with reference to embodiments.

도 5는 일 실시예에 따른 사용자 노드의 구조도이다.5 is a structural diagram of a user node according to an embodiment.

도 5의 사용자 노드(500)는 실시예들의 사용자 노드 U을 나타낼 수 있다.The user node 500 of FIG. 5 may represent a user node U of embodiments.

사용자 노드(500)는 처리부(510), 통신부(520) 및 저장부(530)를 포함할 수 있다.The user node 500 may include a processing unit 510, a communication unit 520, and a storage unit 530.

처리부(510)는 사용자 노드(500)의 동작을 위해 요구되는 작업을 처리할 수 있다. 처리부(510)는 실시예들에서 설명되는 처리부(510)의 동작 또는 단계의 코드를 실행(execute)할 수 있다.The processing unit 510 may process the operation required for the operation of the user node 500. [ The processing unit 510 may execute the code of the operation or step of the processing unit 510 described in the embodiments.

처리부(510)는 데이터 또는 정보의 생성 및 처리를 수행할 수 있고, 데이터 또는 정보에 관련된 검사, 비교 및 판단 등을 수행할 수 있다. 말하자면, 실시예에서 데이터 또는 정보의 생성 및 처리와 데이터 또는 정보에 관련된 검사, 비교 및 판단은 처리부(510)에 의해 수행될 수 있다.The processing unit 510 may perform generation and processing of data or information, and may perform inspection, comparison, and judgment related to data or information. In other words, in the embodiment, the generation and processing of data or information and the inspection, comparison and judgment related to data or information can be performed by the processing unit 510.

예를 들면, 처리부(510)는 데이터 또는 정보의 암호화 및/또는 복호화를 수행할 수 있다. 처리부(510)는 메시지를 생성할 수 있다.For example, the processing unit 510 may perform encryption and / or decryption of data or information. The processing unit 510 can generate a message.

예를 들면, 처리부(510)는 적어도 하나의 프로세서(processor)일 수 있다.For example, the processing unit 510 may be at least one processor.

통신부(520)는 사용자 노드(500)의 동작을 위해 요구되는 데이터 또는 정보를 수신할 수 있으며, 사용자 노드(500)의 동작을 위해 요구되는 데이터 또는 정보를 전송할 수 있다. The communication unit 520 may receive data or information required for operation of the user node 500 and may transmit data or information required for operation of the user node 500. [

통신부(520)는 네트워크 내의 다른 장치로 데이터 또는 정보를 전송할 수 있고, 다른 장치로부터 데이터 또는 정보를 수신할 수 있다. 말하자면, 실시예에서 데이터 또는 정보의 전송 또는 수신은 통신부(520)에 의해 수행될 수 있다.The communication unit 520 may transmit data or information to another device in the network, and may receive data or information from another device. In other words, in the embodiment, transmission or reception of data or information can be performed by the communication unit 520. [

예를 들면, 통신부(520)는 네트워킹 칩(chip), 네트워킹 인터페이스(interface) 또는 통신 포트(port)일 수 있다.For example, the communication unit 520 may be a networking chip, a networking interface, or a communication port.

저장부(530)는 사용자 노드(500)의 동작을 위해 요구되는 데이터 또는 정보를 저장할 수 있다. 실시예에서, 사용자 노드(500)가 갖는 데이터 또는 정보는 저장부(530) 내에 저장될 수 있다.The storage unit 530 may store data or information required for operation of the user node 500. In an embodiment, the data or information that the user node 500 has may be stored in the storage 530.

예를 들면, 저장부(530)는 메모리(memory)일 수 있다. 저장부(530)는 램(RAM) 및 플레시(flash) 메모리 등과 같은 내장형의 저장 매체를 포함할 수 있고, 메모리 카드 등과 같은 탈착가능한 저장 매체를 포함할 수 있다.For example, the storage unit 530 may be a memory. The storage unit 530 may include a built-in storage medium such as a RAM and a flash memory, and may include a removable storage medium such as a memory card or the like.

저장부(530)는 적어도 하나의 프로그램을 저장할 수 있다. 처리부(510)는 적어도 하나의 프로그램을 실행할 수 있다. 처리부(510)는 저장부(530)로부터 적어도 하나의 프로그램의 코드를 독출(read)할 수 있고, 독출된 코드를 실행할 수 있다.The storage unit 530 may store at least one program. The processing unit 510 may execute at least one program. The processing unit 510 can read the code of at least one program from the storage unit 530 and execute the read code.

사용자 노드(500)의 처리부(510), 통신부(520) 및 저장부(530)의 동작, 기능 및 특징에 대해서 실시예들을 참조하여 아래에서 상세하게 설명된다.
Operations, functions, and characteristics of the processing unit 510, the communication unit 520, and the storage unit 530 of the user node 500 are described in detail below with reference to embodiments.

아래에서 설명될 실시예들에서, 엔티티, 정보 및 변수 등에 대해 하기의 기보법(notation)이 사용될 수 있다.In the embodiments described below, the following notations may be used for entities, information, variables, and so on.

BS j : "BS j "는 j번째 베이스 스테이션을 나타낼 수 있다. 메시지 내의 "BS j "는 j번째 베이스 스테이션을 나타낼 수 있다. BS j : " BS j " may represent the j- th base station. " BS j " in the message may represent the j- th base station.

S j : "S j "는 j번째 싱크 노드를 나타낼 수 있다. 메시지 내의 "S j "는 j번째 싱크 노드의 식별자를 나타낼 수 있다. S j : " S j " may represent the jth sink node. " S j " in the message may indicate the identifier of the jth sink node.

N i : "N i "는 i번째 센서 노드를 나타낼 수 있다. 메시지 내의 "N i "는 j번째 센서 노드의 식별자를 나타낼 수 있다. N i : " N i " may represent the i- th sensor node. The " N i " in the message may indicate the identifier of the jth sensor node.

A B : "AB"는 B가 제어 권위(B is in controlling authority)를 갖은 채, AB와 연관된 것을 나타낼 수 있다. A B : "AB" may indicate that B is less than the control authority gateun (B is in controlling authority), A is associated with B.

- 예를 들면, "S i BS j "는 S i BS j 와 연관된 것을 나타낼 수 있다.- For example, " S i BS j " may indicate that S i is associated with BS j .

G j : "G j "는 BS j 의 모든 연관된 엔티티들의 그룹을 나타낼 수 있다. G j : " G j " may represent a group of all associated entities of BS j .

G j 0 : "G j 0 "은 K G j 를 알고 있는 BS j 의 비-연관된 엔티티들의 그룹(group of all non-associated entities of BS j who knows the K G j )을 나타낼 수 있다. G j 0: "G j 0 " is the ratio of the BS j knows the K G j - may represent a group (group of all non-associated entities of BS j who knows the K G j) of the associated entities.

A B : "AB"는 A가 집합 B의 멤버라는 것을 나타낼 수 있다. A B : " AB " can indicate that A is a member of set B.

- 예를 들면, 집합의 맴버를 나타내기 위해, BS i N(BS i ) 또는,S j G i 등이 사용될 수 있다.For example, BS i N ( BS i ) or S j G i can be used to represent members of a set.

K 0 j : "K 0 j "는 0번째 시간 인터벌에서의 시간에 기반한 키일 수 있다. K 0 j 는 확약(commitment) 키일 수 있다. K 0 j BS j 의 그룹에서 사용될 수 있다. K 0 j : " K 0 j " may be a time-based key in the zeroth time interval. K 0 j may be a commitment key. K 0 j may be used in the group of BS j .

K i j : "K i j "는 i번째 시간 인터벌에서의 시간에 기반한 키일 수 있다. K i j i번째 시간 인터벌에서 생성될 수 있다. K i j BS j 의 그룹에서 사용될 수 있다. K i j : " K i j " may be a time-based key in the i th time interval. K i j may be generated in the i th time interval. K i j can be used in the group of BS j .

K A j : "K A j "는 j번째 엔티티 A의 공개 키일 수 있다. K A j : " K A j " may be the public key of the j- th entity A.

- K BS j : "K BS j "는 BS j 의 공개 키일 수 있다.- K BS j : " K BS j " may be the public key of BS j .

- K S j : "K S j "는 싱크 노드 S j 의 공개 키일 수 있다.- K S j : " K S j " may be the public key of the sink node S j .

- K N j : "K N j "는 센서 노드 N j 의 공개 키일 수 있다. K N j BS j 에게만 공개적으로(publically) 알려질 수 있다.- K N j : " K N j " may be the public key of the sensor node N j . K N j can be publicly known only to BS j .

K G j : "K G j "는 BS j 에 의해 생성된 그룹 키일 수 있다. K G j BS의 그룹에서 사용될 수 있다.. K G j : " K G j " may be a group key generated by BS j . K G j can be used in a group of BSs .

K S i : "K S i "는 i번째 시간 인터벌에서 생성된 세션 키일 수 있다. K S i N i 으로부터 S j 로의 세션 키일 수 있다. K S i : " K S i " may be the session key generated in the i- th time interval. K S i may be a session key from N i to S j .

K PS i : "K PS i "는 i번째 시간 인터벌에서 생성된 비밀 세션 키일 수 있다. K PS i N i 으로부터 S j 로의 세션 키일 수 있다. K PS i : " K PS i " may be the secret session key generated in the i- th time interval. K PS i may be a session key from N i to S j .

E B i ( m ) : "E B i (m)"은 키 K B i 를 가지고 메시지 "m"을 암호화하는 것을 나타낼 수 있다. 또는, "E B i (m)"은 키 K B i 를 사용하여 암호화된 메시지 "m"을 나타낼 수 있다. E B i ( m ) : " E B i ( m )" may indicate encrypting message "m" with key K B i . Alternatively, " E B i ( m )" may represent an encrypted message "m" using key K B i .

E BS j ( m ) : 또는, "E BS j (m)"은 키 K BS j 를 가지고 메시지 "m"을 암호화하는 것을 나타낼 수 있다. 또는, "E BS j (m)"은 키 K BS j 를 사용하여 암호화된 메시지 "m"을 나타낼 수 있다. E BS j ( m ) : Alternatively, " E BS j ( m )" may indicate encrypting message "m" with key K BS j . Or, "E BS j (m) " may represent the message "m" is encrypted using the key K BS j.

V 0 : "V 0"은 0번째 시간 인터벌에 대한 인덱스의 값일 수 있다. V 0 : " V 0 " may be the value of the index for the 0 < th > time interval.

V i : "V i "은 i번째 시간 인터벌에 대한 인덱스의 값일 수 있다. V i : " V i " may be the value of the index for the i < th > time interval.

T K : "T K "는 i번째 시간 인터벌에서의 k번째 티켓일 수 있다. T K i번째 시간 인터벌에서 생성될 수 있다. T K : " T K " may be the k- th ticket in the i- th time interval. T K can be generated in the i- th time interval.

Z ( A ) : "Z(A)"는 엔티티 A를 가장하는(impersonating) 침입자(intruder) Z일 수 있다. Z ( A ) : " Z ( A )" may be an intruder Z impersonating entity A.

N i : "N i "는 메시지 교환에서의 i번째 넌스(nonce)일 수 있다. N i : " N i " may be the i- th nonce in the message exchange.

H () : "H()"는 단-방향(one-way) 고 엔트로피(high entropy) 해쉬(hash) 함수일 수 있다.
H () : " H ()" may be a one-way high entropy hash function.

도 6은 일 실시예에 따른 인증 방법의 흐름도이다.6 is a flowchart of an authentication method according to an embodiment.

아래에서 설명될 실시예들은 2개의 서브 혁신 파트들(sub innovation parts)을 포함할 수 있다. 2개의 서브 혁신 파트들은 1) 향상된(enhanced) 시간에 기반한 키 생성 및 분배 및 2) 모바일 센서 노드의 인증 절차일 수 있다.The embodiments described below may include two sub-innovation parts. The two sub-innovation parts may be 1) key generation and distribution based on enhanced time and 2) authentication procedure of the mobile sensor node.

실시예들에서 제안되는 스킴의 단순한 스케치(sketch)는 하기의 단계들(610 및 620)과 같이 정의될 수 있다.A simple sketch of the proposed scheme in embodiments may be defined as steps 610 and 620 below.

단계(610)에서, 시간에 기반한 키의 생성 및 분배가 수행될 수 있다.In step 610, the generation and distribution of a time-based key may be performed.

1. 각 BS는 그룹 키 암호화를 사용하여 시간에 기반한 키의 키 생성 정보를 생성할 수 있다. 키 생성 정보는 하나 이상의 생성 인자(generation argument)들을 포함할 수 있다.1. Each BS can generate key generation information of a time-based key using group key encryption. The key generation information may include one or more generation arguments.

2. 각 BS는 생성 인자들을 그룹의 맴버들이 수신하도록 키 생성 정보를 방송(broadcast)할 수 있다. 각 BS는 그룹 키를 사용하는 암호화를 사용하여 시간에 기반한 키의 키 생성 정보를 방송할 수 있다.2. Each BS may broadcast key generation information so that members of the group receive generation parameters. Each BS can broadcast the key generation information of the time-based key using encryption using the group key.

BS는 매 시간 인터벌 T d 의 이후에, 키 생성 정보 KEY msg 를 방송할 수 있다. 그룹의 모든 맴버들은 BS로부터 키 생성 정보 KEY msg 를 수신할 수 있다.Each BS can broadcast key generation information KEY msg after every time interval T d . All members of the group can receive the key generation information KEY msg from the BS .

3. 그룹의 모든 맴버들은 각각 키 생성 정보 KEY msg 및 비가역(irreversible) 함수 g를 사용하여 확약 키 생성자(commitment key generator) G 0 j를 생성할 수 있다.3. Every member of the group can generate a commitment key generator G 0 j using key generation information KEY msg and an irreversible function g , respectively.

4. 그룹의 모든 맴버들은 각각 확약 키 생성자 및 비가역 함수 F를 사용하여 "키들의 체인의 생성자(chain of keys generator)"를 생성할 수 있다. 키들의 체인의 생성자의 길이는 L일 수 있다. 키들은 F에 의해 키들이 사용되는 순서의 역순으로 생성될 수 있다.4. All members of the group can generate a "chain of keys generator" using the commitment key generator and irreversible function F , respectively. The length of the constructor of the chain of keys may be L. The keys may be generated in a reverse order of the order in which the keys are used by F.

단계(620)에서, 인증이 수행될 수 있다.In step 620, authentication may be performed.

키들의 체인 중, i번째 키는 i번째 인덱스에서만 유효할 수 있다. 말하자면, 키들의 체인의 각 키는 각 키 별로 기정의된 시간 인터벌에서 유효할 수 있다.Of the chain of keys, the i- th key may only be valid in the i- th index. That is, each key of a chain of keys may be valid at a predetermined time interval for each key.

1. Ni번째 시간 인터벌 동안 가입을 원할 때, Ni번째 키로 암호화된 인증 티켓을 획득(acquire)할 수 있다.1. When N wants to join during the i- th time interval, N may acquire an authentication ticket encrypted with the i- th key.

2. BS 또는 S는 티켓을 사용하여 N에 대한 인증을 수행할 수 있다. 티켓의 검증자(verifier)인 BS 또는 S는 키들의 체인에 기반하여 N에 대한 인증을 수행할 수 있다. BS 또는 S는 키들의 체인 중 i번째 키를 사용하여 티켓을 복호화함으로써 티켓을 검사할 수 있다. 여기에서, 선택된 i번째 키는 키들의 체인 중 N에게 서비스가 제공되는 시간 인터벌에 대응하는 키일 수 있다.
2. BS or S can perform authentication for N using a ticket. The BS or S , the verifier of the ticket, can perform authentication on N based on a chain of keys. The BS or S may examine the ticket by decrypting the ticket using the i- th key of the chain of keys. Here, the selected i- th key may be a key corresponding to the time interval during which service is provided to N in the chain of keys.

실시예들의 제안된 스킴The proposed scheme of embodiments

전술된 것과 같이, 실시예들으의 스킴은 2개의 주요한 파트들로 구성될 수 있다. 2개의 주요한 파트들은 1) 시간에 기반한 키의 생성 및 분배 및 2) 센서 노드의 인증 및 재-인증일 수 있다.As described above, the scheme for the embodiments may consist of two major parts. The two main parts may be 1) generation and distribution of keys based on time and 2) authentication and re-authentication of sensor nodes.

하기의 실시예들에서는, 시간에 기반한 키 K i j 와 함께, 2개의 주요한 파트들이 상세하게 설명된다.
In the following embodiments, along with the time-based key K i j , two major parts are described in detail.

그룹group

센서 네트워크(100)의 각 베이스 스테이선 BS j 는 그룹 G j 를 형성할 수 있다. G j 은 1) BS j , 2) BS j 의 이웃 BS들 (N(BS j )) 및 3) BS j 에 연관된 싱크 노드들 {S j BS j }을 포함할 수 있다. 여기에서, BS j 는 그룹 리더(leader)일 수 있다.Each base stays line BS j of the sensor network 100 may form a group G j . G j may include 1), BS j, 2) of the BS j neighbor BS (N (BS j)) and 3) of the sink node {S j BS j} associated with BS j. Here, BS j may be a group leader.

G j 는 하기의 수학식 1과 같이 정의될 수 있다. G j can be defined as Equation (1) below.

Figure pat00001
Figure pat00001

N은 이웃을 나타낼 수 있다.
N can represent a neighbor.

시간에 기반한 키Time-based keys

도 7은 일 예에 따른 시간에 기반한 키들의 생성 및 사용에 관련된 시간 프레임을 나타낸다.7 shows a time frame associated with the generation and use of time-based keys according to an example.

도 7에서, 시간은 좌측으로부터 우측으로 흐르는 것으로 표시될 수 있다. 예를 들면, T G 의 시간 경과 후, T Dis 의 구간이 시작될 수 있다. T Dis 의 시간 경과 후, T d 의 구간이 시작될 수 있다.In Fig. 7, time may be indicated as flowing from left to right. For example, after the elapse of T G , the interval of T Dis may start. After the lapse of T Dis , the interval of T d may start.

시간 프레임은 3개의 주기들로 나뉘어질 수 있다. 3개의 주기들은 T G , T Dis T d 일 수 있다. T G 는 키 생성을 위해 요구되는 시간일 수 있다. T Dis 는 키 분배를 위해 요구되는 시간일 수 있다. T d 는 확약 키 K 0 j 에 대한 유효한 시간일 수 있다.
The time frame may be divided into three periods. The three periods may be T G , T Dis and T d . T G may be the time required for key generation. T Dis may be the time required for key distribution. T d may be a valid time for the commit key K 0 j .

도 8은 일 예에 따른 시간 경과(time passage)에 관련하여 시간에 기반한 키들의 생성 및 승인(admission)을 나타낸다.Figure 8 shows the generation and admission of time-based keys in relation to a time passage according to an example.

G j 의 모든 맴버들은 키 생성 정보 KEY MSG 를 사용하여 확약 키 K 0 j 를 생성할 수 있다.All members of G j may generate the commit key K 0 j using the key generation information KEY MSG .

예를 들면, KEY MSG 는 그룹의 맴버가 그룹에 가입하는 시점에서, 맴버의 공개 키로 암호화된 채 맴버에게로 전송될 수 있다. 이러한 전송을 통해, KEY MSG 는 그룹의 맴버들 간에 공유될 수 있다.For example, a KEY MSG can be sent to a member encrypted with the member's public key at the time the member of the group joins the group. Through this transmission, the KEY MSG can be shared among the members of the group.

매 시간 인터벌 T d 이후에, BS j KEY MSG G j 의 모든 맴버들로 방송할 수 있다. 방송되는 KEY MSG 는 그룹의 그룹 키 K G j 로 암호화될 수 있다. 또는, 시간 동기화된 시스템의 경우에는, 방송되는 KEY MSG 는 시간에 기반한 키 K l j 로 암호화될 수 있다. 여기에서, K l j 는 키 체인의 최종(final) 키일 수 있다.After every time interval T d , BS j may broadcast the KEY MSG to all members of G j . The broadcast KEY MSG can be encrypted with the group's group key K G j . Alternatively, for time-synchronized systems, the broadcast KEY MSG may be encrypted with a time-based key K l j . Here, K l j may be the final key of the keychain.

키 생성의 절차 및 모든 특성들은 그룹의 리더인 BS j 에 의해 제어될 수 있다.The procedure and all the properties of the key generation can be controlled by the leader BS j of the group.

키 생성 정보 KEY MSG 는 하기의 수학식 2와 같이 정의될 수 있다.The key generation information KEY MSG can be defined as Equation (2) below.

Figure pat00002
Figure pat00002

키 생성 정보 KEY MSG 는 몇몇 정보들의 조각(piece)들을 포함할 수 있다.The key generation information KEY MSG may include pieces of some information.

KEY MSG lookup, T d , T c j , N 0 j , LMODE를 포함할 수 있다. KEY MSG may comprise a lookup, T d, T c j , N 0 j, L and MODE.

그룹의 모든 개체들 간에 공통으로 사용될 데이터를 위해 비밀의 테이블이 공유될 수 있다.A secret table can be shared for data to be used in common among all the objects in the group.

I는 비밀의 테이블로부터 값을 선택하기 위한 인덱스를 나타낼 수 있다. O는 비밀의 테이블로부터 값을 선택하기 위한 오프셋(offset)을 나타낼 수 있다. IO의 값은 BS j 에 의해 임의로(randomly) 결정될 수 있다. I can represent an index for selecting a value from a table of secrets. O may represent an offset for selecting a value from a table of secrets. The values of I and O may be determined randomly by BS j .

lookup(I, O)은 테이블의 인덱스 I 및 오프셋 O 에 의해 결정되는 위치의 값일 수 있다. IO에 의해 테이블로부터 특정한 값이 선택될 수 있다. 예를 들면, lookup(I, O)는 비밀의 테이블에서, 인덱스 I 및 오프셋 O에서 추출된 값을 나타낼 수 있다. lookup ( I , O ) may be the value of the position determined by index I and offset O of the table. I and O may select a particular value from the table. For example, lookup ( I , O ) may represent a value extracted from index I and offset O in a table of secrets.

T d 는 확약 키 K 0 j 에 대한 유효한 시간 지속기간(duration)일 수 있다. T d may be a valid time duration for the commitment key K 0 j .

T c j BS j KEY msg 를 방송할 때의 BS j 에서의 시각일 수 있다. T c j may be a time at the BS when the BS j j broadcast KEY msg.

L은 키들의 체인의 생성자의 길이를 나타낼 수 있다. 또는, L은 키 체인의 시간 지속(time duration)일 수 있다. L may represent the length of the constructor of the chain of keys. Alternatively, L may be the time duration of the keychain.

키들의 체인에서 시간에 기반한 키들의 개수는 L일수 있다. T d L 개의 시간 인터벌들로 분할될 수 있다.The number of time-based keys in the chain of keys may be L. T d may be divided into L time intervals.

N 0 j BS j 에 의해 결정된 넌스(nonce)일 수 있다. N 0 j may be a nonce determined by BS j .

MODE는 키 추출(retrieval) 모드를 나타낼 수 있다. 전술된 KEY MSG 의 요소들에 대해서 아래에서 더 상세하게 설명된다.
MODE may indicate a key retrieval mode. The elements of the KEY MSG described above are described in more detail below.

키 생성 및 분배 절차Key generation and distribution procedures

KEY msg 의 성공적인 분배 후에, G i 의 모든 맴버들은 하기와 같은 작업을 수행할 수 있다. KEY After a successful distribution of msg , all members of G i can do the following tasks.

맴버는 KEY MSG 의 정보를 사용하여 확약 키 생성자 G 0 j 및 키들의 체인을 생성할 수 있다.Members can use the information in the KEY MSG to generate a chain of commit key generators G 0 j and keys.

1) 맴버는 함수 g를 실행(run)하여 확약 키 생성자 G 0 j 를 생성할 수 있다.1) The member can run the function g to generate the commit key generator G 0 j .

G 0 j 는 하기의 수학식 3과 같이 정의될 수 있다. G 0 j can be defined as Equation (3) below.

Figure pat00003
Figure pat00003

함수 g는 하기의 수학식 4와 같이 정의될 수 있다.The function g can be defined as Equation (4) below.

Figure pat00004
Figure pat00004

"

Figure pat00005
"는 논리적 배타합(eXclusive OR; XOR) 연산자(operatior)일 수 있다."
Figure pat00005
Quot; may be an eXclusive OR (XOR) operator.

맴버는 확약 키 생성자 G 0 j 및 비가역 함수 F를 사용하여 "키들의 체인의 생성자(chain of keys generator)"를 생성할 수 있다. 키들의 체인의 생성자의 길이는 L일 수 있다.A member can create a "chain of keys generator" using the commitment key generator G 0 j and the irreversible function F. The length of the constructor of the chain of keys may be L.

비가역적 함수 F는 하기의 수학식 5와 같이 정의될 수 있다.The irreversible function F can be defined as Equation (5) below.

Figure pat00006
Figure pat00006

i > 0일 때, G i j 는 키 K i j 의 생성자일 수 있다. When i > 0, G i j may be the generator of key K i j .

i는 키들의 생성의 순서를 나타낼 수 있다. 또한, i는 키들의 사용의 역순을 나타낼 수 있고, 키가 유효한 시간 인터벌의 역순을 나타낼 수 있다. i can represent the order of generation of the keys. Also, i may represent the reverse order of use of the keys, and the key may indicate the reverse order of the valid time interval.

2) FG 0 j 를 입력 인자로서 취할 수 있고, 맴버는 F를 사용하여 길이 L의 키의 체인을 생성할 수 있다.2) F can take G 0 j as an input factor, and members can use F to create a chain of length L' s.

키들의 체인의 생성에 있어서, F는 하기의 수학식 6과 같이 사용될 수 있다.In the generation of the chain of keys, F can be used as shown in Equation (6) below.

Figure pat00007
Figure pat00007

l의 값은 L과 같을 수 있다.The value of l may be equal to L.

그룹의 확약 키 생성자가 비가역 함수 F의 입력일 때, 비가역 함수의 출력은 키들 중 마지막으로 사용되는 키의 생성자일 수 있다.When the group's commit key generator is the input of the irreversible function F , the output of the irreversible function may be the generator of the last used key among the keys.

말하자면, F는 하기의 수학식 7과 같이 정의될 수 있다.In other words, F can be defined as Equation (7) below.

Figure pat00008
Figure pat00008

k+1번째 키의 생성자가 비가역 함수 F의 입력일 때, 비가역 함수 F의 출력은 k번째 키의 생성자일 수 있다. G i 의 모든 맴버들은, 다른 비가역적 함수 f를 사용하여 인덱스 V 및 키 K의 벡터를 생성할 수 있다.When input of the k +1 of the second key generator irreversible function F, the output of the irreversible function F may be a k-th key generator. All members of G i can generate vectors of index V and key K using another irreversible function f .

f는 하기의 수학식 8과 같이 정의될 수 있다. f can be defined as Equation (8) below.

Figure pat00009
Figure pat00009

또한, VK의 페어는 하기의 수학식 9와 같이 정의될 수 있다.Further, the pairs of V and K can be defined as Equation (9) below.

Figure pat00010
Figure pat00010

인덱스 V 및 키 K의 페어는 비가역 함수들 Ff에 기반하여 생성될 수 있다.The pair of index V and key K may be generated based on irreversible functions F and f .

수학식 8 및 수학식 9에서, "H(G i j )

Figure pat00011
N 0 j "는 K i j 에 대응할 수 있고, 뒤의 "H(i)
Figure pat00012
N 0 j "는 V에 대응할 수 있다. 키 K i j 는 키의 생성자 G i j 및 넌스 N 0 j 에 기반하여 생성될 수 있다. 인덱스 Vi 및 넌스 N에 기반하여 생성될 수 있다. 도 11에서 도시된 것처럼, 수학식 3 내지 수학식 8을 참조하면 그룹의 확약 키 K o j 및 시간에 기반한 키들 (K 1 j 내지 K l j )은 기정의된 값에 기반하여 생성될 수 있다. 기정의된 값은 1) 확약 키 생성자 G o j , 2) 확약 키 K 0 j 에 대한 유효한 시간 T d 및 3) BS j 에 의해 결정된 넌스 N 0 j 의 하나 이상일 수 있다.In Equations (8) and (9), " H ( G i j )
Figure pat00011
N 0 j "may correspond to K i j , and the following" H ( i )
Figure pat00012
N 0 j "may correspond to V. The key K i j may be generated based on the key generator G i j and the nonce N 0 j . The index V may be generated based on i and nonce N. As shown in FIG. 11, referring to equations (3) to (8), the group's commit key K o j and time-based keys ( K 1 j to K l j ) can be generated based on a predefined value The default value may be one or more of 1) a commit key generator G o j , 2) a valid time T d for the commit key K 0 j , and 3) a nonce N 0 j determined by BS j .

벡터 V 및 벡터 K은 하기의 수학식 10과 같이 정의될 수 있다.The vector V and the vector K can be defined as the following Equation (10).

Figure pat00013
Figure pat00013

멤버들은 티켓 T k 을 암호화하기 위해 사용되는 i번째 키를 i번째 시간 인터벌 동안에 발급할 수 있다. 키들은 역순(reverse order)으로 개시되기 때문에, 침입자가 미래의 키들을 생성하는 것은 불가능할 수 있다.The members can issue an i- th key, which is used to encrypt the ticket T k , during the i- th time interval. Since the keys are initiated in reverse order, it may not be possible for an intruder to generate future keys.

반면, 인덱스 벡터 V는 키를 추출(retrieve)하는 인덱싱 역할을 수행할 수 있고, V i i번째 시간 인터벌에 대응할 수 있다. 예를 들면, 하기의 수학식 11이 성립할 수 있다.On the other hand, the index vector V may serve as an index for retrieving the key, and V i may correspond to the i- th time interval. For example, the following expression (11) can be established.

Figure pat00014
Figure pat00014

체인 내의 각 생성자 G는 인덱스들 및 티켓 암호화 키의 페어(pair)을 유도(derive)하기 위해 특정한 시간 인터벌들에서 함수 g에 의해 사용될 수 있다. 예를 들면, 시간 인터벌 k에서, BS j 에게 네트워크로의 가입을 요청하는 임의의 센서 노드 또는 사용자 노드 i에 대하여, 함수 f는 티켓 암호화 키 K k j 및 인덱스 V k 값을 생성할 수 있다. 함수 f는 하기의 수학식 12와 같이 정의될 수 있다.Each constructor G in the chain can be used by the function g at specific time intervals to derive indices and a pair of ticket encryption keys. For example, for a time interval k , for any sensor node or user node i requesting BS j to join the network, the function f may generate a ticket encryption key K k j and an index V k value. The function f can be defined as Equation (12) below.

Figure pat00015
Figure pat00015

더 나아가, BS j 는 티켓 암호화 키 K k j 및 비밀의 넌스 n 0 i 에 기반하여 세션 키 K S i 를 발급할 수 있다. 세션 키 K S i 는 하기의 수학식 13과 같이 정의될 수 있다.Further, the BS j may issue a session key K S i based on the ticket encryption key K k j and the secret ness n 0 i . The session key K S i can be defined as Equation (13).

Figure pat00016
Figure pat00016

여기에서, n 0 i 는 네트워크 가입 메시지 내에서 노드 i에 의해 전송된 비밀의 넌스일 수 있다.
Where n 0 i may be the secret of the secret sent by node i in the network join message.

도 9a는 일 예에 따른 함수 g의 구조를 나타낸다.9A shows the structure of function g according to an example.

도 9a는 수학식 4를 참조하여 전술된 함수 g의 구조를 그림으로써 도시할 수 있다.FIG. 9A is a diagram showing the structure of the function g described above with reference to the equation (4).

도 9a에서, 사각형(square)의 기호는 함수 등의 동작을 나타낼 수 있다. 평행사변형(parallelogram)은 입력 값 또는 출력 값을 나타낼 수 있으며, 입력 값 또는 출력 값으로 사용되는 변수(variable) 또는 데이터를 나타낼 수 있다. "

Figure pat00017
"는 논리적 배타합(XOR) 연산자(operatior)일 수 있다.In Fig. 9A, a symbol of a square may represent an operation such as a function. A parallelogram can represent an input value or an output value, and can represent a variable or data used as an input value or an output value. "
Figure pat00017
Quot; may be a logical exclusive (XOR) operator.

도 9a에서, Q는 "lookup(I, O)

Figure pat00018
T d
Figure pat00019
N 0 j "를 나타낼 수 있다.
9A, Q is " lookup ( I , O )
Figure pat00018
T d
Figure pat00019
N 0 j ".

도 9b는 일 예에 따른 함수 F의 구조를 나타낸다.9B shows the structure of a function F according to an example.

도 9b는 수학식 5, 수학식 6 및 수학식 7을 참조하여 전술된 함수 F의 구조를 그림으로써 도시할 수 있다.FIG. 9B illustrates the structure of the function F described above with reference to Equations (5), (6), and (7).

도 9b에서, 사각형(square)의 기호는 함수 등의 동작을 나타낼 수 있다. 평행사변형(parallelogram)은 입력 값 또는 출력 값을 나타낼 수 있으며, 입력 값 또는 출력 값으로 사용되는 변수(variable) 또는 데이터를 나타낼 수 있다. 마름모(rhombus)는 비교(comparison)의 결과에 따른 조건(conditional) 분기(branch)를 나타낼 수 있다.
In Fig. 9B, a symbol of a square may represent an operation such as a function. A parallelogram can represent an input value or an output value, and can represent a variable or data used as an input value or an output value. A rhombus can represent a conditional branch according to the result of a comparison.

도 9c는 일 예에 따른 함수 f의 구조를 나타낸다.9C shows the structure of a function f according to an example.

도 9c는 수학식 8 및 수학식 9을 참조하여 전술된 함수 f의 구조를 그림으로써 도시할 수 있다.FIG. 9C is a diagram illustrating the structure of the function f described above with reference to Equation 8 and Equation 9. FIG.

도 9c에서, 사각형(square)의 기호는 함수 등의 동작을 나타낼 수 있다. 평행사변형(parallelogram)은 입력 값 또는 출력 값을 나타낼 수 있으며, 입력 값 또는 출력 값으로 사용되는 변수(variable) 또는 데이터를 나타낼 수 있다. "

Figure pat00020
"는 논리적 배타합(XOR) 연산자(operatior)일 수 있다.
In Fig. 9C, a symbol of a square may represent an operation such as a function. A parallelogram can represent an input value or an output value, and can represent a variable or data used as an input value or an output value. "
Figure pat00020
Quot; may be a logical exclusive (XOR) operator.

TT kk 암호화 키들에 대한 추출 모드들 Extraction modes for encryption keys

키 추출 모드는 티켓의 구조에 의존할 수 있고, 티켓의 구조는 센서 네트워크(100)의 요구사항들(requirements) 및 제약들(constraints)에 의해 결정될 수 있다. 하기의 실시예에서는 2개의 상이한 키 추출 모드들인 제1 모드 및 제2 모드가 각각 설명된다.
The key extraction mode may depend on the structure of the ticket and the structure of the ticket may be determined by the requirements and constraints of the sensor network 100. In the following embodiments, the first mode and the second mode, which are two different key extraction modes, are respectively described.

티켓의 구조Structure of ticket

인증 티켓의 구조는 선택된 모드에 의존할 수 있다.The structure of the authentication ticket may depend on the selected mode.

제1 모드에서 티켓 T k 의 구조는 하기의 수학식 14와 같을 수 있다.In the first mode the structure of the ticket T k may be equal to Equation 14 below.

Figure pat00021
Figure pat00021

제2 모드에서 티켓 T k 의 구조는 하기의 수학식 15와 같을 수 있다.The structure of the ticket T k in the second mode may be expressed by Equation (15) below.

Figure pat00022
Figure pat00022

제3 모드에서 티켓 T k 의 구조는 하기의 수학식 16과 같을 수 있다.The structure of the ticket T k in the third mode can be expressed by the following Equation (16).

Figure pat00023
Figure pat00023

수학식 14, 수학식 15 및 수학식 16에서 정의된 것과 같이, 티켓은 앞부분 반(first half)인 제1 부분 및 뒷부분 반(second half)인 제2 부분으로 분류될 수 있다. 말하자면, 티켓은 제1 부분 및 제2 부분을 포함할 수 있다.As defined in Equations (14), (15) and (16), a ticket can be classified into a first portion, which is a first half, and a second portion, which is a second half. That is to say, the ticket may include a first portion and a second portion.

제1 부분 및 제2 부분은 각각 서로 다른 키로 암호화될 수 있다. 예를 들면, 제1 부분은 시간에 기반한 키 K i j 로 암호화될 수 있다. 제2 부분은 BS j 의 그룹 키 K G j 로 암호화될 수 있다.The first portion and the second portion may each be encrypted with a different key. For example, the first part may be encrypted with a time-based key K i j . The second part may be encrypted with the group key K G j of BS j .

티켓의 제1 부분 및 제2 부분은 각각 N k 에 특정한 정보에 기반하여 유도될 수 있다.First and second parts of the ticket can be derived based on information specific to the N k, respectively.

티켓의 제2 부분은 모드에 의존할 수 있다. 티켓의 제2 부분은 모드에 따라 상이할 수 있다.The second part of the ticket may be mode dependent. The second part of the ticket may be different depending on the mode.

제2 부분은 앞부분 반인 제1 부분을 복호화하기 위한 시간에 기반한 키 K i j 의 결정을 위해 사용되는 정보를 포함할 수 있다.The second part may comprise information used for determining the key K i j based on the time for decrypting the first part which is the front half.

티켓의 제1 부분은 T k 를 검증하기 위해 사용될 수 있다.
A first portion of the ticket may be used to verify the T k.

제1 모드The first mode

BS j T k 의 끝에 인덱스 값 V i 를 추가할 수 있다. T k 는 인덱스 값 V i 를 포함할 수 있다. BS j may be added to the index value of V i at the end of T k. T k may include an index value V i .

티켓 검증자는 T k V i 을 티켓 검증자 자신에 의해 생성된 벡터 V와 비교할 수 있다. V i VVi번째 위치(place)에서 매치된다는 것은, 키 K i j 에 의해 티켓 T K 가 복호화될 수 있다는 것을 의미할 수 있다. 말하자면, T k 의 제2 부분의 V i 는 키들의 체인 중 어떤 시간 인터벌에서의 키가 T k 의 제1 부분의 복호화에 의해 사용되는가를 가리킬 수 있다.The ticket verifier can compare the V i of T k with the vector V generated by the ticket verifier itself. The fact that V i and V are matched at the i- th place (place) of V can mean that the ticket T K can be decrypted by the key K i j . So to speak, V i of the second portion of the T k may indicate an Is the key at any time interval of the chain of the keys used by the decoding of the first portion of T k.

따라서, 티켓 검증자는 T k 의 제2 부분의 V i 를 사용하여 T k 의 제1 부분을 복호화 할 시간에 기반한 키 K i j 를 결정할 수 있고, 결정된 시간에 기반한 키 K i j 를 사용하여 제1 부분을 복호화할 수 있다.Therefore, The ticket verification can determine the key K i j based on the time to decode a first portion of T k by using the V i of the second portion of the T k, by using the key K i j based on the determined time the 1 < / RTI >

말하자면, 티켓 T k 의 적어도 일부의 정보(즉, 제1 부분)는 기정의된 시간 인터벌에서 유효한 시간에 기반한 키 K i j 에 의해 복호화될 수 있다.
That is to say, at least a portion of the information of the ticket T k (i.e., the first part) can be decrypted by the key K i j based on the time available at the predefined time interval.

제2 모드The second mode

만약 그룹의 멤버들이 완전히 안전한 환경에 있다면, 실시예들에 있어서 단순한 티켓 추출(retrieval) 전략이 채용될 수 있다. 제2 모드에서, 티켓의 추출에 있어서 스크램들된 인덱스 값 V를 사용하는 대신에, 시간 인터벌의 값을 포함하는 정보가 사용될 수 있다.If the members of the group are in a completely secure environment, a simple ticket retrieval strategy may be employed in embodiments. In the second mode, instead of using the scrambled index value V in the extraction of the ticket, information including the value of the time interval can be used.

제2 모드에서, 티켓의 검증자는 검색 알고리즘을 실행할 필요가 없을 수 있다
In the second mode, the verifier of the ticket may not need to execute a search algorithm

제3 모드Third mode

그룹 G i 의 모든 맴버들은 해쉬 트리를 생성할 수 있다. 해쉬 트리의 리프 노드들은 인덱스 벡터 V로부터의 인덱스 값들일 수 있다.All members of group G i can generate a hash tree. The leaf nodes of the hash tree may be index values from the index vector V.

도 10은 일 예에 따른 인덱스 벡터의 이진 해시 트리를 나타낸다.FIG. 10 shows a binary hash tree of an index vector according to an example.

인덱스 벡터 V는 하기의 수학식 17과 같을 수 있다.The index vector V may be expressed by Equation (17) below.

Figure pat00024
Figure pat00024

BS j T k 의 끝에 인덱스 값 V i 및 해쉬 값들을 추가할 수 있다. 해쉬 값들은 log2|V| 개일 수 있다. BS j may add index values V i and hash values to the end of T k . The hash values are log 2 | V | .

이러한 해쉬 값들은 해쉬 트리의 선택된 노드들일 수 있다. 해쉬 값들에 의해 O(1)의 복잡도(complexity)를 갖는 인덱스 탐색이 이루어질 수 있다. 또한, 유사하게, O(log)의 복잡도를 갖는 해쉬 트리 재구축이 이루어질 수 있다. 이때, 해쉬 연산들(operations)은 모두 log2|V|개일 수 있다.These hash values may be selected nodes in the hash tree. An index search having a complexity of O (1) can be performed by hash values. Similarly, a hash tree reconstruction having a complexity of O (log) can be performed. At this time, the hash operations are all log 2 | V |

인덱스 탐색의 알고리즘은 하기의 1) 내지 5)와 같을 수 있다. The algorithm of the index search may be the same as the following 1) to 5).

1) 인덱스 탐색은 헤드 노드로부터 시작할 수 있다. 인덱스 탐색은 헤드 노드로부터 아래 노드의 방향으로 탐색이 진행될 수 있다.1) The index search may start from the head node. The index search may proceed from the head node toward the lower node.

2) 추가된(append) 값은 무시될 수 있고, 재구축된 노드를 따라 탐색이 진행될 수 있다.2) The append value can be ignored and the search can proceed along the rebuilt node.

3) 탐색이 레벨 log2|V|-1에 도달할 수 있다.3) The search is at level log 2 | V | -1.

4) 이제, 최후의 레벨에서, 인덱스 값인 추가된 값이 선택될 수 있다.4) Now, at the last level, the added value which is the index value can be selected.

제2 모드는 키들의 체인이 매우 긴 경우에 적합할 수 있다.The second mode may be suitable if the chain of keys is very long.

H head 는 해시 트리의 헤드 노드일 수 있다. 헤드 노드는 T k 내에 임의적으로(optionally) 포함될 수 있다. 헤드 노드는 T k 가 신뢰된 그룹 맴버로부터 생성되었다는 것을 보장(ensure)할 수 있다.
H head can be the head node of the hash tree. The head node may optionally be included in T k . The head node can ensure that T k is generated from a trusted group member.

싱크 노드에서의 "키들의 체인의 생성자"의 관리Managing the "chain of keys chain" at the sink node

도 11은 일 예에 따른 싱크 노드에서의 키들의 체인의 생성자의 관리를 나타낸다.11 illustrates management of a generator of a chain of keys in a sink node according to an example.

티켓 및 세션 키를 재발급하는 작업부하(workload)를 펼치기(spread)하기 위해, 싱크 노드는 이전의 키들의 체인의 히스토리를 유지(keep)할 수 있고, 이동하는(moving) 윈도우에 기반하여 티켓 및 세션 키를 발급할 수 있다.In order to spread the workload reissuing the ticket and session key, the sink node may keep a history of the chains of previous keys and may be able to keep track of the tickets and / The session key can be issued.

도 11에서는, 길이가 3인 키들의 체인을 사용할 때, 어떻게 싱크 노드가 체인에 걸쳐(throughout) 작업 부하를 펼치는지가 도시되었다. 이러한 펼침은 이동하는 윈도우의 접근 방법을 채용(adopting)함으로써 수행될 수 있고, 시간 인터벌 본위로(per interval basis) 티켓 및 세션 키들을 갱신함으로써 수행될 수 있다.In Fig. 11, it is shown how a sink node spreads workload throughout a chain when using a chain of keys of length three. This spreading may be performed by adopting a moving window approach and may be performed by updating the ticket and session keys on a per interval basis.

작업 부하의 펼침은 하기의 4개의 단계들을 포함할 수 있다.The unfolding of the workload may include the following four steps.

단계 1) 싱크 노드는 이전의 키들의 체인 C 0을 폐기(discard)할 수 있다. 싱크 노드는 다음 키들의 체인 C 1을 위한 확약 키 생성자 G 0 j 를 생성할 수 있다.Step 1) The sink node may discard the chain C 0 of the previous keys. The sink node may generate a commitment key generator G 0 j for the chain C 1 of the following keys.

단계 2) 제1 시간 인터벌 l 1에서, 싱크 노드는 인증된 모든 센서 노드들에게 티켓 T K 1 및 세션 키를 재-발급할 수 있다.Step 2) At the first time interval l 1 , the sink node may re-issue the ticket T K 1 and the session key to all authenticated sensor nodes.

단계 3) 제2 시간 인터벌 l 2에서, 싱크 노드는 인증된 모든 센서 노드들에게 티켓 T K 2 및 세션 키를 재-발급할 수 있다.Step 3) In the second time interval l 2, sink node re ticket T K 2, and the session key to all authenticated sensor node - may be issued.

단계 4) 제3 시간 인터벌 l 3에서, 싱크 노드는 인증된 모든 센서 노드들에게 티켓 T K 3 및 세션 키를 재-발급할 수 있다. 싱크 노드는 이전의 키들의 체인 C 1을 폐기할 수 있고, 다음 키들의 체인 C 2을 위한 확약 키 생성자 G 0 j 를 생성할 수 있다.Step 4) At the third time interval l 3 , the sink node may re-issue the ticket T K 3 and the session key to all authenticated sensor nodes. The sink node may discard the chain C 1 of the previous keys and generate a commit key generator G 0 j for the chain C 2 of the following keys.

예를 들면, 싱크 노드는 키들의 체인의 길이만큼의 시간 인터벌들이 경과할 때마다, 이전의 키들의 체인을 폐기할 수 있고, 다음 키들의 체인을 위한 확약 키 생성자를 생성할 수 있다. 매 시간 인터벌마다, 싱크 노드는 인증된 모든 센서들에게 티켓 및 세션 키를 재-발급할 수 있다.
For example, the sink node may discard a chain of previous keys and generate a commit key generator for a chain of next keys whenever the time intervals of the length of the chain of keys have elapsed. For each time interval, the sink node may re-issue the ticket and session key to all authenticated sensors.

인증 절차Authentication procedure

센서 노드 N i 는 3개의 상이한 방식들에 의해 인증될 수 있다. N i 가 시스템에 가입할 때, N i 는 초기의 인증 프로세스를 거칠 수 있다. 초기의 인증 이후에, N i 가 하나의 BSBS k 로부터 다른 BSBS j 로 이동할 때, N i 는 인증 티켓 T K 로 재-인증될 수 있다.Sensor node N i can be authenticated by the three different methods. When N i joins the system, N i may go through an initial authentication process. To move after the initial authentication, N i is from one BS to another BS of BS k the BS j, N i is a re-authentication ticket T K - it can be authenticated.

아래에서는 3개의 상이한 방식의 인증 절차들이 설명된다.
In the following three different authentication schemes are described.

도 12는 일 예에 따른 인증 절차의 흐름도이다.12 is a flowchart of an authentication procedure according to an example.

도 6를 참조하여 전술된 단계(620)는 단계들(1210, 1220, 1230, 1240, 1250, 1260 및 1270)을 포함할 수 있다.Step 620 described above with reference to FIG. 6 may include steps 1210, 1220, 1230, 1240, 1250, 1260, and 1270.

단계(1210)에서, 센서 노드 N i 의 요청이 수신될 수 있다.At step 1210, a request for sensor node N i may be received.

센서 노드 N i 의 요청이 가입 요청이면, 단계(1220) 또는 단계(1280)가 수행될 수 있다.If the sensor node N i is the request to join request, the step 1220 or step 1280 can be performed.

센서 노드 N i 의 요청이 센서 노드의 가입 요청이면, 단계(1220)가 수행될 수 있다.If the sensor node N i of the request of the request to join the sensor node, it can be performed step 1220.

센서 노드 N i 의 요청이 사용자의 가입 요청이면, 단계(1280)가 수행될 수 있다.If the request of sensor node N i is a subscription request of the user, step 1280 may be performed.

센서 노드 N i 의 요청이 가입 요청이 아니면, 단계(1230) 또는 단계(1235)가 수행될 수 있다.Sensor node N i is not the request of the subscription request, the step 1230 or step 1235 can be performed.

센서 노드 N i 의 요청이 스위치의 요청이고, 다중 연결들의 요청이면 단계(1230)가 수행될 수 있다.Step 1230 can be performed if the request of the sensor node N i is a request of the switch and a request for multiple connections.

센서 노드 N i 의 요청이 스위치의 요청이고, 노드 이동성(node mobility) 의 요청이면 단계(1235)가 수행될 수 있다.Step 1235 may be performed if the request of the sensor node N i is a request of the switch and a request for node mobility.

단계(1220)에서, 센서 엑티베이션 및 인증 프로토콜(Sensor Activation and Authentication Protocol; SAAP)이 수행될 수 있다.At step 1220, a Sensor Activation and Authentication Protocol (SAAP) may be performed.

단계(1230)에서, S k S j G i 의 맴버이면, 단계(1240)가 수행될 수 있다. S k S j G i 의 맴버가 아니면, 단계(1250)가 수행될 수 있다.In step 1230, if S k and S j are members of G i , step 1240 may be performed. If S k and S j are not members of G i , step 1250 may be performed.

단계(1235)에서, S k S j G i 의 맴버이면, 단계(1240)가 수행될 수 있다. S k S j G i 의 맴버가 아니면, 단계(1260)가 수행될 수 있다.In step 1235, if S k and S j are members of G i , step 1240 may be performed. If S k and S j are not members of G i , step 1260 can be performed.

단계(1240)에서, 센서 재-인증 프로토콜 1(Sensor Re-Authentication Protocol 1; SRP1)이 수행될 수 있다..In step 1240, a Sensor Re-Authentication Protocol 1 (SRP1) may be performed.

단계(1250)에서, S j N i 의 범위 내에 있고, S j G k 0 의 맴버이면, 단계(1270)가 수행될 수 있다. S j N i 의 범위 내에 있지 않거나, S j G k 0 의 맴버가 아니면 절차가 종료할 수 있다.In step 1250, if S j is within the range of N i and S j is a member of G k 0 , then step 1270 may be performed. If S j is not in the range of N i , or if S j is not a member of G k 0, then the procedure may end.

단계(1260)에서, N i S j 로 이동하고, S j G k 0 의 맴버가 아니면, 단계(1270)가 수행될 수 있다. N i S j 로 이동하는 것이 아니거나, S j G k 0 의 맴버이면, 절차가 종료할 수 있다.In step (1260), has N i can be moved to and S j, S j is not a member of the G k 0, step 1270 is performed. If N i does not move to S j , or if S j is a member of G k 0 , then the procedure may end.

단계(1270)에서, 센서 재-인증 프로토콜 2(Sensor Re-Authentication Protocol 2; SRP2)이 수행될 수 있다.In step 1270, a Sensor Re-Authentication Protocol 2 (SRP2) may be performed.

단계(1280)에서, 사용자의 가입 요청의 가입 타입에 따라 단계(1285), 단계(1290) 및 단계(1295) 중 하나가 수행될 수 있다. 가입 타입이 "사용자-베이스 스테이션"인경우 단계(1285)가 수행될 수 있다. 가입 타입이 "사용자-싱크"인 경우 단계(1290)가 수행될 수 있다. 가입 타입이 "사용자-센서"인 경우 단계(1295)가 수행될 수 있다.In step 1280, either step 1285, step 1290, or step 1295 may be performed depending on the subscription type of the user's subscription request. If the subscription type is "user-base station ", step 1285 may be performed. If the subscription type is "user-sync ", step 1290 may be performed. If the subscription type is "user-sensor ", step 1295 may be performed.

단계(1285)에서, 사용자 엑티베이션 및 인증 프로토콜(User Activation and Authentication Protocol; UAAP)이 수행될 수 있다.At step 1285, a User Activation and Authentication Protocol (UAAP) may be performed.

단계(1290)에서, 사용자-싱크 인증 프로토콜(User-Sink Authentication Protocol; USiAP)이 수행될 수 있다.In step 1290, a User-Sink Authentication Protocol (USiAP) may be performed.

단계(1295)에서, 사용자-센서 인증 프로토콜(User-Sensor Authentication Protocol; USeAP)이 수행될 수 있다.
In step 1295, a User-Sensor Authentication Protocol (USEAP) may be performed.

SAAPSAAP

도 13은 일 예에 따른 SAAP의 흐름도이다.13 is a flowchart of SAAP according to an example.

도 12를 참조하여 전술된 단계(1220)는 하기의 단계들(1310, 1320, 1330, 1340, 1350 및 1360)을 포함할 수 있다.Step 1220 described above with reference to FIG. 12 may include the following steps 1310, 1320, 1330, 1340, 1350, and 1360.

싱크 노드 S j 는 주기적으로 헬로(hello) 메시지를 BS j 의 공개 키와 함께 방송할 수 있다.The sink node S j may periodically broadcast a hello message with the public key of BS j .

헬로 메시지는 하기의 수학식 18과 같이 정의될 수 있다.The hello message can be defined as Equation (18) below.

Figure pat00025
Figure pat00025

만약 N i 가 WSN에 가입하기를 원하면, 헬로 메시지를 청취(hearing)함에 따라 N i 는 암호화 키 K TS i 를 생성할 수 있다. 암호화 키 K TS i 는 하기의 수학식 19와 같이 정의될 수 있다.If N i wants to join the WSN, N i can generate an encryption key K TS i by hearing the hello message. The encryption key K TS i can be defined as: " (19) "

Figure pat00026
Figure pat00026

N i 는 생성된 암호화 키 K TS i 로 가입 메시지를 암호화할 수 있고, 하기의 단계들(1310, 1320, 1330, 1340, 1350 및 1360)이 진행될 수 있다. N i can encrypt the subscription message with the generated encryption key K TS i and the following steps 1310, 1320, 1330, 1340, 1350 and 1360 can proceed.

단계(1310)에서, N i 가 헬로 메시지를 수신하면, N i 는 제1 메시지를 싱크 노드 S j 로 전송할 수 있다. 제1 메시지는 가입 메시지일 수 있다. 제1 메시지를 통해 서비스의 요청이 N i 로부터 S j 로 전송될 수 있다.In step 1310, if N i receives a hello message, N i may transmit the first message to sink node S j . The first message may be a subscription message. A request for a service via the first message may be sent from N i to S j .

제1 메시지는 하기의 수학식 20의 정보를 포함할 수 있다.The first message may include information of Equation (20) below.

Figure pat00027
Figure pat00027

n 0 N i 에 의해 결정된 넌스(nonce)일 수 있다. n 0 may be a nonce determined by N i .

제1 메시지를 통해, N i 는 생성된 암호화 키 K TS i 로 암호화된 N 0S j 로 전송할 수 있다.Through the first message, N i may transmit N 0 encrypted with the generated encryption key K TS i as S j .

단계(1320)에서, N i 로부터의 요청을 수신함에 따라, S j 는 제1 메시지에 대한 제2 메시지를 BS j 로 전송할 수 있다. 제2 메시지를 통해, N i 의 요청이 S j 를 통해 BS j 로 전달될 수 있다.In step 1320, upon receipt of the request from N i , S j may send a second message for the first message to BS j . Through the second message, the request of N i may be delivered to BS j via S j .

제2 메시지는 하기의 수학식 21의 정보를 포함할 수 있다.The second message may include information of Equation (21) below.

Figure pat00028
Figure pat00028

"M1"은 전술된 제1 메시지일 수 있다." M 1" may be the first message described above.

제2 메시지를 통해, S j S j 의 식별자 및 챌린지 n 2와 결합된 N i 로부터의 요청을 BS j 로 전달할 수 있다.Via a second message, S j can transmit a request from the N i associated with the identifier and the challenge of n 2 S j by BS j.

단계(1330)에서, BS j 가 제2 메시지를 수신하면, BS j 는 제2 메시지 내의 N i 의 식별자를 사용하여 데이터베이스로부터 N i 의 프로파일을 추출할 수 있다. In step 1330, when BS j receives the second message, BS j may extract the profile of N i from the database using the identifier of N i in the second message.

만약 N i 가 적법한(legitimate) 센서 노드이면, BS j 는 키 K TS i 를 생성할 수 있다. 키 K TS i 는 하기의 수학식 22와 같이 정의될 수 있다.If N i is a legitimate sensor node, BS j can generate key K TS i . The key K TS i can be defined as: < EMI ID = 22.0 >

Figure pat00029
Figure pat00029

BS j 는 제3 메시지를 S j 로 전송할 수 있다. BS j may transmit the third message S j .

제3 메시지는 하기의 수학식 23의 정보를 포함할 수 있다.The third message may include the information of Equation 23 below.

Figure pat00030
Figure pat00030

BS j N i 를 위해 의도된 u 0S j 로 전송할 수 있다. 또한, BS j S j 를 위해 의도된 티켓 T k S j 로 전송할 수 있다. 티켓 T k BS j 의 그룹의 그룹 키 K G j 로 암호화될 수 있다. BS j may transmit u 0 , which is intended for N i , to S j . In addition, BS j may transmit the ticket T k S j to S j intended for. Ticket T k can be encrypted with the group key K G j of the group of BS j.

제3 메시지는 u 0을 포함할 수 있다. u 0은 하기의 수학식 24와 같이 정의될 수 있다.The third message may contain u 0 . u 0 can be defined as Equation (24) below.

Figure pat00031
Figure pat00031

T K 는 시간에 기반한 티켓일 수 있다. T K may be a ticket based on time.

T R K S i 에 대한 유효 시간일 수 있다. T R can be the valid time for K S i .

T R K S k 에 대한 유효 시간(validity time)일 수 있다. T R 은 하기의 수학식 25과 같이 정의될 수 있다. T R may be a validity time for K S k . T R can be defined as: " (25) "

Figure pat00032
Figure pat00032

l i 는 티켓 및 세션 키가 발급되었던 i 번째 시간 인터벌 동안의 시스템 시간일 수 있다. L은 키 체인의 시간 구간(time duration)일 수 있다. l i may be the system time during the i < th > time interval during which the ticket and session key were issued. L may be the time duration of the keychain.

또한, 제 3 메시지는 티켓 T k , 넌스 n 1 및 넌스 n 2를 포함할 수 있다. 티켓 T k , 넌스 n 1 및 넌스 n 2의 모두는 K G j 로 암호화될 수 있다.In addition, the third message may include a ticket T k, n 1 and Maintenance maintenance n 2. All of the ticket T k, nonce n 1 n 2 and the nonce may be encrypted with K G j.

n 1BS j 에 의해 결정된 넌스일 수 있다. n 1N i 에 대한 챌린지일 수 있다. n 1 may be a nonnegative determined by BS j . n 1 may be a challenge for N i .

n 2는 싱크 노드 S j 의 챌린지에 대한 응답일 수 있다. n 2 may be the response to the challenge of the sink node S j .

T K 는 시간에 기반한 티켓일 수 있다. T K may be a ticket based on time.

수학식 14, 수학식 15 및 수학식 16에서 정의된 것과 같이, T k 는 하기의 수학식 26의 정보를 포함할 수 있다.As defined in equations (14), (15) and (16), T k may include the information of Equation (26) below.

Figure pat00033
Figure pat00033

"Prof"는 N i 의 프로파일을 나타낼 수 있다." Prof " can represent the profile of N i .

싱크 노드 S i 로 제3 메시지가 전송되면, S j 는 챌린지 n2에 대한 검증할 수 있고, n1을 저장할 수 있다.If the third message is sent to sink node S i , S j can verify for challenge n 2 and store n 1.

또한, 싱크 노드 S i 로 제3 메시지가 전송되면, S j T k 의 정보로부터 N i 의 프로파일 및 K s i 를 추출할 수 있다.Also, when the third message is transmitted to the sink node S i , S j can extract the profile of N i and K s i from the information of T k .

단계(1340)에서, S j 는 제4 메시지를 N i 로 전송할 수 있다. 제4 메시지는 하기의 수학식 27의 정보를 포함할 수 있다.In step 1340, S j may transmit the fourth message as N i . The fourth message may include information of Equation (27) below.

Figure pat00034
Figure pat00034

제4 메시지는 단계(1310)에서의 제1 메시지에 대한 응답일 수 있다. 또한, 제4 메시지의 u 0 BS j 에게서 발급된 티켓 T k 의 정보를 포함할 수 있다.The fourth message may be a response to the first message at step 1310. [ Also, u 0 of the fourth message may include information of a ticket T k issued from BS j .

S j u 0N i 로 전달할 수 있다. S j can carry u 0 as N i .

단계(1310)에서의 제1 메시지 및 단계(1320)에서의 제2 메시지는 n 0 을 포함할 수 있다. 또한, 단계(1330)에서의 제3 메시지 및 단계(1340)에서의 제4 메시지의 u 0n 0+1을 포함할 수 있다. 따라서, 단계(1310)에서의 제1 메시지 및 단계(1330)에서의 제2 메시지는 챌린지일 수 있고, 단계(1330)에서의 제3 메시지 및 단계(1340)에서의 제4 메시지는 챌린지에 대한 응답일 수 있다.The first message at step 1310 and the second message at step 1320 may include n 0 . Also, u 0 of the third message in step 1330 and the fourth message in step 1340 may include n 0 +1. Thus, the first message at step 1310 and the second message at step 1330 may be a challenge, and the third message at step 1330 and the fourth message at step 1340 may be for a challenge Response.

N i n 0+1를 사용하여 챌린지에 대한 검증을 할 수 있다. 챌린지에 대한 검증 후에, N i T k 를 수용(accept)할 수 있고, S j 로의 데이터의 전송을 시작할 수 있다. N i can use n 0 +1 to verify the challenge. After verification of the challenge, N i may accept T k and begin transmitting data to S j .

제4 메시지는 N i 에 대한 인증을 수행하는 BS j 에게서 발급된 티켓 T k 의 정보를 포함할 수 있고, N i 는 이후의 재-인증에서 T k 를 사용할 수 있다.The fourth message may include information of the ticket T k issued from the BS j to perform authentication with N i, N i is the material after - T k can be used in authentication.

단계(1350)에서, S j 는 제3 메시지에 대한 응답인 제5 메시지를 BS j 로 전송할 수 있다.In step 1350, S j may send a fifth message, which is a response to the third message, to BS j .

제5 메시지는 하기의 수학식 28의 정보를 포함할 수 있다.The fifth message may include information of Equation (28) below.

Figure pat00035
Figure pat00035

단계(1330)에서의 제3 메시지는 n 1을 포함할 수 있다. 제5 메시지는 n 1+1을 포함할 수 있다. 따라서, 제5 메시지는 단계(1330)에서의 제3 메시지의 챌린지에 대한 응답일 수 있다. S j 는 성공적인 프로토콜 실행(run)의 확인으로서 챌린지에 대한 응답인 (n 1+1)을 BS j 로 전송할 수 있다.The third message in step 1330 may include n 1 . The fifth message may include n 1 +1. Thus, the fifth message may be a response to the challenge of the third message at step 1330. [ S j may send ( n 1 +1), a response to the challenge, to BS j as an acknowledgment of a successful protocol run.

단계(1360)에서, N i 는 제4 메시지에 대한 응답인 제6 메시지를 S j 로 전송할 수 있다.In step 1360, N i may send a sixth message, S j , which is a response to the fourth message.

제6 메시지는 하기의 수학식 29의 정보를 포함할 수 있다.The sixth message may include information of Equation (29) below.

Figure pat00036
Figure pat00036

단계(1340)에서의 제4 메시지는 n 1을 포함할 수 있다. 제6 메시지는 n 1+1을 포함할 수 있다. 따라서, 제6 메시지는 단계(1340)에서의 제6 메시지의 챌린지에 대한 응답일 수 있다.The fourth message in step 1340 may include n 1 . The sixth message may include n 1 +1. Thus, the sixth message may be a response to the challenge of the sixth message at step 1340. [

S j n 1+1를 사용하여 챌린지에 대한 확인을 할 수 있다. 챌린지에 대한 확인 후에, S j 는 센서 데이터의 수신을 시작할 수 있다. 챌린지에 대한 확인이 되지 않으면, S j T k 를 무효의(void) 티켓으로 표시(mark)할 수 있다. S j can use n 1 +1 to confirm the challenge. After confirmation of the challenge, S j may begin receiving sensor data. If no confirmation is made for the challenge, S j can mark T k as a void ticket.

SAAP에서, n 0의 안전한 교환은 센서 노드 및 베이스 스테이션 간의 메시지 인증을 보장할 수 있다. n 2의 안전한 교환은 싱크 노드 및 베이스 스테이션 간의 메시지 인증을 보장할 수 있다. n 1의 안전한 교환은 센서 노드 및 싱크 노드 간의 메시지 인증을 보장할 수 있다. 또한, 센서 노드 및 싱크 노드 간의 메시지 인증은 세션 키 암호화 및 n 1에 의해 설립될 수 있다. 만약 단계(1310)에서 N i 가 이미 BS j 에 등록되었으면, n 0은 암호 값의 해쉬와 교체될 수 있다.
In SAAP, a secure exchange of n 0 can guarantee message authentication between the sensor node and the base station. A secure exchange of n 2 can ensure message authentication between the sink node and the base station. A secure exchange of n 1 can ensure message authentication between the sensor node and the sink node. In addition, message authentication between the sensor node and the sink node may be established by session key encryption and n 1 . If N i is already registered in BS j at step 1310, then n 0 may be replaced with a hash of the cipher value.

SRP1SRP1

도 14는 일 예에 따른 SRP1의 흐름도이다.14 is a flow chart of the SRP 1 according to an example.

도 12를 참조하여 전술된 단계(1240)는 하기의 단계들(1410, 1420 및 1430)을 포함할 수 있다.Step 1240 described above with reference to FIG. 12 may include the following steps 1410, 1420, and 1430.

만약, 센서 노드 N i 가 싱크들 S j 와 다중의 안전한 연결들을 설립하기 원할 때, SRP1이 하기와 같이 수행될 수 있다. 이 때, S j G i 의 맴버일 수 있다.If sensor node N i wishes to establish multiple secure connections with sinks S j , SRP 1 may be performed as follows. At this time, S j may be a member of G i .

또는, 만약 N i S k 로부터 S j 로 이동하고, S k S j 에 대해 하기의 수학식 30이 성립할 때, 재-인증의 제1 케이스가 수행될 수 있다.Alternatively, if N i moves from S k to S j and S k and S j hold, then the first case of re-authentication may be performed.

Figure pat00037
Figure pat00037

S k S j G i 의 맴버일 수 있다. S k and S j may be members of G i .

단계(1410)에서, N i 는 제1 메시지 Switch Req S j 로 전송할 수 있다. 제1 메시지는 스위치를 요청하는 메시지일 수 있다.In step 1410, N i may transmit the first message Switch Req to S j . The first message may be a message requesting a switch.

"Switch Req "는 전송된 제1 메시지가 싱크 노드 S j 와의 연결의 설립을 요청하는 메시지라는 것을 나타낼 수 있다." Switch Req " may indicate that the first message transmitted is a message requesting establishment of a connection with sink node S j .

제1 메시지는 하기의 수학식 31과 같이 구성될 수 있다.The first message may be constructed as shown in Equation (31) below.

Figure pat00038
Figure pat00038

n 0 N i 에 의해 결정된 넌스(nonce)일 수 있다. n 0 may be a nonce determined by N i .

S j 는 제1 메시지로부터 티켓 T k 를 추출할 수 있다. S j can extract the ticket T k from the first message.

제1 메시지는 N i 의 재-인증을 위한 T k 의 정보를 포함할 수 있다.The first message is a re-N i - may include information T k for authentication.

수학식 14, 수학식 15 및 수학식 16에서 정의된 것과 같이 T k K s i 의 정보를 포함할 수 있다. S j T k 를 복호화할 수 있다. 복호화를 통해, S j K s i 를 추출할 수 있다. 또한, S j n 0 i의 해쉬 값를 계산할 수 있고, 해쉬 값을 스위치 메시지 내에서 수신된 H(n 0 i)과 비교할 수 있다. 만약, 해쉬 값과 H(n 0 i)의 값이 매치하지 않으면, S j 는 요청을 무시할 수 있다. 그렇지 않으면, 아래에서 설명된 것과 같이 진행될 수 있다.As defined in Equations (14), (15) and (16), T k may include information of K s i . S j can decode T k . Through decryption, S j can extract K s i . In addition, S j may be calculated hash value for the n 0 i, it can be compared with the hash value H (n 0 i) received in the message switch. If the hash value and the value of H ( n 0 i ) do not match, S j can ignore the request. Otherwise, proceed as described below.

단계(1420)에서, S j 은 제1 메시지에 대한 응답으로서 제2 메시지를 N i 로 전송할 수 있다. 제2 메시지는 하기의 수학식 32의 정보를 포함할 수 있다.In step 1420, S j may transmit the second message as N i in response to the first message. The second message may include information of Equation (32) below.

Figure pat00039
Figure pat00039

제2 메시지는 N 0+1의 정보를 포함할 수 있다. 따라서, 제2 메시지는 단계(1410)에서의 제1 메시지의 챌린지에 대한 응답일 수 있다.The second message may include N 0 +1 information. Thus, the second message may be a response to the challenge of the first message at step 1410. [

n 1S j 에 의해 결정된 넌스일 수 있다. 제2 메시지는 N i 에 대한 새로운 챌린지일 수 있다. N i 에 대한 새로운 챌린지인 n 1 세션 키 K s i 로 암호화될 수 있다. n 1 may be a nonnegative determined by S j . The second message may be a new challenge for N i . A new challenge for the N i n 1 session key may be encrypted with K i s.

단계(1430)에서, N i 는 제2 메시지에 대한 응답인 제3 메시지를 S j 로 전송할 수 있다.In step 1430, N i may send a third message, S j , which is a response to the second message.

제3 메시지는 하기의 수학식 33의 정보를 포함할 수 있다.The third message may include the information of Equation 33 below.

Figure pat00040
Figure pat00040

단계(1420)에서의 제2 메시지는 n 1을 포함할 수 있다. 제3 메시지는 n 1+1을 포함할 수 있다. 따라서, 제3 메시지는 단계(1420)에서의 제2 메시지의 챌린지에 대한 응답일 수 있다.The second message in step 1420 may include n 1 . The third message may include n 1 +1. Thus, the third message may be a response to the challenge of the second message at step 1420. [

S j n 1+1를 사용하여 챌린지에 대한 확인을 할 수 있다. 챌린지에 대한 확인 후에, S j 는 데이터의 수신을 시작할 수 있다. 챌린지에 대한 확인이 되지 않으면, S j T k 를 무효의(void) 티켓으로 표시(mark)할 수 있다. S j can use n 1 +1 to confirm the challenge. After confirmation of the challenge, S j may begin to receive the data. If no confirmation is made for the challenge, S j can mark T k as a void ticket.

SRP1에서, n 0 i 는 센서 노드 및 싱크 노드 간의 메시지 인증을 보장할 수 있다. 이러한 특징으로, 센서 노드는 도 1에서 도시된 다양한 싱크 노드들과 다중의 안전한 세션들을 설립할 수 있다.
In SRP1, n 0 i can guarantee message authentication between the sensor node and the sink node. With this feature, the sensor node can establish multiple secure sessions with the various sink nodes shown in FIG.

SRP2SRP2

도 15는 일 예에 따른 SRP2의 흐름도이다.15 is a flow chart of SRP2 according to an example.

도 12를 참조하여 전술된 단계(1270)는 하기의 단계들(1510, 1520, 1530, 1540, 1550 및 1560)을 포함할 수 있다.Step 1270 described above with reference to FIG. 12 may include the following steps 1510, 1520, 1530, 1540, 1550, and 1560.

만약, 센서 노드 N i 가 다른 안전한 연결을 싱크 노드 S j 와 설립하기 원하면, 하기의 SRP2가 수행될 수 있다. S j 에 대해서는 하기의 수학식 34가 성립할 수 있다.If the sensor node N i wants to establish another secure connection with the sink node S j , the following SRP 2 can be performed. For S j , Equation (34) below can be established.

또는, 센서 노드 N i S k 로부터 S j 로 이동할 때, 하기의 SRP2가 수행될 수 있다. S j 에 대해서는 하기의 수학식 34가 성립할 수 있다.Alternatively, when the sensor node N i moves from S k to S j , the following SRP 2 can be performed. For S j , Equation (34) below can be established.

Figure pat00041
Figure pat00041

재-인증의 절차는 하기와 같이 진행될 수 있다.The re-authentication procedure may proceed as follows.

단계(1510)에서, N i 는 제1 메시지 Switch Req S j 로 전송할 수 있다. 제1 메시지는 스위치를 요청하는 메시지일 수 있다.In step 1510, N i may transmit the first message Switch Req to S j . The first message may be a message requesting a switch.

"Switch Req "는 전송된 제1 메시지가 싱크 노드 S j 와의 연결의 설립을 요청하는 메시지라는 것을 나타낼 수 있다." Switch Req " may indicate that the first message transmitted is a message requesting establishment of a connection with sink node S j .

제1 메시지는 하기의 수학식 35와 같이 구성될 수 있다.The first message may be configured as shown in Equation (35).

Figure pat00042
Figure pat00042

n 0 N i 에 의해 결정된 넌스(nonce)일 수 있다. n 0 may be a nonce determined by N i .

제1 메시지는 N i 의 재-인증을 위한 T k 의 정보를 포함할 수 있다.The first message is a re-N i - may include information T k for authentication.

S i 가 제1 메시지를 수신하면, S j 는 제1 메시지로부터 티켓 T k 를 추출할 수 있다. When S i receives the first message, S j can extract the ticket T k from the first message.

S j T k 의 뒷부분 반(second half)인 제2 부분을 복호화할 수 있다. S j T k 의 복호화된 제2 부분을 사용하여 N i 의 신원(identity)들 및 티켓을 승인한(grant) 베이스 스테이션을 검사할 수 있다. 예를 들면, 만약 제2 부분, 인자들 또는 정보가 N i 로부터 온 것이 아니라면, S j 는 요청을 폐기할 수 있다. 제2 부분, 인자들 또는 정보가 N i 로부터 온 것이면, S j Switch Req BS j 로 전달할 수 있다. S j can decode the second part, which is the second half of T k . S j may use the decrypted second portion of T k to check the identities of N i and the base station granting the ticket. For example, if the second part, arguments or information is not from N i , then S j may discard the request. If the second part, argument or information comes from N i , then S j can forward the Switch Req to BS j .

단계(1520)에서, 식원들에 대한 검사 후에, S j 는 제2 메시지를 BS j 로 전송할 수 있다. 제2 메시지는 하기의 수학식 36의 정보를 포함할 수 있다.In step 1520, after checking for the catering, S j may send a second message to BS j . The second message may include information of Equation (36) below.

Figure pat00043
Figure pat00043

S j 는 제2 메시지를 통해 Switch Req BS j 로 전달할 수 있다. S j can forward the Switch Req to BS j through the second message.

제2 메시지는 n 2의 정보를 포함할 수 있다. n 2 S j 에 의해 결정된 넌스(nonce)일 수 있다.The second message may contain information of n 2 . n 2 may be a nonce determined by S j .

제2 메시지의 정보는 K G j 로 암호화될 수 있다.The information of the second message may be encrypted with K G j .

단계(1530)에서, BS j 가 제2 메시지를 수신하면, BS j T k 로부터 N i 의 프로파일을 추출할 수 있다.In step 1530, when BS j receives the second message, BS j may extract the profile of N i from T k .

만약, N i 가 적법한(legitimate) 센서 노드이면, BS j 는 암호화 키 K TS i 를 생성할 수 있다. 암호화 키 K TS i 는 하기의 수학식 37과 같이 정의될 수 있다.If N i is a legitimate sensor node, BS j may generate an encryption key K TS i . The encryption key K TS i can be defined as Equation 37 below.

Figure pat00044
Figure pat00044

BS j 는 제3 메시지를 S j 로 전송할 수 있다. 제3 메시지는 하기의 수학식 38의 정보를 포함할 수 있다. BS j may transmit the third message S j . The third message may include information of Equation (38) below.

Figure pat00045
Figure pat00045

n 1n 2BS j 에 의해 결정된 넌스일 수 있다. n 1 and n 2 may be non-determinable by BS j .

BS j 는 제3 메시지 내에서 u 0 new S j 로 전송할 수 있다. u 0 new N i 를 위해 의도된 것일 수 있다. u 0 new 는 하기의 수학식 39와 같이 정의될 수 있다. BS j may transmit u 0 new to S j in the third message. u 0 new may be intended for N i . u 0 new can be defined as shown in Equation 39 below.

Figure pat00046
Figure pat00046

또한, 제3 메시지는 티켓 T k , 넌스 n 1 및 넌스 n 2 를 포함할 수 있다.In addition, the third message may include a ticket T k, n 1 and Maintenance maintenance n 2.

n 1 N i 에 대한 챌린지일 수 있다. n 2 S j 에 대한 챌린지 응답일 수 있다. n 1 may be a challenge for N i . n 2 may be a challenge response to S j .

티켓 T k , 넌스 n 1 및 넌스 n 2 의 모두는 K G j 로 암호화될 수 있다.All of the ticket T k, nonce n 1 n 2 and the nonce may be encrypted with K G j.

싱크 노드 S j 는 챌린지 n 2 를 검증할 수 있고, n 1을 저장할 수 있고, 티켓으로부터 K s i 를 추출할 수 있다.The sink node S j can verify the challenge n 2 , store n 1 , and extract K s i from the ticket.

단계(1540)에서, S j 는 제4 메시지를 N i 로 전송할 수 있다. 제4 메시지는 하기의 수학식 40의 정보를 포함할 수 있다.In step 1540, S j may transmit the fourth message as N i . The fourth message may include information of Equation 40 below.

Figure pat00047
Figure pat00047

S j 는 제4 메시지를 통해 u 0 new N i 로 전달할 수 있다. S j may transmit u 0 new to N i through the fourth message.

제4 메시지의 u 0 new N 0+1을 포함할 수 있다. 따라서, 단계(1530)에서의 제3 메시지 및 단계(1540)에서의 제4 메시지는 단계(1510)에서의 제1 메시지 및 단계(1520)에서의 제2 메시지의 챌린지에 대한 응답일 수 있다. U 0 new of the fourth message may include N 0 +1. Thus, the third message at step 1530 and the fourth message at step 1540 may be a response to a challenge of the first message at step 1510 and the second message at step 1520.

N i n 0+1를 사용하여 챌린지에 대한 검증을 할 수 있다. 챌린지에 대한 검증 후에, N i T k 를 수용(accept)할 수 있고, S j 로의 데이터의 전송을 시작할 수 있다. N i can use n 0 +1 to verify the challenge. After verification of the challenge, N i may accept T k and begin transmitting data to S j .

단계(1550)에서, S j 는 제3 메시지에 대한 응답인 제5 메시지를 BS j 로 전송할 수 있다.In step 1550, S j may send a fifth message, which is a response to the third message, to BS j .

제5 메시지는 하기의 수학식 41의 정보를 포함할 수 있다.The fifth message may include the information of Equation 41 below.

Figure pat00048
Figure pat00048

단계(1530)에서의 제3 메시지는 n 1을 포함할 수 있다. 제5 메시지는 n 1+1을 포함할 수 있다. S j 는 성공적인 프로토콜 실행(run)의 확인으로서 챌린지에 대한 응답인 (n 1+1)을 BS j 로 전송할 수 있다.The third message at step 1530 may include n 1 . The fifth message may include n 1 +1. S j may send ( n 1 +1), a response to the challenge, to BS j as an acknowledgment of a successful protocol run.

단계(1560)에서, N i 는 제4 메시지에 대한 응답인 제6 메시지를 S j 로 전송할 수 있다.At step 1560, N i may send a sixth message, S j , which is a response to the fourth message.

제6 메시지는 하기의 수학식 42의 정보를 포함할 수 있다.The sixth message may include information of Equation 42 below.

Figure pat00049
Figure pat00049

단계(1540)에서의 제4 메시지는 n 1을 포함할 수 있다. 제6 메시지는 n 1+1을 포함할 수 있다. 따라서, 제6 메시지는 단계(1540)에서의 제6 메시지의 챌린지에 대한 응답일 수 있다.The fourth message at step 1540 may include n 1 . The sixth message may include n 1 +1. Thus, the sixth message may be a response to the challenge of the sixth message at step 1540. [

S j n 1+1를 사용하여 챌린지에 대한 확인을 할 수 있다. 챌린지에 대한 확인 후에, S j 는 데이터의 수신을 시작할 수 있다. 챌린지에 대한 확인이 되지 않으면, S j T k 를 무효의(void) 티켓으로 표시(mark)할 수 있다. S j can use n 1 +1 to confirm the challenge. After confirmation of the challenge, S j may begin to receive the data. If no confirmation is made for the challenge, S j can mark T k as a void ticket.

SRP2에서, n 0 i 의 안전한 교환은 센서 노드 및 베이스 스테이션 간의 메시지 인증을 보장할 수 있다. n 2의 안전한 교환은 싱크 노드 및 베이스 스테이션 간의 메시지 인증을 보장할 수 있다. n 1의 안전한 교환은 센서 노드 및 싱크 노드 간의 메시지 인증을 보장할 수 있다. 또한, 센서 노드 및 싱크 노드 간의 메시지 인증은 세션 키 암호화 및 n 1에 의해 설립될 수 있다.In SRP2, a secure exchange of n 0 i can guarantee message authentication between the sensor node and the base station. A secure exchange of n 2 can ensure message authentication between the sink node and the base station. A secure exchange of n 1 can ensure message authentication between the sensor node and the sink node. In addition, message authentication between the sensor node and the sink node may be established by session key encryption and n 1 .

만약 N i 가 비밀의 모드에서 데이터를 공유하기 원한다면, N j S j 의 양자는 프라이빗(private) 세션 키 K sp j 를 생성할 수 있다. 세션 키 K sp j 는 하기의 수학식 43과 같이 정의될 수 있다.If N i wants to share data in a secret mode, both N j and S j can generate a private session key K sp j . Session key K sp j may be defined as shown in Equation 43 below.

Figure pat00050
Figure pat00050

이러한 특성으로, 센서 노드는 도 1에서 도시된 것과 같이 다양한 싱크 노드들과 다중의 안전한 세션들을 설립할 수 있다.
With this characteristic, the sensor node can establish multiple secure sessions with various sink nodes as shown in FIG.

UAAPUAAP

몇몇 시나리오들에서, 사용자는 센서 네트워크로부터의 데이터에 접근하기 원할 수 있다. 예를 들면, 스마트 홈, 빌딩 및 시티와 같은 IoT 어플리케이션들 내에서, 스마트 폰의 사용자는 센서 노드의 데이터를 획득하기를 원할 수 있다.In some scenarios, the user may want to access data from the sensor network. For example, within IoT applications such as smart home, building, and city, a user of a smartphone may want to acquire the data of the sensor node.

사용자는 센서 노드로부터 직접적으로 데이터를 접근하기를 요청할 수 있으며, 싱크 노드로부터 수집하기를 원할 수도 있다. 둘 중 어느 하나의 케이스에서, 첫 번째로 사용자 노드 U i 는 사용자 노드 U i 자신의 인증을 BS j 에게 요청할 수 있다.The user may request to access the data directly from the sensor node and may want to collect it from the sink node. In either case, the first user node U i may request the authentication of the user node U i itself to BS j .

BS j U i 의 프로파일을 추출할 수 있고, U i 를 활성화된(active) 사용자로 마크할 수 있다. U i 의 티켓의 구조(structure)는 N i 에 대하여 이전의 실시예들에서 설명된 티켓의 구조와 동일할 수 있다. 사용자 프로파일의 정보는 데이터를 수집함에 있어서의 사용자의 허용된 접근성(accessibility) 정보를 포함할 수 있다. BS j may be able to extract a profile of U i, it can be marked with an activated (active) of the user U i. The structure of the ticket of U i may be the same as the structure of the ticket described in the previous embodiments for N i . The information of the user profile may include the user's allowed accessibility information in collecting data.

UAAP에서, 사용자는 BS j 로부터 2 가지의 상이한 방식들로 티켓을 얻을(acquire) 수 있다. 만약, 사용자가 BS j 의 통신 범위 내에 있지 않다면, 사용자는 가입 메시지를 가장 가까운 싱크 노드 S j 로 라우트(route)할 수 있다. 이러한 측면에서, UAAP는 SAAP와 동일하게 진행할 수 있다. 그러나, 만약 사용자가 BS j 의 범위 내에 있다면, 사용자 U i 는 암호화 키 K TS i 를 생성할 수 있고, 생성된 암호화 키 K TS i 로 가입 메시지를 암호화할 수 있다. 암호화 키 K TS i 는 아래의 수학식 44와 같이 정의될 수 있다.In UAAP, a user may acquire tickets from BS j in two different ways. If the user is not within the communication range of BS j , the user may route the subscription message to the nearest sink node S j . In this respect, UAAP can proceed in the same way as SAAP. However, if the user is within range of the BS j, the user U i may encrypt the association message to the encryption key, it is possible to generate a TS K i, the generated encryption key K TS i. The encryption key K TS i can be defined as shown in Equation (44) below.

Figure pat00051
Figure pat00051

다음으로, UAAP는 하기와 도 16과 같이 진행될 수 있다.
Next, the UAAP can proceed as follows and FIG.

도 16은 일 예에 따른 UAAP의 흐름도이다.16 is a flow diagram of a UAAP according to an example.

도 16에서는 UAAP에서의 메시지 교환이 도시되었다.In FIG. 16, a message exchange in UAAP is shown.

도 12를 참조하여 전술된 단계(1285)는 하기의 단계들(1610, 1620 및 1630)을 포함할 수 있다.Step 1285 described above with reference to FIG. 12 may include the following steps 1610, 1620, and 1630.

단계(1610)에서, U i 는 제1 메시지를 BS j 로 전송할 수 있다. 제1 메시지는 가입 메시지일 수 있다.In step 1610, U i may transmit the first message to BS j . The first message may be a subscription message.

제1 메시지는 하기의 수학식 45의 정보를 포함할 수 있다.The first message may include information of Equation (45) below.

Figure pat00052
Figure pat00052

제1 메시지는 n 0 및 사용자의 신원(identity)을 포함할 수 있다.The first message may include n 0 and the identity of the user.

단계(1620)에서, BS j 는 데이터베이스로부터 U i 의 프로파일일 추출할 수 있다. 만약, U i 가 적법한 사용자라면, BS j 는 제2 메시지를 U i 로 전송gkf 수 있다.In step 1620, BS j may extract the profile of U i from the database. If U i is a legitimate user, then BS j can send a second message to U i .

제1 메시지는 하기의 수학식 46의 정보를 포함할 수 있다.The first message may include the information of Equation 46 below.

Figure pat00053
Figure pat00053

S j 는 인증 티켓 T k 를 생성할 수 있고, 인증 티켓 T k 를 넌스 n 1 및 넌스 n 0과 함께 전송할 수 있다. S j may generate an authentication ticket T k, T k may transmit the authentication ticket with a nonce n 1 n 0, and maintenance.

n 1U 1에 대한 챌린지일 수 있다. n 1 may be a challenge to U 1 .

n 0은 챌린지에 대한 응답일 수 있다. n 0 may be a response to the challenge.

인증 티켓 T k , 넌스 n 1 및 넌스 n 0의 모두는 암호화 키 K TS i 로 암호화될 수 있다. 암호화 키 K TS i 는 하기의 수학식 47과 같이 정의될 수 있다.Both the authentication ticket T k , the nonsense n 1 and the nons n 0 can be encrypted with the encryption key K TS i . The encryption key K TS i can be defined as the following equation (47).

Figure pat00054
Figure pat00054

인증 티켓 T k 의 구조는, 인증 티켓 T k 내에 동봉된(enclosed) 비밀의 넌스 n 1BS j 에 의해 생성되었다는 것을 제외하고는, 이전의 실시예에서 설명된 인증 티켓과 동일할 수 있다.Structure of the authentication ticket T k is, is can be the same as the authentication ticket is described in the previous embodiment except that the authentication ticket T k nonce n 1 of the (enclosed) secret enclosed within that produced by the BS j.

단계(1630)에서, 사용자 노드 U i 는 챌린지 n 0을 검증할 수 있고, T k n 1을 저장할 수 있다.In step 1630, the user node U i can verify the challenge n 0 and store T k and n 1 .

U i 는 제2 메시지에 대한 응답인 제3 메시지를 BS j 로 전송할 수 있다. U i may send a third message to BS j , which is a response to the second message.

제3 메시지는 하기의 수학식 48의 정보를 포함할 수 있다.The third message may include information of Equation (48) below.

Figure pat00055
Figure pat00055

U i 는 챌린지에 대한 응답인 n 1+1을 BS j로 전송할 수 있다. n 1+1은 성공적인 프로토콜의 수행을 확인(confirm)할 수 있다. U i can send a response to the challenge n 1 +1 to BS j . n 1 +1 can confirm the successful implementation of the protocol.

챌린지에 대한 응답인 n 1+1을 수신한 후, BS j U i 의 상태를 유휴(idle)로부터 활성화된(active) 사용자로 갱신할 수 있다.After receiving the response n 1 +1 to the challenge, BS j may update the state of U i from idle to active user.

UAAP에서, n 0의 안전한 교환은 사용자 노드 및 베이스 스테이션 간의 메시지 인증을 보장할 수 있다. n 1의 안전한 교환은 베이스 스테이션 및 사용자 노드 간의 메시지 인증을 보장할 수 있다.
In UAAP, a secure exchange of n 0 can guarantee message authentication between the user node and the base station. A secure exchange of n 1 can ensure message authentication between the base station and the user node.

USiAPUSiAP

도 12에서 전술된 단계(1290)는 하기와 같이 수행될 수 있다.The above-described step 1290 in Fig. 12 may be performed as follows.

인증 티켓을 얻은 후, 만약 사용자 U k 가 싱크 노드들 S j 로부터 데이터를 접근하기 원하면 사용자 U k 는 티켓과 함께 가입 요청을 S j 로 전송할 수 있다. 다음으로, 티켓에 대한 검증 후에 S j 가 메시지들의 나머지들과 함께 데이터를 피기백(piggyback)할 수 있다는 것을 제외하고는 도 14 및 도 15를 참조하여 전술된 SRP1 및 SRP2와 동일한 절차가 수행될 수 있다.After obtaining the authentication ticket, if the user U k wants to access data from the sink nodes S j , the user U k may send the join request with S j to the S j . Next, the same procedure as SRP1 and SRP2 described above with reference to Figures 14 and 15, except that S j can piggyback data with the rest of the messages after verification for the ticket, is performed .

인증 티켓을 사용하여, 사용자 U k 는 다양한 싱크 노드들과 다중의 동시 연결들을 설립할 수 있다.
Using the authentication ticket, the user U k can establish multiple concurrent connections with various sink nodes.

USeAPUSeAP

U k 는 센서 노드로부터 직접적으로 데이터를 수집하기 위해 U k 자신의 인증을 N i 에게 요청할 수 있다. U k can request U k own authentication to N i to collect data directly from the sensor node.

U k 는 티켓을 N i 로 전송할 수 있다. N i U k 의 요청을 싱크 노드 S j 로 전달할 수 있다. S j 는 티켓을 복호화할 수 있고, 티켓의 복호화를 통해 K s i 를 추출할 수 있다. U k can transmit the ticket as N i . N i can forward the request of U k to sink node S j . S j can decrypt the ticket, and K s i can be extracted by decoding the ticket.

USeAP는 하기의 도 17과 같이 진행될 수 있다.
USeAP can proceed as shown in FIG. 17 below.

도 17은 일 예에 따른 USeAP의 흐름도이다.17 is a flow chart of USeAP according to an example.

도 17에서는 센서 노드에서의 사용자 인증에 대한 메시지 교환이 도시되었다.In FIG. 17, a message exchange for user authentication at the sensor node is shown.

도 12를 참조하여 전술된 단계(1295)는 하기의 단계들(1710, 1720, 1730 및 1740)을 포함할 수 있다.Step 1295 described above with reference to FIG. 12 may include the following steps 1710, 1720, 1730, and 1740.

단계(1710)에서, U k 는 제1 메시지를 N i 로 전송할 수 있다.In step 1710, U k may transmit the first message N i .

제1 메시지는 하기의 수학식 49의 정보를 포함할 수 있다.The first message may include information of Equation 49 below.

Figure pat00056
Figure pat00056

제1 메시지는 티켓 T k 및 챌린지 n 0을 포함할 수 있다. 티켓 T k 및 챌린지 n 0는 티켓이 중심에 위치한(centered) 세션 키로 암호화될 수 있다.The first message may include a ticket T k and a challenge n 0 . The ticket T k and the challenge n 0 can be encrypted with the session key centered on the ticket.

U k 는 티켓이 중심에 위치한(centered) 세션 키로 암호화된 티켓 T k 및 챌린지 n 0N i 로 전송할 수 있다. U k can transmit a ticket T k encrypted with the session key centered on the ticket and the challenge n 0 as N i .

제1 메시지는 데이터 수집 요청일 수 있다.The first message may be a data collection request.

단계(1720)에서, U k 로부터 데이터 수집 요청을 수신하면, N i 는 제2 메시지를 싱크 노드 S j 로 전송할 수 있다.In step 1720, upon receipt of the data collection request from U k , N i may transmit the second message to sink node S j .

제2 메시지는 하기의 수학식 50의 정보를 포함할 수 있다.The second message may include the information of Equation 50 below.

Figure pat00057
Figure pat00057

제2 메시지는 암호화된 챌린지 n 1을 포함할 수 있다.The second message may include an encrypted challenge n 1.

U k 로부터 데이터 수집 요청을 수신하면, N i 는 티켓 및 암호화된 챌린지 n 1을 싱크 노드 S j 로 전송할 수 있다.Upon receiving the data collection request from U k , N i may send the ticket and encrypted challenge n 1 to sink node S j .

단계(1730)에서, 싱크 노드 S j 는 티켓의 복호화할 수 있고, 티켓을 복호화함으로써 U k 의 세션 키 K S k 를 추출할 수 있다.At step 1730, the sink node S j can decrypt the ticket and extract the session key K S k of U k by decrypting the ticket.

만약, U k 가 적법한 사용자 노드이면, S j 는 제3 메시지를 N i 로 전송할 수 있다.If U k is a legitimate user node, S j may transmit the third message N i .

제3 메시지는 하기의 수학식 51의 정보를 포함할 수 있다.The third message may include information of Equation (51) below.

Figure pat00058
Figure pat00058

제3 메시지는 단계(1720)의 챌린지에 대한 응답인 ( N 1+1)을 포함할 수 있다.The third message may include ( N 1 +1) which is a response to the challenge of step 1720.

S j K S k 및 챌린지에 대한 응답인 (n 1+1)을 N i 로 전송할 수 있다. S j may transmit K S k and a response to the challenge ( n 1 +1) as N i .

단계(1740)에서, N i 은 챌린지에 대한 검증을 수행할 수 있다.In step 1740, N i may perform verification for the challenge.

N i 은 단계(1730)에서 전송된 제3 메시지로부터 (n 1+1)을 추출하여 N i 이 전송한 챌린지에 대한 검증을 수행할 수 있다. N i may extract ( n 1 +1) from the third message transmitted in step 1730 and perform verification of the challenge transmitted by N i .

챌린지에 대한 검증 후에, N i 은 프라이빗 세션 키 K ps k 를 생성할 수 있다. 프라이빗 세션 키 K ps k 는 아래의 수학식 52와 같이 정의될 수 있다.After verification for the challenge, N i may generate a private session key K ps k . The private session key K ps k can be defined as Equation 52 below.

Figure pat00059
Figure pat00059

N i 은 제4 메시지를 U k 로 전송할 수 있다. N i may transmit the fourth message to U k .

제4 메시지는 하기의 수학식 53의 정보를 포함할 수 있다.The fourth message may include information of Equation (53) below.

Figure pat00060
Figure pat00060

제4 메지시는 (n 0+1)을 포함할 수 있다. (n 0+1)는 단계(410)에서의 챌린지에 대한 응답일 수 있다.The fourth message may include ( n 0 +1). ( n 0 +1) may be a response to the challenge at step 410.

N i 은 프라이빗 세션 키 K ps k 로 암호화된 챌린지에 대한 응답 (n 0+1)을 U k 로 전송할 수 있다. N i may send a response ( n 0 +1) to the challenge encrypted with the private session key K ps k as U k .

제4 메시지가 전송되면, U k 는 프라이빗 세션 키 K ps k 를 생성할 수 있고, 프라이빗 세션 키 K ps k 를 사용하여 제4 메시지를 복호화할 수 있다. U k 는 복호화된 제4 메시지로부터 (n 0+1)을 추출함으로써 챌린지에 대한 검증을 할 수 있다.If the fourth message is sent, U k may generate a private session key k K ps, can decrypt the fourth message by using the private session key k K ps. U k can verify the challenge by extracting ( n 0 +1) from the decrypted fourth message.

USeAP에서, n 0의 안전한 교환은 사용자 및 센서 노드 간의 메시지 인증을 보장할 수 있다. n 1의 안전한 교환은 센서 노드 및 싱크 노드 간의 메시지 인증을 보장할 수 있다.
In USeAP, a secure exchange of n 0 can guarantee message authentication between a user and a sensor node. A secure exchange of n 1 can ensure message authentication between the sensor node and the sink node.

이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The apparatus described above may be implemented as a hardware component, a software component, and / or a combination of hardware components and software components. For example, the apparatus and components described in the embodiments may be implemented within a computer system, such as, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable array (FPA) A programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For ease of understanding, the processing apparatus may be described as being used singly, but those skilled in the art will recognize that the processing apparatus may have a plurality of processing elements and / As shown in FIG. For example, the processing unit may comprise a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as a parallel processor.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of the foregoing, and may be configured to configure the processing device to operate as desired or to process it collectively or collectively Device can be commanded. The software and / or data may be in the form of any type of machine, component, physical device, virtual equipment, computer storage media, or device , Or may be permanently or temporarily embodied in a transmitted signal wave. The software may be distributed over a networked computer system and stored or executed in a distributed manner. The software and data may be stored on one or more computer readable recording media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to an embodiment may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions to be recorded on the medium may be those specially designed and configured for the embodiments or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.  While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. For example, it is to be understood that the techniques described may be performed in a different order than the described methods, and / or that components of the described systems, structures, devices, circuits, Lt; / RTI > or equivalents, even if it is replaced or replaced.

100: 센서 네트워크
200: 베이스 스테이션
300: 싱크 노드
400: 센서 노드
100: Sensor network
200: Base station
300: sink node
400: sensor node

Claims (1)

센서 네트워크의 베이스 스테이션에 의해 수행되는,
네트워크 내의 통신 엔티티에 대한 인증을 위한 키들의 체인을 생성하는 단계; 및
상기 키들의 체인에 기반하여 센서 노드에 대한 인증을 수행하는 단계
를 포함하고,
상기 키들의 체인의 각 키는 상기 각 키 별로 기정의된 시간 인터벌에서 유효한 인증 방법.
The base station of the sensor network,
Generating a chain of keys for authentication to a communication entity within the network; And
Performing authentication on the sensor node based on the chain of keys
Lt; / RTI >
Wherein each key of the chain of keys is valid in a predetermined time interval for each key.
KR1020170036271A 2016-04-04 2017-03-22 Method and apparatus for providing light weight authentication protocol for mobile sensor network KR20170114927A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20160041215 2016-04-04
KR1020160041215 2016-04-04

Publications (1)

Publication Number Publication Date
KR20170114927A true KR20170114927A (en) 2017-10-16

Family

ID=60296028

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170036271A KR20170114927A (en) 2016-04-04 2017-03-22 Method and apparatus for providing light weight authentication protocol for mobile sensor network

Country Status (1)

Country Link
KR (1) KR20170114927A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190063537A (en) * 2017-11-30 2019-06-10 백석대학교산학협력단 A IoT sensor authentication method based on block-chain

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190063537A (en) * 2017-11-30 2019-06-10 백석대학교산학협력단 A IoT sensor authentication method based on block-chain

Similar Documents

Publication Publication Date Title
Yang et al. Multimedia cloud transmission and storage system based on internet of things
Zhang et al. SMAKA: Secure many-to-many authentication and key agreement scheme for vehicular networks
Saxena et al. Authentication scheme for flexible charging and discharging of mobile vehicles in the V2G networks
EP2984782B1 (en) Method and system for accessing device by a user
US8925059B2 (en) Dynamic trust connection
US20170134369A1 (en) Method and apparatus for providing time-assisted authentication protocol
Wang et al. Constant-round authenticated and dynamic group key agreement protocol for D2D group communications
Yi et al. ID2S password-authenticated key exchange protocols
Shin et al. An efficient secure authentication scheme with user anonymity for roaming user in ubiquitous networks
Yi et al. Practical threshold password-authenticated secret sharing protocol
CN113239403A (en) Data sharing method and device
CN113572765A (en) Lightweight identity authentication key negotiation method for resource-limited terminal
Hsu et al. A privacy-preserved E2E authenticated key exchange protocol for multi-server architecture in edge computing networks
Singh et al. Dynamic group based efficient access authentication and key agreement protocol for MTC in LTE-A networks
JP6023853B1 (en) Authentication device, authentication system, authentication method, and program
Zhang et al. Flexible and anonymous network slicing selection for C-RAN enabled 5G service authentication
Hou et al. Lightweight and privacy-preserving charging reservation authentication protocol for 5G-V2G
Son et al. Design of secure and lightweight authentication scheme for UAV-enabled intelligent transportation systems using blockchain and PUF
Hassani Karbasi et al. SINGLETON: A lightweight and secure end-to-end encryption protocol for the sensor networks in the Internet of Things based on cryptographic ratchets
Huang et al. Lightweight authentication scheme with dynamic group members in IoT environments
KR20170114927A (en) Method and apparatus for providing light weight authentication protocol for mobile sensor network
WO2019148832A1 (en) Private key generation method and device
Sahoo et al. A lightweight authentication scheme for cloud-centric IoT applications
Agrawal et al. BETA: biometric-enabled threshold authentication
Bilal et al. Time‐assisted authentication protocol