KR101765917B1 - 개인망 엔티티 인증을 위한 방법 - Google Patents

개인망 엔티티 인증을 위한 방법 Download PDF

Info

Publication number
KR101765917B1
KR101765917B1 KR1020110001224A KR20110001224A KR101765917B1 KR 101765917 B1 KR101765917 B1 KR 101765917B1 KR 1020110001224 A KR1020110001224 A KR 1020110001224A KR 20110001224 A KR20110001224 A KR 20110001224A KR 101765917 B1 KR101765917 B1 KR 101765917B1
Authority
KR
South Korea
Prior art keywords
pne
authentication
server
cpns
user
Prior art date
Application number
KR1020110001224A
Other languages
English (en)
Other versions
KR20120079892A (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 KR1020110001224A priority Critical patent/KR101765917B1/ko
Priority to US13/345,188 priority patent/US8819415B2/en
Priority to PCT/KR2012/000173 priority patent/WO2012093900A2/en
Publication of KR20120079892A publication Critical patent/KR20120079892A/ko
Application granted granted Critical
Publication of KR101765917B1 publication Critical patent/KR101765917B1/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/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • 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
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명은 개인망 엔티티(Personal Network Entity: PNE) 인증을 위한 방법에 있어서; 개인망 게이트웨이(Personal Network GateWay: PN GW)에서, 사용자로부터 입력된 등록하려는 PNE의 일련번호(SNPNE)를 CPNS(Converged Personal Network Service) 서버로 보내며, 이를 이용하여. 암호화 키(KPW)를 생성하는 과정과; 상기 CPNS 서버로부터 전송되는 PNE의 인증값 체인 및 해당 PNE의 비밀정보인 고유한 할당 키(TKPNE) 저장하는 과정과; 상기 인증값 체인 중 선택된 인증 값을 상기 암호화 키(KPW)로 암호화하고 이를 상기 해당 PNE의 고유한 할당 키(TKPNE)로 암호화하여 해당 PNE에 전송함으로써, 해당 PNE에서 상기 암호화된 인증 값을 저장하도록 하는 과정과; 상기 PNE에 저장된 암호화된 인증 값을 이용하여 상기 PNE와 상기 CPNS 서버간의 인증 절차를 수행하는 과정을 수행한다.

Description

개인망 엔티티 인증을 위한 방법{METHOD FOR AUTHENTICATING PERSONAL NETWORK ENTITY}
본 발명은 개인망(Personal Network)에 관한 것으로, 특히 개인망에서 개인망 엔티티의 인증을 위한 방법에 관한 것이다.
근거리 통신이 가능한 가전(Consumer Electronics :CE)기기 예컨대, MP3 플레이어, PMP(Portable Multimedia Player), 게임기, 넷북(Netbook) 등의 이용이 기하급수적으로 늘어남에 따라 사용자들은 편한 콘텐츠(content) 다운로드 방법을 추구하게 되었다.
일반적으로 사용자는 PC(Personal Computer)를 이용하여 인터넷을 통해 가전 기기에서 재생 가능한 콘텐츠를 검색한 후 검색된 콘텐츠를 다운로드한다. 이어, 가전 기기와 PC가 전용 케이블을 이용하여 연결되면, 그 가전 기기는 PC로부터 그 콘텐츠를 다운로드하게 된다. 이러한 과정을 거쳐야만 가전 기기에서는 해당 콘텐츠를 재생할 수 있게 된다. 현재 이러한 케이블을 대체하여 블루투스 방식을 이용하여 기기 간에 콘텐츠를 공유할 수 있게 되었다.
하지만 여전히 가전 기기 자체가 원거리 통신망에 직접 접속할 수 있는 방법은 극히 제한적이다. 예를 들어, 일부 가전 기기들은 WiFi(Wireless-Fidelity )를 이용하여 접속 장치(Access Point:AP)가 있는 지역에서 인터넷을 이용할 수 있어야만 원거리 통신망에 접속이 가능하다. 이에 따라 근거리 통신이 가능하지만 원거리 통신망에 직접 접속할 수 없는 기기, 즉 가전 기기들이 게이트웨이를 통해 원거리 통신망에 접속하여 원하는 서비스 예컨대, 콘텐츠 다운로드 등을 이용하는 방법에 대한 필요성이 대두되었다. 이러한 필요성에 따라 CPNS(Converged Personal Network Service)가 제안되었다.
CPNS란 원거리 통신망과의 통신을 담당하는 게이트웨이 역할의 디바이스와 실제 서비스 및 콘텐츠를 재생하는 가전 기기의 조합으로 구성된 하나의 개인망(Personal Network: 이하 PN)를 구성한 후, 상기 가전 기기가 상기 게이트웨이 역할을 하는 디바이스를 통해 원거리 통신망에 존재하는 서비스/ 콘텐츠 제공 서버에 접속함으로써 해당 서비스 또는 콘텐츠를 제공받는 서비스를 말한다. 이러한 CPNS에서 게이트웨이 역할을 하는 디바이스를 PN 게이트웨이(Personal Network Gateway)라 하고, PN 게이트웨이에 근거리 통신을 통해 연결되어 PN 게이트웨이를 통해 원거리 통신 네트워크에 접속하는 가전 기기를 개인망 엔티티(Personal Network Entity: 이하 PNE)라 한다.
한편, 이러한 PN에서 각각의 PNE들에 서비스를 제공하기에 앞서, 각각의 PNE들에 적합한 인증 프로토콜이 요구되어진다. 인증 프로토콜은 통신 개체들이 서로를 인식하기 위해 수행되는 프로토콜로, 향후 다른 프로토콜들을 수행하기 위해, 먼저 실행되어져야 한다.
일반적인 디바이스 인증 프로토콜로는, 크게 대칭키를 사용하는 방법과, 공개키를 사용하는 방법으로 나뉘어 진다. 하지만 공개키를 사용하는 방법에서는 디바이스의 개인키(Private Key)를, 대칭키를 사용하는 방법에서는 디바이스의 비밀키(Secret Key)를 저장한 후, 인증을 수행하므로, 두 기술은 모두 디바이스에 안전한 저장장치가 필요하다. 하지만, 디바이스에 안전한 저장장치가 없다면, 서버에 비해 공격에 취약한 디바이스의 저장 공간에서 비밀정보들의 복제가 가능해지므로, 디바이스 인증에 악용될 수 있다.
그런데, PNE 디바이스는 PN 서버와 직접적인 통신이 불가능할 뿐만 아니라, 팩스, 스캐너, 프린터, TV, 셋탑박스, 오디오, 카메라, MP3 플레이어, PMP, 냉장고, 세탁기, 전자레인지 등과 같이 다양한 환경을 가지게 된다. 따라서 전통적인 방식의 인증 기법이 적합하지 않으며, 또한 모든 디바이스에 안전한 저장 공간을 구현해야하는 문제점이 발생하게 된다.
따라서, 본 발명은 PNE와 PN GW 사이에 안전성을 보장하지 못하는 전송채널과, PNE가 안전한 저장 장치를 가질 수 없는 환경에서 CPNS 서버가 서버와 안전한 통신이 가능한 PN 게이트웨이를 통해 이기종의 다른 디바이스인 PNE를 인증하는 방안을 제안한다.
또한 본 발명은 사용자가 인증을 받고자 하는 디바이스가 입력 장치가 없고 서버와 직접적으로 통신할 수 없는 기기를 인증할 수 있는 방안을 제안한다.
상기한 목적을 달성하기 위하여 본 발명의 일 견지에 따르면, 개인망 엔티티(Personal Network Entity: PNE) 인증을 위한 방법에 있어서; 개인망 게이트웨이(Personal Network GateWay: PN GW)에서, 사용자로부터 입력된 등록하려는 PNE의 일련번호(SNPNE)를 CPNS(Converged Personal Network Service) 서버로 보내며, 이를 이용하여 암호화 키(KPW)를 생성하는 과정과; 상기 CPNS 서버로부터 전송되는 PNE의 인증값 체인 및 해당 PNE의 비밀정보인 고유한 할당 키(TKPNE) 저장하는 과정과; 상기 인증값 체인 중 선택된 인증 값을 상기 암호화 키(KPW)로 암호화하고 이를 상기 해당 PNE의 고유한 할당 키(TKPNE)로 암호화하여 해당 PNE에 전송함으로써, 해당 PNE에서 상기 암호화된 인증 값을 저장하도록 하는 과정과; 상기 PNE에 저장된 암호화된 인증 값을 이용하여 상기 PNE와 상기 CPNS 서버간의 인증 절차를 수행하는 과정을 포함함을 특징으로 한다.
본 발명의 다른 견지에 따르면, 개인망 엔티티(Personal Network Entity: PNE) 인증을 위한 방법에 있어서; 인증 요청시 PN GW는 인증 요청을 시도하게 되는 PNE의 물리주소(MACPNE)를 저장하여, 서버에게 인증 요청과 더불어 상기 PNE의 물리주소(MACPNE)를 전달하는 과정과; 상기 CPNS 서버는 상기 PNE의 물리주소(MACPNE)를 확인하여, 인증세션에 사용될 랜덤한 수R을 생성하며, 인증 응답과 더불어 상기 R을 전송하는 과정과; 상기 PN GW는 상기 CPNS서버로부터 전송된 R을 저장하고, PIN 생성에 함께 사용될 NONCE를 생성하고, 상기 PNE에게 인증 응답과 더불어 상기 R과 NONCE을 전송하는 과정과; 상기 PNE는 미리 정해진 PIN 생성함수 GEN_PIN()을 통해 PIN을 생성하며, 랜덤 핀 RP(Random Pin)를 생성하고 생성된 PIN, RP 정보를 디스플레이하는 과정과; 사용자로부터 상기 PNE에 디스플레이된 PIN, RP를 입력받은 상기 PN GW는 상기 PIN 생성함수 GEN_PIN()을 통해 입력받은 PIN 검증을 수행하는 과정과; PIN 검증이 완료되면, 상기 PN GW는 사용자부터 사용자 아이디 및 패스워드(IDUSER/PWUSER)를 입력 받아, 이를 해쉬함수 H()에 적용하여 PNE가 CPNS 서버에게 인증을 받기 위한 W를 생성하고, 상기 사용자 아이디(IDUSER), W, NONCE, RP를 상기 CPNS 서버로 전송하여 확인 요청하는 과정과; 상기 CPNS 서버는 상기 PN GW로부터 전송된 확인 요청을 위한 정보를 검사하여 사용자 및 PNE의 유효성을 검사하여, 인증 확인 메시지를 PN GW에게 전송하고, PN GW는 PNE에게 이를 전달하여 인증 절차를 완료하는 과정을 포함함을 특징으로 한다.
본 발명에 따른 PNE 인증 방안은 PNE에는 별도의 안전한 저장 공간의 구비없이도, CPNS 서버가 서버와 안전한 통신이 가능한 PN 게이트웨이를 통해 이기종의 다른 디바이스인 PNE를 인증할 수 있도록 하며, 이러한 본 발명에 따른 방안은 사용자가 인증을 받고자 하는 디바이스가 입력 장치가 없고 서버와 직접적으로 통신할 수 없는 기기를 인증할 수 있는 매우 효과적인 방안을 제공한다.
도 1은 본 발명이 일 실시예가 적용되는 CPNS 시스템의 블록 구성도
도 2, 도 3, 도 4는 각각 본 발명의 일 실시예에 따른 PNE, PN 게이트웨이, CPNS 서버의 개략적인 블록 구성도
도 5는 본 발명의 일 실시예에 따른 PNE 인증을 위한 PNE 인증 관련 정보의 CPNS 서버 저장 동작의 흐름도
도 6은 본 발명의 일 실시예에 따른 PNE 인증을 위한 PNE 인증 관련 정보의 PN GW 및 PNE 저장 동작의 흐름도
도 7은 본 발명의 다른 실시예에 따른 PNE 인증을 위한 PNE 인증 관련 정보의 CPNS 서버, PN GW 및 PNE 저장 동작의 흐름도
도 8은 본 발명의 일 실시예에 따른, PNE와 CPNS 서버간의 PN GW를 통한 인증 동작의 흐름도
도 9a, 도 9b는 본 발명의 다른 실시예에 따른 PNE의 CPNS 서버 등록 동작의 흐름도
도 10은 본 발명의 다른 실시예에 따른, PNE와 CPNS 서버간의 PN GW를 통한 인증 동작의 흐름도
이하 본 발명에 따른 바람직한 실시예를 첨부한 도면을 참조하여 상세히 설명한다.
도 1은 본 발명이 일 실시예에 따른 CPNS 시스템의 블록 구성도로서, 먼저 도 1을 참조하여, 본 발명의 실시예에 따른 CPNS 시스템의 구성요소 및 동작을 설명한다. 본 발명에 따른 CPNS 시스템은 크게 하나 이상의 개인망 엔티티(Personal Network Entity: PNE)(10, 12), 개인망 게이트웨이(PN GW: Personal Network GateWay)(20), CPNS 서버(30) 및 서비스/컨텐츠 제공서버(40)를 포함하며, 또한 이들과 인터넷으로 연결될 수 있는 제조사 기기 관리 서버(서버)(50)를 포함할 수 있다.
서비스/콘텐츠 제공 서버(40)는 외부 네트워크에 존재하며, CPNS 서버(30)에서 사용자가 이용할 수 있는 서비스 혹은 콘텐츠를 공급하는 장치이다. 외부 네트워크로는 예를 들어, 인터넷, 휴대 전화 네트워크 등이 있을 수 있다. 또한, CPNS 서버(30)가 서비스/콘텐츠 제공 서버(40)와 제조사 기기 관리 서버(서버)(50)를 포함할 수 있다.
PNE(10, 12)는 직접적으로 서비스를 실행하는 사용자 단말 디바이스이다. 예를 들어, MP3 플레이어, PMP, 이동 통신 단말 등이 이에 해당하며, 이 디바이스들은 디바이스 내 저장되어 있는 콘텐츠를 재생함으로써 사용자에게 서비스를 제공한다. 이러한 PNE(20,70)는 근거리 통신 모듈을 내장하고 있어, 근처에 있는 다른 디바이스 즉, 다른 PNE 또는 PN 게이트웨이와 근거리 통신이 가능하다.
PNE(10, 12)는 사용자에게 직접적으로 서비스를 제공하는 전자 기기이다. 예를 들어, MP3 플레이어, PMP, 게임기, 노트북, 네비게이션, 예컨대, 냉장고 등의 가전기기 등 모든 전자 기기가 이에 해당될 수 있으며, 이 전자 기기들은 사용자에 의해 요청된 컨텐츠를 서비스/컨텐츠 제공서버(40)로부터 제공받아 재생함으로써 사용자에게 서비스를 제공한다. 이러한 PNE(10, 12)은 근거리 통신 모듈을 내장하고 있어, 근처에 있는 다른 PNE 또는 PN GW와 근거리 통신은 가능하다.
이러한 PNE(10, 12)는 PN GW(20)와 근거리 통신 방식으로 페어링을 수행하여, PN GW(20))와 개인망을 형성함으로써 PN GW(20)를 통해 CPNS 서버(30)에 접속할 수 있으며, 서비스/컨텐츠 제공 서버(40)로부터 제공되는 컨텐츠도 제공받을 수 있어 CPNS를 이용할 수 있게 된다.
여기에서 개인망을 형성한다는 것은 물리적인 페어링(Physical pairing)된 각 기기의 역할을 확인하고 CPNS 서비스를 제공받을 수 있도록 PNE(10, 12)와 PN GW(20)간에 망을 형성하는 것을 의미한다. 이를 위해 PNE(10, 12)와 PN GW(20)간 CPNS 지원 유무를 확인하고, 승인 및 인증(Authentication / Authorization)을 통해 CPNS 사용 가능한 기기인지 확인하고, 기기의 역할(Role) 즉, GW 모드로 동작하는지 또는 PNE 모드로 동작하는지를 확인하는 일련의 절차를 수행함으로써 CPNS를 제공하기 위한 어플리케이션 측면에서의 망을 형성한다. 이렇게 형성된 개인망을 통해 PNE(10, 12)는 PN GW(20)의 통신 기능을 이용하여 사업자 네트워크의 CPNS 서버(30)에 접속할 수 있게 된다.
PN GW(20)는 외부 네트워크, 즉 사업자 네트워크에 존재하는 CPNS 서버(30)에 접속할 수 있는 기능을 가지고 있는 장치이다. 그리고 PNE(10,12)들과 개인망을 형성할 수 있고, CPNS 서버(30)와 PNE(10,12)간에 CPNS 시스템 메시지와 서비스 또는 콘텐츠 전송을 중계하는 기능을 수행한다. 즉, 개인망(30)에 포함되는 PNE(10, 12)가 서비스를 요청하면 이를 PN GW(20)가 중계하여 CPNS 서버(30)에게 전달하는 역할을 수행한다. 그리고 PN GW(20)는 CPNS 서버(30)에서 제공되는 서비스 또는 콘텐츠를 PNE(10,12)에 전달하는 역할을 수행한다. 이러한 PN GW(10,60)는, 예를 들어, 휴대 전화, PDA, 셋탑박스(Set top Box) 등이 될 수 있다.
CPNS 서버(30)는 PN GW(20)의 등록 요청에 따라 PN GW(20)와 PNE(10, 12) 및 개인망을 등록, 관리하고, PNE(10, 12)가 PN GW(20)를 통하여 전달하는 서비스 및 콘텐츠 요청을 처리하는 서버 장치이다. 요청에 해당하는 서비스 혹은 콘텐츠가 CPNS 서버(30)에서 제공될 수 있는 것이면, CPNS 서버(30)는 요청 서비스 및 콘텐츠를 PNE(10, 12)에게 PN GW(20)를 통하여 제공한다. 그리고 제공할 수 없는 경우에는 외부의 서비스/콘텐츠 제공 서버(40)에게 요청을 전달하여 해당 서비스 혹은 콘텐츠를 PN GW(20)를 통해 PNE(10,12)에게 제공하게 한다.
도 2는 본 발명의 일 실시예에 따른 PNE(10, 12)의 구성도로서, 도2를 참조하면, PNE(10, 12)는 PN 연결 제어부(110), 제1근거리 통신 모듈(120), 제1메모리(130)를 포함한다. 제1근거리 통신 모듈(120)은 근거리 통신을 수행하는 모듈로서, 예를 들어, 블루투스 통신, 또는 지그비(Zigbee) 통신, 또는 IrDA(Infrared Data Association), 가시광 통신을 수행하는 모듈일 수 있다. 제1메모리(130)는 PN 연결 제어부(110)의 워킹 메모리로 이용될 수 있으며, 후술할 본 발명의 특징에 따른 인증 절차를 위해 필요한 정보를 포함하는 개인 네트워크 형성에 필요한 각종 프로그램 데이터를 저장하며, 디바이스 정보를 저장한다. 그리고 PN GW(20)를 통해 CPNS 서버(30)로부터 제공되는 각종 서비스에 관련된 정보를 저장한다. PN 연결 제어부(110)는 후술할 본 발명의 특징에 따른 인증 절차를 비롯한 개인 네트워크 형성 및 해제와 관련된 PNE(10, 12)의 모든 동작을 제어하며, 형성된 개인 네트워크를 통한 서비스 또는 콘텐츠 요청 및 수신과 관련된 동작을 제어한다. 이에 따라, PN 연결 제어부(110)는 개인 네트워크를 구성하기 위해 제1근거리 통신 모듈(120)을 제어하여, 주변의 디바이스들과 물리적 페어링을 수행하여 통신 링크를 형성한다. 그리고 PN 연결 제어부(110)는 물리적으로 페어링된 디바이스 중 PN 게이트웨이를 찾기 위한 검색을 수행하여, PN GW(20)가 검출되면 개인 네트워크 연결을 요청한다.
도 3은 본 발명의 일 실시예에 따른 PN GW(20)의 구성을 나타낸 도면이다. 도 3을 참조하면, PN GW(20)는 PN 관리부(210), 제2근거리 통신 모듈(220), 제2메모리(230), 통신부(240)를 포함한다. 제2근거리 통신 모듈(220)은 근거리 통신을 수행하는 모듈로서, 예를 들어, 블루투스 통신, 또는 지그비 통신, 또는 IrDA, 가시광 통신을 수행하는 모듈일 수 있다. 통신부(240)는 외부 망의 엔티티들과 통신을 수행하며, CPNS 서버(30)와 서비스/콘텐츠 제공 서버(40)와 메시지 및 데이터를 송수신한다. 제2메모리(230)는 PN 관리부(210)의 워킹 메모리로 이용될 수 있으며, 개인망 형성에 필요한 각종 프로그램 데이터를 저장한다. 그리고 제2메모리(230)는 후술할 인증 절차에 요구되는 정보를 포함하여 개인망에 연결된 PNE들에 대한 정보와, 각 PNE에 대응하는 디바이스 정보를 저장한다. PN 관리부(210)는 개인 네트워크와 관련된 PN 게이트웨이(20)의 전반적인 동작을 제어한다.
도 4는 본 발명의 일 실시예에 따른 CPNS 서버(30)의 구성을 나타낸 도면이다. 도 4를 참조하면, CPNS 서버(30)는 제어부(310), 송수신부(320), 제3메모리(330)를 포함한다. 송수신부(320)는 제어부(310)의 제어에 따라 PN GW(20) 및 서비스 콘텐츠 제공 서버(40)와 통신을 수행한다. 제3메모리(330)는 PN GW(20)로부터 전달되는 PNE 정보를 등록 및 저장한다. 그리고 제3메모리(330)는 PNE에게 제공할 각종 콘텐츠, 서비스 등을 저장하며, 각 콘텐츠 및 서비스에 대응하는 서비스 매칭 테이블을 저장한다. 서비스 매칭 테이블은 해당 콘텐츠 또는 서비스를 수신하고 처리할 PNE에게 요구되는 최소 디바이스 기능 및 능력에 대한 정보이다. 또한 제3메모리(330)는 후술될 본 발명의 특징에 따라 PNE,의 인증에 필요한 정보들을 저장하게 된다. 제어부(310)는 CPNS 서버(30)의 전반적인 동작을 제어한다.
상기와 같은 구성을 가지는 CPNS 시스템에서 본 발명의 특징에 따라 수행되는 PNE 인증 방안은 크게 두 가지로 분류할 수 있다. 첫 번째로 디바이스 제조사 기기 관리 서버만이 생성하고 부여할 수 있는 시리얼넘버를 통해 인증하는 방식과 두 번째로, 디바이스에 최소한의 디스플레이가 존재하고 숫자나 알파벳 문자 등이 표현이 가능하다고 가정한 인증 방식이다.
1. 해쉬 -체인을 이용한 PNE CPNS 서버의 안전한 상호 인증 방식
본 방식에서는 CPNS 서버에 서비스가 필요한 PNE 하드웨어 고유의 값(Serial Number)을 사전에 등록하여 디바이스 인증에 활용한다.
또한 모든 PNE가 안전한 저장공간을 가지는 것을 가정하기에는 현실적으로 무리가 있으므로, 본 방식에서는 PNE에 비밀정보를 암호화하여 저장한 후, 필요 시 PN GW로부터 인증값을 받아 인증을 하는 방식을 사용한다.
아래 표 1에서는 후술할 용어들 및 이의 의미를 정리하고 있다.
용어 내용
KSM CPNS 서버와 제조사의 공유된 키
KGS PN GW와 CPNS 서버의 공유된 키
AKPNE PNE 인증 값, 인증 키
[AKPNE] PNE 인증 값의 집합
SNPNE PNE의 메모리에 저장되지 않는 일련번호(Serial Number)
E_K() / D-K() K를 이용한 암호화 / 복호화
TKPNE PNE 할당 키 (Temporary Key), PNE와 PN GW 간에 안전한 데이터 전송을 위해 사용되거나, PNE에서 CPNS 서버를 인증할 때 사용되는 키
SeedPNE PNE의 해쉬 체인을 위한 시드 값
H 암호학적으로 안전한 해쉬 함수(예: SHA1)
가) PNE 인증 정보 저장 과정
도 5는 발명의 일 실시 예에 따른 PNE 인증을 위해 CPNS 서버에 PNE 식별자(SNPNE)에 따른 PNE 할당 키(TKPNE)를 제조사 기기 관리 서버로부터 요청하여 저장하는 일련의 흐름도로서, 도 5를 참조하면, PNE 식별자에 대응하는 PNE 할당 키의 CPNS 서버 저장 동작은 아래와 같은 단계를 수행할 수 있다.
[501단계] PNE 등록과정을 위해 CPNS 서버는 웹 서비스를 통해 PN GW와 안전한 채널을 형성 한 뒤, 사용자에게 PNE 등록서비스를 제공한다. 501단계가 수행된다면, 502단계는 수행되지 않는다.
[502단계] PNE 등록과정을 위해 PN GW는 CPNS 서버와 안전한 채널을 형성 한 뒤, 사용자에게 PNE 등록서비스를 제공한다. 502단계가 수행된다면, 501단계는 수행되지 않는다.
[503단계] PNE 등록과정을 위해 사용자는 상기 501단계 또는 502단계를 통해 PNE의 SNPNE를 물리적으로 확인 한 뒤, SNPNE를 CPNS Sever에 등록을 한다. 이때 SNPNE는 PNE 구입시, PNE 사용자에게 제공되는 번호로 PNE 저장 공간에 저장되지 않는다. SNPNE는 PNE 엔티티 식별자(PNE Entity ID)를 나타내며 그 형태는 PNE가 PNE와 게이트웨이 중 어떤 역할을 하느냐에 따라 각각 SN.PNE, SN.PNGW로 표현된다. CPNS 서버는 충분히 안전한 저장 공간을 가지고 있다.
[504단계] 사용자로부터 SNPNE를 입력받은 CPNS 서버는 SNPNE 확인을 위해 제조사 기기 관리 서버와 기반되는 인증기술(예, 3GPP GBA)을 활용한 상호인증과정을 통해 안전한 채널을 형성한다.
[505단계] CPNS 서버는 SNPNE를 안전한 채널을 통해 제조사 기기 관리 서버에게 전송한다.
[506단계] 제조사 기기 관리 서버는 SNPNE 확장자(*.PNE, *.PNGW)를 제외한 일렬 번호가 유효한 일련번호인지 확인 한다.
[507단계] 제조사 기기 관리 서버는 SNPNE 확인과정이 통과하면, SNPNE에 해당하는 비밀정보인 TKPNE를 안전한 채널을 통해 CPNS 서버에게 전송한다.
[508단계] CPNS 서버는 사용자로부터 입력된 SNPNE와 제조사 기기 관리 서버로부터 전송된 TKPNE를 자신의 저장 공간에 저장한다. SNPNE와 TKPNE는 이후 PNE와 CPNS 서버의 인증 절차에서 사용된다.
도 6은 본 발명의 일 실시예에 따른 PNE 인증을 위해 PNE인증 키(AKPNE)를 PNE 및 PN GW에 저장하는 일련의 동작 흐름도이다. 도 6을 참조하면, PNE와 PN GW에 PNE 인증 값을 저장하는 동작은 아래와 같은 단계를 수행할 수 있다.
먼저, PNE는 제조과정에서 자신의 고유한 TKPNE가 저장되어져 있으며, PN GW는 어떤 PNE가 자신에게 등록될 지 알 수 없으므로 초기에는 PNE에 대한 정보가 저장되어 있지 않다. 다만 PNE 등록 시, PNE 정보를 안전하게 저장하기 위한 안전한 저장 공간이 필요하다. 또한 상기 도 5에 도시된 바와 같은 PNE 할당키와 PNE의 SNPNE의 CPNS 서버 저장 과정을 수행한 CPNS 서버는 PNE에 대한 정보인 SNPNE와 TKPNE를 안전한 저장 공간에 저장하고 있다.
[601단계] PNE - PN GW 등록과정을 위해, 사용자는 PN GW에 SNPNE와 랜덤한 NPNE를 입력한다. 이때 PN GW는 사용자로부터 입력된 SNPNE를 이용하여 KPW1=H(SNPNE || count)를 생성한다. count는 게이트웨이에서 관리하는 카운트 값으로 초기에는 1으로 설정되어있고, 향후 수행되는 인증과정마다 1씩 증가하게 된다. KPW1 은 향후 PNE에 저장될 PNE 인증 키를 추가적으로 암호화하기 위한 보안 키 값으로써, 보안 수준에 따라 KPW1 생성은 수행되지 않을 수도 있다.[602단계] PN GW는 CPNS 서버와 기반 되는 인증기술(예. 3GPP GBA)을 활용하여 상호 인증과정을 수행한 뒤, 안전한 채널을 형성한다.
[603단계] PN GW는 안전한 채널을 통해 SNPNE와 NPNE를 CPNS 서버에게 전송한다. 이때 본 발명의 실시예에서는 PN GW와 CPNS 서버의 공유된 키인 KGS 로 암호화(Encrypt)하여 전송하는 경우를 예로 들어 설명하고 있으나 이 방식에 국한되지는 않고 다양한 방식을 적용할 수 있다.
[604단계] CPNS 서버는 SNPNE를 통해 디바이스 사용자가 SNPNE를 PN GW를 통해 입력했음을 확인 한 후, 랜덤한 수 NServer를 생성하여 SeedPNE=H(NPNE || NServer)를 생성한다. 그 후에 CPNS 서버는 생성된 SeedPNE를 통해 다음과 같이 PNE의 인증값 체인을 생성한다.
AKn=H(SeedPNE)
AKn -1=H(AKn)
AKn -2=H(AKn -1)
...
AK2=H(AK3)
AK1=H(AK2)
인증 값 체인을 생성하는 이유는 PNE가 하나의 PNE 인증 값을 영구적으로 안전하게 저장할 수 있는 공간을 구현하기가 어렵기 때문에 이를 보완하고자 함이다. PNE가 인증을 요청하거나 인증 값 체인이 만료될 때마다 AKPNE값을 생성된 체인 값 내에서 갱신할 수 있으므로, PNE 인증 값이 외부에 노출되더라도 안정성을 보장할 수 있다.
인증 체인의 길이는 서비스 공급자에 의해 결정되며, 만료된 인증체인은 PN GW와 CPNS 서버의 통신을 통해 업데이트 되어야 한다. 예를 들어 30일마다 서비스를 갱신하려면 인증 체인의 길이는 30개 정도로 설정을 하며, 1년 단위로 서비스를 갱신하려면 인증 체인의 길이는 365개 정도로 설정할 수 있다. 만료된 인증체인을 갱신하기 위해서는 PNE 사용자가 정당한 SNPNE를 다시 입력하여 등록과정을 거쳐야 한다.
[605단계] CPNS 서버는 PNE의 인증 값 체인을 생성한 뒤, 안전한 채널을 통해 [AKPNE]와 TKPNE를 PN GW에게 전송한다. 이 경우에도 PN GW와 CPNS 서버의 공유된 키인 KGS 로 암호화(Encrypt)하여 전송하는 경우를 명기하고 있으나 이 방식에 국한되지는 않고 다양한 방식을 적용할 수 있다.
[606단계] PN GW는 [AKPNE]와 TKPNE를 전송 받은 후, 이 정보들을 자신의 저장 공간에 저장한다.
[607단계] PN GW는 [AKPNE]중 첫 번째 인증 값인 AK1을 KPW1으로 암호화하고 이를 TKPNE로 암호화하여 PNE에게 전송한다. [AKPNE]중 이때 AK1을 KPW1으로 암호화하는 이유는 PNE가 도난당하더라도 PNE에 저장된 정보를 통해 AK1을 알 수 없게 하기 위해서이다. AK1을 KPW1으로 암호화하는 과정은 601 단계에서 KPW1가 생성되지 않았을 경우 필요에 따라 생략될 수 있다. 또한 AK1을 KPW1으로 암호화한 값을TKPNE 으로 암호화하는 이유는 PNE 와 PN GW 사이의 전송채널에 안전성을 제공하기 위함이다.
[608단계] PNE는 암호화된 E_KPW1(AK1)을 자신의 저장 공간에 저장한다.
도 7은 PNE 인증 정보 저장 과정의 또 다른 실시 예에 따르는 일련의 동작 흐름도로, 도 7을 참조하면, PNE, PN GW, CPNS 서버와 제조사 기기 관리 서버간 PNE 인증 키, PNE 할당 키들을 저장하는 일련의 동작은 아래와 같은 단계를 수행할 수 있다.
[701단계] 사용자는 PN GW에 SNPNE와 랜덤한 NPNE를 입력한다. 이때 PN GW는 SNPNE를 이용하여 KPW1=H(SNPNE || count)를 생성한다. 이때 count는 게이트웨이에서 관리하는 카운트 값으로 초기에는 1으로 설정되어있고, 향후 수행되는 인증과정마다 1씩 증가하게 된다. SNPNE는 PNE 엔터티 식별자(PNE Entity ID)를 나타내며 그 형태는 PNE가 PNE와 게이트웨이 중 어떤 역할을 하느냐에 따라 각각 SN.PNE, SN.PNGW로 표현된다. KPW1 은 향후 PNE에 저장될 PNE 인증 키를 추가적으로 암호화하기 위한 보안 키 값으로써, 보안 수준에 따라 KPW1 생성은 수행되지 않을 수도 있다.
[702단계] PN GW는 CPNS 서버와 기반 되는 인증 기술(예. 3GPP GBA)을 활용하여 상호 인증과정을 수행한 뒤, 안전한 채널을 형성한다.
[703단계] PN GW는 안전한 채널을 통해 SNPNE와 NPNE를 CPNS 서버에게 전송한다. 본 실시예에서는 PN GW와 CPNS 서버의 공유된 키인 KGS 로 암호화(Encrypt)하여 전송하는 경우를 명기하고 있으나 이 방식에 국한되지는 않는다.
[704단계] CPNS 서버는 SNPNE, NPNE를 확인 한 후, 랜덤한 수 NServer를 생성하여 SeedPNE=H(NPNE || NServer)를 생성한다. 그 후에 CPNS 서버는 생성된 SeedPNE를 통해 다음과 같이 PNE의 인증 값 체인을 생성한다.
AKn=H(SeedPNE)
AKn -1=H(AKn)
AKn -2=H(AKn -1)
...
AK2=H(AK3)
AK1=H(AK2)
인증 체인의 길이는 서비스 공급자에 의해 결정되며, 만료된 인증체인은 PN GW와 CPNS 서버의 통신을 통해 업데이트 되어야 한다. 예를 들어 30일마다 서비스를 갱신하려면 인증 체인의 길이는 30개 정도로 설정을 하며, 1년 단위로 서비스를 갱신하려면 인증 체인의 길이는 365개 정도로 설정할 수 있다. 만료된 인증체인을 갱신하기 위해서는 PNE 사용자가 정당한 SNPNE를 다시 입력하여 등록과정을 거쳐야 한다.
[705단계] CPNS 서버는 SNPNE를 안전한 채널을 통해 제조사 기기 관리 서버에게 전송한다.
[706단계] 제조사 기기 관리 서버는 SNPNE 확장자(*.PNE, *.PNGW)를 제외한 일렬 번호가 유효한 일련 번호인지 확인한다.
[707단계] 제조사 기기 관리 서버는 SNPNE 확인과정을 마친 후, SNPNE에 해당하는 PNE 할당 키(TKPNE)를 안전한 채널을 통해 CPNS 서버에게 전송한다.
[708단계] CPNS 서버는 사용자로부터 입력된 SNPNE와 그에 상응하는 제조사 기기 관리 서버로부터 전송된 TKPNE를 안전한 저장 공간에 저장한다. SNPNE와 TKPNE는 이후 PNE와 CPNS 서버의 인증 절차에서 사용된다.
[709단계] CPNS 서버는 PNE의 인증 값 체인을 생성한 뒤, 안전한 채널을 통해 [AKPNE]와 TKPNE를 PN GW에게 전송한다. 이 경우에, PN GW와 CPNS 서버의 공유된 키인 KGS 로 암호화(Encrypt)하여 전송하는 경우를 예로 들어 도시사고 있으나, 이 방식에 국한되지는 않는다.
[710단계] PN GW는 [AKPNE]와 TKPNE를 전송 받은 후, 이 정보들을 자신의 저장 공간에 저장한다.
[711단계] PN GW는 [AKPNE]중 첫 번째 인증 값인 AK1을 KPW1으로 암호화하고 이를 TKPNE로 암호화하여 PNE에게 전송한다. 이때 AK1을 KPW1으로 암호화하는 이유는 PNE가 도난당하더라도 PNE에 저장된 정보를 통해 AK1을 알 수 없게 하기 위해서이다. AK1을 KPW1으로 암호화하는 과정은 701 단계에서 KPW1가 생성되지 않았을 경우 필요에 따라 생략될 수 있다. 또한 AK1을 KPW1으로 암호화한 값을TKPNE 으로 암호화하는 이유는 PNE 와 PN GW 사이의 전송채널에 안전성을 제공하기 위함이다.
[712단계] PNE는 TKPNE 로 암호화된 E_KPW1(AK1) 또는 AK1을 자신의 저장 공간에 저장한다.
나) PNE - CPNS 인증과정
도 8은 본 발명의 PNE와 CPNS 서버간의 PN GW를 통한 인증 동작의 흐름도이다. 도 8을 참조하면, PNE와 CPNS 서버간의 PN GW를 통한 인증 동작은 아래와 같은 단계를 수행할 수 있다.
[800 단계] PN GW는 PNE가 인증 요청 메시지인 Authentication RequestPNE를 전송하도록 트리거 메시지(Trigger Message)를 PNE에게 전송한다.
[801단계] PNE는 인증을 위해 인증 요청 메시지인 Authentication RequestPNE를 PN GW에게 전송한다.
[802단계] PN GW는 CPNS 서버와 기반 되는 인증기술(예. 3GPP GBA)을 활용하여 상호 인증과정을 수행 한 뒤, 안전한 채널을 형성한다.
[803단계] PN GW는 안전한 채널을 통해 인증 요청 메시지인 Authentication RequestPNE를 CPNS 서버에 전송한다.
[804단계] Authentication RequestPNE를 전송받은 CPNS 서버는 랜덤한 수 R을 생성 한 뒤, PNE가 CPNS 서버에게 인증 받기 위한 값인 AN=H(R || TKPNE)를 생성한다.
[805단계] CPNS 서버는 안전한 채널을 통해 AN과 R을 PN GW에게 전송한다.
[806단계] AN과 R을 받은 PN GW는 KPW1=H(SNPNE || count)을 생성한다. 그 후, count를 1증가시켜 KPW2=H(SNPNE || count)을 생성하여 TKPNE로 암호화된 E_TKPNE(KPW1)와 KPW2로 암호화된 E_KPW2(AK2)을 계산한다. 모든 과정을 수행한 PN GW는 TKPNE를 TKPNE' = H(TKPNE)로 변경한다. 이때 인증 값 AKPNE의 암호화 키를 지속적으로 바꾸는 이유는 공격자가 PNE의 저장 공간에 저장된 TKPNE를 얻은 후, PNE와 PN GW의 통신세션을 도청하여 PW1을 알게 되더라도, 지속적으로 세션을 도청하지 않는 이상 AKPNE의 암호화 키를 알 수 없게 하기 위해서이다.
[807단계] PN GW는 E_TKPNE(KPW1 || E_KPW2(AK2) || AN || R)을 PNE에게 전송한다.
[808단계] PNE는 자신의 저장 공간에 저장된 TKPNE과 전송된 R을 이용하여 AN이 정당한 CPNS 서버에서 생성되었는지 확인 한 후, TKPNE로 전송된 값을 복호화하여 KPW1을 얻은 뒤, KPW1으로 E_KPW1(AK1)를 복호화하여 AK1을 얻는다. PNE는 또한 TKPNE로 AK1를 암호화하여 E_TKPNE(AK1)을 계산한다. 그 후, PNE는 자신의 저장공간에서 E_KPW1(AK1)을 삭제 한 뒤, PN GW로부터 전송된 E_KPW2(AK2)를 저장하며, TKPNE를 TKPNE' 로 대체한다.
[809단계] PNE는 E_TKPNE(AK1)을 PN GW에게 전송한다.
[810단계] PN GW는 PNE로부터 전송 받은 E_TKPNE(AK1)와 자신의 저장 공간에 저장된 count값에서 1을 뺀 값 C를 안전한 채널을 통해 CPNS 서버에게 전송한다.
[811단계] CPNS 서버는 PN GW로부터 E_TKPNE(AK1)와 C를 전송 받은 후, 자신의 저장공간에 저장된 TKPNE로 E_TKPNE(AK1)를 복호화하여 AK1을 얻는다. 그 후, CPNS 서버는 자신의 저장 공간에 저장된 SeedPNE를 활용하여 AK1이 Hn -c+1(SeedPNE)과 같은지를 확인한다. 확인과정을 통과하면 CPNS 서버는 PNE가 정당한 AK1을 보냈음을 인증 한다. 그 후, CPNS 서버는 TKPNE를 TKPNE' 로 대체한다. 만약 AK1이 Hn -c+1(SeedPNE)과 다르다면 인증세션을 중단한다.
[812단계] AK1 확인 과정이 통과하면, CPNS 서버는 인증 확인 메시지인 Confirmation Response 메시지를 전송한다. PN GW는 PNE에게 Confirmation Response를 전달한다.
[813단계] 모든 인증이 완료된 이후에 PNE와 CPNS 서버는 아래 식과 같이, 키 유도 함수인 KEY_DERIVATION()를 이용하여 공통 세션키 SK를 생성한다.
SK = KEY_DERIVATION(AK1)
2. PNE 디바이스 디스플레이를 활용한 패스워드 기반 인증 방식
본 방식은 디바이스 등록 절차와, 인증 절차로 나눠지며, 서버에 모든 PNE 디바이스 하드웨어 고유의 주소값(MAC)을 사전에 등록하여 디바이스 인증에 활용한다. 또한 본 방식에 따르면 대부분의 가전 단말이 단순한 숫자나 알파벳 문자들을 디스플레이할 방법이 지원되고 있음을 가정한다.
가) PNE 디바이스 초기 등록과정
도 9a, 도 9b는 본 발명의 다른 실시예에 따른 PNE의 CPNS 서버 등록 동작의 흐름도이다. 도 9a, 9b를 참조하면, PNE와 CPNS 서버간 초기 등록 동작은 아래와 같은 단계를 수행할 수 있다.
[901단계] 사용자의 서비스 인증을 위한 자신의 아이디 IDUSER와 패스워드 PWUSER를 정하고 웹 서비스를 통해 서비스에 가입한다. 이때 사용자의 IDUSER와 PWUSER는 사용자 자신의 서비스 인증을 위해 사용된다. 그리고 사용자는 자신이 CPNS 서버에 사용하려는 디바이스(들)의 물리 주소 (MACPNE)를 함께 CPNS 서버에 등록한다. 이러한 901단계를 수행할 경우에 도 9b의 902단계는 수행하지 않는다.
[902단계] 상기 901단계와는 별도로 사용자는 자신이 소지한 PN GW를 이용하여 서비스 인증을 위한 자신의 아이디 IDUSER와 패스워드 PWUSER를 CPNS 서버에 등록할 수 있다. 이러한 902단계를 수행할 경우에는 상기 901단계는 수행하지 않는다.
[903단계] CPNS 서버는 입력받은 사용자의 IDUSER, PWUSER, MACPNE를 DB에 저장한다.
나) PNE 디바이스 인증과정
도 10은 본 발명의 다른 실시예에 따른, PNE와 CPNS 서버간의 PN GW를 통한 인증 동작의 흐름도이다. 도 10을 참조하면, PNE와 CPNS 서버간 PN GW를 통한 인증 동작은 아래와 같은 단계를 수행할 수 있다.
[1001단계] PNE 디바이스 등록과정을 위해 PN GW와 CPNS 서버는 충분히 저장 공간을 가지고 있고, 기반 되는 인증기술(예, 3GPP GBA)을 이용하여 상호 인증과정을 마치고 안전한 채널을 형성한다. 다시 말해, PN GW와 CPNS 서버 간에 발생하는 트래픽의 기밀성은 보장된다.
[1002단계] PNE 디바이스는 자신의 게이트웨이가 되는 PN GW와 페어링 과정을 수행한다.
[1003단계] PNE 디바이스는 PN GW에게 인증 요청(Authentication Request)을 수행한다. 이때 인증요청을 최초 시도하는 개체는 사용자이므로, PNE 디바이스에 인증요청을 가능하게 하는 특정 기능을 구성하거나 또는 PN GW 자체에 사용자가 인증 요청을 가능하게 하는 유저 인터페이스를 구성하여 시도될 수 있다.
[1004단계] 인증 요청시 PN GW는 인증 요청을 시도하게 되는 PNE 디바이스의 물리주소를 저장한다.
[1005단계] PN GW는 CPNS 서버에게 인증 요청 메시지인 Authentication Request를 전달한다. 이때 인증요청을 하는 PNE의 MACPNE를 함께 전달한다.
[1006단계] Authentication Request를 전달받은 CPNS 서버는 자신의 사용자 DB에서 해당하는 MACPNE를 검색하고, 존재하는 레코드가 발견되면 인증세션에 사용될 임의의 수 R을 생성한다. 만약 자신의 DB에 해당하는 MACPNE가 존재하지 않으면, 인증을 거부한다.
[1007단계] CPNS 서버는 인증 응답 메시지인 Authentication Response에 상기 R을 포함하여 PN GW에 전송한다.
[1008단계] PN GW는 전달받은 인증 응답 메시지에 포함된 R을 저장하고, PIN 생성에 함께 사용될 NONCE를 생성한다.
[1009단계] PN GW는 PNE에게 Authentication Response에 R과 NONCE를 포함하여 전송한다.
[1010단계] PNE는 아래 식과 같이, 정해진 PIN 생성함수 GEN_PIN()을 통해 PIN을 생성한다. 이때, GEN_PIN() 함수는 일 방향 성질(1 way-Function)을 가지고 있어야 한다.
PIN = GEN_PIN(R,NONCE,MACPNE)
그리고, PNE는 자신이 생성하는 랜덤 PIN(Random Pin: RP)를 생성한다. 이때 RP는 PNE가 가지는 디스플레이에서 표현 가능한 문자열로서 숫자가 사용되거나 숫자와 알파벳 문자열이 혼용되어 사용된다. PNE는 생성된 정보를 PIN || RP의 형태로 디스플레이에 나타내고 응답을 대기한다.
[1011단계](B.11) 사용자는 PNE 디스플레이에 나타난 PIN || RP를 PN GW에 입력한다. PNE와 PN GW 사이에 형성된 채널을 통하지 않고 사용자가 보여진 정보를 직접 PN GW에 입력하기 때문에, PNE - PN GW간 채널의 기밀성에 의존하지 않고 안전한 통신을 수행할 수 있다. PN GW는 아래 식과 같이 PIN'을 생성하여 1차적으로 PIN 검증을 시도한다.
PIN' = GEN_PIN(R,NONCE,MACPNE)
이때, PIN 검증이 실패하면 인증 세션을 종료한다. PN GW에서 우선적으로 잘못된 인증 요청을 차단함으로서, 서버의 인증에 사용되는 부하를 줄일 수 있다.
[1012단계] PIN 정보가 올바를 경우, PN GW는 추가적으로 사용자에게 IDUSER/PWUSER를 입력 받는다. 그리고 입력받은 PWUSER를 이용하여 아래 식과 같이, PNE의 서버 인증을 위한 W를 생성한다.
W = H((H(PWUSER) || R || NONCE || PIN || RP)
[1013단계] PN GW는 CPNS 서버에게 확인 요청 Confirmation Request 메시지를 전송한다. 이때, 메시지에 IDUSER, W, NONCE, RP가 포함된다.
[1014단계] CPNS 서버는 아래 식과 같이, PIN'을 계산하고 W'을 함께 계산하여 사용자 및 PNE의 유효성을 검사한다. 만약 W와 W'이 다르다면 인증 세션을 중단한다.
PIN' = GEN_PIN(R,NONCE,MACPNE)
W' = H((H(PWUSER) || R || NONCE || PIN' || RP)
[1015단계] CPNS 서버는 인증 확인 메시지인 Confirmation Response 메시지를 전송한다. PN GW는 PNE에게 Confirmation Response를 전달하고 게이트웨이 서비스를 계속 수행한다.
[1016단계] 모든 인증이 완료된 이후에 PNE와 CPNS 서버는 아래 식과 같은 키 유도 함수인 KEY_DERIVATION()를 이용하여 공통 세션키 SK를 생성한다.
SK = KEY_DERIVATION(RP)
상기와 같이 본 발명의 실시예들에 따른 PNE 디바이스의 인증을 위한 동작이 이루어질 수 있으며, 한편 상기한 본 발명의 설명에서는 구체적인 실시예에 관해 설명하였으나 여러 가지 변형이 본 발명의 범위를 벗어나지 않고 실시될 수 있다.

