KR20180079682A - 인증서 발급 방법 - Google Patents

인증서 발급 방법 Download PDF

Info

Publication number
KR20180079682A
KR20180079682A KR1020170000154A KR20170000154A KR20180079682A KR 20180079682 A KR20180079682 A KR 20180079682A KR 1020170000154 A KR1020170000154 A KR 1020170000154A KR 20170000154 A KR20170000154 A KR 20170000154A KR 20180079682 A KR20180079682 A KR 20180079682A
Authority
KR
South Korea
Prior art keywords
server
terminal
key
security identifier
message
Prior art date
Application number
KR1020170000154A
Other languages
English (en)
Other versions
KR101960583B1 (ko
Inventor
박창섭
이종훈
Original Assignee
단국대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 단국대학교 산학협력단 filed Critical 단국대학교 산학협력단
Priority to KR1020170000154A priority Critical patent/KR101960583B1/ko
Publication of KR20180079682A publication Critical patent/KR20180079682A/ko
Application granted granted Critical
Publication of KR101960583B1 publication Critical patent/KR101960583B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47BTABLES; DESKS; OFFICE FURNITURE; CABINETS; DRAWERS; GENERAL DETAILS OF FURNITURE
    • A47B41/00School desks or tables
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47BTABLES; DESKS; OFFICE FURNITURE; CABINETS; DRAWERS; GENERAL DETAILS OF FURNITURE
    • A47B13/00Details of tables or desks
    • A47B13/08Table tops; Rims therefor
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47BTABLES; DESKS; OFFICE FURNITURE; CABINETS; DRAWERS; GENERAL DETAILS OF FURNITURE
    • A47B96/00Details of cabinets, racks or shelf units not covered by a single one of groups A47B43/00 - A47B95/00; General details of furniture
    • A47B96/20Furniture panels or like furniture elements
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47CCHAIRS; SOFAS; BEDS
    • A47C27/00Spring, stuffed or fluid mattresses or cushions specially adapted for chairs, beds or sofas
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3228One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47BTABLES; DESKS; OFFICE FURNITURE; CABINETS; DRAWERS; GENERAL DETAILS OF FURNITURE
    • A47B2200/00General construction of tables or desks
    • A47B2200/12Vanity or modesty panels

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

인증서 발급 방법이 개시된다. 개시된 인증서 발급 방법은, 서버의 보안 식별자를 생성하는 단계, 단말의 보안 식별자를 저장하는 단계, 상기 서버의 공개키에 대한 정보를 포함하는 비콘 메시지를 전송하는 단계, 상기 단말로부터, 제1 비밀 랜덤 정수에 대한 제1 EC 포인트의 정보를 포함하는 연결 요청 메시지를 수신하는 단계, 상기 단말의 보안 식별자를 이용하여 상기 제1 EC 포인트를 검증하는 단계 및 상기 제1 EC 포인트에 대한 검증이 완료되면, 상기 단말의 개인키 생성을 위한 정보를 포함하는 연결 응답 메시지를 전송하는 단계를 포함한다.

Description

인증서 발급 방법{METHOD FOR ISSUING A CERTIFICATE}
본 발명은 서버에 의한 인증서 발급 방법 및 단말의 인증서 획득 방법에 관한 것으로서, 인증서 발급 과정에서 보안을 강화하는 기술에 관한 것이다.
최근 네트워크 기술이 발전하면서, 사물 인터넷(IOT) 관련 기술에 대한 관심이 높아지고 있다. 사물 인터넷에 대한 수요가 증가하면서 새로운 네트워크 인프라가 요구되고 있다. 이에 따라 저전력 무선 사설망(Low Power Wireless Personal Area Network, LowPAN)과 같은 네트워크 인프라에 대한 연구가 이루어지고 있다.
저전력 무선 사설망과 같은 네트워크 환경에서는 다수의 디바이스가 연결되고, 무선 네트워크 기반으로 동작하기 때문에, 다양한 보안 위협의 발생할 수 있으며, 네트워크에 대한 불법적인 접근 위험이 있다. 따라서, 디바이스에 대한 안전성 확인을 통해 스마트 워크 환경에서 비인가 디바이스의 서비스 이용을 차단하고, 정당한 디바이스만 접근 가능해야 한다. 즉, 정당한 디바이스를 통해서만 안전하고 효율적인 서비스를 제공받을 수 있도록 하는 인증 프로토콜(Authentication Protocol)이 필요하다.
종래 조인 프로토콜의 예로 X.509 인증서 방식이 있지만, 프로토콜 연산 및 데이터 전송에 필요한 전력 소모가 커서 사물 인터넷 환경에 적절하지 않다. 또한, ECQV
기존의 디바이스 인증/인가 기술은 단일 도메인의 디바이스 간 상호인증을 위해 공인인증 기관을 통해 인증을 제공하거나, ID/PW를 이용하여 인증을 제공하는 등의 방식이 있다. 그러나 IoT 기반의 스마트 워크 환경과 같은 멀티 도메인 환경을 위해서, 추가적인 디바이스 인증/인가 기술의 개발이 필요하다. 또한, 기존의 디바이스 인증/인가 기술을 센서 디바이스에 응용하기에는 연산량 등의 문제가 발생할 수 있으며, 서버를 활용한 KEY 혹은 인증서 확인 방식은 모든 사물이 연결되는 IoT 환경에는 맞지 않다. ECQV(Elliptic curve Qu-Vanstone) 기반의 암시적 인증서(Implicit certificate)를 이용하는 조인 프로토콜은 현재 인증서 발급 과정에서 보안상 취약점이 있을 수 있다.
본 발명에서는 상술한 문제점을 해결하기 위해, 서버가 ECQV 암시적 인증서를 안전하게 발급하는 방법 및 단말이 ECQV 암시적 인증서를 획득하는 방법을 제공한다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 서버에 의해 수행되는 인증서 발급 방법은,
상기 서버의 보안 식별자를 생성하는 단계;
단말의 보안 식별자를 저장하는 단계;
상기 서버의 공개키에 대한 정보를 포함하는 비콘 메시지를 전송하는 단계;
상기 단말로부터, 제1 비밀 랜덤 정수에 대한 제1 EC 포인트의 정보를 포함하는 연결 요청 메시지를 수신하는 단계;
상기 단말의 보안 식별자를 이용하여 상기 제1 EC 포인트를 검증하는 단계; 및
상기 제1 EC 포인트에 대한 검증이 완료되면, 상기 단말의 개인키 생성을 위한 정보를 포함하는 연결 응답 메시지를 전송하는 단계;를 포함한다.
여기서,
상기 서버의 보안 식별자를 생성하는 단계는,
상기 서버의 개인키를 생성하고, 상기 서버의 개인키로부터 상기 서버의 공개키를 계산하고, 상기 서버의 공개키로부터 상기 서버의 보안 식별자를 계산할 수 있다.
여기서,
상기 서버의 보안 식별자를 생성하는 단계는,
상기 서버의 공개키 및 팬 식별자(PAN Identifier)에 대해 해쉬 함수를 적용함으로써, 상기 서버의 보안 식별자를 계산할 수 있다.
여기서,
상기 제1 EC 포인트를 검증하는 단계는,
상기 제1 EC 포인트 및 팬 식별자에 대한 해쉬 함수 값과 단말의 보안 식별자를 비교할 수 있다.
여기서,
상기 인증서 발급 방법은, 제1 난수를 생성하는 단계;를 더 포함하고,
상기 비콘 메시지는 상기 제1 난수에 대한 정보를 더 포함할 수 있다.
여기서,
상기 연결 요청 메시지는 상기 제1 난수 및 상기 단말에 의해 생성된 제2 난수에 대한 정보를 더 포함할 수 있다.
여기서,
상기 연결 요청 메시지를 수신하는 단계는, 상기 연결 요청 메시지에 대한 메시지 무결성 코드를 함께 수신하며,
상기 연결 요청 메시지에 대한 메시지 무결성 코드를 검증하는 단계;를 더 포함할 수 있다.
여기서,
상기 연결 요청 메시지에 대한 메시지 무결성 코드를 검증하는 단계는,
상기 서버의 개인키 및 상기 제1 EC 포인트로부터 페어 와이즈 키(Pairwise Key)를 계산하고,
상기 페어 와이즈 키와, 상기 서버에 의해 생성된 제1 난수와, 상기 단말에 의해 생성된 제2 난수와, 상기 서버의 보안 식별자 및 상기 단말의 보안 식별자로부터 대칭 링크 키를 계산하고,
상기 대칭 링크 키를 이용하여 상기 연결 요청 메시지에 대한 메시지 무결성 코드를 검증할 수 있다.
여기서,
상기 연결 응답 메시지를 전송하는 단계는,
상기 대칭 링크 키를 이용하여 생성한 상기 연결 응답 메시지에 대한 메시지 무결성 코드를 함께 전송할 수 있다.
여기서,
상기 인증서 발급 방법은,
제2 비밀 랜덤 정수를 생성하는 단계;
상기 제2 비밀 랜덤 정수에 대한 제2 EC 포인트를 계산하는 단계;
상기 제1 EC 포인트 및 상기 제2 EC 포인트로부터 암시적 인증서를 계산하는 단계;
상기 서버의 개인키와, 상기 제2 비밀 랜덤 정수 및 상기 암시적 인증서로부터 상기 단말의 개인키 도출을 위한 정수를 계산하는 단계;를 포함하며,
상기 단말의 개인키 생성을 위한 정보는, 상기 암시적 인증서 및 상기 단말의 개인키 도출을 위한 정수에 대한 정보를 포함할 수 있다.
다른 측면에 있어서, 본 발명의 실시예에 따른 단말의 인증서 획득 방법은,
상기 단말의 보안 식별자를 생성하는 단계;
서버의 보안 식별자를 저장하는 단계;
상기 서버로부터 상기 서버의 공개키에 대한 정보를 포함하는 비콘 메시지를 수신하는 단계;
상기 서버의 보안 식별자를 이용하여 상기 서버의 공개키를 검증하는 단계;
제1 비밀 랜덤 정수에 대한 제1 EC 포인트의 정보를 포함하는 연결 요청 메시지를 전송하는 단계; 및
상기 서버로부터, 상기 단말의 개인키 생성을 위한 정보를 포함하는 연결 응답 메시지를 수신하는 단계;를 포함한다.
여기서,
상기 단말의 보안 식별자를 생성하는 단계는,
상기 제1 비밀 랜덤 정수를 생성하고, 상기 제1 비밀 랜덤 정수로부터 상기 제1 EC 포인트를 계산하고, 상기 제1 EC 포인트로부터 상기 단말의 보안 식별자를 계산할 수 있다.
여기서,
상기 단말의 보안 식별자를 생성하는 단계는,
상기 제1 EC 포인트 및 팬 식별자에 대해 해쉬 함수를 적용함으로써, 상기 단말의 보안 식별자를 계산할 수 있다.
여기서,
상기 서버의 공개키를 검증하는 단계는,
상기 서버의 공개키 및 팬 식별자에 대한 해쉬 함수 값과 상기 서버의 보안 식별자를 비교할 수 있다.
여기서,
상기 비콘 메시지는 상기 서버에 의해 생성된 제1 난수에 대한 정보를 더 포함하고,
상기 인증서 획득 방법은, 제2 난수를 생성하는 단계;를 더 포함할 수 있다.
여기서,
상기 연결 요청 메시지는 상기 제1 난수 및 상기 제2 난수에 대한 정보를 더 포함할 수 있다.
여기서,
상기 연결 요청 메시지를 전송하는 단계는, 상기 연결 요청 메시지에 대한 메시지 무결성 코드를 상기 연결 요청 메시지와 함께 전송할 수 있다.
여기서,
상기 연결 요청 메시지에 대한 메시지 무결성 코드는,
상기 제1 비밀 랜덤 정수 및 상기 서버의 공개키로부터 페어 와이즈 키를 계산하고,
상기 페어 와이즈 키와, 상기 서버에 의해 생성된 제1 난수와, 상기 단말에 의해 생성된 제2 난수와, 상기 서버의 보안 식별자 및 상기 단말의 보안 식별자로부터 대칭 링크 키를 계산하고,
상기 대칭 링크 키를 이용하여 상기 연결 요청 메시지를 암호화 함으로써 계산될 수 있다.
여기서,
상기 연결 응답 메시지를 수신하는 단계는, 상기 연결 응답 메시지에 대한 메시지 무결성 코드를 함께 수신하고,
상기 인증서 획득 방법은, 상기 대칭 링크 키를 이용하여 상기 연결 응답 메시지에 대한 메시지 무결성 코드를 검증하는 단계;를 더 포함할 수 있다.
여기서,
상기 단말의 개인키 생성을 위한 정보는 암시적 인증서 및 상기 단말의 개인키 도출을 위한 정수에 대한 정보를 포함하며,
상기 인증서 획득 방법은, 상기 암시적 인증서와, 상기 단말의 개인키 도출을 위한 정수 및 상기 제1 비밀 랜덤 정수로부터 상기 단말의 개인키를 계산하는 단계; 및
상기 단말의 개인키로부터 상기 단말의 공개키를 계산하는 단계;를 더 포함할 수 있다.
본 발명의 실시예에 따르면, 인증서 발급 과정에서 네트워크의 보안이 강화될 수 있다. 또한, 인증서 발급 과정에서 요구되는 연산량 및 소비 전력량이 감소할 수 있다.
도 1은 본 발명에 따른 방법들을 수행하는 스테이션의 일 실시예를 도시한 블록도이다.
도 2는 PAuthKey 프로토콜에 의한 ECQV 암시적 인증서 발급 과정을 나타낸 흐름도이다.
도 3은 본 발명의 예시적인 실시예에 따른 인증서 발급 방법의 초기화 과정을 나타낸 흐름도이다.
도 4는 본 발명의 예시적인 실시예에 따른 인증서 발급 방법을 나타낸 흐름도이다.
도 5는 PAuthKey Protocol과 본 발명의 실시예를 비교하여 나타낸 표이다.
도 6은 도 3에서 나타낸 초기화 과정의 변형예를 나타낸 흐름도이다.
도 7은 도 4에서 나타낸 인증서 발급 과정의 변형예를 나타낸 흐름도이다.
도 8은 인증서 발급 과정에서 단말과 서버 사이의 통신 거리가 확장된 예를 나타낸다.
도 9는 PAuthKey 프로토콜에서 소비되는 전력과, 본 발명의 실시예에 의한 인증서 발급 방법에서 소비되는 전력을 비교한 그래프이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
명세서 전체에서 망(network)은, 예를 들어, 저전력 무선 사설망(Low Power Wireless Personal Area Network, LowPAN), 저전력 광역 무선통신(이하, LPWAN), 지그비(Zigbee), WiFi(wireless fidelity)와 같은 무선인터넷, WiBro(wireless broadband internet) 또는 WiMax(world interoperability for microwave access)와 같은 휴대인터넷, GSM(global system for mobile communication) 또는 CDMA(code division multiple access)와 같은 2G 이동통신망, WCDMA(wideband code division multiple access) 또는 CDMA2000과 같은 3G 이동통신망, HSDPA(high speed downlink packet access) 또는 HSUPA(high speed uplink packet access)와 같은 3.5G 이동통신망, LTE(long term evolution)망 또는 LTE-Advanced망과 같은 4G 이동통신망, 및 5G 이동통신망 등을 포함할 수 있다.
명세서 전체에서 단말(terminal)은 이동국(mobile station), 이동 단말(mobile terminal), 가입자국(subscriber station), 휴대 가입자국(portable subscriber station), 사용자 장치(user equipment), 접근 단말(access terminal), 종단-디바이스(end-device) 등을 지칭할 수도 있고, 단말, 이동국, 이동 단말, 가입자국, 휴대 가입자 국, 사용자 장치, 접근 단말 등의 전부 또는 일부의 기능을 포함할 수도 있다.
여기서, 단말은 사물에 부착되어 통신 가능한 센서를 포함할 수 있다. 사물에 부착된 센서는 사물 인터넷(Internet Of Things; IOT) 구현에 이용될 수 있다. 단말은 통신 가능한 데스크탑 컴퓨터(desktop computer), 랩탑 컴퓨터(laptop computer), 태블릿(tablet) PC, 무선전화기(wireless phone), 모바일폰(mobile phone), 스마트 폰(smart phone), 스마트 워치(smart watch), 스마트 글래스(smart glass), e-book 리더기, PMP(portable multimedia player), 휴대용 게임기, 네비게이션(navigation) 장치, 디지털 카메라(digital camera), DMB (digital multimedia broadcasting) 재생기, 디지털 음성 녹음기(digital audio recorder), 디지털 음성 재생기(digital audio player), 디지털 영상 녹화기(digital picture recorder), 디지털 영상 재생기(digital picture player), 디지털 동영상 녹화기(digital video recorder), 디지털 동영상 재생기(digital video player) 등을 일 수 있다.
명세서 전체에서 기지국(base station)은 접근점(access point), 무선 접근국(radio access station), 노드B(node B), 고도화 노드B(evolved nodeB), 송수신 기지국(base transceiver station), MMR(mobile multihop relay)-BS 등을 지칭할 수도 있고, 기지국, 접근점, 무선 접근국, 노드B, eNodeB, 송수신 기지국, MMR-BS A등의 전부 또는 일부의 기능을 포함할 수도 있다.
도 1은 본 발명에 따른 방법들을 수행하는 스테이션의 일 실시예를 도시한 블록도이다.
도 1을 참조하면, 스테이션(100)은 적어도 하나의 프로세서(110), 메모리(120) 및 네트워크와 연결되어 통신을 수행하는 네트워크 인터페이스 장치(130)를 포함할 수 있다. 또한, 스테이션(100)은 입력 인터페이스 장치(140), 출력 인터페이스 장치(150), 저장 장치(160) 등을 더 포함할 수 있다. 스테이션(100)에 포함된 각각의 구성 요소들은 버스(bus)(170)에 의해 연결되어 서로 통신을 수행할 수 있다.
프로세서(110)는 메모리(120) 및/또는 저장 장치(160)에 저장된 프로그램 명령(program command)을 실행할 수 있다. 프로세서(110)는 중앙 처리 장치(central processing unit; CPU), 그래픽 처리 장치(graphics processing unit; GPU) 또는 본 발명에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다. 메모리(120)와 저장 장치(160)는 휘발성 저장 매체 및/또는 비휘발성 저장 매체로 구성될 수 있다. 예를 들어, 메모리(120)는 읽기 전용 메모리(read only memory; ROM) 및/또는 랜덤 액세스 메모리(random access memory; RAM)로 구성될 수 있다.
아래에서, 본 발명에 따른 실시예들이 적용되는 무선 통신 네트워크(wireless communication network)가 설명될 것이다. 본 발명에 따른 실시예들이 적용되는 무선 통신 네트워크는 아래 설명된 내용에 한정되지 않으며, 본 발명에 따른 실시예들은 다양한 무선 통신 네트워크들에 적용될 수 있다.
도 2는 PAuthKey 프로토콜에 의한 ECQV 암시적 인증서 발급 과정을 나타낸 흐름도이다.
도 2를 참조하면, 단말(10)과 서버(20) 사이의 통신에 의해 인증서 발급이 이루어질 수 있다. 서버(20)는 인증기관(CA, Certification Authority)에 의해 운영되는 장치를 의미한다. 인증기관은 단말(10)에게 인증서를 발급하고, 인증서의 추출, 폐기, 갱신, 교체 등의 인증업무를 처리하는 기관을 의미한다. 서버(20)는 단말(10)과의 통신함으로써, 인증서의 발급, 갱신, 폐기, 교체, 추출 등의 작업을 수행할 수 있다. 서버(20)는 인증기관에 의해 운영되는 서버, 기지국, 팬 코디네이터(PAN coordinator, Personal Area Network coordinator) 등을 포함할 수 있다.
단말(10)은 인증서를 발급 받는 장치로, 사물 인터넷 구현에 이용되는 센서 디바이스 등을 포함할 수 있다. 단말(10)은 인증서를 획득하여, 네트워크의 구성원 자격을 획득할 수 있다. 예를 들어, 단말(10)은 인증서를 획득하여 개인 영역 무선 네트워크에 조인(join) 할 수 있다.
도 2에서 나타낸 인증서 발급 절차를 통해, 단말(10)은 서버(20)로부터 ECQV 암시적 인증서(Elliptic Curve Qu-Vanstone Implicit Certificate)를 획득할 수 있다. 암시적 인증서란, 공개키가 명시적으로 드러나지 않는 인증서를 의미한다. 단말(10)은 암시적 인증서에 대해 소정의 연산 과정을 거침으로써, 공개키를 확인할 수 있다. ECQV(Elliptic Curve Qu-Vanstone) 암시적 인증서는 타원 곡선 파라미터로부터 생성될 수 있다. 예를 들어, 유한한 필드(FP)에 대한 타원 곡선 E(FP)는
Figure pat00001
를 만족하는 점들의 집합일 수 있다. EC 도메인 파라미터들은 (p, a, b, G, n)으로 표시된다. n은 커브 E(FP)의 차수의 제수이며, 높은 소수이다. G는 n차수의 베이스 포인트 생성자를 의미한다.
각 엔티티(entity)의 공개키를 Q, 개인키를 q라고 할 때,
Figure pat00002
를 만족할 수 있다.
도 2의 S102 단계에서, 단말(10)은 Hello 메시지를 전송할 수 있다. 서버(20)는 단말(10)로부터 Hello 메시지를 수신할 수 있다. 단말(10)이 전송하는 Hello 메시지는 단말(10)의 식별자(IA)에 대한 정보를 포함할 수 있다. 단말(10)의 식별자(IA)는 단말(10)의 MAC 주소를 포함할 수 있다. 단말(10)의 MAC 주소는 64 bit 일 수 있다.
S103 단계에서, 서버(20)는 단말(10)로부터 Hello 메시지를 수신하고, Hello 메시지에 포함된 단말(10)의 식별자(IA) 정보를 검증할 수 있다. 서버(20)는 미리 등록된 단말들의 식별자들 가운데, Hello 메시지에 포함된 단말(10)의 식별자(IA)와 매칭되는 식별자가 있는지 확인할 수 있다.
S104 단계에서, 단말(10)의 식별자(IA)에 대한 검증이 완료되면, 서버(20)는 CA Hello 메시지를 전송할 수 있다. 단말(10)은 CA Hello 메시지를 수신할 수 있다. CA Hello 메시지는 서버(20)의 공개키(QcA)에 대한 정보를 포함할 수 있다.
S106 단계에서, 단말(10)은 제1 비밀 랜덤 정수(rA)를 생성할 수 있다. 제1 비밀 랜덤 정수(rA)는
Figure pat00003
를 만족할 수 있다. 여기서, n은 제1 비밀 랜덤 정수(rA)의 생성범위를 나타낸다. 단말(10)은 제1 난수(NA)를 생성할 수 있다. 단말(10)은 후술하는 인증서 요청 메시지에 제1 난수(NA)를 포함시킴으로써, 메시지의 현재성을 보장할 수 있다.
S108 단계에서, 단말(10)은 제1 비밀 랜덤 정수(rA)에 대한 제1 EC 포인트(RA)를 계산할 수 있다. 단말(10)은 수학식 1에 따라 제1 EC 포인트(RA)를 계산할 수 있다.
Figure pat00004
수학식 1에서 rA는 제1 비밀 랜덤 정수를 의미하고, G는 베이스 포인트를 의미하며, RA는 제1 비밀 랜덤 정수(rA)에 대한 제1 EC 포인트를 의미한다.
S110 단계에서, 단말(10)은 인증서 요청 메시지를 전송할 수 있다. 인증서 요청 메시지는 제1 EC 포인트(RA) 및 제1 난수(NA)에 대한 정보를 포함할 수 있다. 단말(10)은 인증서 요청 메시지에 대한 메시지 무결성 코드(MIC, Message Integrity Code)(MIC(K))를 함께 전송할 수 있다. 메시지 무결성 코드는 네트워크 키(K)를 이용하여 암호화 될 수 있다. 네트워크 키(K)는 인증서 발급 전에 서버(20) 및 단말(10)에 공유될 수 있다.
S114 단계에서, 서버(20)는 메시지 무결성 코드(MIC(K))를 검증할 수 있다. 서버(20)는 네트워크 키(K)를 이용하여 메시지 무결성 코드(MIC(K))를 검증할 수 있다.
S116 단계에서, 메시지 무결성 코드(MIC(K))에 대한 검증이 완료 되면, 서버(20)는 제2 비밀 랜덤 정수(rCA) 및 제2 난수(NCA)를 생성할 수 있다. 제2 비밀 랜덤 정수(rCA)는
Figure pat00005
를 만족할 수 있다. 단말(10)은 후술하는 인증 메시지에 제2 난수(NCA)를 포함시킴으로써, 메시지의 현재성을 보장할 수 있다.
S118 단계에서, 서버(20)는 제2 비밀 랜덤 정수(rCA)에 대한 제2 EC 포인트(RCA)를 계산할 수 있다. 서버(20)는 수학식 2에 따라 제2 EC 포인트(RCA)를 계산할 수 있다.
Figure pat00006
수학식 2에서 rCA는 제2 비밀 랜덤 정수를 의미하고, G는 베이스 포인트를 의미하며, RCA는 제2 비밀 랜덤 정수(rCA)에 대한 제2 EC 포인트를 의미한다.
S120 단계에서, 서버(20)는 단말(10)의 암시적 인증서(CertA)를 계산할 수 있다. 서버(20)는 수학식 3에 따라 단말(10)의 암시적 인증서(CertA)를 계산할 수 있다.
Figure pat00007
수학식 3에서 CertA는 단말(10)의 암시적 인증서를 의미하고, rA는 제1 ec 포인트를 의미하며, rca는 제2 ec 포인트를 의미한다.
s122 단계에서, 서버(20)는 단말(10)의 개인키 도출을 위한 정수(s)를 계산할 수 있다. 서버(20)는 수학식 4에 따라 정수(s)를 계산할 수 있다.
Figure pat00008
수학식 4에서 s는 단말(10)의 개인키 도출을 위한 정수를 의미하고, qCA는 서버(20)의 개인키를 의미하며, rCA는 제2 비밀 랜덤 정수를 의미하고, H(Cert-A)는 암시적 인증서(CertA)에 대한 해쉬 함수 값을 의미한다.
S124 단계에서, 서버(20)는 인증 메시지를 전송할 수 있다. 인증 메시지는 암시적 인증서(CertA)와, 단말(10)의 개인키 도출을 위한 정수(s) 및 제2 난수(NCA)에 대한 정보를 포함할 수 있다. 서버(20)는 인증 메시지에 대한 메시지 무결성 코드(MIC(K)_1)를 인증 메시지와 함께 전송할 수 있다. 메시지 무결성 코드(MIC(K)_1)는 네트워크 키(K)를 이용하여 암호화 될 수 있다.
S126 단계에서, 단말(10)은 인증 메시지 및 인증 메시지에 대한 메시지 무결성 코드(MIC(K)_1)를 수신하고, 메시지 무결성 코드(MIC(K)_1)를 검증할 수 있다. 단말(10)은 네트워크 키(K)를 이용하여 메시지 무결성 코드(MIC(K))를 검증할 수 있다.
S128 단계에서, 메시지 무결성 코드(MIC(K))에 대한 검증이 완료되면, 단말(10)은 인증 메시지에 포함된 정보들을 이용하여 단말(10)의 개인키(qA)를 계산할 수 있다. 단말(10)은 수학식 5에 따라 단말(10)의 개인키(qA)를 계산할 수 있다.
Figure pat00009
수학식 5에서 qA는 단말(10)의 개인키를 의미하고, s는 단말(10)의 개인키(qA) 도출을 위한 정수를 의미하고, r-A는 제1 비밀 랜덤 정수를 의미하며, H(Cert-A)는 암시적 인증서(CertA)에 대한 해쉬 함수 값을 의미한다.
S130 단계에서, 단말(10)은 단말(10)의 공개키(QA)를 계산할 수 있다. 단말(10)은 수학식 6에 따라 단말(10)의 공개키(QA)를 계산할 수 있다.
Figure pat00010
수학식 6에서 QA는 단말(10)의 공개키를 의미하고, qA는 단말(10)의 개인키를 의미하며, G는 베이스 포인트를 의미한다.
S132 단계에서, 단말(10)은 공개키(QA) 및 개인키(qA)의 획득이 완료되었음을 통지하기 위해, 이전까지 서버(20)와 주고 받았던 메시지들에 대한 메시지 무결성 코드(MIC_All(QA))를 생성하여 전송할 수 있다. 메시지 무결성 코드(MIC_All(QA))는 단말(10)의 공개키(QA)를 이용하여 암호화 될 수 있다.
S134 단계에서, 서버(20)는 메시지 무결성 코드(MIC_All(QA))를 검증할 수 있다. 서버(20)는 단말(10)의 공개키(QA)를 이용하여 메시지 무결성 코드(MIC_All(QA))를 검증할 수 있다.
S136 단계에서, 메시지 무결성 코드(MIC_All(QA))에 대한 검증이 완료되면, 서버(20)는 이전까지 단말(10)과 주고 받았던 메시지들에 대한 메시지 무결성 코드(MIC_All(QA))를 생성하여 전송할 수 있다. 메시지 무결성 코드(MIC_All(QA))는 단말(10)의 공개키(QA)를 이용하여 암호화 될 수 있다.
S138 단계에서, 단말(10)은 메시지 무결성 코드(MIC_All(QA))를 검증할 수 있다. 단말(10)는 단말(10)의 공개키(QA)를 이용하여 메시지 무결성 코드(MIC_All(QA))를 검증할 수 있다. 서버(20) 및 단말(10) 양단에서 메시지 무결성 코드(MIC_All(QA))의 검증이 완료됨에 따라, 서버(20) 및 단말(10)은 인증서 발급 절차가 완료되었음을 확인할 수 있다.
단말(10)은 공개키(QA)와 개인키(qA)를 획득함으로써, 네트워크에 조인할 수 있다. 단말(10)은 공개키(QA)와 개인키(qA)는 단말(10)-서버(20) 간 통신에서 단말(10)의 메시지를 인증하는데 사용될 수 있다.
도 2에서 나타낸 인증서 발급 과정에는 몇 가지 보안상 취약점이 있을 수 있다.
첫째로, 서버(20)와 단말(10)이 서로를 검증하기 위해 메시지 무결성 코드(MIC(K))를 이용하는데, 이 검증 방식은 네트워크 키(K)를 이용하여 이루어진다. 그런데, 네트워크 키(K)를 이용한 검증 방식의 경우, 검증 과정에서 디바이스를 식별하지 않기 때문에, 침입자의 위장 공격에 취약할 수 있다.
둘째로, 하나의 디바이스가 감염되게 되면, 전체 네트워크의 보안이 무너질 수 있다. 하나의 디바이스가 감염되어, 네트워크 키(K)에 대한 정보가 노출되면, 이로 인해서, 전체 네트워크의 보안이 한꺼번에 무너질 수 있다.
셋째로, 재전송 공격(Replay Attack)에 취약할 수 있다. 재전송 공격(Replay Attack)이란 프로토콜 상에서 유효 메시지를 골라 복사한 후 나중에 재전송하여 정당한 사용자로 가장하는 공격을 의미한다. 비록, 제1 난수(NA)와 제2 난수(NCA)가 사용되지만, 난수의 생성이 송신단에서만 이루어지기 때문에, 침입자 입장에서도 난수를 생성하여 재전송 공격을 할 수 있다.
넷째로, 네트워크 키(K)의 공유 방식이 정해져 있지 않다. 따라서, 네트워크 확장 과정에서 네트워크 키(K)를 공유하는 동안 네트워크 키(K)에 대한 정보가 노출될 수 있으며, 이로 인해 보안이 취약해질 수 있다.
다섯째로, S132 단계 및 S136 단계에서, 이전까지 주고 받은 메시지들 모두에 대한 메시지 무결성 코드(MIC_All(QA))를 주고 받기 때문에, 메시지 무결성 코드(MIC_All(QA))의 계산 및 전송에 상당한 전력이 소모될 수 있다.
도 3은 본 발명의 예시적인 실시예에 따른 인증서 발급 방법의 초기화 과정을 나타낸 흐름도이다.
도 3을 참조하면, 단말(200)과 서버(300) 사이의 통신에 의해 인증서 발급이 이루어질 수 있다. 서버(300)는 인증기관(CA, Certification Authority)에 의해 운영되는 장치를 의미한다. 서버(300)는 인증기관에 의해 운영되는 서버, 기지국, 팬 코디네이터(PAN coordinator, Personal Area Network coordinator) 등을 포함할 수 있다.
단말(200)은 인증서를 발급 받는 장치로, 사물 인터넷 구현에 이용되는 센서 디바이스 등을 포함할 수 있다. 단말(200)은 인증서를 획득하여, 네트워크의 구성원 자격을 획득할 수 있다. 예를 들어, 단말(200)은 인증서를 획득하여 개인 영역 무선 네트워크에 조인(join) 할 수 있다.
도 3의 S210 단계에서, 단말(200)은 제1 비밀 랜덤 정수(rA)를 생성할 수 있다. 단말(200)이 생성한 제1 비밀 랜덤 정수(rA)에 대한 정보는 외부로 노출되지 않을 수 있다.
S220 단계에서, 단말(200)은 제1 비밀 랜덤 정수(rA)로부터 제1 EC 포인트(RA)를 계산할 수 있다. 예를 들어, 제1 EC 포인트(RA)는 수학식 7에 따라 계산될 수 있다.
Figure pat00011
수학식 7에서 rA는 단말(200)에서 생성된 제1 비밀 랜덤 정수를 의미하고, G는 베이스 포인트를 의미하며, RA는 제1 EC 포인트를 의미한다.
S230 단계에서, 단말(200)은 제1 EC 포인트(RA)로부터 단말(200)의 보안 식별자(IA)를 계산할 수 있다. 단말(200)은 CGA(Cryptographically Generated Address) 방식으로 단말(200)의 보안 식별자(I-A)를 계산할 수 있다. 예시적으로, 단말(200)의 보안 식별자(IA)는 수학식 8에 따라 계산될 수 있다.
Figure pat00012
수학식 8에서 IA는 단말(200)의 보안 식별자를 의미하고, PAN은 PAN 식별자(PAN identifier)를 의미하며, RA는 제1 EC 포인트를 의미하고, H64()는 64 bit 해쉬 함수를 의미한다.
수학식 8에 의하면, IA는 MAC 주소의 길이와 같은 64 bit의 크기를 가질 수 있다. 하지만, 실시예가 이에 제한되는 것은 아니다. 예를 들어, IA의 bit 수는 달라질 수 있으며 이에 따라 해쉬 함수의 출력 길이도 다르게 변경될 수 있다.
단말(200)는 S210, S220, S230 단계를 통해 단말(200)의 보안 식별자 IA를 생성할 수 있다.
도 3의 S310 단계에서, 서버(300)는 서버(300)의 개인키(qCA)를 생성할 수 있다. 서버(300)의 개인키(qCA)는 외부로 노출되지 않을 수 있다.
S320 단계에서, 서버(300)는 서버(300)의 개인키(qCA)로부터 서버(300)의 공개키(QCA)를 계산할 수 있다. 예를 들어, 서버(300)의 공개키(QCA)는 수학식 9에 따라 계산될 수 있다.
Figure pat00013
수학식 9에서 QCA는 서버(300)의 공개키를 의미하고, qCA 는 서버(300)의 개인키를 의미하며, G는 베이스 포인트를 의미한다.
S330 단계에서, 서버(300)는 서버(300)의 공개키(QCA)로부터 서버(300)의 보안 식별자(ICA)를 계산할 수 있다. 서버(300)는 CGA 방식으로 서버(300)의 보안 식별자(I-CA)를 계산할 수 있다. 예시적으로, 서버(300)의 보안 식별자(ICA)는 수학식 10에 따라 계산될 수 있다.
Figure pat00014
수학식 10에서 ICA는 서버(300)의 보안 식별자를 의미하고, PAN은 PAN 식별자를 의미하며, QCA는 서버(300)의 공개키를 의미하고, H64()는 64 bit 해쉬 함수를 의미한다.
수학식 10에 의하면, ICA는 MAC 주소의 길이와 같은 64 bit의 크기를 가질 수 있다. 하지만, 실시예가 이에 제한되는 것은 아니다. 예를 들어, ICA의 bit 수는 달라질 수 있으며 이에 따라 해쉬 함수의 출력 길이도 다르게 변경될 수 있다.
서버(300)는 S310, S320, S330 단계를 통해 서버(300)의 보안 식별자 ICA를 생성할 수 있다.
단말(200) 및 서버(300)는 서로 보안 식별자에 대한 정보를 교환할 수 있다. S240 단계에서, 단말(200)은 서버(300)의 보안 식별자(ICA)를 저장할 수 있다. S340 단계에서, 서버(300)는 단말(200)의 보안 식별자(I-A)를 저장할 수 있다.
보안 식별자에 대한 정보 공유는 관리자에 의해 이루어질 수 있다. 예를 들어, 네트워크 구축 당시 관리자가 서버(300)에 단말(200)의 보안 식별자(IA)를 입력하고, 단말(200)에는 서버(300)의 보안 식별자(ICA)를 입력해 놓을 수 있다. 본 실시예에서 단말(200)의 보안 식별자(IA) 및 서버(300)의 보안 식별자(ICA)는 단말(200)-서버(300) 사이에서 안전하게 공유되는 것을 전제로 한다.
도 4는 본 발명의 예시적인 실시예에 따른 인증서 발급 방법을 나타낸 흐름도이다.
도 4를 참조하면, S402 단계에서, 서버(300)는 제1 난수(NCA)를 생성할 수 있다. 제1 난수(NCA)는 서버(300)가 전송하는 비콘 메시지의 현재성을 보장할 수 있다. 또한, 제1 난수(NCA)는 후술하는 연결 요청 메시지 및 연결 응답 메시지의 현재성을 보장할 수 있다. 현재성을 보장한다는 것은, 침입자의 재전송 공격을 방지할 수 있다는 것을 의미한다.
S404 단계에서, 서버(300)는 비콘 메시지를 전송할 수 있다. 비콘 메시지는 제1 난수(NCA)에 대한 정보 및 서버(300)의 공개키(QCA)에 대한 정보를 포함할 수 있다. 단말(200)은 서버(300)가 전송하는 비콘 메시지를 수신할 수 있다.
S406 단계에서, 단말(200)은 비콘 메시지에서 서버(300)의 공개키(QCA)를 확인할 수 있다. 단말(200)은 서버(300)의 공개키(QCA)를 검증할 수 있다. 예를 들어, 단말(200)은 서버(300)로부터 수신한 공개키(QCA) 및 미리 알고 있는 PAN 식별자를 수학식 10의 우변에 대입할 수 있다. 단말(200)은 서버(300)로부터 수신한 공개키(QCA)를 이용한 계산 결과를 도 3의 S240 단계에서 저장한 서버(300)의 보안 식별자(ICA)와 비교할 수 있다. 단말(200)은 서버(300)로부터 수신한 공개키(QCA)를 이용한 계산 결과가 서버(300)의 보안 식별자(ICA)와 일치하면, 서버(300)의 공개키(QCA)가 검증된 것으로 판단할 수 있다. 반면, 단말(200)은 서버(300)로부터 수신한 공개키(QCA)를 이용한 계산 결과가 서버(300)의 보안 식별자(ICA)와 서로 일치하지 않으면, 서버(300)의 공개키(QCA)가 검증되지 않은 것으로 보고 프로세스를 종료할 수 있다.
S408 단계에서, 단말(200)은 제2 난수(NA)를 생성할 수 있다. 제2 난수(NA)는 후술하는 연결 요청 메시지 및 연결 응답 메시지의 현재성을 보장할 수 있다.
S410 단계에서, 단말(200)은 페어 와이즈 키(DHA)를 계산할 수 있다. 예를 들어, 단말(200)은 수학식 11에 따라 페어 와이즈 키(DHA)를 계산할 수 있다.
Figure pat00015
수학식 11에서 DHA는 페어 와이즈 키를 의미하고, rA는 단말(200)에 의해 생성된 제1 비밀 랜덤 정수를 의미하고, QCA는 서버(300)의 공개키를 의미한다. 단말(200)은, 도 3에서 나타낸 S210 단계에서 생성한 제1 비밀 랜덤 정수(rA) 및 도 4의 S404 단계에서 획득한 서버(300)의 공개키(QCA)의 곱으로부터 페어 와이즈 키(DHA)를 계산할 수 있다.
S412 단계에서, 단말(200)은 페어 와이즈 키(DHA)로부터 대칭 링크 키(KA)를 계산할 수 있다. 예를 들어, 단말(200)은 수학식 12에 따라 대칭 링크 키(KA)를 계산할 수 있다.
Figure pat00016
수학식 12에서 KA는 대칭 링크 키를 의미하고, DHA는 페어 와이즈 키를 의미하고, ICA는 서버(300)의 보안 식별자를 의미하고, IA는 단말(200)의 보안 식별자를 의미하고, NCA-는 서버(300)에 의해 생성된 제1 난수를 의미하고, NA는 단말(200)에 의해 생성된 제2 난수를 의미한다. 또한, kdf()는 키 유도 함수(Key Derivation Function)을 의미한다.
S414 단계에서, 단말(200)은 연결 요청 메시지를 전송할 수 있다. 연결 요청 메시지는 제1 난수(NCA), 제2 난수(NA) 및 제1 EC 포인트(RA)에 대한 정보를 포함할 수 있다. 단말(200)은 연결 요청 메시지에 대한 메시지 무결성 코드(MIC(KA))를 계산할 수 있다. 단말(200)은 S412 단계에서 획득한 대칭 링크 키(KA)를 이용하여 연결 요청 메시지를 암호화 하여 연결 요청 메시지에 대한 메시지 무결성 코드(MIC(KA))를 계산할 수 있다. 서버(300)는 단말(200)로부터 연결 요청 메시지 및 연결 요청 메시지에 대한 메시지 무결성 코드(MIC(KA))를 수신할 수 있다.
S416 단계에서, 서버(300)는 제1 EC 포인트(RA)를 검증할 수 있다. 서버(300)는 도 3의 S340 단계에서 저장한 단말(200)의 보안 식별자(IA)를 이용하여 제1 EC 포인트(RA)를 검증할 수 있다. 서버(300)는 단말(200)로부터 수신한 제1 EC 포인트(RA) 및 미리 알고 있는 PAN 식별자를 수학식 9의 우변에 대입할 수 있다. 서버(300)는 단말(200)로부터 수신한 제1 EC 포인트(RA)를 이용한 계산 결과를 도 3의 S340 단계에서 저장한 단말(200)의 보안 식별자(IA)와 비교할 수 있다. 서버(300)는 단말(200)로부터 수신한 제1 EC 포인트(RA)를 이용한 계산 결과가 단말(200)의 보안 식별자(IA)와 일치하면, 제1 EC 포인트(RA)가 검증된 것으로 판단할 수 있다. 반면, 서버(300)은 단말(200)로부터 수신한 제1 EC 포인트(RA)를 이용한 계산 결과가 단말(200)의 보안 식별자(IA)와 서로 일치하지 않으면, 제1 EC 포인트(RA)가 검증되지 않은 것으로 보고 프로세스를 종료할 수 있다.
S418 단계에서, 제1 EC 포인트(RA)의 검증이 완료되면, 서버(300)는 페어 와이즈 키(DHA)를 계산할 수 있다. 서버(300)는 서버(300)의 개인키(qCA) 및 제1 EC 포인트(RA)로부터 페어 와이즈 키(DHA)를 계산할 수 있다. 예를 들어, 서버(300)는 수학식 13에 따라 페어 와이즈 키(DHA)를 계산할 수 있다.
Figure pat00017
수학식 13에서 DHA는 페어 와이즈 키를 의미하고, qCA는 서버(300)의 개인키를 의미하고, RA는 제1 EC 포인트를 의미한다. 서버(300)는, 도 3의 S310 단계에서 생성한 서버(300)의 개인키(qCA) 및 도 4의 S414 단계에서 획득한 제1 EC 포인트(RA)의 곱으로부터 페어 와이즈 키(DHA)를 계산할 수 있다. S418 단계에서 서버(300)가 계산한 페어 와이즈 키(DHA)는, S410 단계에서 단말(200)이 계산한 페어 와이즈 키(DHA)와 일치할 수 있다. 즉, 서버(300)와 단말(200)은 페어 와이즈 키(DHA)를 공유할 수 있다.
S420 단계에서, 서버(300)는 페어 와이즈 키(DHA)와, 제1 난수(NCA)와, 제2 난수(NA)와, 서버(300)의 보안 식별자(ICA) 및 단말(200)의 보안 식별자(IA)로부터 대칭 링크 키(KA)를 계산할 수 있다. 예를 들어, 서버(300)는 수학식 12에 따라 대칭 링크 키(KA)를 계산할 수 있다. S420 단계에서 서버(300)가 계산한 대칭 링크 키(KA)는, S412 단계에서 단말(200)이 계산한 대칭 링크 키(KA)와 일치할 수 있다. 즉, 서버(300)와 단말(200)은 대칭 링크 키(KA)를 공유할 수 있다.
S422 단계에서, 서버(300)는 S414 단계에서 수신한 연결 요청 메시지에 대한 메시지 무결성 코드(MIC(KA))를 검증할 수 있다. 서버(300)는 S420 단계에서 계산한 대칭 링크 키(KA)를 이용하여 메시지 무결성 코드(MIC(KA))를 계산할 수 있다.
S424 단계에서, 메시지 무결성 코드(MIC(KA))에 대한 검증이 완료되면, 서버(300)는 제2 비밀 랜덤 정수(rCA)를 생성할 수 있다.
S426 단계에서, 서버(300)는 제2 비밀 랜덤 정수(rCA)로부터 제2 EC 포인트(RCA)를 계산할 수 있다. 예를 들어, 서버(300)는 수학식 14에 따라 제2 EC 포인트(RCA)를 계산할 수 있다.
Figure pat00018
수학식 12에서 RCA는 제2 EC 포인트를 의미하고, rCA는 제2 비밀 랜덤 정수를 의미하고, G는 베이스 포인트를 의미한다.
S428 단계에서, 서버(300)는 암시적 인증서(CertA)를 계산할 수 있다. 암시적 인증서(CertA)는 단말(200)이 단말(200)의 개인키(qA)를 도출하는데 이용될 수 있다. 예시적으로, 서버(300)는 수학식 15에 따라 암시적 인증서(CertA)를 계산할 수 있다.
Figure pat00019
수학식 15를 참조하면, 서버(300)는 S414 단계에서 획득한 제1 EC 포인트(RA)와, S426 단계에서 계산한 제2 EC 포인트(RCA)의 합으로부터 암시적 인증서(CertA)를 계산할 수 있다.
S430 단계에서, 서버(300)는 단말(200)의 개인키(qA)를 도출하기 위한 정수(s)를 계산할 수 있다. 서버(300)는 서버(300)의 개인키(qCA)와, 제2 비밀 랜덤 정수(rCA) 및 암시적 인증서(CertA)로부터 정수(s)를 계산할 수 있다. 예를 들어, 서버(300)는 수학식 16에 따라 정수(s)를 계산할 수 있다.
Figure pat00020
수학식 16에서 s는 단말(200)의 개인키(qA)를 도출하기 위한 정수를 의미한다. qCA는 서버(300)의 개인키를 의미하고, rCA는 제2 비밀 랜덤 정수를 의미하고, CertA는 암시적 인증서를 의미하며, H()는 해쉬 함수를 의미한다. infoA 는 인증서 관련 정보를 의미하며, 단말(200)의 보안 식별자(IA)와 암시적 인증서(CertA)의 만료일에 대한 정보를 포함할 수 있다.
S432 단계에서, 서버(300)는 연결 응답 메시지를 전송할 수 있다. 연결 응답 메시지는 인증서 관련 정보(InfoA)와, 암시적 인증서(CertA) 및 개인키(qA) 도출을 위한 정수(s)에 대한 정보를 포함할 수 있다. 서버(300)는 연결 응답 메시지에 대한 메시지 무결성 코드(MIC(KA)_1)을 연결 응답 메시지와 함께 전송할 수 있다. 서버(300)는 S420 단계에서 계산한 대칭 링크 키(KA)를 이용하여 메시지 무결성 코드(MIC(KA)_1)를 계산할 수 있다. 단말(200)은 서버(300)로부터 연결 응답 메시지 및 연결 응답 메시지에 대한 메시지 무결성 코드(MIC(KA)_1)를 수신할 수 있다.
S433 단계에서, 단말(200)은 연결 응답 메시지에 대한 메시지 무결성 코드(MIC(KA)_1)를 검증할 수 있다. 단말(200)는 S412 단계에서 계산한 대칭 링크 키(KA)를 이용하여 메시지 무결성 코드(MIC(KA)_1)를 계산할 수 있다.
S434 단계에서, 단말(200)은 단말(200)의 개인키(qA)를 계산할 수 있다. 단말(200)은 연결 응답 메시지에 포함된 정보들을 이용하여 단말(200)의 개인키(qA)를 계산할 수 있다. 예를 들어, 단말(200)은 수학식 17에 따라 단말(200)의 개인키(qA)를 계산할 수 있다.
Figure pat00021
수학식 17에서 qA는 단말(200)의 개인키를 의미하고, s는 단말(200)의 개인키를 도출하기 위한 정수를 의미하고, rA는 제1 비밀 랜덤 정수를 의미하며, CertA는 암시적 인증서를 의미하며, infoA는 인증서 관련 정보를 의미한다. 또한, H()는 해쉬 함수를 의미한다.
수학식 17을 참조하면, 단말(200)은 암시적 인증서(CertA)와, 단말(200)의 개인키 도출을 위한 정수(s) 및 제1 비밀 랜덤 정수(rA)로부터 단말(200)의 개인키(qA)를 계산할 수 있다.
S436 단계에서, 단말(200)은 단말(200)의 개인키(qA)로부터 단말(200)의 공개키(QA)를 계산할 수 있다. 예를 들어, 단말(200)은 수학식 18에 따라 단말(200)의 공개키(QA)를 계산할 수 있다.
Figure pat00022
수학식 18에서 QA는 단말(200)의 공개키(QA)를 의미하고, qA는 단말(200)의 개인키를 의미하며, G는 베이스 포인트를 의미한다.
이상에서 도 3 및 도 4를 참조하여 설명한 실시예에 따르면, 인증서 발급 과정에서 보안과, 연산 효율 및 전송 에너지 효율이 높아질 수 있다. 본 발명의 실시예와 도 2에서 나타낸 PAuthKey 프로토콜의 성능을 비교하면 아래와 같다.
첫째로, PAuthKey 프로토콜의 경우, 서버(20)-단말(10) 사이의 기기 인증이 도 2의 S114 단계와, S126 단계에서 메시지 무결성 코드(MIC(K), MIC(K)_1)의 검증에 의해서 이루어 졌다. 따라서, 침입자 입장에서는 네트워크 키(K)만 알아내면 다른 디바이스로 위장 공격을 하는 것이 가능하다.
하지만, 본 발명의 실시예에 따르면, 단말(200)은 S406 단계에서, 서버의 공개키(QCA)를 검증하고, 서버(300)는 S416 단계에서, 제1 EC 포인트(RA)를 검증할 수 있다.
예를 들어, 침입자(Adv)가 단말(200)로 위장하는 시나리오를 예상하면 다음과 같다. 침입자(Adv)는 단말(200)의 보안 식별자(IA)에 대한 정보를 확보해야 한다. 침입자(Adv)가 단말(200)의 보안 식별자(IA) 정보를 알아낸다 하더라도, 침입자(Adv)는
Figure pat00023
를 만족하는 RAdv 를 찾아 내야만 한다. 그런데, 64 bit 해쉬 함수의 해를 찾아내는 데는 상당한 시간이 소요되기 때문에, 침입자(Adv)가 위장 공격에 성공할 가능성이 상당히 낮아진다.
둘째로, PAuthKey 프로토콜의 경우, 모든 단말들의 보안이 하나의 네트워크 키(K)로 관리되기 때문에, 하나의 단말이라도 침입자의 공격에 무너지면 전체 네트워크가 무너질 수 있다.
하지만, 본 발명의 실시예에 따르면, 단말마다 서로 다른 비밀 랜덤 정수(rA)를 생성하기 때문에, 단말의 검증에 이용되는 제1 EC 포인트(RA)가 단말마다 달라질 수 있다. 따라서, 하나의 단말이 침입자의 공격에 무너지더라도 나머지 네트워크는 침입자로부터 안전할 수 있다.
셋째로, PAuthKey 프로토콜의 경우, 도 2의 S110 단계 및 S124 단계에서 메시지에 난수(NA, NCA)를 포함시키기는 하지만, 난수가 메시지의 송신단에서만 생성되기 때문에 재전송 공격(Replay Attack)에 취약할 수 있다.
반면, 본 발명의 실시예에 따르면, 도 4의 S414 단계와 S432 단계에서, 대칭 링크 키(KA)를 이용한 메시지 무결성 코드(MIC(KA), MIC(KA)_1)가 메시지의 검증에 이용될 수 있다. 수학식 12를 참조하면, 대칭 링크 키(KA)가 제1 난수(NCA) 및 제2 난수(NA) 모두에 의존할 수 있다. 메시지 검증 과정에서 서버(300)에서 생성한 제1 난수(NCA)와 단말(200)에서 생성한 제2 난수(NA)가 모두 필요하다. 즉, 메시지 검증에 필요한 난수가 송신단과 수신단 모두에서 생성되기 때문에 재전송 공격을 받지 않을 수 있다. 예를 들어, 침입자(Adv)가 단말(200)이 전송하는 메시지를 제2 난수(NA)를 다른 난수(NAdv)로 대체하여 재전송 할 경우, 이미 서버(300)에서 생성한 제1 난수(NCA)가 다른 값으로 변경되어 있기 때문에, 침입자(Adv)의 메시지는 무시될 수 있다.
넷째로, PAuthKey 프로토콜의 경우, 도 2의 S102, S104, S110, S124, S132, S136 단계에서 총 6회의 메시지 송수신이 이루어진다.
반면, 본 발명의 실시예에 따르면, 도 4의 S404, S414, S432 단계에서 총 3회의 메시지 송수신이 이루어질 수 있다. 메시지 송수신 회수가 줄어듦에 따라 인증서 발급 과정에서 신호 송수신에 요구되는 소비 전력이 줄어들 수 있다.
다섯째로, PAuthKey 프로토콜의 경우, S132 단계와, S136 단계에서 이전까지의 모든 메시지들에 대한 메시지 무결성 코드를 계산해야 하기 때문에 계산 시간 및 소비 전력이 길 수 있다.
반면 본 발명의 실시예에 따르면, 대량의 메시지에 대한 무결성 코드를 계산하는 과정이 없기 때문에 계산 시간 및 소비 전력이 줄어들 수 있다.
도 5는 PAuthKey Protocol과 본 발명의 실시예를 비교하여 나타낸 표이다.
도 5를 참조하면, PAuthKey Protocol은 네트워크 키(K)와 단말(10)의 식별자(IA)가 미리 공유될 것을 전제로 하는 반면, 본 실시예는 서버(300)의 보안 식별자(I-CA) 및 단말(200)의 보안 식별자(IA)가 초기화 과정에서 공유될 것을 전제로 한다. PAuthKey Protocol은 단말들 그룹 전체에 인증이 이루어지는 반면, 본 실시예에서는 단말(200) 별로 제1 EC 포인트(RA) 및 대칭 링크 키(KA)에 기반한 개별 인증이 이루어질 수 있다.
도 6은 도 3에서 나타낸 초기화 과정의 변형예를 나타낸 흐름도이다.
도 6의 실시예를 설명함에 있어서, 도 3과 중복되는 내용은 생략한다.
도 6을 참조하면, S225 단계에서, 단말(200)은 보안 강화 변수(modifier)를 생성할 수 있다. 보안 강화 변수(modifier)는 수학식 19를 만족할 수 있다.
Figure pat00024
수학식 19에서 modifier는 보안 강화 변수를 의미하고, PAN은 PAN 식별자를 의미하고, RA는 제1 EC 포인트를 의미한다. 또한, H16()은 16bit 해쉬 함수를 의미한다. 해쉬 함수의 출력 길이는 PAN의 bit 크기에 따라 달라질 수 있다.
도 7은 도 4에서 나타낸 인증서 발급 과정의 변형예를 나타낸 흐름도이다.
도 7의 실시예를 설명함에 있어서, 도 4와 중복되는 내용은 생략한다.
도 7을 참조하면, S414 단계에서, 단말(200)이 전송하는 연결 요청 메시지는 보안 강화 변수(modifier)에 대한 정보를 더 포함할 수 있다.
S415 단계에서, 서버(300)는 보안 강화 변수(modifier)를 검증할 수 있다. 서버(300)는 단말(200)로부터 수신한 연결 요청 메시지에 포함된 보안 강화 변수(modifier)를 수학식 19의 좌변에 대입하여 계산할 수 있다. 서버(300)는 연결 요청 메시지에 포함된 보안 강화 변수(modifier)를 이용한 계산 결과와 PAN 식별자(PAN)를 비교할 수 있다.
도 6 및 도 7에서 나타낸 바와 같이, 보안 강화 변수(modifier)를 도입함으로써, 네트워크의 보안이 더 강화될 수 있다. 예를 들어, 침입자(Adv)가 단말(200)로 위장하기 위해서, 침입자(Adv)는
Figure pat00025
Figure pat00026
를 동시에 만족하는 (RAdv, modifierAdv) 를 찾아내야 한다. 침입자(Adv)가 솔루션 (RAdv, modifierAdv)을 찾기 위해 요구되는 계산 과정이 더 복잡해질 수 있다. 따라서, 네트워크의 보안이 더 강화될 수 있다.
도 8은 인증서 발급 과정에서 단말(200)과 서버(300) 사이의 통신 거리가 확장된 예를 나타낸다.
도 8을 참조하면, 리피터(400A, 400B)가 단말(200)과 서버(300) 사이의 통신을 중계함으로써, 단말(200)과 서버(300) 사이의 통신 거리가 늘어날 수 있다. 예를 들어, 단말(200)은 리피터(400A)로부터 비콘 메시지 및 연결 응답 메시지를 수신할 수 있다. 리피터(400A)는 단말(200)로부터 연결 요청 메시지를 수신할 수 있다. 서버(300)는 리피터(400B)로부터 연결 요청 메시지를 수신할 수 있다. 리피터(400B)는 서버(300)로부터 연결 응답 메시지 및 비콘 메시지를 수신할 수 있다.
도 9는 PAuthKey 프로토콜에서 소비되는 전력과, 본 발명의 실시예에 의한 인증서 발급 방법에서 소비되는 전력을 비교한 그래프이다.
도 9를 참조하면, PAuthKey 프로토콜의 경우, 연산 과정에서 1056μJ이 소비되고, 신호 송수신 과정에서 988μJ이 소비될 수 있다. 반면, 본 발명의 실시예에 따르면, 연산 과정이 간소화 되고, 신호 송수신 회수가 감소할 수 있다. 예를 들어, 본 발명의 실시예에 따르면, 연산 과정에서 302μJ이 소비되고, 신호 송수신 과정에서 705μJ이 소비될 수 있다.
이상에서 도 1 내지 도 9를 참조하여 본 발명의 예시적인 실시예에 따른 서버(300)의 인증서 발급 방법 및 단말(200)의 인증서 획득 방법에 관하여 설명하였다. 상술한 실시예들에 따르면, 인증서 발급 과정에서 네트워크의 보안이 강화될 수 있다. 또한, 인증서 발급 과정에서 요구되는 연산량 및 소비 전력량이 감소할 수 있다.
본 발명에 따른 방법들은 다양한 컴퓨터 수단을 통해 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위해 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터 판독 가능 매체의 예에는 롬, 램, 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러(compiler)에 1의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함한다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 적어도 하나의 소프트웨어 모듈로 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
10, 200 : 단말
20, 300 : 서버

Claims (20)

  1. 서버에 의해 수행되는 인증서 발급 방법에 있어서,
    상기 서버의 보안 식별자를 생성하는 단계;
    단말의 보안 식별자를 저장하는 단계;
    상기 서버의 공개키에 대한 정보를 포함하는 비콘 메시지를 전송하는 단계;
    상기 단말로부터, 제1 비밀 랜덤 정수에 대한 제1 EC 포인트의 정보를 포함하는 연결 요청 메시지를 수신하는 단계;
    상기 단말의 보안 식별자를 이용하여 상기 제1 EC 포인트를 검증하는 단계; 및
    상기 제1 EC 포인트에 대한 검증이 완료되면, 상기 단말의 개인키 생성을 위한 정보를 포함하는 연결 응답 메시지를 전송하는 단계;를 포함하는 인증서 발급 방법.
  2. 청구항 1에 있어서,
    상기 서버의 보안 식별자를 생성하는 단계는,
    상기 서버의 개인키를 생성하고, 상기 서버의 개인키로부터 상기 서버의 공개키를 계산하고, 상기 서버의 공개키로부터 상기 서버의 보안 식별자를 계산하는 인증서 발급 방법.
  3. 청구항 2에 있어서,
    상기 서버의 보안 식별자를 생성하는 단계는,
    상기 서버의 공개키 및 팬 식별자(PAN Identifier)에 대해 해쉬 함수를 적용함으로써, 상기 서버의 보안 식별자를 계산하는 인증서 발급 방법.
  4. 청구항 1에 있어서,
    상기 제1 EC 포인트를 검증하는 단계는,
    상기 제1 EC 포인트 및 팬 식별자에 대한 해쉬 함수 값과 단말의 보안 식별자를 비교하는 인증서 발급 방법.
  5. 청구항 1에 있어서,
    제1 난수를 생성하는 단계;를 더 포함하고,
    상기 비콘 메시지는 상기 제1 난수에 대한 정보를 더 포함하는 인증서 발급 방법.
  6. 청구항 5에 있어서,
    상기 연결 요청 메시지는 상기 제1 난수 및 상기 단말에 의해 생성된 제2 난수에 대한 정보를 더 포함하는 인증서 발급 방법.
  7. 청구항 1에 있어서,
    상기 연결 요청 메시지를 수신하는 단계는, 상기 연결 요청 메시지에 대한 메시지 무결성 코드를 함께 수신하며,
    상기 연결 요청 메시지에 대한 메시지 무결성 코드를 검증하는 단계;를 더 포함하는 인증서 발급 방법.
  8. 청구항 7에 있어서,
    상기 연결 요청 메시지에 대한 메시지 무결성 코드를 검증하는 단계는,
    상기 서버의 개인키 및 상기 제1 EC 포인트로부터 페어 와이즈 키(Pairwise Key)를 계산하고,
    상기 페어 와이즈 키와, 상기 서버에 의해 생성된 제1 난수와, 상기 단말에 의해 생성된 제2 난수와, 상기 서버의 보안 식별자 및 상기 단말의 보안 식별자로부터 대칭 링크 키를 계산하고,
    상기 대칭 링크 키를 이용하여 상기 연결 요청 메시지에 대한 메시지 무결성 코드를 검증하는 인증서 발급 방법.
  9. 청구항 8에 있어서,
    상기 연결 응답 메시지를 전송하는 단계는,
    상기 대칭 링크 키를 이용하여 생성한 상기 연결 응답 메시지에 대한 메시지 무결성 코드를 함께 전송하는 인증서 발급 방법.
  10. 청구항 1에 있어서,
    제2 비밀 랜덤 정수를 생성하는 단계;
    상기 제2 비밀 랜덤 정수에 대한 제2 EC 포인트를 계산하는 단계;
    상기 제1 EC 포인트 및 상기 제2 EC 포인트로부터 암시적 인증서를 계산하는 단계;
    상기 서버의 개인키와, 상기 제2 비밀 랜덤 정수 및 상기 암시적 인증서로부터 상기 단말의 개인키 도출을 위한 정수를 계산하는 단계;를 포함하며,
    상기 단말의 개인키 생성을 위한 정보는, 상기 암시적 인증서 및 상기 단말의 개인키 도출을 위한 정수에 대한 정보를 포함하는 인증서 발급 방법.
  11. 단말의 인증서 획득 방법에 있어서,
    상기 단말의 보안 식별자를 생성하는 단계;
    서버의 보안 식별자를 저장하는 단계;
    상기 서버로부터 상기 서버의 공개키에 대한 정보를 포함하는 비콘 메시지를 수신하는 단계;
    상기 서버의 보안 식별자를 이용하여 상기 서버의 공개키를 검증하는 단계;
    제1 비밀 랜덤 정수에 대한 제1 EC 포인트의 정보를 포함하는 연결 요청 메시지를 전송하는 단계; 및
    상기 서버로부터, 상기 단말의 개인키 생성을 위한 정보를 포함하는 연결 응답 메시지를 수신하는 단계;를 포함하는 인증서 획득 방법.
  12. 청구항 11에 있어서,
    상기 단말의 보안 식별자를 생성하는 단계는,
    상기 제1 비밀 랜덤 정수를 생성하고, 상기 제1 비밀 랜덤 정수로부터 상기 제1 EC 포인트를 계산하고, 상기 제1 EC 포인트로부터 상기 단말의 보안 식별자를 계산하는 인증서 획득 방법.
  13. 청구항 12에 있어서,
    상기 단말의 보안 식별자를 생성하는 단계는,
    상기 제1 EC 포인트 및 팬 식별자에 대해 해쉬 함수를 적용함으로써, 상기 단말의 보안 식별자를 계산하는 인증서 획득 방법.
  14. 청구항 11에 있어서,
    상기 서버의 공개키를 검증하는 단계는,
    상기 서버의 공개키 및 팬 식별자에 대한 해쉬 함수 값과 상기 서버의 보안 식별자를 비교하는 인증서 획득 방법.
  15. 청구항 11에 있어서,
    상기 비콘 메시지는 상기 서버에 의해 생성된 제1 난수에 대한 정보를 더 포함하고,
    제2 난수를 생성하는 단계;를 더 포함하는 인증서 획득 방법.
  16. 청구항 15에 있어서,
    상기 연결 요청 메시지는 상기 제1 난수 및 상기 제2 난수에 대한 정보를 더 포함하는 인증서 획득 방법.
  17. 청구항 15에 있어서,
    상기 연결 요청 메시지를 전송하는 단계는, 상기 연결 요청 메시지에 대한 메시지 무결성 코드를 상기 연결 요청 메시지와 함께 전송하는 인증서 획득 방법.
  18. 청구항 17에 있어서,
    상기 연결 요청 메시지에 대한 메시지 무결성 코드는,
    상기 제1 비밀 랜덤 정수 및 상기 서버의 공개키로부터 페어 와이즈 키를 계산하고,
    상기 페어 와이즈 키와, 상기 서버에 의해 생성된 제1 난수와, 상기 단말에 의해 생성된 제2 난수와, 상기 서버의 보안 식별자 및 상기 단말의 보안 식별자로부터 대칭 링크 키를 계산하고,
    상기 대칭 링크 키를 이용하여 상기 연결 요청 메시지를 암호화 함으로써 계산되는 인증서 획득 방법.
  19. 청구항 18에 있어서,
    상기 연결 응답 메시지를 수신하는 단계는, 상기 연결 응답 메시지에 대한 메시지 무결성 코드를 함께 수신하고,
    상기 대칭 링크 키를 이용하여 상기 연결 응답 메시지에 대한 메시지 무결성 코드를 검증하는 단계;를 더 포함하는 인증서 획득 방법.
  20. 청구항 11에 있어서,
    상기 단말의 개인키 생성을 위한 정보는 암시적 인증서 및 상기 단말의 개인키 도출을 위한 정수에 대한 정보를 포함하며,
    상기 암시적 인증서와, 상기 단말의 개인키 도출을 위한 정수 및 상기 제1 비밀 랜덤 정수로부터 상기 단말의 개인키를 계산하는 단계; 및
    상기 단말의 개인키로부터 상기 단말의 공개키를 계산하는 단계;를 더 포함하는 인증서 획득 방법.
KR1020170000154A 2017-01-02 2017-01-02 인증서 발급 방법 KR101960583B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170000154A KR101960583B1 (ko) 2017-01-02 2017-01-02 인증서 발급 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170000154A KR101960583B1 (ko) 2017-01-02 2017-01-02 인증서 발급 방법

Publications (2)

Publication Number Publication Date
KR20180079682A true KR20180079682A (ko) 2018-07-11
KR101960583B1 KR101960583B1 (ko) 2019-03-20

Family

ID=62917859

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170000154A KR101960583B1 (ko) 2017-01-02 2017-01-02 인증서 발급 방법

Country Status (1)

Country Link
KR (1) KR101960583B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230113972A (ko) 2022-01-24 2023-08-01 오영미 기명식 법인인증서 발급 시스템 및 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9215069B2 (en) * 2012-12-10 2015-12-15 Intel Corporation Methods and apparatus for device authentication with one-time credentials
KR20160121775A (ko) * 2015-04-09 2016-10-20 (주)아이씨엔캐스트 모바일 단말과 IoT기기간 제3자 보안인증 시스템 및 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9215069B2 (en) * 2012-12-10 2015-12-15 Intel Corporation Methods and apparatus for device authentication with one-time credentials
KR20160121775A (ko) * 2015-04-09 2016-10-20 (주)아이씨엔캐스트 모바일 단말과 IoT기기간 제3자 보안인증 시스템 및 방법

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Porambage, P.외 4명, PAuthKey: A Pervasive Authentication Protocol and Key Establishment Scheme for Wireless Sensor Networks in Distributed IoT Applications(2014.)* *
이종훈 외 1명, IEEE 802.15.4 기반 LoWPAN에서의 디바이스 보안 설정 메커니즘, 정보보호학회논문지, VOL.26, NO.6 (2016.12.)* *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230113972A (ko) 2022-01-24 2023-08-01 오영미 기명식 법인인증서 발급 시스템 및 방법

Also Published As

Publication number Publication date
KR101960583B1 (ko) 2019-03-20

Similar Documents

Publication Publication Date Title
US10812969B2 (en) System and method for configuring a wireless device for wireless network access
US10601594B2 (en) End-to-end service layer authentication
US10841784B2 (en) Authentication and key agreement in communication network
Jan et al. Design and analysis of lightweight authentication protocol for securing IoD
He et al. A strong user authentication scheme with smart cards for wireless communications
US11432150B2 (en) Method and apparatus for authenticating network access of terminal
CN106664561B (zh) 用于确保预关联服务发现安全的系统和方法
Nyangaresi et al. Trusted authority based session key agreement and authentication algorithm for smart grid networks
CN108880813B (zh) 一种附着流程的实现方法及装置
Dewanta et al. A mutual authentication scheme for secure fog computing service handover in vehicular network environment
WO2018205148A1 (zh) 一种数据包校验方法及设备
CN110621016B (zh) 一种用户身份保护方法、用户终端和基站
CN113364584B (zh) 一种物联网设备与雾节点认证系统和方法
WO2023283789A1 (zh) 一种安全通信方法及装置、终端设备、网络设备
WO2021103772A1 (zh) 数据传输方法和装置
US20230308875A1 (en) Wi-fi security authentication method and communication apparatus
Noh et al. Secure authentication and four-way handshake scheme for protected individual communication in public wi-fi networks
Wu et al. An efficient provably-secure identity-based authentication scheme using bilinear pairings for Ad hoc network
Singh et al. Dynamic group based efficient access authentication and key agreement protocol for MTC in LTE-A networks
CN110730447B (zh) 一种用户身份保护方法、用户终端和核心网
Borgohain et al. A lightweight D2D authentication protocol for relay coverage scenario in 5G mobile network
Gupta et al. An improved authentication scheme for BLE devices with no I/O capabilities
Khan et al. Blockchain-based lightweight multifactor authentication for cell-free in ultra-dense 6G-based (6-CMAS) cellular network
CN110198538B (zh) 一种获得设备标识的方法及装置
Zeng et al. Attribute-based anonymous handover authentication protocol for wireless networks

Legal Events

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