KR101297648B1 - 서버와 디바이스간 인증방법 - Google Patents

서버와 디바이스간 인증방법 Download PDF

Info

Publication number
KR101297648B1
KR101297648B1 KR1020110145742A KR20110145742A KR101297648B1 KR 101297648 B1 KR101297648 B1 KR 101297648B1 KR 1020110145742 A KR1020110145742 A KR 1020110145742A KR 20110145742 A KR20110145742 A KR 20110145742A KR 101297648 B1 KR101297648 B1 KR 101297648B1
Authority
KR
South Korea
Prior art keywords
server
parameter
key
authentication
secret
Prior art date
Application number
KR1020110145742A
Other languages
English (en)
Other versions
KR20130077171A (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 KR1020110145742A priority Critical patent/KR101297648B1/ko
Publication of KR20130077171A publication Critical patent/KR20130077171A/ko
Application granted granted Critical
Publication of KR101297648B1 publication Critical patent/KR101297648B1/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/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • H04L9/3273Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response for mutual authentication
    • 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
    • H04L9/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/3013Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the discrete logarithm problem, e.g. ElGamal or Diffie-Hellman systems
    • 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/3297Cryptographic 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 time stamps, e.g. generation of time stamps

Landscapes

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

Abstract

본 발명은 서버와 디바이스간 인증 방법에 관한 것으로, 보다 구체적으로, 상기 서버가 상기 디바이스로부터 수신한 상기 디바이스의 ID 및 해시된 패스워드를 암호화하여 생성한 암호화키를 상기 디바이스로 전송하는 암호화키전송단계; 상기 디바이스가 상기 서버로 통신채널을 구축하기 위한 통신요청메시지를 전송하는 통신요청단계; 상기 서버가 제1 비밀랜덤키를 생성하고, 디피헬만(Diffie-Hellman) 알고리즘을 이용하여 제1 공개키를 생성한 후, 생성한 제1 공개키를 상기 디바이스로 전송하는 공개키전송단계; 상기 디바이스가 제2 비밀랜덤키를 생성하고, 상기 제2 비밀랜덤키 및 제1 공개키를 이용하여 상기 디바이스와 서버간에 상호 공유되는 비밀키를 생성하는 비밀키생성단계; 상기 디바이스가 상기 비밀키를 이용하여 상기 서버와의 인증을 위해 사용되는 적어도 하나의 파라미터를 생성한 후, 생성된 적어도 하나의 파라미터를 상기 서버로 전송하는 파라미터전송단계; 상기 서버가 상기 적어도 하나의 파라미터로부터 암호화키를 획득하고, 자신의 서버비밀키를 이용해 상기 암호화키를 복호화한 후, 상기 디바이스의 ID를 획득하여 상기 디바이스에 대한 인증을 수행하고, 상기 적어도 하나의 파라미터로부터 타임스탬프값을 획득하고, 획득한 타임스탬프값을 암호화하여 파라미터를 생성하여 상기 디바이스로 전송하는 디바이스인증단계; 및 상기 디바이스가 상기 타임스탬프값을 암호화하여 생성된 파라미터를 복호화하여 타임스탬프값을 획득하고, 획득한 타임스탬프값을 기생성된 타임스탬프값과 비교하여 상기 서버를 인증하는 서버인증단계;를 포함하는 것을 특징으로 한다.
이러한 구성에 의해, 본 발명의 서버와 디바이스간 인증방법은 디바이스의 고유한 식별값을 서버에 저장하지 않고, 서버와 디바이스간 키 교환을 통해 상호 인증을 수행됨에 따라 상기 서버가 외부로부터 공격을 받더라도 상기 디바이스의 식별값이 노출되는 것을 방지할 수 있는 효과가 있다.

Description

서버와 디바이스간 인증방법{Authentication method between server and device}
본 발명은 서버와 디바이스간 인증방법에 관한 것으로, 특히 서버가 공격자에 의해 공격을 받더라도 서버와 디바이스간 통신채널 구축을 위한 상호 인증을 안전하게 수행할 수 있는 서버와 디바이스간 인증방법에 관한 것이다.
최근 들어, 디지털 기술의 발달로 인하여 인터넷, 컴퓨터 등의 기기들이 인간의 생활에 영향을 많이 미치고 있다. 또한 네트워크의 발달로 인하여 컴퓨터, 스마트 폰 등의 디바이스들 간의 통신을 위한 기술들도 관심을 많이 받고 있다.
이러한 기술 중 대표적인 기술이 장치 대 장치(M2M: Machine to Machine) 통신이다. 장치 대 장치 통신은 유무선 통신 방식을 이용하여 디바이스와 서버 사이의 데이터 전송을 위한 통신을 지원하는 원격 관리 및 제어 솔루션을 나타낸다. 예를 들어, 장치 대 장치 통신은 일련의 기구들을 컴퓨터의 본체에서부터 가전제품 등의 일상제품들까지 연결하고 사용이 가능하도록 해준다. 이러한 개념은 기계들이나 기기들이 원격지에서 이동 통신망을 통해서 자신의 데이터를 전송하는 것이 가능하다. 또한 점차적으로 장치 대 장치 통신의 개념은 단순한 이동 통신망의 개념을 넘어 유무선 네트워크를 활용하는 개념으로 확장되고 있는 것이 현재 추세이다.
하지만 이러한 종래의 장치 대 장치 통신기술은 통신채널 구축을 위한 상호 인증 시, 장치에 대한 고유의 식별값을 서버에 저장하도록 하는데, 이때 상기 서버가 공격자 또는 악의적인 목적을 가진 장치에 의해 공격을 받는 경우, 상기 장치의 고유한 식별값이 서버 공격에 의해 외부로 노출되어, 악용되는 문제점이 발생했다.
상술한 바와 같이, 서버와 디바이스간 인증방법에 대한 선행기술을 살펴보면 다음과 같다.
선행기술 1은 한국공개특허공보 제2011-0117564호(2011.10.27)로서, 장치 대 장치 서비스를 제공하기 위해 디바이스를 활성화시키는 방법 및 시스템에 관한 것이다. 이러한 선행기술 1은 핸드폰과 달리 항상 네트워크에서 디바이스의 연결 및 이동성을 관리하고 있지 않은 카메라, 전자책(eBook), Home Appliance 등에게 네트워크 초기화 서비스를 제공하기 위해 필요한 디바이스의 접근성을 보장하기 위한 장치 대 장치 서비스를 제공하기 위해 디바이스를 활성화시킨다.
선행기술 2는 한국등록특허공보 제1029366호(2011.04.07)로서, M2M 장치에서의 가입자 인증 정보 저장 방법 및 이를 위한 구조에 관한 것이다. 이러한 선행기술 2는 스마트카드 형태로 제공되던 가입자 인증 정보를 M2M 장치에 저장시켜, M2M장치의 크기를 감소시킬 뿐만 아니라, M2M 장치의 가입자 인증 정보 확인을 위하여, 스마트 카드를 삽입할 필요가 없으므로, M2M 장치의 크기를 줄여 휴대성을 증가시킬 수 있다. 또한, 스마트 카드가 삽입되던 공간을 다른 부가 기능을 제공하는 회로의 구현 공간으로서 확보할 수 있게 됨에 따라, M2M 장치에 다양한 기능을 추가적으로 부가할 수 있다.
상기와 같은 종래 기술의 문제점을 해결하기 위해, 본 발명은 서버와 디바이스간 통신 채널 구축을 위한 인증 시, 상기 디바이스의 고유한 식별값을 상기 서버에 저장하지 않고, 키교환을 통해 상기 서버와 디바이스간에 상호 인증을 안전하게 수행할 수 있는 서버와 디바이스간 인증방법을 제공하고자 한다.
위와 같은 과제를 해결하기 위한 본 발명의 한 실시 예에 따른 서버와 디바이스간 통신채널 구축을 위해 수행되는 서버와 디바이스간 인증 방법은 상기 서버가 상기 디바이스로부터 수신한 상기 디바이스의 ID 및 해시된 패스워드를 암호화하여 생성한 암호화키를 상기 디바이스로 전송하는 암호화키전송단계; 상기 디바이스가 상기 서버로 통신채널을 구축하기 위한 통신요청메시지를 전송하는 통신요청단계; 상기 서버가 제1 비밀랜덤키를 생성하고, 디피헬만(Diffie-Hellman) 알고리즘을 이용하여 제1 공개키를 생성한 후, 생성한 제1 공개키를 상기 디바이스로 전송하는 공개키전송단계; 상기 디바이스가 제2 비밀랜덤키를 생성하고, 상기 제2 비밀랜덤키 및 제1 공개키를 이용하여 상기 디바이스와 서버간에 상호 공유되는 비밀키를 생성하는 비밀키생성단계; 상기 디바이스가 상기 비밀키를 이용하여 상기 서버와의 인증을 위해 사용되는 적어도 하나의 파라미터를 생성한 후, 생성된 적어도 하나의 파라미터를 상기 서버로 전송하는 파라미터전송단계; 상기 서버가 상기 적어도 하나의 파라미터로부터 암호화키를 획득하고, 자신의 서버비밀키를 이용해 상기 암호화키를 복호화한 후, 상기 디바이스의 ID를 획득하여 상기 디바이스에 대한 인증을 수행하고, 상기 적어도 하나의 파라미터로부터 타임스탬프값을 획득하고, 획득한 타임스탬프값을 암호화하여 파라미터를 생성하여 상기 디바이스로 전송하는 디바이스인증단계; 및 상기 디바이스가 상기 타임스탬프값을 암호화하여 생성된 파라미터를 복호화하여 타임스탬프값을 획득하고, 획득한 타임스탬프값을 기생성된 타임스탬프값과 비교하여 상기 서버를 인증하는 서버인증단계;를 포함하는 것을 특징으로 한다.
보다 바람직하게는 상기 서버가 상기 디바이스로부터 상기 디바이스의 ID 및 해시된 패스워드를 수신하는 ID패스워드수신과정; 상기 서버가 수신한 상기 디바이스의 ID 및 해시된 패스워드를 자신의 서버비밀키를 이용하여 암호화하는 암호화과정; 및 상기 서버가 상기 디바이스의 ID 및 해시된 패스워드를 자신의 서버비밀키를 이용해 암호화하여 생성된 암호화키를 상기 디바이스로 전송하는 암호화키전송과정;을 포함하는 암호화키전송단계를 포함할 수 있다.
특히, 상기 디바이스가 상기 서버로부터 수신한 상기 암호화키를 저장하는 암호화키저장과정;을 더 포함하는 암호화키전송단계를 포함할 수 있다.
보다 바람직하게는 상기 디바이스가 자신만이 알고 있는 제2 비밀랜덤키를 생성하는 비밀랜덤키생성과정; 상기 디바이스가 상기 제2 비밀랜덤키를 디피헬만 알고리즘에 기초하여 제1 파라미터를 생성하는 제1파라미터생성과정; 및 상기 디바이스가 상기 제1 파라미터 및 상기 제1 공개키를 이용하여 비밀키를 생성하는 비밀키생성과정;을 포함하는 비밀키생성단계를 포함할 수 있다.
보다 바람직하게는 상기 디바이스가 상기 암호화키를 상기 비밀키를 이용해 암호화하여 제2 파라미터를 생성하는 제2파라미터생성과정; 상기 디바이스가 자신의 패스워드를 해시하여 해시된 패스워드를 생성하는 패스워드해시과정; 상기 디바이스가 랜덤값 및 타임스탬프값을 생성하는 랜덤값타임스탬프값생성과정; 상기 디바이스가 자신의 ID와, 상기 랜덤값 및 타임스탬프값을 스트링결합한 후, 상기 해시된 패스워드를 이용해 암호화하여 제3 파라미터를 생성하는 제3파라미터생성과정; 및 상기 디바이스가 상기 제1 내지 제3 파라미터를 상기 서버로 전송하는 파라미터전송과정; 을 포함하는 파라미터전송단계를 포함할 수 있다.
보다 바람직하게는 상기 서버가 상기 디바이스로부터 수신한 적어도 하나의 파라미터 중 제1 파라미터를 이용하여 비밀키를 생성하는 비밀키생성과정; 상기 서버가 상기 비밀키를 이용해 상기 디바이스로부터 수신한 적어도 하나의 파라미터 중 제2 파라미터를 복호화하여 암호화키를 획득하는 암호화키획득과정; 상기 서버가 상기 암호화키를 통해 자신의 서버비밀키를 이용한 암호화여부를 확인하여 상기 디바이스에 대한 인증을 수행하는 제1 디바이스인증과정; 상기 서버가 자신의 서버비밀키를 이용해 상기 암호화키를 복호화하여 상기 디바이스의 ID 및 해시된 패스워드를 획득하는 디바이스정보획득과정; 상기 서버가 해시된 패스워드를 이용해 상기 디바이스로부터 수신한 제3 파라미터를 복호화하여 상기 디바이스에 대한 ID를 획득하는 ID획득과정; 상기 서버가 상기 암호화키로부터 획득한 ID와, 상기 제3 파라미터로부터 획득한 ID간 동일여부를 확인하여 상기 디바이스를 인증하는 제2 디바이스인증과정; 및 상기 서버가 상기 디바이스로부터 수신한 제3 파라미터 중 상기 랜덤값과, 상기 타임스탬프값에 1을 더한 값을 스트링결합한 후, 상기 제2 파라미터를 이용해 암호화하여 제4 파라미터를 생성하고, 생성된 상기 제4 파라미터를 상기 디바이스로 전송하는 제4 파라미터전송과정;을 포함하는 디바이스인증단계를 포함할 수 있다.
보다 바람직하게는 상기 디바이스가 상기 서버로부터 수신한 제4 파라미터를 복호화하여 랜덤값 및 타임스탬프값을 획득하는 랜덤값타임스탬프값획득과정; 및 상기 디바이스가 상기 제4 파라미터를 복호화하여 획득한 상기 랜덤값 및 타임스탬프값에 대하여, 상기 서버로 전송한 제3 파라미터에 포함된 랜덤값 및 타임스탬프값과 동일한지 여부를 비교하여 상기 서버의 인증을 수행하는 서버인증과정;을 포함하는 서버인증단계를 포함할 수 있다.
본 발명의 서버와 디바이스간 인증방법은 디바이스의 고유한 식별값을 서버에 저장하지 않고, 서버와 디바이스간 키 교환을 통해 상호 인증을 수행됨에 따라 상기 서버가 외부로부터 공격을 받더라도 상기 디바이스의 식별값이 노출되는 것을 방지할 수 있는 효과가 있다.
또한, 본 발명의 서버와 디바이스간 인증방법은 서버에 디바이스의 고유한 식별값인 ID 및 패스워드를 저장하지 않고, 서버와 디바이스간에 키교환을 수행하기 때문에, 상기 서버가 공격을 받더라도 디바이스의 고유한 식별값이 외부로 노출되는 것을 방지함에 따라, 스푸핑 공격 및 도스 공격 등의 발생을 사전에 방지할 수 있는 효과가 있다.
더불어, 본 발명의 서버와 디바이스간 인증방법은 서버와 디바이스간에 키교환이 이루어짐에 따라, 직접적인 데이터 송수신이 발생하기 전, 상호간에 인증을 수행하여 보다 안전한 데이터 송수신이 이루어지도록 하는 효과가 있다.
도 1은 본 발명의 일 실시 예에 따른 서버와 디바이스간 인증 방법의 순서도이다.
도 2는 본 발명의 암호화키전송단계의 세부과정을 나타낸 순서도이다.
도 3은 본 발명의 비밀키생성단계의 세부과정을 나타낸 순서도이다.
도 4는 본 발명의 파라미터전송단계의 세부과정을 나타낸 순서도이다.
도 5는 본 발명의 디바이스인증단계의 세부과정을 나타낸 순서도이다.
이하, 본 발명을 바람직한 실시 예와 첨부한 도면을 참고로 하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며, 여기에서 설명하는 실시 예에 한정되는 것은 아니다.
특히, 본 발명에서 사용되는 디바이스란, 개별적인 고유의 기능을 가진 장치로서, 휴대폰, PDA(Personal Digital Assistant), 컴퓨터, 노트북, MP3 플레이어, 카메라, 텔레메틱스기, 게임기, 헬스기, 스마트 단말 등을 나타낸다.
이하, 도 1을 참조하여, 본 발명의 서버와 디바이스간 인증 방법에 대하여 자세히 살펴보도록 한다.
도 1은 본 발명의 일 실시 예에 따른 서버와 디바이스간 인증 방법의 순서도이다.
도 1에 도시된 바와 같이, 본 발명의 서버와 디바이스간 인증 방법은 본격적인 인증과정을 수행하기에 앞서, 암호화키를 생성하는 사전과정이 먼저 수행된다. 이러한 사전과정을 살펴보면, 서버(110)가 디바이스(120)로부터 상기 디바이스(120)에 대한 고유한 식별값인 ID 및 해시된 패스워드 H(pwd)를 수신하고, 이를 암호화하여 암호화키 s를 생성한 후, 생성된 암호화키 s를 상기 디바이스(120)로 전송한다(S210).
이러한 과정 S210을 도 2을 참조하여 보다 자세히 살펴보도록 한다.
도 2는 본 발명의 암호화키전송단계의 세부과정을 나타낸 순서도이다.
도 2에 도시된 바와 같이, 먼저, 상기 디바이스(120)가 자신의 고유한 식별값인 ID와, 패스워드 pwd를 해시하여 생성되는 해시된 패스워드 H(pwd)를 상기 서버(110)로 전송함으로써, 상기 서버(110)가 상기 디바이스(120)의 ID 및 해시된 패스워드 H(pwd)를 수신한다(S211).
이어서, 상기 서버(110)가 상기 디바이스(120)로부터 앞서 과정 S211을 통해 수신한 상기 디바이스(120)의 ID 및 해시된 패스워드 H(pwd)를 자신의 서버비밀키 N을 이용해 암호화하여 암호화키 s 를 생성한다(S212). 이때, 생성된 암호화키 s를 수식으로 표현하면 s = {ID∥H(pwd)N} 와 같다.
이에 따라, 상기 서버(110)는 이와 같이 생성된 암호화키 s를 상기 디바이스(120)로 전송한다(S213).
이와 같이, 상기 서버(110)로부터 암호화키 s를 수신한 상기 디바이스(120)는 수신한 상기 암호화키 s를 내부 메모리에 저장한다(S214).
다시 도 1로 돌아가서, 상기 서버(110)로부터 암호화키 s를 수신한 상기 디바이스(120)는 상기 서버(110)와의 통신채널 구축을 위해 통신요청 메시지 request를 상기 서버(110)로 전송한다(S220).
이에 따라, 상기 서버(110)는 통신을 요청한 상기 디바이스(120)을 인증하기 위하여, 제1 비밀랜덤키 rs를 생성하고, 디피헬만(Diffie-Hellman) 알고리즘에 기초하여 공개키 Y를 생성하고(S230), 생성된 상기 공개키 Y를 상기 디바이스(120)로 전송한다(S240). 이때, 상기 공개키 Y는 grsmod p를 통해 생성될 수 있다. 또한, 여기서 사용되는 상기 디피헬만 알고리즘은 두 사용자가 사전에 어떠한 비밀 교환 없이도 공중 통신망 환경에서 공통키를 교환하게 해주는 알고리즘을 나타내는 것으로, 가장 오래된 공개키 암호화시스템으로 이산 구조의 복잡함을 활용하는 것을 특징으로 한다.
이후, 상기 디바이스(120)가 제2 비밀랜덤키 rd를 생성하고, 생성된 상기 제2 비밀랜덤키 rd 및 공개키 Y를 이용하여 비밀키 Z를 생성한다(S250). 이때, 상기 비밀키 Z를 수식으로 표현하면 Z = H((B)rd mod P)이며, 이러한 비밀키 Z는 상기 서버(110)와 디바이스(120) 사이에 서로 공유된다.
이하, 도 3을 참조하여 상기 S250과정에 대하여 보다 자세히 살펴보도록 한다.
도 3은 본 발명의 비밀키생성단계의 세부과정을 나타낸 순서도이다.
도 3에 도시된 바와 같이, 디바이스(120)가 자신만이 알고 있는 제2 비밀랜덤키 rd를 먼저 생성하고(S251), 생성된 상기 제2 비밀랜덤키 rd를 디피헬만(Diffie-Hellman) 알고리즘을 통해 제1 파라미터 X를 생성한다(S252). 이때, 상기 제1 파라미터 X는 grdmod P를 통해 생성될 수 있다.
이후, 상기 디바이스(120)는 앞서 과정 S252를 통해 생성한 제1 파라미터 X 및 과정 S230을 통해 생성된 공개키 Y를 이용하여 비밀키 Z를 생성한다(S253).
다시 도 1로 돌아가서, 상기 디바이스(120)는 앞서 과정 S253을 통해 생성한 상기 비밀키 Z를 이용하여 서버(110)와의 인증을 위해 사용되는 적어도 하나의 파라미터 D, G를 생성한다(S260).
이하, 도 4를 참조하여, 과정 S260에 대하여 보다 자세히 살펴보도록 한다.
도 4는 본 발명의 파라미터전송단계의 세부과정을 나타낸 순서도이다.
도 4에 도시된 바와 같이, 디바이스(120)가 앞서 과정 S210을 통해 상기 서버(110)로부터 수신하여 내부 메모리에 저장한 암호화키 s를 과정 S250을 통해 생성한 비밀키 Z를 이용해 암호화하여 제2 파라미터 D를 생성하고(S261), D = {s}Z와 같이 나타낼 수 있다.
이어서, 상기 디바이스(120)는 자신의 패스워드 pwd를 해시하여 해시된 패스워드 C를 생성하고, C = H(pwd)와 같이 나타낼 수 있다(S262).
이에 더하여, 상기 디바이스(120)는 서버(110)와의 세션이 정상적으로 이루어졌는지 확인하기 위한 랜덤값 rdr 및 재사용공격으로부터 안전한 키교환을 위한 타임스탬프값 td을 각각 생성한다(S263).
이후, 상기 디바이스(120)가 자신의 ID와, 앞서 생성된 상기 랜덤값 rdr 및 타임스탬프값 td을 스트링결합하고, 그 스트링결합결과를 앞서 과정 S262를 통해 생성한 해시된 패스워드 C를 이용해 암호화하여 제3 파라미터 G를 생성한다(S264). 이때, 상기 제3 파라미터 G를 수식으로 나타내면, G = {rdr∥ID∥td}C 와 같다.
이에 따라, 상기 디바이스(120)는 앞서 과정 S252를 통해 생성한 제1 파라미터 X 와, 상기 과정 S261을 통해 생성한 제2 파라미터 D 및 상기 과정 S264를 통해 생성한 제3 파라미터 G를 서버(110)로 전송한다(S270).
다시 도 1로 돌아가서, 상기 서버(110)는 상기 디바이스(120)로부터 수신한 적어도 하나의 파라미터 X, D, G 로부터 디바이스(120)의 ID를 획득하여 상기 디바이스(120)에 대한 인증을 수행한다(S280).
이하 도 5를 참조하여, 상기 과정 S280에 대하여 보다 자세히 살펴보도록 한다.
도 5는 본 발명의 디바이스인증단계의 세부과정을 나타낸 순서도이다.
도 5에 도시된 바와 같이, 서버(110)가 디바이스(120)로부터 수신한 파라미터 X, D, G 중 제1 파라미터 X를 이용하여 비밀키 Z를 생성한다(S281). 이때, 상기 비밀키 Z를 수식으로 나타내면 Z = H((X) rs mod P)와 같다. 이러한 상기 서버(110)의 비밀키 Z 생성과정을 통해, 상기 비밀키 Z가 서버(110)와 디바이스(120) 사이에서 공유되는 것을 알 수 있다.
이후, 상기 서버(110)는 상기 디바이스(120)로부터 수신한 파라미터 X, D, G 중 제2 파라미터 D를 앞서 과정 S281을 통해 생성한 비밀키 Z를 이용해 복호화하여 암호화키 s를 획득한다(S282).
또한, 상기 서버(110)는 앞서 과정 S281을 통해 획득한 상기 암호화키 s가 자신의 서버비밀키 N으로 암호화되었는지 여부를 확인하고, 이를 통해 디바이스(120)에 대한 1차인증을 수행한다(S283).
상기 디바이스(120)에 대한 1차인증을 수행한 상기 서버(110)가 상기 암호화키 s를 자신의 서버비밀키 N을 이용해 복호화하여, 상기 디바이스(120)의 ID 및 해시된 패스워드 C를 획득한다(S284).
이후, 상기 서버(110)는 앞서 과정 S270을 통해 수신한 제3 파라미터 G에 대하여, 앞서 과정 S284를 통해 획득한 해시된 패스워드 C를 이용해 복호화하여 상기 디바이스(120)에 대한 ID를 획득한다(S285).
이에 따라, 상기 서버(110)는 과정 S284를 통해 나타난 바와 같이, 상기 암호화키s로부터 획득한 디바이스의 ID 및 과정 S285를 통해 나타난 바와 같이, 상기 제3 파라미터 G로부터 획득한 ID를 각각 얻게 된다.
이러한, 상기 서버(110)는 상기 암호화키 s 로부터 획득한 디바이스(120)의 ID와, 상기 제3 파라미터 G로부터 획득한 디바이스(120)의 ID를 상호 비교하여 동일여부를 확인하고, 동일한 경우에 상기 디바이스(120)에 대한 2차인증을 완료한다(S286).
이후, 상기 서버(110)가 {rdr∥ID∥td}C로 이루어진 상기 제3 파라미터 G에 포함된 랜덤값 rdr 과, 타임스탬프값 td에 1을 더한 값을 상호 스트링결합하고, 그 스트링결합결과를 상기 제2 파라미터 D를 이용해 암호화하여 제4 파라미터 K를 생성한다(S290). 이때, 생성된 상기 제4 파라미터 K를 수식으로 나타내면, K = {rdr∥td+1}D 와 같다.
상기 서버(110)는 이와 같이 생성된 상기 제4 파라미터 K를 디바이스(120)로 전송한다(S300).
이후, 상기 디바이스(120)는 상기 서버(110)로부터 수신한 상기 제4 파라미터 K를 앞서 과정 S261을 통해 생성한 상기 제2 파라미터 D를 이용해 복호화하여 랜덤값 rdr 및 타임스탬프값 td를 획득한다(S310).
이에 따라, 상기 디바이스(120)는 앞서 과정 S310을 통해 상기 제4 파라미터 K 로부터 획득한 랜덤값 rdr 및 타임스탬프값 td가 앞서 과정 S270을 통해 서버(110)로 전송된 제3 파라미터 G 에 포함된 랜덤값 rdr 및 타임스탬프값 td 와 동일한지 여부를 확인함으로써, 서버(110)에 대한 인증을 수행한다(S320).
이러한 과정을 통해 상기 서버(110)와 디바이스(120)간에 상호 인증이 완료되고, 인증이 완료된 서버와 디바이스 사이에 통신채널이 구축되어, 이후 서버와 디바이스가 데이터 송수신을 안전하게 수행하게 된다.
또한 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 장치의 예로는 ROM, RAM, CD-ROM, DVD±ROM, DVD-RAM, 자기 테이프, 플로피 디스크, 하드 디스크(hard disk), 광데이터 저장장치 등이 있다. 더불어, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 장치에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
본 발명의 서버와 디바이스간 인증방법은 디바이스의 고유한 식별값을 서버에 저장하지 않고, 서버와 디바이스간 키 교환을 통해 상호 인증을 수행됨에 따라 상기 서버가 외부로부터 공격을 받더라도 상기 디바이스의 식별값이 노출되는 것을 방지할 수 있는 효과가 있다.
또한, 본 발명의 서버와 디바이스간 인증방법은 서버에 디바이스의 고유한 식별값인 ID 및 패스워드를 저장하지 않고, 서버와 디바이스간에 키교환을 수행하기 때문에, 상기 서버가 공격을 받더라도 디바이스의 고유한 식별값이 외부로 노출되는 것을 방지함에 따라, 스푸핑 공격 및 도스 공격 등의 발생을 사전에 방지할 수 있는 효과가 있다.
더불어, 본 발명의 서버와 디바이스간 인증방법은 서버와 디바이스간에 키교환이 이루어짐에 따라, 직접적인 데이터 송수신이 발생하기 전, 상호간에 인증을 수행하여 보다 안전한 데이터 송수신이 이루어지도록 하는 효과가 있다.
상기에서는 본 발명의 바람직한 실시 예에 대하여 설명하였지만, 본 발명은 이에 한정되는 것이 아니고 본 발명의 기술 사상 범위 내에서 여러 가지로 변형하여 실시하는 것이 가능하고 이 또한 첨부된 특허청구범위에 속하는 것은 당연하다.
110: 서버 120: 디바이스

Claims (8)

  1. 서버와 디바이스간 통신채널 구축을 위해 수행되는 서버와 디바이스간 인증 방법에 있어서,
    상기 서버가 상기 디바이스로부터 수신한 상기 디바이스의 ID 및 해시된 패스워드를 암호화하여 생성한 암호화키를 상기 디바이스로 전송하는 암호화키전송단계;
    상기 디바이스가 상기 서버로 통신채널을 구축하기 위한 통신요청메시지를 전송하는 통신요청단계;
    상기 서버가 제1 비밀랜덤키를 생성하고, 디피헬만(Diffie-Hellman) 알고리즘에 기초하여 제1 공개키를 생성한 후, 생성한 제1 공개키를 상기 디바이스로 전송하는 공개키전송단계;
    상기 디바이스가 제2 비밀랜덤키를 생성하고, 상기 제2 비밀랜덤키 및 제1 공개키를 이용하여 상기 디바이스와 서버간에 상호 공유되는 비밀키를 생성하는 비밀키생성단계;
    상기 디바이스가 상기 비밀키를 이용하여 상기 서버와의 인증을 위해 사용되는 적어도 하나의 파라미터를 생성한 후, 생성된 적어도 하나의 파라미터를 상기 서버로 전송하는 파라미터전송단계;
    상기 서버가 상기 적어도 하나의 파라미터로부터 암호화키를 획득하고, 자신의 서버비밀키를 이용해 상기 암호화키를 복호화한 후, 상기 디바이스의 ID를 획득하여 상기 디바이스에 대한 인증을 수행하고, 상기 적어도 하나의 파라미터로부터 타임스탬프값을 획득하고, 획득한 타임스탬프값을 암호화하여 파라미터를 생성하여 상기 디바이스로 전송하는 디바이스인증단계; 및
    상기 디바이스가 상기 타임스탬프값을 암호화하여 생성된 파라미터를 복호화하여 타임스탬프값을 획득하고, 획득한 타임스탬프값을 기생성된 타임스탬프값과 비교하여 상기 서버를 인증하는 서버인증단계;
    를 포함하되,
    상기 비밀키생성단계는
    상기 디바이스가 자신만이 알고 있는 제2 비밀랜덤키를 생성하는 비밀랜덤키생성과정;
    상기 디바이스가 상기 제2 비밀랜덤키를 디피헬만 알고리즘에 기초하여 제1 파라미터를 생성하는 제1파라미터생성과정; 및
    상기 디바이스가 상기 제1 파라미터 및 상기 제1 공개키를 이용하여 비밀키를 생성하는 비밀키생성과정;
    을 포함하며,
    상기 파라미터전송단계는
    상기 디바이스가 상기 암호화키를 상기 비밀키를 이용해 암호화하여 제2 파라미터를 생성하는 제2파라미터생성과정;
    상기 디바이스가 자신의 패스워드를 해시하여 해시된 패스워드를 생성하는 패스워드해시과정;
    상기 디바이스가 랜덤값 및 타임스탬프값을 생성하는 랜덤값타임스탬프값생성과정;
    상기 디바이스가 자신의 ID와, 상기 랜덤값 및 타임스탬프값을 스트링결합한 후, 상기 해시된 패스워드를 이용해 암호화하여 제3 파라미터를 생성하는 제3파라미터생성과정; 및
    상기 디바이스가 상기 제1 내지 제3 파라미터를 상기 서버로 전송하는 파라미터전송과정;
    을 포함하는 것을 특징으로 하는 서버와 디바이스간 인증방법.
  2. 제1항에 있어서,
    상기 암호화키전송단계는
    상기 서버가 상기 디바이스로부터 상기 디바이스의 ID 및 해시된 패스워드를 수신하는 ID패스워드수신과정;
    상기 서버가 수신한 상기 디바이스의 ID 및 해시된 패스워드를 자신의 서버비밀키를 이용하여 암호화하는 암호화과정; 및
    상기 서버가 상기 디바이스의 ID 및 해시된 패스워드를 자신의 서버비밀키를 이용해 암호화하여 생성된 암호화키를 상기 디바이스로 전송하는 암호화키전송과정;
    을 포함하는 것을 특징으로 하는 서버와 디바이스간 인증 방법.
  3. 제2항에 있어서,
    상기 암호화키전송단계는
    상기 디바이스가 상기 서버로부터 수신한 상기 암호화키를 저장하는 암호화키저장과정;
    을 더 포함하는 것을 특징으로 하는 서버와 디바이스간 인증 방법.
  4. 삭제
  5. 삭제
  6. 제1항에 있어서,
    상기 디바이스인증단계는
    상기 서버가 상기 디바이스로부터 수신한 적어도 하나의 파라미터 중 제1 파라미터를 이용하여 비밀키를 생성하는 비밀키생성과정;
    상기 서버가 상기 비밀키를 이용해 상기 디바이스로부터 수신한 적어도 하나의 파라미터 중 제2 파라미터를 복호화하여 암호화키를 획득하는 암호화키획득과정;
    상기 서버가 상기 암호화키를 통해 자신의 서버비밀키를 이용한 암호화여부를 확인하여 상기 디바이스에 대한 인증을 수행하는 제1 디바이스인증과정;
    상기 서버가 자신의 서버비밀키를 이용해 상기 암호화키를 복호화하여 상기 디바이스의 ID 및 해시된 패스워드를 획득하는 디바이스정보획득과정;
    상기 서버가 해시된 패스워드를 이용해 상기 디바이스로부터 수신한 제3 파라미터를 복호화하여 상기 디바이스에 대한 ID를 획득하는 ID획득과정;
    상기 서버가 상기 암호화키로부터 획득한 ID와, 상기 제3 파라미터로부터 획득한 ID간 동일여부를 확인하여 상기 디바이스를 인증하는 제2 디바이스인증과정; 및
    상기 서버가 상기 디바이스로부터 수신한 제3 파라미터 중 상기 랜덤값과, 상기 타임스탬프값에 1을 더한 값을 스트링결합한 후, 상기 제2 파라미터를 이용해 암호화하여 제4 파라미터를 생성하고, 생성된 상기 제4 파라미터를 상기 디바이스로 전송하는 제4 파라미터전송과정;
    을 포함하는 것을 특징으로 하는 서버와 디바이스간 인증방법.
  7. 제6항에 있어서,
    상기 서버인증단계는
    상기 디바이스가 상기 서버로부터 수신한 제4 파라미터를 복호화하여 랜덤값 및 타임스탬프값을 획득하는 랜덤값타임스탬프값획득과정; 및
    상기 디바이스가 상기 제4 파라미터를 복호화하여 획득한 상기 랜덤값 및 타임스탬프값에 대하여, 상기 서버로 전송한 제3 파라미터에 포함된 랜덤값 및 타임스탬프값과 동일한지 여부를 비교하여 상기 서버의 인증을 수행하는 서버인증과정;
    을 포함하는 것을 특징으로 하는 서버와 디바이스간 인증 방법.
  8. 제1항 내지 제3항 또는 제6항 내지 제7항 중 어느 한 항에 따른 방법을 컴퓨터로 실행하기 위한 프로그램이 기록된 컴퓨터 판독가능 기록매체.
KR1020110145742A 2011-12-29 2011-12-29 서버와 디바이스간 인증방법 KR101297648B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110145742A KR101297648B1 (ko) 2011-12-29 2011-12-29 서버와 디바이스간 인증방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110145742A KR101297648B1 (ko) 2011-12-29 2011-12-29 서버와 디바이스간 인증방법

Publications (2)

Publication Number Publication Date
KR20130077171A KR20130077171A (ko) 2013-07-09
KR101297648B1 true KR101297648B1 (ko) 2013-08-19

Family

ID=48990475

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110145742A KR101297648B1 (ko) 2011-12-29 2011-12-29 서버와 디바이스간 인증방법

Country Status (1)

Country Link
KR (1) KR101297648B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11381388B2 (en) 2018-11-27 2022-07-05 Samsung Electronics Co., Ltd. Storage device sharing data encryption key as encrypted and operating method of storage device

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101464724B1 (ko) * 2013-10-15 2014-11-27 순천향대학교 산학협력단 멀티 클라우드 환경을 위한 OpenID 기반의 사용자 인증 기법
KR101633924B1 (ko) * 2014-07-31 2016-06-27 디바이스디자인(주) Mac 주소 인증을 이용한 무선 통신 장치 및 방법
KR101837150B1 (ko) * 2016-06-30 2018-03-09 (주)넷비젼텔레콤 프록시 서비스 제공을 위한 프록시 인증시스템 및 인증방법
KR102027329B1 (ko) * 2017-12-13 2019-10-01 (주)네오와인 프로그램 실행권한 인증 방법 및 시스템
CN109831457B (zh) * 2019-03-15 2020-03-17 四川长虹电器股份有限公司 一种iOS应用数据传输方法
KR20200112559A (ko) 2019-03-22 2020-10-05 삼성전자주식회사 통신 방법 및 통신 디바이스
CN111444499B (zh) * 2020-03-31 2022-12-06 中国人民解放军海军潜艇学院 用户身份认证方法及***
KR102329580B1 (ko) * 2020-11-10 2021-11-23 주식회사 아톰릭스랩 복수의 제3자 위탁 운영 시스템에 대한 암호키 배포 및 복구 방법
KR102328896B1 (ko) * 2020-11-10 2021-11-22 주식회사 아톰릭스랩 제3자 위탁 운영 시스템에 대한 암호키 배포 및 복구 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5633929A (en) 1995-09-15 1997-05-27 Rsa Data Security, Inc Cryptographic key escrow system having reduced vulnerability to harvesting attacks
KR20020040378A (ko) * 2000-11-24 2002-05-30 구자홍 공개키 기반의 패스워드 비전송 인증방법
KR20080051947A (ko) * 2006-12-07 2008-06-11 인하대학교 산학협력단 변형 디피 헬만 기반 키교환 방법
KR20090012013A (ko) * 2007-07-26 2009-02-02 성균관대학교산학협력단 커버로스를 이용한 상호 인증 방법 및 그 시스템

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5633929A (en) 1995-09-15 1997-05-27 Rsa Data Security, Inc Cryptographic key escrow system having reduced vulnerability to harvesting attacks
KR20020040378A (ko) * 2000-11-24 2002-05-30 구자홍 공개키 기반의 패스워드 비전송 인증방법
KR20080051947A (ko) * 2006-12-07 2008-06-11 인하대학교 산학협력단 변형 디피 헬만 기반 키교환 방법
KR20090012013A (ko) * 2007-07-26 2009-02-02 성균관대학교산학협력단 커버로스를 이용한 상호 인증 방법 및 그 시스템

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11381388B2 (en) 2018-11-27 2022-07-05 Samsung Electronics Co., Ltd. Storage device sharing data encryption key as encrypted and operating method of storage device

Also Published As

Publication number Publication date
KR20130077171A (ko) 2013-07-09

Similar Documents

Publication Publication Date Title
KR101297648B1 (ko) 서버와 디바이스간 인증방법
US10693848B2 (en) Installation of a terminal in a secure system
CN103596173B (zh) 无线网络认证方法、客户端及服务端无线网络认证装置
JP6406681B2 (ja) プレアソシエーションサービスディスカバリのためのシステムおよび方法
US8285994B2 (en) Two-way authentication between two communication endpoints using a one-way out-of-band (OOB) channel
EP2491672B1 (en) Low-latency peer session establishment
US20160269176A1 (en) Key Configuration Method, System, and Apparatus
Liu et al. A novel asymmetric three-party based authentication scheme in wearable devices environment
CN108738017A (zh) 网络接入点中的安全通信
KR20150035971A (ko) 사물인터넷에서 스마트 디바이스 또는 스마트 센서와 네트워크 게이트웨이 사이의 안전한 데이터 전달을 위한 통신 프로토콜
CN105530238A (zh) 用于安全对话建立和数据的加密交换的计算机实现***和方法
KR20180119201A (ko) 인증 시스템을 위한 전자 장치
US20170118015A1 (en) Method for managing smart home environment, method for joining smart home environment and method for connecting communication session with smart device
CN103873487A (zh) 一种基于智能家居设备安全挂件的家居信任组网的实现方法
US10733309B2 (en) Security through authentication tokens
JP2009071707A (ja) 鍵共有方法、鍵配信システム
CN114553590B (zh) 数据传输方法及相关设备
WO2014127751A1 (zh) 无线终端配置方法及装置和无线终端
CN111654481B (zh) 一种身份认证方法、装置和存储介质
Chen et al. Enhanced authentication protocol for the Internet of Things environment
CN117041956A (zh) 通信认证方法、装置、计算机设备和存储介质
KR101745482B1 (ko) 스마트홈 시스템에서의 통신 방법 및 그 장치
KR101785382B1 (ko) 클라이언트 인증 방법, 클라이언트의 동작 방법, 서버, 및 통신 소프트웨어
Lu et al. A mutual authentication scheme with user anonymity for cyber-physical and internet of things
Ananthanarayanan et al. Space: Secure protocol for address-book based connection establishment

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
FPAY Annual fee payment

Payment date: 20160615

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170707

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180723

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190808

Year of fee payment: 7