Claims (11)

  1. 개인망 엔티티(Personal Network Entity: PNE) 인증을 위한 방법에 있어서,
    개인망 게이트웨이(Personal Network GateWay: PN GW)에서, PNE의 일련번호(SNPNE)를 CPNS(Converged Personal Network Service) 서버로 보내는 과정과,
    상기 PN GW에서, 상기 CPNS 서버로부터 수신된 PNE의 인증값 체인 및 해당 PNE의 비밀정보인 고유한 할당 키(TKPNE)를 저장하는 과정과,
    상기 PN GW에서, 상기 인증값 체인 중 선택된 인증 값을 상기 해당 PNE의 고유한 할당 키(TKPNE)로 암호화하는 과정과,
    상기 PN GW에서, 상기 암호화된 인증 값을여 해당 PNE에 전송하여, 해당 PNE에서 상기 암호화된 인증 값이 저장되도록 하는 과정과,
    상기 PN GW에서, 상기 PNE에 저장된 암호화된 인증 값을 이용하여 상기 PNE와 상기 CPNS 서버간의 인증 절차를 수행하는 과정을 포함함을 특징으로 하는 인증 방법.
  2. 제1항에 있어서, 상기 PN GW는 상기 PNE의 일련번호(SNPNE)를 이용하여 암호화 키(KPW)를 생성하며, 상기 인증값 체인 중 선택된 인증 값을 상기 암호화 키(KPW)로 암호화한 후에 상기 해당 PNE의 고유한 할당 키(TKPNE)로 암호화함을 특징으로 하는 인증 방법.
  3. 제1항에 있어서,
    상기 CPNS 서버는 웹 서비스를 통해 상기 PNE의 일련번호(SNPNE)를 제공받아 제조사 기기 관리 서버로 이를 전송하여 해당 PNE의 일련번호(SNPNE)를 확인받으며, 상기 제조사 기기 관리 서버로부터 해당 PNE의 비밀정보인 상기 고유한 할당 키(TKPNE) 제공받아 상기 PNE의 일련번호(SNPNE)와 함께 미리 등록해 두는 것을 특징으로 하는 인증 방법.
  4. 제1항에 있어서,
    상기 CPNS 서버는 상기 PN GW를 통해 상기 PNE의 일련번호(SNPNE)를 제공받아 제조사 기기 관리 서버로 이를 전송하여 해당 PNE의 일련번호(SNPNE)를 확인받으며, 상기 제조사 기기 관리 서버로부터 해당 PNE의 비밀정보인 상기 고유한 할당 키(TKPNE) 제공받아 상기 PNE의 일련번호(SNPNE)와 함께 미리 등록해 두는 것을 특징으로 하는 인증 방법.
  5. 제1항에 있어서,
    상기 CPNS 서버는 상기 PN GW로부터 상기 PNE의 일련번호(SNPNE)를 수신시에 이를 제조사 기기 관리 서버로 이를 전송하여 해당 PNE의 일련번호(SNPNE)를 상기 제조사 기기 관리 서버로부터 확인받으며, 상기 제조사 기기 관리 서버로부터 해당 PNE의 비밀정보인 상기 고유한 할당 키(TKPNE) 제공받아 상기 PNE의 일련번호(SNPNE)와 함께 저장함을 특징으로 하는 인증 방법.
  6. 제2항 내지 제5항 중 어느 한 항에 있어서, 상기 PN GW에서, 상기 PNE와 상기 CPNS 서버간의 인증 절차를 수행하는 과정은,
    상기 PNE로부터 인증 요청시에, 상기 PN GW는 상기 CPNS 서버로 인증 요청 정보를 전송하며, 상기 CPNS 서버는 랜덤 한 수 R을 생성 한 뒤, 해쉬함수 H()를 이용하여 AN=H(R || TKPNE)를 생성하고 상기 AN과 R을 PN GW에게 전송하는 단계와,
    상기 AN과 R을 받은 PN GW는 해시함수()를 이용하여 KPW1=H(SNPNE || count)(상기 count는 최초 1)을 생성하며, count를 1증가시켜 KPW2=H(SNPNE || count)을 생성하고, 상기 고유한 할당 키 TKPNE로 암호화된 E_TKPNE(KPW1)와 KPW2로 암호화된 E_KPW2(AK2)을 계산하고, TKPNE를 변경된 고유한 할당 키 TKPNE' = H(TKPNE)로 변경하는 단계와,
    상기 PN GW는 E_TKPNE(KPW1 || E_KPW2(AK2) || AN || R)을 PNE로 전송하는 단계와,
    상기 PNE는 자신에게 저장된 TKPNE와 전송된 R을 이용하여 AN이 정당한 CPNS 서버에서 생성되었는지 확인 하여, TKPNE로 전송된 값을 복호화하여 KPW1을 얻은 뒤, KPW1으로 E_KPW1(AK1)를 복호화하여 AK1을 얻으며, TKPNE로 AK1를 암호화하여 E_TKPNE(AK1)을 계산하고, 자신의 저장공간에서 E_KPW1(AK1)을 삭제 한 뒤, 상기 PN GW로부터 전송된 E_KPW2(AK2)를 저장하며, TKPNE를 TKPNE' 로 대체하는 단계와,
    상기 PNE가 상기 E_TKPNE(AK1)을 상기 PN GW에게 전송하는 단계와,
    상기 PN GW는 상기 PNE로부터 전송 받은 E_TKPNE(AK1)와 자신의 저장 공간에 저장된 count값에서 1을 뺀 값 C를 상기 CPNS 서버에게 전송하는 단계와,
    상기 CPNS 서버는 상기 PN GW로부터 상기 E_TKPNE(AK1)와 C를 전송 받은 후, 자신의 저장공간에 저장된 TKPNE로 E_TKPNE(AK1)를 복호화하여 AK1을 얻으며, 상기 CPNS 서버는 상기 PNE가 정당한 AK1을 보냈음을 인증하고, 상기 CPNS 서버는 TKPNE를 TKPNE' 로 대체하는 단계와,
    상기 CPNS 서버는 인증 확인 메시지를 상기 PN GW에게 전송하고, 상기 PN GW는 상기 PNE에게 이를 전달하여 인증 절차를 완료하는 단계를 포함함을 특징으로 하는 인증 방법.
  7. 개인망 엔티티(Personal Network Entity: PNE) 인증을 위한 방법에 있어서,
    인증 요청시 PN GW(Personal Network GateWay: PN GW)는 인증 요청을 시도하게 되는 PNE의 물리주소(MACPNE)를 저장하여, CPNS(Converged Personal Network Service) 서버에게 인증 요청과 더불어 상기 PNE의 물리주소(MACPNE)를 전달하는 과정과,
    상기 CPNS 서버는 상기 PNE의 물리주소(MACPNE)를 확인하여, 인증세션에 사용될 랜덤한 수 R을 생성하며, 인증 응답과 더불어 상기 R을 전송하는 과정과,
    상기 PN GW는 상기 CPNS 서버로부터 전송된 R을 저장하고, PIN 생성에 함께 사용될 NONCE를 생성하고, 상기 PNE에게 인증 응답과 더불어 상기 R과 NONCE을 전송하는 과정과,
    상기 PNE는 미리 정해진 PIN 생성함수를 통해 PIN을 생성하며, 랜덤 핀 RP(Random Pin)를 생성하고 생성된 PIN, RP 정보를 디스플레이하는 과정과,
    사용자로부터 상기 PNE에 디스플레이된 PIN, RP를 입력받은 상기 PN GW는 상기 PIN 생성함수를 통해 입력받은 PIN 검증을 수행하는 과정과,
    PIN 검증이 완료되면, 상기 PN GW는 사용자부터 사용자 아이디 및 패스워드(IDUSER/PWUSER)를 입력 받아, 이를 해쉬함수 H()에 적용하여 PNE가 CPNS 서버에게 인증을 위한 값인 W를 생성하고, 상기 사용자 아이디(IDUSER), W, NONCE, RP를 상기 CPNS 서버로 전송하여 확인 요청하는 과정과,
    상기 CPNS 서버는 상기 PN GW로부터 전송된 확인 요청을 위한 정보를 검사하여 사용자 및 PNE의 유효성을 검사하여, 인증 확인 메시지를 PN GW에게 전송하고, PN GW는 PNE에게 이를 전달하여 인증 절차를 완료하는 과정을 포함함을 특징으로 하는 인증 방법.
  8. 제7항에 있어서,
    상기 CPNS 서버는 웹 서비스를 통해 사용자로부터 상기 사용자 아이디 및 패스워드(IDUSER, PWUSER)를 미리 등록해 두며, 또한 사용자로부터 상기 CPNS의 물리 주소(MACPNE)를 미리 등록해 두는 것을 특징으로 하는 인증 방법.
  9. 제7항에 있어서,
    상기 CPNS 서버는 상기 PN GW를 통해 사용자로부터 상기 사용자 아이디 및 패스워드(IDUSER, PWUSER)를 미리 등록해 두며, 또한 사용자로부터 상기 CPNS의 물리 주소(MACPNE)를 미리 등록해 두는 것을 특징으로 하는 인증 방법.
  10. 개인망 엔티티(Personal Network Entity: PNE) 인증을 위한 개인망 게이트웨이(Personal Network GateWay: PN GW)에 있어서,
    PNE의 일련번호(SNPNE)를 CPNS(Converged Personal Network Service) 서버로 보내는 통신부와,
    상기 CPNS 서버로부터 수신된 PNE의 인증값 체인 및 해당 PNE의 비밀정보인 고유한 할당 키(TKPNE)를 저장하는 메모리와,
    상기 인증값 체인 중 선택된 인증 값을 상기 해당 PNE의 고유한 할당 키(TKPNE)로 암호화하는 PN(Personal Network) 관리부와,
    상기 암호화된 인증 값을 해당 PNE에 전송하여, 해당 PNE에서 상기 암호화된 인증 값이 저장되도록 하는 근거리 통신 모듈을 포함하며,
    상기 PN 관리부는 상기 PNE에 저장된 암호화된 인증 값을 이용하여 상기 PNE와 상기 CPNS 서버간의 인증 절차를 수행함을 특징으로 하는 개인망 게이트웨이.
  11. 개인망 엔티티(Personal Network Entity: PNE) 인증을 위한 방법에 있어서,
    상기 PNE에서, 개인망 게이트웨이(Personal Network GateWay: PN GW)로 상기 PNE의 인증을 요청하는 과정과,
    상기 PNE에서, 상기 PN GW로부터 인증 응답을 수신하고, 상기 인증 응답과 더불어 인증세션에서 사용될 랜덤한 수 R 및 PIN 생성을 위해 사용되는 정보를 수신하며,
    상기 PNE에서, 상기 R, 상기 정보 및 상기 PNE의 물리주소(MACPNE)를 이용하여 미리 정해진 PIN 생성함수를 통해 PIN을 생성하며, 랜덤 핀 RP(Random Pin)를 생성하는 과정과,
    상기 PNE에서, 상기 생성된 PIN, RP 정보를 디스플레이하는 과정과,
    상기 PNE에서, 상기 PN GW로부터 인증 확인 메시지를 수신하는 과정을 포함하며,
    상기 R은, 상기 PNE의 물리주소(MACPNE)가 상기 PN GW로부터 CPNS(Converged Personal Network Service) 서버로 전송되고, 상기 CPNS 서버의 사용자데이터베이스에서 상기 전송된 상기 PNE의 물리주소(MACPNE)와 대응되는 물리주소가 검색될 경우에, CPNS(Converged Personal Network Service) 서버에 의해 생성되며,
    상기 인증 확인 메시지는, 상기 PN GW 및 상기 CPNS 서버에 의해 상기 PNE의 인증이 완료될 경우에, 상기 CPNS 서버로부터 상기 PN GW로 전송된 후 상기 PN GW를 통해 상기 PNE로 전송됨을 특징으로 하는 인증 방법.
