KR101391151B1 - 세션 키를 이용한 인증 방법 및 이를 위한 장치 - Google Patents

세션 키를 이용한 인증 방법 및 이를 위한 장치 Download PDF

Info

Publication number
KR101391151B1
KR101391151B1 KR1020070054002A KR20070054002A KR101391151B1 KR 101391151 B1 KR101391151 B1 KR 101391151B1 KR 1020070054002 A KR1020070054002 A KR 1020070054002A KR 20070054002 A KR20070054002 A KR 20070054002A KR 101391151 B1 KR101391151 B1 KR 101391151B1
Authority
KR
South Korea
Prior art keywords
client
authentication information
session key
hash function
authentication
Prior art date
Application number
KR1020070054002A
Other languages
English (en)
Other versions
KR20080105872A (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 KR1020070054002A priority Critical patent/KR101391151B1/ko
Priority to US11/947,211 priority patent/US20080301436A1/en
Publication of KR20080105872A publication Critical patent/KR20080105872A/ko
Application granted granted Critical
Publication of KR101391151B1 publication Critical patent/KR101391151B1/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
    • 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
    • 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/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
    • 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/321Cryptographic 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 a third party or a trusted authority
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution
    • H04L2209/603Digital right managament [DRM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명은 서버와 인증을 완료한 클라이언트들 간에 인증을 수행하는 방법에 관한 것으로, 본 발명에 의하면 서버가 제 1 클라이언트에게 제 2 클라이언트와 서버 간에 사용되는 세션 키의 해쉬 함수값을 전송하고, 제 2 클라이언트는 난수를 생성하여 제 1 클라이언트에게 전송하면, 제 1 클라이언트는 수신된 난수 및 해쉬 함수값에 대한 해쉬 함수값을 계산하여 제 2 클라이언트에게 전송하고, 제 2 클라이언트는 제 1 클라이언트로부터 수신된 해쉬 함수값을 이용하여 제 1 클라이언트의 인증 여부를 검증할 수 있도록 한다.
본 발명에 따르면, 개인 키 및 공개 키를 이용한 암호화 과정 및 복호화 과정이 필요하지 않으므로, 인증에 필요한 시간 및 자원을 절약할 수 있다.

Description

세션 키를 이용한 인증 방법 및 이를 위한 장치{Method and apparatus for authenticating between clients using session key shared with server}
도 1은 종래 기술에 따른 인증 방법을 설명하기 위한 흐름도,
도 2는 본 발명이 적용되는 환경을 설명하기 위한 도면,
도 3은 본 발명의 일실시예에 따라 제 1 클라이언트가 제 2 클라이언트를 인증하는 과정을 나타낸 순서도,
도 4는 본 발명의 일실시예에 따라 제 1 클라이언트가 제 2 클라이언트에게 인증 정보를 전송하는 과정을 나타낸 순서도,
도 5는 본 발명의 일실시예에 따라 세션 키를 이용하여 인증을 수행하는 장치의 구조를 나타낸 도면,
도 6은 본 발명의 일실시예에 따라 세션 키를 이용하여 인증을 수행하는 방법을 설명하기 위한 흐름도,
도 7은 본 발명을 셋탑 박스와 DRM 서버에 적용한 경우를 설명하기 위한 도면이다.
본 발명은 인증 방법에 관한 것으로, 더욱 상세하게는 서버와의 인증을 마친복수 개의 클라이언트들 간에 인증을 수행하는 방법에 관한 것이다.
디지털 컨텐츠의 보급과 소비가 매우 빠른 속도로 증가함에 따라, 컨텐츠의 소유자, 서비스 공급자 및 컨텐츠 소비자 간의 권리 관계를 정립할 필요성이 생기게 되었고, 무제한의 컨텐츠 복제와 소비를 규제하기 위해 DRM(Digital Right Management) 기술이 발전하게 되었다.
예를 들어, 두 개체들(entities) 간에서만 사용되어야 하는 컨텐츠는 도메인 키를 이용하여 컨텐츠를 암호화하여 양자 간에 송수신되어야 하는데, 키를 공유하기 위해서는 먼저 서로에 대한 인증을 수행해야 한다.
도 1은 종래 기술에 따른 인증 방법을 설명하기 위한 흐름도이며, 두 개체 X,Y 간에 인증이 수행된다.
단계 110에서, X는 Y에게 난수 R1을 전송한다.
단계 120에서, Y는 Y의 개인 키를 이용하여 R1을 암호화한다(120).
단계 130에서, Y는 R1을 Y의 개인 키로 암호화한 데이터인 E(R1)을 Y의 인증서와 함께 X에게 전송한다. 이 때, 인증서에는 Y의 공개 키가 포함된다.
단계 140에서, X는 인증서에 포함된 Y의 공개 키를 이용하여 E(R1)을 복호화한다. X가 E(R1)을 Y의 공개 키를 이용하여 복호화한 결과 R1을 얻게 되면, X는 Y를 신뢰할 수 있게 된다. R1은 X가 랜덤하게 생성한 값이며, E(R1)이 Y의 공개 키로 복호화 되었다는 것은 Y에 의해 암호화되었음을 의미하기 때문이다.
단계 150 이하에서는, 반대로 Y가 X의 신뢰도를 검증한다.
단계 150에서, Y는 난수 R2를 X에게 전송한다.
단계 160에서, X는 X의 개인 키로 R2를 암호화하여 E(R2)를 생성한다.
단계 170에서, X는 E(R2)와 X의 인증서를 Y에게 전송한다. X의 인증서에는 X의 공개 키가 포함된다.
단계 180에서, Y는 인증서에 포함된 X의 공개 키를 이용하여 E(R2)을 복호화한다. Y가 E(R2)을 X의 공개 키를 이용하여 복호화한 결과 R2을 얻게 되면, Y는 X를 신뢰할 수 있게 된다. R2은 Y가 랜덤하게 생성한 값이며, E(R2)이 X의 공개 키로 복호화 되었다는 것은 X에 의해 암호화되었음을 의미하기 때문이다.
이와 같이, 종래 기술에 따른 인증 방법은 공개 키 및 개인 키를 이용한 암호화 및 복호화 작업이 요구되는데, 이러한 작업을 위해서는 많은 계산이 필요하므로 인증에 많은 자원 및 시간을 사용해야 하는 문제가 있다.
본 발명은 서버와의 인증을 완료하여 서버와 세션 키를 공유하는 클라이언트들이 각자의 세션 키를 이용하여 인증을 수행하는 장치 및 방법을 제공하는데 그 목적이 있다.
이러한 목적을 달성하기 위한 본 발명은, 서버와 제 1 세션 키를 공유하는 제 1 클라이언트가 상기 서버와 제 2 세션 키를 공유하는 제 2 클라이언트와의 인증을 수행하는 방법에 있어서, 상기 서버로부터 상기 제 2 세션 키를 이용하여 생성된 제 1 인증 정보를 수신하는 단계; 상기 제 2 클라이언트로부터 상기 제 2 세 션 키를 이용하여 생성된 제 2 인증 정보를 수신하는 단계; 및 상기 제 1 인증 정보 및 상기 제 2 인증 정보를 이용하여 상기 제 2 클라이언트에 대한 인증 성공 여부를 결정하는 단계를 포함하는 것을 특징으로 한다.
상기 인증 방법은, 난수를 생성하여 상기 제 2 클라이언트에게 전송하는 단계를 더 포함하고, 상기 제 1 인증 정보는 상기 제 2 세션 키의 해쉬 함수 값이고, 상기 제 2 인증 정보는 상기 난수 및 상기 제 1 인증 정보 모두에 대한 해쉬 함수 값이며, 상기 결정 단계는, 상기 제 1 인증 정보 및 상기 난수 모두에 대한 해쉬 함수 값을 계산하는 단계; 상기 계산된 값을 상기 수신된 제 2 인증 정보와 비교하는 단계; 및 상기 비교 결과 상기 계산된 값이 상기 수신된 제 2 인증 정보와 일치하는 경우 상기 제 2 클라이언트에 대한 인증에 성공한 것으로 결정하는 단계를 포함하는 것이 바람직하다.
상기 인증 방법은, 상기 제 2 클라이언트로부터 상기 제 2 클라이언트에 의해 생성된 난수를 수신하는 단계; 상기 수신된 난수 및 상기 제 1 세션 키의 해쉬 함수값 모두에 대한 해쉬 함수값인 제 3 인증 정보를 생성하는 단계; 및 상기 생성된 제 3 인증 정보를 상기 제 2 클라이언트에게 전송하는 단계를 더 포함하는 것이 바람직하다.
상기 제 1 인증 정보를 수신하는 단계는, 상기 제 1 인증 정보를 상기 제 1 세션 키로 암호화한 데이터를 수신하는 단계; 및 상기 수신된 데이터를 복호화하는 단계를 포함하는 것이 바람직하다.
상기 인증 방법은, 상기 서버는 DRM 서버, 상기 제 1 클라이언트는 DRM 클라 이언트이며, 상기 제 2 클라이언트는 상기 DRM 클라이언트가 설치되는 호스트 디바이스가 될 수 있다.
또한 본 발명은, 상기 인증을 수행하는 방법을 실행하는 컴퓨터 프로그램을 기록한 기록 매체를 제공한다.
또한, 본 발명은 서버와 제 1 세션 키를 공유하는 제 1 클라이언트가 상기 서버와 제 2 세션 키를 공유하는 제 2 클라이언트와의 인증을 수행하도록 하는 장치에 있어서, 상기 서버로부터 상기 제 2 세션 키를 이용하여 생성된 제 1 인증 정보를 수신하고, 상기 제 2 클라이언트로부터 상기 제 2 세션 키에 기초하여 생성된 제 2 인증 정보를 수신하는 통신부; 및 상기 제 1 인증 정보 및 상기 제 2 인증 정보를 이용하여 상기 제 2 클라이언트에 대한 인증 성공 여부를 결정하는 결정부를 포함하는 것을 특징으로 한다.
상기 인증 장치는, 난수를 생성하는 난수생성부를 더 포함하고, 상기 통신부는 상기 생성된 난수를 상기 제 2 클라이언트에게 전송하며, 상기 제 1 인증 정보는 상기 제 2 세션 키의 해쉬 함수 값이고, 상기 제 2 인증 정보는 상기 난수 및 상기 제 1 인증 정보 모두에 대한 해쉬 함수 값이며, 상기 결정부는 상기 제 1 인증 정보 및 상기 난수 모두에 대한 해쉬 함수 값을 계산하여 상기 수신된 제 2 인증 정보와 비교하고, 상기 계산된 값이 상기 수신된 제 2 인증 정보와 일치하는 경우 상기 제 2 클라이언트에 대한 인증에 성공한 것으로 결정하는 것이 바람직하다.
상기 통신부는 상기 제 2 클라이언트로부터 상기 제 2 클라이언트에 의해 생성된 난수를 수신하고, 상기 수신된 난수 및 상기 제 1 세션 키의 해쉬 함수값 모 두에 대한 해쉬 함수값인 제 3 인증 정보를 상기 제 2 클라이언트에게 전송하며, 상기 결정부는 상기 제 3 인증 정보를 생성하는 것이 바람직하다.
상기 인증 장치는, 상기 제 1 세션 키로 암호화된 데이터를 복호화하는 복호화부를 더 포함하며, 상기 통신부는 상기 제 1 인증 정보를 상기 제 1 세션 키로 암호화된 상태로 수신하는 것이 바람직하다.
상기 서버는 DRM 서버, 상기 제 1 클라이언트는 호스트 디바이스이며, 상기 제 2 클라이언트는 상기 호스트 디바이스에 설치되는 DRM 클라이언트가 될 수 있다.
이하에서 첨부된 도면을 참조하여, 본 발명의 바람직한 실시예를 상세히 설명한다.
도 2는 본 발명이 적용되는 환경을 설명하기 위한 도면이다.
도 2에 도시된 바와 같이, 서버(210)는 제 1 클라이언트(220) 및 제 2 클라이언트(230) 각각과 통신하며, 이를 위해 제 1 클라이언트(220) 및 제 2 클라이언트(230) 각각과 인증을 수행한다. 서버(210)와 제 1 클라이언트 간에 인증이 완료되었다는 것은, 서버(210)와 제 1 클라이언트 사이에서만 공유되는 세션 키가 생성되었음을 의미한다. 마찬가지로, 서버(210)와 제 2 클라이언트 간에 인증이 완료되었다는 것은, 서버(210)와 제 2 클라이언트 사이에서만 공유되는 세션 키가 생성되었음을 의미한다.
본 발명은 이와 같은 환경에서, 제 1 클라이언트(220)가 제 2 클라이언트(230)와의 인증을 수행하는 방법 및 이를 위한 장치에 관한 것이며, 이 때 제 1 클라이언트(220) 및 제 2 클라이언트(230)는 종래 기술에서와 같이 개인 키나 공개 키에 의한 암호화 및 복호화 작업을 하지 않고, 기존의 세션 키를 이용하여 인증을 수행한다. 즉, 본 발명에서 제 1 클라이언트(220) 및 제 2 클라이언트(230)는 각자 자신이 서버(210)와 공유하고 있는 세션 키를 이용하여 서로를 인증한다. 인증하는 과정에서 해쉬 함수가 사용되는데, 해쉬 함수는 비가역 함수로서 해쉬 함수값으로부터 원래의 입력값을 찾아낼 수 없으며, 동일한 입력값에 대하여는 동일한 해쉬 함수값을 출력한다. 해쉬 함수에는 여러가지가 사용될 수 있으므로, 본 발명에서는 해쉬 함수를 특정한 것으로 한정하지 않는다.
도 3은 본 발명의 일실시예에 따라 제 1 클라이언트가 제 2 클라이언트를 인증하는 과정을 나타낸 순서도이다.
단계 310에서, 제 1 클라이언트는 서버로부터 제 2 클라이언트와 서버 간의 세션 키에 대한 해쉬 함수값 v를 수신한다.
단계 320에서, 제 1 클라이언트는 난수 rh를 생성하여 제 2 클라이언트에게 전송한다.
단계 330에서,제 1 클라이언트는 제 2 클라이언트로부터 Hash(v, rh)를 수신한다. Hash(v, rh)는 v와 r에 대한 해쉬 함수값을 의미한다. 이 때 사용되는 해쉬 함수는 제 2 클라이언트와 서버 간의 세션 키로부터 v를 생성하는데 사용된 해쉬 함수와 다른 함수일 수도 있다.
단계 340에서, 제 1 클라이언트는 Hash(v, rh)를 계산하여 단계 330에서 수 신된 값과 비교한다. 물론, 이 때 사용되는 해쉬 함수는 제 2 클라이언트가 v와 r에 대한 해쉬 함수값(단계 330에서 제 1 클라이언트에게 전송한 데이터)을 생성할 때 사용한 해쉬 함수와 같은 것이어야 한다.
단계 350에서, 단계 340에서의 비교 결과 수신된 값이 Hash(v, rh)와 동일하다면, 인증에 성공한 것으로 결정하여 상대가 제 2 클라이언트인 것으로 신뢰한다. v는 제 2 클라이언트와 서버 간의 세션 키이며, rh는 제 1 클라이언트가 랜덤하게 생성한 정보로서 제 2 클라이언트에게 전송된 것이므로, 제 2 클라이언트만이 Hash(v, rh)를 생성할 수 있기 때문이다.
단계 360에서, 단계 340에서의 비교 결과 수신된 값이 Hash(v, rh)와 동일하지 않으면, 인증에 실패한 것으로 결정한다.
본 실시예에서는 해쉬 함수를 이용하여 세션 키로부터 인증에 사용하기 위한 인증 정보를 유도하였으나, 해쉬 함수 외에도 일정한 입력값에 대하여 그에 대한 고유한 출력값을 비가역적으로 생성할 수 있는 알고리즘이라면 특정한 것에 한정되지 않고 본 발명에 적용될 수 있을 것이다.
도 4는 본 발명의 일실시예에 따라 제 1 클라이언트가 제 2 클라이언트에게 인증 정보를 전송하는 과정을 나타낸 순서도이다.
도 3에서는 제 1 클라이언트가 제 2 클라이언트로부터 수신된 인증 정보를 이용하여 제 2 클라이언트를 인증하는 과정을 설명한 것이고, 도 4에서는 제 2 클 라이언트가 제 1 클라이언트를 인증할 수 있도록 제 1 클라이언트가 인증 정보를 제 2 클라이언트에게 전송하는 과정을 설명한다.
단계 410에서, 제 1 클라이언트는 제 2 클라이언트로부터 난수 rd를 수신한다. 물론, rd는 제 2 클라이언트에 의해 랜덤하게 선택된 값이다.
단계 420에서, 제 1 클라이언트는 제 1 클라이언트와 서버 간의 세션 키의 해쉬 함수값 및 난수 rd 양자(both)에 대한 해쉬 함수값을 계산한다.
단계 430에서, 제 1 클라이언트는 계산된 값을 제 2 클라이언트에게 전송한다.
제 1 클라이언트와 서버 간의 세션 키의 해쉬 함수값 및 제 2 클라이언트에 의해 랜덤하게 선택된 rd를 이용한 해쉬 함수값은 제 1 클라이언트만이 생성할 수 있으므로, 제 2 클라이언트는 수신된 데이터를 이용하여 상대가 제 1 클라이언트임을 인증할 수 있다.
도 5는 본 발명의 일실시예에 따라 세션 키를 이용하여 인증을 수행하는 장치(510)의 구조를 나타낸 도면이다.
본 발명의 일실시예에 따른 인증 장치(510)는 제 1 클라이언트(500)에 구비되어 서버(530)와의 세션 키를 이용하여 제 2 클라이언트(520)와의 인증을 수행한다.
도 5에 도시된 바와 같이, 본 발명의 일실시예에 따른 인증 장치(510)는 난수 생성부(511), 결정부(512), 복호화부(513) 및 통신부(514)를 포함한다.
이하에서는, 우선 제 1 클라이언트가 제 2 클라이언트의 신원(identity)를 검증하는 과정에서의 각 구성 요소의 동작을 설명하고, 다음으로 제 2 클라이언트가 제 1 클라이언트를 인증할 수 있도록 제 1 클라이언트가 제 2 클라이언트에게 인증 정보를 전송하는 과정에서의 각 구성 요소의 동작을 설명한다.
우선, 첫 번째의 경우를 설명한다.
서버(530)는 제 2 클라이언트(520)와 서버(530) 간의 세션 키에 대한 해쉬 함수값을 제 1 클라이언트(500)에게 전송한다. 바람직하게는, 제 1 클라이언트와 서버(530) 간의 세션 키를 이용하여 암호화한 후 전송한다. 암호화된 데이터는 복호화부(513)에 의해 복호화된 후, 결정부(512)에게 전달된다.
난수 생성부(511)는 난수를 생성하는데, 이 난수는 통신부(514) 및 결정부(512)에게 전달된다. 통신부(514)는 전달받은 난수를 제 2 클라이언트(520)에게 전송한다. 제 2 클라이언트(520)가 자신과 서버(530) 간의 세션 키에 대한 해쉬 함수값 및 수신된 난수를 해쉬 함수에 입력하여 출력값을 전송하면, 통신부(514)는 이를 수신하여 결정부(512)로 전달한다.
결정부(512)는 난수 생성부(511)에서 생성한 난수 및 복호화부(513)에서 복호화한 해쉬 함수값을 해쉬 함수에 입력하여 출력값을 계산한다. 또한, 출력된 해쉬 함수값을통신부(514)로부터 수신된 값과 비교하여, 양 값이 일치하는 경우 인증에 성공한 것으로 결정하고, 이후 제 2 클라이언트(520)로부터 수신되는 메시지를 신뢰한다. 만약 양 값이 일치하지 않는 경우에는 인증에 실패한 것으로 결정한다.
다음으로, 두 번째의 경우, 즉 제 2 클라이언트가 제 1 클라이언트를 인증할 수 있도록 제 1 클라이언트가 제 2 클라이언트에게 인증 정보를 전송하는 과정에서의 각 구성 요소의 동작을 설명한다.
통신부(514)는 제 2 클라이언트(520)로부터 난수를 수신하여 결정부(512)로 전달한다. 결정부(512)는 제 1 클라이언트(500)와 서버(530) 간의 세션 키에 대한 해쉬 함수 값 및 수신된 난수를 해쉬 함수에 입력하여 그 출력값을 계산한다.
통신부(514)는 계산된 해쉬 함수값을 제 2 클라이언트(520)에게 전송한다. 제 2 클라이언트(520)는 수신된 값을 이용하여 제 1 클라이언트의 신원을 검증할 수 있다.
도 6은 본 발명의 일실시예에 따라 세션 키를 이용하여 인증을 수행하는 방법을 설명하기 위한 흐름도이다.
단계 601 및 단계 602에서 제 1 클라이언트와 제 2 클라이언트는 각각 서버와의 인증을 수행하여 서버와 세션 키를 공유한다. 제 1 클라이언트와 서버 간의 세션 키를 Kauth1, 제 2 클라이언트와 서버 간의 세션 키를 Kauth2라 한다.
단계 603에서, 서버는 f1(Kauth1)=u, f2(Kauth2)=v를 계산한다. 이하에서, f는 해쉬 함수를 의미하며, f1, f2와 같이 f의 아래 첨자가 다른 것은 서로 다른 해쉬 함수가 사용될 수도 있음을 의미하는 것이다.
단계 604에서, 서버는 u를 Kauth2로 암호화하여 제 2 클라이언트에게 전송한다.
단계 605에서, 서버는 v를 Kauth1로 암호화하여 제 1 클라이언트에게 전송한다.
단계 606에서, 제 2 클라이언트는 난수 rd를 생성한다.
단계 607에서, 제 2 클라이언트는 생성된 난수 rd를 제 1 클라이언트에게 전송한다.
단계 608에서, 제 1 클라이언트는 수신된 rd와 u를 이용하여 x=f3(u, rd)를 계산한다. 제 1 클라이언트는 이미 Kauth1을 가지고 있으므로, u를 계산할 수 있다. 또한, 제 1 클라이언트는 난수 rh를 생성한다.
단계 609에서, 제 1 클라이언트는 x, rh를 제 2 클라이언트에게 전송한다.
단계 610에서, 제 2 클라이언트는 f3(u, rd)를 계산하여 x와 비교한다. u는 Kauth1에 대한 해쉬 함수값이지만, 단계 604에서 수신된 데이터를 복호화함으로써 획득할 수 있다. 비교 결과, 양 값이 서로 일치하는 경우에는 제 1 클라이언트에 대한 인증에 성공한 것으로 결정한다. 반대로, 일치하지 않는 경우에는 인증에 실패한 것으로 결정한다.
단계 611에서, 제 2 클라이언트는 y=f4(v, rh)를 계산한다.
단계 612에서, 제 2 클라이언트는 y를 제 1 클라이언트에게 전송한다.
단계 613에서, 제 1 클라이언트는 f4(v, rh)를 계산하여 y와 비교한다. v는 Kauth2에 대한 해쉬 함수값이지만, 단계 605에서 수신된 데이터를 복호화함으로써 획득할 수 있다. 비교 결과, 양 값이 서로 일치하는 경우에는 제 2 클라이언트에 대한 인증에 성공한 것으로 결정한다. 반대로, 일치하지 않는 경우에는 인증에 실패한 것으로 결정한다.
도 7은 본 발명을 호스트 디바이스와 DRM 서버에 적용한 경우를 설명하기 위한 도면이다.
본 발명은 도 7과 도시된 바와 같은 환경에서 매우 효율적으로 이용될 수 있다. 호스트 디바이스(720)는 DRM 서버(710)와의 인증을 수행하여 DRM 서버(710)에서 제공되는 컨텐츠를 이용할 수 있다. 이러한 인증 절차는 호스트 디바이스(720)의 디바이스 인증 모듈(721)이 수행하는 것으로 볼 수 있다. 일반적으로, 호스트 디바이스(720)는 셋탑박스, PDA, 이동 전화 등이 될 수 있으며, 디바이스 인증 모듈(721)은 하드웨어나 소프트웨어, 또는 펌웨어(Firmware)로 구현될 수 있다.
DRM 클라이언트 (722)는 호스트 디바이스(720)에 설치되면, 이후 컨텐츠의 복호화를 수행하고, 비밀 키를 보호하며, 사용자의 컨텐츠 소비와 관련된 기록을 DRM 서버(210)로 보고한다. 역시 DRM 서버(710)와의 인증을 수행한다.
호스트 디바이스(720)는 DRM 클라이언트(722)가 변조(tampered)된 것은 아닌지, 즉, DRM 서버(710)로부터 정당한 권한을 위임받은 것인지를 검증할 필요가 있다. 또한, DRM 클라이언트(722) 역시 호스트 디바이스(720)가 DRM 서버(710)의 서비스를 이용할 권리가 있는 정당한 디바이스인지를 검증할 필요가 있다.
따라서, 이러한 경우 호스트 디바이스(720)의 디바이스 인증 모듈(721)과 DRM 클라이언트(722)는 본 발명에 따라 각자 DRM 서버(710)와 공유하는 세션 키를 이용하여 서로에 대한 인증을 빠르고 효과적으로 수행할 수 있다.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다.
상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
본 발명에 따르면, 두 개체가 서로를 인증하는 과정에서 개인 키나 공개 키 등을 이용하여 암호화 및 복호화하는 작업이 요구되지 않으므로, 종래 기술에 비해 인증에 소요되는 시간과 자원을 줄일 수 있다.

Claims (11)

  1. 서버와 제 1 세션 키를 공유하는 제 1 클라이언트가 상기 서버와 제 2 세션 키를 공유하는 제 2 클라이언트와의 인증을 수행하는 방법에 있어서,
    상기 서버로부터 상기 제 2 세션 키를 이용하여 생성된 제 1 인증 정보를 수신하는 단계;
    상기 제 2 클라이언트로부터 상기 제 2 세션 키를 이용하여 생성된 제 2 인증 정보를 수신하는 단계; 및
    상기 제 1 인증 정보 및 상기 제 2 인증 정보를 이용하여 상기 제 2 클라이언트에 대한 인증 성공 여부를 결정하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제 1항에 있어서,
    난수를 생성하여 상기 제 2 클라이언트에게 전송하는 단계를 더 포함하고,
    상기 제 1 인증 정보는 상기 제 2 세션 키의 해쉬 함수 값이고, 상기 제 2 인증 정보는 상기 난수 및 상기 제 1 인증 정보 모두에 대한 해쉬 함수 값이며,
    상기 결정 단계는,
    상기 제 1 인증 정보 및 상기 난수 모두에 대한 해쉬 함수 값을 계산하는 단계;
    상기 계산된 값을 상기 수신된 제 2 인증 정보와 비교하는 단계; 및
    상기 비교 결과 상기 계산된 값이 상기 수신된 제 2 인증 정보와 일치하는 경우 상기 제 2 클라이언트에 대한 인증에 성공한 것으로 결정하는 단계를 포함하는 것을 특징으로 하는 방법.
  3. 제 2항에 있어서,
    상기 제 2 클라이언트로부터 상기 제 2 클라이언트에 의해 생성된 난수를 수신하는 단계;
    상기 수신된 난수 및 상기 제 1 세션 키의 해쉬 함수값 모두에 대한 해쉬 함수값인 제 3 인증 정보를 생성하는 단계; 및
    상기 생성된 제 3 인증 정보를 상기 제 2 클라이언트에게 전송하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  4. 제 2항에 있어서,
    상기 제 1 인증 정보를 수신하는 단계는,
    상기 제 1 인증 정보를 상기 제 1 세션 키로 암호화한 데이터를 수신하는 단계; 및
    상기 수신된 데이터를 복호화하는 단계를 포함하는 것을 특징으로 하는 방법.
  5. 제 1항에 있어서,
    상기 서버는 DRM 서버, 상기 제 1 클라이언트는 DRM 클라이언트이며, 상기 제 2 클라이언트는 상기 DRM 클라이언트가 설치되는 호스트 디바이스인 것을 특징으로 하는 방법.
  6. 제 1항 내지 제 5항 중 어느 한 항에 의한 방법을 실행하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
  7. 서버와 제 1 세션 키를 공유하는 제 1 클라이언트가 상기 서버와 제 2 세션 키를 공유하는 제 2 클라이언트와의 인증을 수행하도록 하는 장치에 있어서,
    상기 서버로부터 상기 제 2 세션 키를 이용하여 생성된 제 1 인증 정보를 수신하고, 상기 제 2 클라이언트로부터 상기 제 2 세션 키에 기초하여 생성된 제 2 인증 정보를 수신하는 통신부; 및
    상기 제 1 인증 정보 및 상기 제 2 인증 정보를 이용하여 상기 제 2 클라이언트에 대한 인증 성공 여부를 결정하는 결정부를 포함하는 것을 특징으로 하는 장치.
  8. 제 7항에 있어서,
    난수를 생성하는 난수생성부를 더 포함하고,
    상기 통신부는 상기 생성된 난수를 상기 제 2 클라이언트에게 전송하며,
    상기 제 1 인증 정보는 상기 제 2 세션 키의 해쉬 함수 값이고, 상기 제 2 인증 정보는 상기 난수 및 상기 제 1 인증 정보 모두에 대한 해쉬 함수 값이며,
    상기 결정부는 상기 제 1 인증 정보 및 상기 난수 모두에 대한 해쉬 함수 값을 계산하여 상기 수신된 제 2 인증 정보와 비교하고, 상기 계산된 값이 상기 수신된 제 2 인증 정보와 일치하는 경우 상기 제 2 클라이언트에 대한 인증에 성공한 것으로 결정하는 것을 특징으로 하는 장치.
  9. 제 8항에 있어서,
    상기 통신부는 상기 제 2 클라이언트로부터 상기 제 2 클라이언트에 의해 생성된 난수를 수신하고, 상기 수신된 난수 및 상기 제 1 세션 키의 해쉬 함수값 모두에 대한 해쉬 함수값인 제 3 인증 정보를 상기 제 2 클라이언트에게 전송하며,
    상기 결정부는 상기 제 3 인증 정보를 생성하는 것을 특징으로 하는 장치.
  10. 제 7항에 있어서,
    상기 제 1 세션 키로 암호화된 데이터를 복호화하는 복호화부를 더 포함하며,
    상기 통신부는 상기 제 1 인증 정보를 상기 제 1 세션 키로 암호화된 상태로 수신하는 것을 특징으로 하는 장치.
  11. 제 7항에 있어서,
    상기 서버는 DRM 서버, 상기 제 1 클라이언트는 호스트 디바이스이며, 상기 제 2 클라이언트는 상기 호스트 디바이스에 설치되는 DRM 클라이언트인 것을 특징으로 하는 장치.
KR1020070054002A 2007-06-01 2007-06-01 세션 키를 이용한 인증 방법 및 이를 위한 장치 KR101391151B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020070054002A KR101391151B1 (ko) 2007-06-01 2007-06-01 세션 키를 이용한 인증 방법 및 이를 위한 장치
US11/947,211 US20080301436A1 (en) 2007-06-01 2007-11-29 Method and apparatus for performing authentication between clients using session key shared with server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070054002A KR101391151B1 (ko) 2007-06-01 2007-06-01 세션 키를 이용한 인증 방법 및 이를 위한 장치

Publications (2)

Publication Number Publication Date
KR20080105872A KR20080105872A (ko) 2008-12-04
KR101391151B1 true KR101391151B1 (ko) 2014-05-02

Family

ID=40089609

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070054002A KR101391151B1 (ko) 2007-06-01 2007-06-01 세션 키를 이용한 인증 방법 및 이를 위한 장치

Country Status (2)

Country Link
US (1) US20080301436A1 (ko)
KR (1) KR101391151B1 (ko)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1578262A4 (en) 2002-12-31 2007-12-05 Therasense Inc CONTINUOUS BLOOD SUGAR MONITORING SYSTEM AND USE METHOD
US8066639B2 (en) 2003-06-10 2011-11-29 Abbott Diabetes Care Inc. Glucose measuring device for use in personal area network
WO2005089103A2 (en) 2004-02-17 2005-09-29 Therasense, Inc. Method and system for providing data communication in continuous glucose monitoring and management system
US7533808B2 (en) 2005-02-09 2009-05-19 Yuh-Shen Song Privacy protected cooperation network
US20080199894A1 (en) 2007-02-15 2008-08-21 Abbott Diabetes Care, Inc. Device and method for automatic data acquisition and/or detection
US8123686B2 (en) 2007-03-01 2012-02-28 Abbott Diabetes Care Inc. Method and apparatus for providing rolling data in communication systems
WO2008130895A2 (en) 2007-04-14 2008-10-30 Abbott Diabetes Care, Inc. Method and apparatus for providing dynamic multi-stage signal amplification in a medical device
US7928850B2 (en) 2007-05-08 2011-04-19 Abbott Diabetes Care Inc. Analyte monitoring system and methods
US8665091B2 (en) 2007-05-08 2014-03-04 Abbott Diabetes Care Inc. Method and device for determining elapsed sensor life
US8456301B2 (en) 2007-05-08 2013-06-04 Abbott Diabetes Care Inc. Analyte monitoring system and methods
US9148423B2 (en) * 2008-12-29 2015-09-29 Google Technology Holdings LLC Personal identification number (PIN) generation between two devices in a network
US8504836B2 (en) * 2008-12-29 2013-08-06 Motorola Mobility Llc Secure and efficient domain key distribution for device registration
US9538355B2 (en) * 2008-12-29 2017-01-03 Google Technology Holdings LLC Method of targeted discovery of devices in a network
US8301879B2 (en) * 2009-01-26 2012-10-30 Microsoft Corporation Conversation rights management
DE102009024604B4 (de) * 2009-06-10 2011-05-05 Infineon Technologies Ag Erzeugung eines Session-Schlüssels zur Authentisierung und sicheren Datenübertragung
US8904172B2 (en) * 2009-06-17 2014-12-02 Motorola Mobility Llc Communicating a device descriptor between two devices when registering onto a network
WO2011026147A1 (en) 2009-08-31 2011-03-03 Abbott Diabetes Care Inc. Analyte signal processing device and methods
US8993331B2 (en) 2009-08-31 2015-03-31 Abbott Diabetes Care Inc. Analyte monitoring system and methods for managing power and noise
US8726335B2 (en) * 2010-06-28 2014-05-13 Fujitsu Limited Consigning authentication method
EP3092949B1 (en) * 2011-09-23 2020-12-09 Dexcom, Inc. Systems and methods for processing and transmitting sensor data
JP6538704B2 (ja) 2013-11-07 2019-07-03 デックスコム・インコーポレーテッド 分析物値の伝送及び連続的監視のためのシステム及び方法
US10218698B2 (en) * 2015-10-29 2019-02-26 Verizon Patent And Licensing Inc. Using a mobile device number (MDN) service in multifactor authentication
KR101886367B1 (ko) * 2017-10-12 2018-08-09 (주)티엔젠 사물 간 통신 네트워크에서의 기기 개별 세션키 생성 및 이를 이용한 기기 간의 암호화 및 복호화 기능 검증 방법
CN108769748B (zh) * 2018-04-13 2021-06-15 武汉斗鱼网络科技有限公司 一种信息处理方法及相关设备
CN114726558B (zh) * 2020-12-21 2024-05-28 航天信息股份有限公司 认证方法、装置、电子设备和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050198506A1 (en) * 2003-12-30 2005-09-08 Qi Emily H. Dynamic key generation and exchange for mobile devices
US20070067833A1 (en) 2005-09-20 2007-03-22 Colnot Vincent C Methods and Apparatus for Enabling Secure Network-Based Transactions

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6167521A (en) * 1997-08-29 2000-12-26 International Business Machines Corporation Securely downloading and executing code from mutually suspicious authorities
US7069586B1 (en) * 2000-04-03 2006-06-27 Software Secure, Inc. Securely executing an application on a computer system
US6978375B1 (en) * 2000-09-08 2005-12-20 International Business Machines Corporation System and method for secure authentication of external software modules provided by third parties
KR100845018B1 (ko) * 2003-10-28 2008-07-10 자이단호진 세이산기쥬츠켄큐쇼레이카이 인증 시스템 및 원격분산 보존 시스템
US8229118B2 (en) * 2003-11-07 2012-07-24 Qualcomm Incorporated Method and apparatus for authentication in wireless communications
US7574600B2 (en) * 2004-03-24 2009-08-11 Intel Corporation System and method for combining user and platform authentication in negotiated channel security protocols
BRPI0512023A (pt) * 2004-07-14 2008-02-06 Matsushita Electric Ind Co Ltd método para autenticação e execução de um programa
US8406220B2 (en) * 2005-12-30 2013-03-26 Honeywell International Inc. Method and system for integration of wireless devices with a distributed control system
US20070283142A1 (en) * 2006-06-05 2007-12-06 Microsoft Corporation Multimode authentication using VOIP
US8892887B2 (en) * 2006-10-10 2014-11-18 Qualcomm Incorporated Method and apparatus for mutual authentication
US8948394B2 (en) * 2007-02-28 2015-02-03 Google Technology Holdings LLC Method and apparatus for distribution and synchronization of cryptographic context information

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050198506A1 (en) * 2003-12-30 2005-09-08 Qi Emily H. Dynamic key generation and exchange for mobile devices
US20070067833A1 (en) 2005-09-20 2007-03-22 Colnot Vincent C Methods and Apparatus for Enabling Secure Network-Based Transactions

Also Published As

Publication number Publication date
US20080301436A1 (en) 2008-12-04
KR20080105872A (ko) 2008-12-04

Similar Documents

Publication Publication Date Title
KR101391151B1 (ko) 세션 키를 이용한 인증 방법 및 이를 위한 장치
TWI738836B (zh) 量子資料密鑰協商系統及量子資料密鑰協商方法
CN107959567B (zh) 数据存储方法、数据获取方法、装置及系统
EP3813324B1 (en) Data processing method and device
CN110750803B (zh) 数据提供和融合的方法及装置
US9436804B2 (en) Establishing a unique session key using a hardware functionality scan
CN102577229B (zh) 在一个往返行程中的密钥认证
KR101010040B1 (ko) 파일의 암호화·복호화 방법, 장치, 프로그램 및 이프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
KR100979576B1 (ko) 새로운 패스워드를 실현하기 위한 방법 및 컴퓨터 판독가능 매체
US20070174618A1 (en) Information security apparatus and information security system
US20110022856A1 (en) Key Protectors Based On Public Keys
KR101311059B1 (ko) 취소 정보 관리
JP2013516685A (ja) コンピューターポリシーを施行するためのシステムおよび方法
US20120294445A1 (en) Credential storage structure with encrypted password
CN113987554B (zh) 获取数据授权的方法、装置及系统
KR20090002227A (ko) 컨텐츠 디바이스의 폐기 여부를 확인하여 데이터를전송하는 전송 방법과 시스템, 데이터 서버
US11595189B2 (en) Secure key exchange using key-associated attributes
US20220014354A1 (en) Systems, methods and devices for provision of a secret
Yu et al. Decim: Detecting endpoint compromise in messaging
CN107104804A (zh) 一种平台完整性验证方法和装置
CN113890768A (zh) 设备认证方法和系统、物联网设备和认证服务器
KR100984275B1 (ko) 안전하지 않은 통신 채널에서 비인증서 공개키를 사용한 보안키 생성 방법
CN113132116A (zh) 基于知识签名的敏感数据匿名访问方法
CN110492989B (zh) 私钥的处理方法、访问方法和对应方法的介质、装置
CN114765533A (zh) 一种基于量子密钥通信的远程证明方法、装置及系统

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
LAPS Lapse due to unpaid annual fee