KR1020110001224A 2011-01-06 2011-01-06 개인망 엔티티 인증을 위한 방법 KR101765917B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020110001224A KR101765917B1 (ko) 2011-01-06 2011-01-06 개인망 엔티티 인증을 위한 방법
US13/345,188 US8819415B2 (en) 2011-01-06 2012-01-06 Method and device for authenticating personal network entity
PCT/KR2012/000173 WO2012093900A2 (en) 2011-01-06 2012-01-06 Method and device for authenticating personal network entity

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110001224A KR101765917B1 (ko) 2011-01-06 2011-01-06 개인망 엔티티 인증을 위한 방법

Publications (2)

Publication Number Publication Date
KR20120079892A KR20120079892A (ko) 2012-07-16
KR101765917B1 true KR101765917B1 (ko) 2017-08-24

Family

ID=46456144

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110001224A KR101765917B1 (ko) 2011-01-06 2011-01-06 개인망 엔티티 인증을 위한 방법

Country Status (3)

Country Link
US (1) US8819415B2 (ko)
KR (1) KR101765917B1 (ko)
WO (1) WO2012093900A2 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8966252B2 (en) * 2007-03-13 2015-02-24 Board Of Trustees Of Michigan State University Private entity authentication for pervasive computing environments
US9531704B2 (en) 2013-06-25 2016-12-27 Google Inc. Efficient network layer for IPv6 protocol
US9191209B2 (en) 2013-06-25 2015-11-17 Google Inc. Efficient communication for devices of a home network
US9054800B2 (en) 2013-09-11 2015-06-09 Symbol Technologies, Llc Staging a mobile device with visible light communication
CN105721153B (zh) * 2014-09-05 2020-03-27 三星Sds株式会社 基于认证信息的密钥交换系统及方法
US20170063853A1 (en) * 2015-07-10 2017-03-02 Infineon Technologies Ag Data cipher and decipher based on device and data authentication
US9769157B2 (en) * 2015-09-21 2017-09-19 American Express Travel Related Services Company, Inc. Systems and methods for secure one-time password validation
FR3045248A1 (fr) * 2015-12-15 2017-06-16 Orange Controle d'acces a un service en ligne via un reseau li-fi
CN110166234A (zh) * 2019-05-21 2019-08-23 阿里巴巴集团控股有限公司 一种业务密钥创建与业务数据加密方法、装置及系统
CN116155633B (zh) * 2023-04-23 2023-06-27 农数源(成都)科技有限公司 一种传感器外置数据安全保护与双向鉴别方法、系统、装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040064699A1 (en) 2002-09-16 2004-04-01 Hooker John Kenneth Authentication apparatus and method for universal appliance communication controller
US20060129812A1 (en) 2003-07-07 2006-06-15 Mody Sachin S Authentication for admitting parties into a network
US20070136587A1 (en) 2005-12-08 2007-06-14 Freescale Semiconductor, Inc. Method for device authentication
US20100235900A1 (en) 2009-03-13 2010-09-16 Assa Abloy Ab Efficient two-factor authentication

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007193579A (ja) * 2006-01-19 2007-08-02 Tokyo Electron Ltd 基板処理装置、ライセンス管理プログラム、ライセンス情報提供装置、ライセンス情報提供プログラム、ライセンス管理システム及び記録媒体
WO2012044072A2 (ko) * 2010-09-28 2012-04-05 엘지전자 주식회사 융합형 네트워크에서 사용자 키를 할당하기 위한 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040064699A1 (en) 2002-09-16 2004-04-01 Hooker John Kenneth Authentication apparatus and method for universal appliance communication controller
US20060129812A1 (en) 2003-07-07 2006-06-15 Mody Sachin S Authentication for admitting parties into a network
US20070136587A1 (en) 2005-12-08 2007-06-14 Freescale Semiconductor, Inc. Method for device authentication
US20100235900A1 (en) 2009-03-13 2010-09-16 Assa Abloy Ab Efficient two-factor authentication

Also Published As

Publication number Publication date
WO2012093900A3 (en) 2012-12-06
US20120179906A1 (en) 2012-07-12
KR20120079892A (ko) 2012-07-16
WO2012093900A2 (en) 2012-07-12
US8819415B2 (en) 2014-08-26

Similar Documents

Publication Publication Date Title
KR101765917B1 (ko) 개인망 엔티티 인증을 위한 방법
US10667131B2 (en) Method for connecting network access device to wireless network access point, network access device, and application server
US10638321B2 (en) Wireless network connection method and apparatus, and storage medium
KR101485230B1 (ko) 안전한 멀티 uim 인증 및 키 교환
US8582762B2 (en) Method for producing key material for use in communication with network
US9025769B2 (en) Method of registering smart phone when accessing security authentication device and method of granting access permission to registered smart phone
CN110192381B (zh) 密钥的传输方法及设备
KR101706117B1 (ko) 휴대용 단말기에서 다른 휴대용 단말기를 인증하는 장치 및 방법
JP4803145B2 (ja) 鍵共有方法、鍵配信システム
JP2010158030A (ja) セキュア通信をイニシャライズし、装置を排他的にペアリングする方法、コンピュータ・プログラムおよび装置
US9445269B2 (en) Terminal identity verification and service authentication method, system and terminal
US9648650B2 (en) Pairing of devices through separate networks
CN108352982B (zh) 通信装置、通信方法及记录介质
KR20130001655A (ko) 서로 다른 서비스 단말로 서비스를 제공하기 위한 장치 및 방법
JP2017216596A (ja) 通信システム、通信装置、通信方法、及びプログラム
KR101558557B1 (ko) 아이디와 패스워드 입력 방식을 대체하는 휴대 전화번호 기반의 회원인증 방법 및 서버 시스템
CN103152326A (zh) 一种分布式认证方法及认证系统
KR102171377B1 (ko) 로그인 제어 방법
KR20130039745A (ko) 인증 연동 시스템 및 방법
JP2021073564A (ja) 通信装置、通信方法、およびコンピュータプログラム
Peeters et al. n-auth: Mobile authentication done right
KR100921153B1 (ko) 무선 통신 네트워크 상에서의 사용자 인증 방법
JP2023512096A (ja) デバイスとリモートサーバとの間の安全な通信
JP2023506791A (ja) プライバシー情報伝送方法、装置、コンピュータ機器及びコンピュータ読み取り可能な媒体
KR102028906B1 (ko) 존 통신 시스템 및 방법

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