KR20070052679A - 통신 네트워크에 대한 사용자 인증 시스템 및 방법 - Google Patents

통신 네트워크에 대한 사용자 인증 시스템 및 방법 Download PDF

Info

Publication number
KR20070052679A
KR20070052679A KR1020060113877A KR20060113877A KR20070052679A KR 20070052679 A KR20070052679 A KR 20070052679A KR 1020060113877 A KR1020060113877 A KR 1020060113877A KR 20060113877 A KR20060113877 A KR 20060113877A KR 20070052679 A KR20070052679 A KR 20070052679A
Authority
KR
South Korea
Prior art keywords
accumulator
credential
token
user
verifier
Prior art date
Application number
KR1020060113877A
Other languages
English (en)
Other versions
KR100890078B1 (ko
Inventor
케 젱
도모유끼 후지따
민유 슈에
Original Assignee
엔이씨 (차이나) 씨오., 엘티디.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엔이씨 (차이나) 씨오., 엘티디. filed Critical 엔이씨 (차이나) 씨오., 엘티디.
Publication of KR20070052679A publication Critical patent/KR20070052679A/ko
Application granted granted Critical
Publication of KR100890078B1 publication Critical patent/KR100890078B1/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
    • 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/3234Cryptographic 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 additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • 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
    • 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/3218Cryptographic 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 proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • 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/42Anonymization, e.g. involving pseudonyms
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

통신 네트워크에 대한 사용자 인증 시스템 및 방법이 제공된다. 크레덴셜 기관은 누적자를 공개하고 토큰들 및 크레덴셜(credential)들을 서비스에 액세스하도록 허가된 사용자들에게 발행한다. 사용자는 크레덴셜 기관에 의해 발행된 크레덴셜에 기초하여 유도 크레덴셜을 스스로 계산하고, 유도 크레덴셜을 사용하여 검증자에게 검증받는다. 새로운 사용자가 허가되면, 다른 사용자들 및 검증자는 어떤 데이터도 업데이트할 필요가 없다. 이미 허가된 사용자가 금지되면, 즉 그/그녀의 토큰이 철회되면, 크레덴셜 기관은 금지된 사용자에게 발행된 토큰에 기초하여 업데이트된 누적자를 계산하고, 업데이트된 누적자를 포함하는 철회 증분 데이터 및 철회된 토큰에 관한 증분 데이터를 공개한다. 다른 사용자들은 수신된 업데이트된 철회 증분 데이터에 기초하여 스스로 그들의 업데이트된 크레덴션들을 계산한다. 철회 증분 데이터는 여러 형태들로 공개될 수 있고, 크레덴셜 기관, 사용자들 및 검증자들 사이에 신속하게 전파될 수 있다.
크레덴셜, 사용자, 검증자, 토큰, 누적자

Description

통신 네트워크에 대한 사용자 인증 시스템 및 방법{USER AUTHENTICATION SYSTEM AND METHOD FOR A COMMUNICATIONS NETWORK}
도 1은 통신 시스템의 예를 도시한 블록도.
도 2는 본 발명의 일 실시예에 따라 사용자가 크레덴셜 기관(credential authority)에 의해 허가를 받고 검증자에 의해 검증되는 프로세스를 도시한 도면.
도 3은 본 발명의 일 실시예에 따라 지금까지 허가된 사용자가 금지되는 경우의 예시적인 프로세스를 도시한 도면.
도 4는 2개의 철회 패킹(revocation packing) 사이에 2개의 철회 증분(revocation increment)이 발생하는 예시적인 경우를 도시한 도면.
도 5는 본 발명의 일 실시예에 따라 사용자가 크레덴셜 기관에 의해 크레덴셜(credential) 및 누적자(accumulator)를 업데이트하는 예시적인 프로세스를 도시한 흐름도.
도 6은 본 발명의 일 실시예에 따라 크레덴셜 기관과 사용자와 검증자와의 사이의 예시적인 작용들을 도시한 도면.
도 7은 본 발명의 일 실시예에 따라 크레덴셜 기관과 사용자와 검증자와의 사이의 다른 예시적인 작용들을 도시한 도면.
도 8은 본 발명의 일 실시예에 따라 검증자가 크레덴셜 기관에 업데이트하는 예시적인 프로세스를 도시한 흐름도.
도 9는 본 발명의 일 실시예에 따라 사용자가 보유한 누적자가 진부한 경우에 사용자가 검증자에 대해 인증하는 예시적인 프로세스를 도시한 흐름도.
도 10은 본 발명의 일 실시예에 따라 사용자가 홀드되어 있는 누적자가 진부한 경우에 검증자가 사용자를 검증하는 예시적인 프로세스를 도시한 흐름도.
도 11은 본 발명의 일 실시예에 따른 크레덴셜 기관의 예시적인 장치를 도시한 블록도.
도 12는 본 발명의 일 실시예에 따른 사용자의 예시적인 단말기를 도시한 블록도.
도 13은 본 발명의 일 실시예에 따른 검증자의 예시적인 단말기를 도시한 블록도.
<도면의 주요 부분에 대한 부호의 설명>
100: 네트워크
101: 제어 유닛
110: 크레덴셜 기관(CA)
111: 누적자 계산 유닛
112: 허가 유닛
113: 철회 증분 유닛
114: 통신 유닛
115: 초기 누적자 생성 모듈
116: 누적자 업데이트 모듈
117: 토큰 선택 모듈
118: 크레덴셜 생성 모듈
119: 저장 유닛
120: 사용자
121: 누적자 저장 유닛
122: 크레덴셜 저장 유닛
123: 토큰 저장 유닛
124: 업데이트 유닛
125: 유도 크레덴셜 생성 유닛
126: 입증 유닛
127: 통신 유닛
130: 검증자
[참고문헌1] : J. Benaloh and M. de Mare in "One-way accumulators: A decentralized alternative to digital signatures", Advances in Cryptology-EUROCRYPT '93, volume 765 of LNCS, pages 274-285, springer-Verlag, 1994
[참고문헌2] : "Collision-free accumulators and fail-stop signature schemes without trees", advances in Cryptology-EUROCRYPT '97, volume 1233 of LNCS, 480-494 페이지, Springer Verlag, 1997에서 Benaloh 및 de Mare, N. Baric 및 B. Pfitzmann
[참고문헌3] : "Dynamic accumulators and application to efficient revocation of anonymous credentials", Advances in Cryptology-CRYPTO '2002, volume 2442 of LNCS, 61-76 페이지, 2002
[참고문헌4] : "Revocation of anonymous certificates, credentials, and access rights"의 명칭의 특허 번호 US200310177352호
[참고문헌5] : "D. Chaum, J. H. Evertse, J. van de Graaf, An Improved Protocol for Demonstrating Possession of Discrete Logarithms and Some Generalizations", Advances in Cryptology - EUROCRYPTO'87, pp. 127~141, 1987
본 발명은 통신 네트워크에 관한 것으로, 구체적으로는 통신 네트워크에서 사용자 프라이버시를 지키면서 사용자들을 인증하기 위한 장치 및 방법들에 관한 것이다.
오늘날, 전자 상거래 웹 사이트에 의해 제공되는 입찰 서비스, 인터넷 이메일 서버에 의해 제공되는 이메일 서비스, 인스턴트 메시징 서버에 의해 제공되는 P2P 채팅 서비스 등과 같은 많은 온라인 서비스들은 그들의 서비스들에 액세스하기 위해 그들의 사용자들의 등록 또는 가입을 요구한다. 서비스 제공자에 의해 등록 또는 가입이 요구되는 그러한 유형의 서비스들에 대한 많은 다른 예들이 존재한다. 일반적으로, 서비스 제공자들에 대한 사용자 인증 처리를 돕는 인증 기관들이 존재한다.
승인된 사용자들의 집합이 특정 서비스에 액세스한다고 가정하자. 사용자들의 집합은 "화이트리스트(Whitelist)"라고 지칭된다. 사용자 A가 서비스(예를 들어, P2P 파일 공유 서비스)에 액세스하려고 하면, 몇몇 검증자(예를 들어, 사용자 A가 파일을 검색하고자 하는 피어)는 사용자 A가 화이트리스트 내에 있음을 확인해야 한다. 검증자가 매번 크레덴셜 기관에 접촉할 필요가 있으면, 계산 및 통신의 관점에서의 비용이 검증자와 크레덴셜 기관 모두에게 매우 높다. 그리고 서비스 제공자는 크레덴셜 기관을 타겟으로 하는 서비스 거부(Denial of Service) 공격에 보다 취약하다.
검증자는 화이트리스트의 로컬 복사본을 가지고 있고 사용자 A가 그 위에 있다는 것을 확인할 수 있다. 그러나, 검증자가 그것의 로컬 복사본을 크레덴셜 기관의 최신 화이트리스트와 동기시킬 수 없으면, 진짜 사용자는 검증자에 의해 잘못 거부될 것이다. 동기화가 필요한 이유는, 검증자가 화이트리스트의 로컬 복사본을 만든 후에 크레덴셜 기관에 의해 새로운 사용자들이 허가된 사용자 집합에 추가될 수 있기 때문이다. 당면한 해결책은 검증자가 크레덴셜 기관과 항상 동기되게 요구하는 것이다. 그러나, 동기화 간격은 예측하기 어렵기 때문에, 낮은 전체 성능을 암시한다. 또한, 검증자가 매우 많은 경우, 크레덴셜 기관에 큰 부담을 줄 것이다.
더 심각하게는, 사용자가 검증자에 대해 익명인 경향이 있는 경우들이 있다. 사용자는 검증자에게 성공적으로 인증되더라도 화이트리스트에 이미 공개되어 있을 수 있는 자신의 이름, 식별자 또는 어떤 것을 검증자에게 감추기를 선호한다. 확실하게는, 검증자가 참고하는 간단한 화이트리스트는 사용자 프라이버시 보호를 원하는 경우에 유효한 해결책이 아니다.
다른 힘든 문제점은 서비스에 대한 몇몇 기존 사용자들의 액세스 권리가 크레덴셜 기관에 의해 철회될 수 있다는 사실에 의해 발생할 수 있다. 임의의 리얼 애플리케이션 시스템에서, 금지된 사용자들을 인정하는 것은 명확하게 받아들여지지 않는다. 첫번째로, 해결책은 단지 모든 금지된 사용자들이 열거되어 있는 크레덴셜 기관에 의해 유지되는 블랙리스트일 수 있다. 사용자 A가 서비스에 액세스하고자 하면, 몇몇 검증자는 이러한 사용자가 블랙리스트 내에 있지 않다는 것을 확인한다. 문제는, 시간이 지나면 블랙리스트가 금지된 사용자들의 수와 선형으로 증가할 것이라는 점이다. 검증자는 사용자 A와 블랙리스트에 공개된 사용자들을 하나씩 비교하기 위해 점차 많은 계산 리소스를 투자해야 할 것이다. 이것은 매우 비효율적이다. 다시, 검증자는 블랙리스트의 로컬 복사본을 유지할 필요가 있고, 따라서 검증자와 크레덴셜 기관 사이의 블랙리스트의 효율적인 동기화에 관한 문제가 존재한다. 점차 증가하는 블랙리스트에 대처하기 위해, 크레덴셜 기관은 모든 진짜 사용자들에 대해 일정 시간마다 그것의 설정을 업데이트할 수 있고, 이에 따라 모든 금지된 사용자들을 제거하고 다시 비어있는 블랙리스트를 달성한다. 이것은 대량의 블랙리스트에 의해 검증자에게 부과된 성능 문제를 어느 정도 경감시킬 수 있다. 그러나, 많은 수의 진짜 사용자들이 크레덴셜 기관에 등록된 상태로 남 아 있으면, 크레덴셜 기관이 모든 진짜 사용자들을 업데이트하는 것은 매우 힘들다. 그것만이 전부가 아니다. 사용자가 검증자에게 익명으로 인증되는 경향이 있는 경우에, 간단한 블랙리스트는 효과가 없을 수 있다. 이 경우, 금지된 사용자는 블랙리스트에 포함될 수 있는 고유 식별자가 없기 때문에, 다른 경우 익명 인증의 요건과 모순된다. 명백하게는, 사용자의 고유 식별자는 항상 자신의 프라이버시를 드러낼 것이다.
학계에서는, 프라이버시가 보호된 인증을 위한 블랙리스트 뿐만 아니라 화이트리스트에 관한 문제가 누적값들로서 연구되고 있다. 간단히 말하면, 값들의 집합이 누적자 내에 누적된다. 여기서, 값들을 누적하는 것은 값들의 본래 특징을 고려하는 것 또는 값들을 한곳에 넣는 것을 의미한다. 누적자는 값을 참고하는데, 이것은 값들의 집합을 합산하거나 값들의 집합의 본래 특징을 결합한다. 프로버는 입증되는 값을 전혀 드러내지 않고 누적자 내에 특정 값이 누적되는 것을 검증자에게 입증할 수 있다. 이러한 연구의 유형은 화이트리스트의 구현이라고 번역될 수 있다고 생각할 수 있다. 마찬가지로, 프로버는 입증되는 값을 전혀 드러내지 않고 누적자 내에 자신이 보유한 특정 값이 누적되지 않았음을 검증자에게 입증할 수 있다. 이러한 유형의 연구는 블랙리스트의 구현으로 번역될 수 있다고 생각할 수 있다. 수학적으로, 값이 누적자 내에 없음을 입증하는 것은 가능하지만, 값이 누적자 내에 누적되어 있음을 검증하는 것보다 덜 효율적이다.
누적자들은 처음에 값들의 집합을 하나의 짧은 누적자에 결합하여 소정의 값이 누적자 내에 포함되었다는 증거가 존재하게 하는 방법으로서 참고문헌 1에 도입 되었다. 사상은, 참고문헌2에 의해 확장되고, 이것은 강한 RSA 가정에 기초하여, 소위 충돌 방지 누적자(collision-resistant accumulator)의 구성을 제공한다. 참고 문헌들에 정의되어 있는 바와 같이 누적자들의 유용한 특성은, 값들이 단위 비용에서 1씩 추가될 수 있다는 점이다. 그러나, 누적자로부터의 값의 삭제는 누적된 값들의 수에 무관하게 행해질 수 없다. 다른 공헌(contribution)은 J. Camenisch 및 A. Lysyanskaya로 인한 것이다. 그들의 논문인 참고문헌3에서는, 동적 누적자가 제시되어 있으며, 이것은 입력들을 동적으로 추가 및 삭제할 수 있게 하여 추가 또는 삭제의 비용이 누적된 값들의 수에 무관하도록 하는 누적자이다. J. Camenisch 및 A. Lysyanskaya는 또한 그들의 동적 누적자에 대해서 참고문헌4를 출원하였다. 전술한 문헌들은 모든 목적을 위해 참조로서 본원에 포함된다.
최신의 동적 누적자는, 추가 또는 삭제의 비용이 누적된 값들의 수, 즉, 허가된 사용자들의 수에 무관하다는 점에서 장점이 있다. 그러나, 이러한 결론은 전적으로 크레덴셜 기관의 관점에서 유도된다. 사용자가 누적자에 추가되거나 또는 누적자로부터 삭제되면, 모든 기존의 사용자들뿐만 아니라 검증자들은 그들에 의해 이미 보유된 일부 다른 데이터 및 누적자를 업데이트해야 한다. 사용자들뿐만 아니라 검증자들이 이러한 데이터를 업데이트하기 위해 피할 수 없는 계산은 그들 자신에 의해 제공되고, 따라서 크레덴셜 기관의 관점으로부터 누적된 값들의 수에 무관하다는 것은 주목할 만하다. 각 사용자뿐만 아니라 검증자가 없다면, 때때로 새롭게 누적된 값 및 업데이트된 누적자에 대해 크레덴셜 기관을 참고(consulting)하 는데 추가 비용이 든다. 삭제된 사용자와 관련하여, 검증자는 그럼에도 불구하고 새롭게 삭제된 사용자에 의해 그 자신이 속지 않게 하기 위해서 가장 최근의 누적자에 대해 시간에 따라 크레덴셜 기관을 참고해야 할 수 있으며, 반면에 계산 리소스 및 네트워크 리소스 소비의 관점에서 사용자에 대한 비용을 줄이기 위해서 사용자가 동일하게 행동할 필요는 없을 수 있다. 또한, 특정 환경하에서, 진짜 사용자의 누적된 값은 비밀로 간주될 수 있고, 결코 공개되어서는 안 된다. 동적 누적자 방식은 이러한 상황을 취급할 수 없다.
본 발명은 통신 네트워크에서 사용자 프라이버시를 보호할 수 있는 고효율 사용자 인증 시스템 및 방법을 제공한다.
본 발명의 일 양태에 따르면, 통신 네트워크에서 사용자 인증 데이터를 생성하고 업데이트하는 장치가 제공되며, 이 장치는, 허가된 사용자들의 토큰들을 누적하는 누적자를 생성하고 업데이트하도록 구성된 누적자 계산 유닛; 상기 누적자 계산 유닛에 연결된 허가 유닛; 및 통신 유닛을 포함한다. 허가 유닛은 허가될 사용자를 위한 토큰을 선택하도록 구성된 토큰 선택 모듈, 및 상기 토큰 선택 모듈에 연결되고, 상기 토큰 및 상기 누적자로부터 크레덴셜을 생성하도록 구성된 크레덴셜 생성 모듈을 포함하며, 상기 크레덴셜은 사용자가 상기 토큰이 상기 누적자 내에 누적되었음을 입증하기 위해 사용된다. 상기 통신 유닛은 상기 누적자 계산 유닛, 상기 허가 유닛 및 상기 네트워크에 연결되고, 상기 네트워크를 통해 상기 누적자를 공개하고 상기 토큰 및 상기 크레덴셜을 상기 사용자에게 송신하도록 구성 된다.
본 발명의 다른 양태에 따르면, 통신 네트워크에서 사용자 인증 데이터를 생성하고 업데이트하는 방법이 제공되며, 이 방법은, 허가된 사용자들의 토큰들을 누적하는 누적자를 생성하고 공개하는 단계; 허가될 사용자를 위한 토큰을 선택하는 단계; 상기 토큰 및 상기 누적자로부터 크레덴셜을 생성하는 단계; 및 상기 크레덴셜 및 상기 토큰을 상기 허가된 사용자에 송신하는 단계를 포함하고, 상기 크레덴셜은 상기 토큰이 상기 누적자에 누적되어 있음을 사용자가 입증하는데 사용된다.
본 발명의 다른 양태에 따르면, 통신 네트워크에서 사용자가 검증자에 인증하기 위한 단말기가 제공된다. 상기 네트워크는 적어도 하나의 크레덴셜 기관을 포함한다. 상기 단말기는, 상기 네트워크에 연결된 통신 유닛; 상기 통신 유닛에 연결되고, 상기 크레덴셜 기관에 의해 생성된 누적자를 저장하도록 구성된 누적자 저장 유닛; 상기 통신 유닛에 연결되고, 상기 크레덴셜 기관으로부터 발행된 토큰을 저장하도록 구성된 토큰 저장 유닛; 상기 통신 유닛에 연결되고, 상기 크레덴셜 기관에 의해 상기 누적자 및 상기 토큰으로부터 생성된 크레덴셜을 저장하도록 구성된 크레덴셜 저장 유닛; 상기 크레덴셜 저장 유닛에 연결되고, 상기 크레덴셜 저장 유닛에 저장된 크레덴셜로부터 유도 크레덴셜을 생성하도록 구성된 유도 크레덴셜 생성 유닛; 및 상기 누적자 저장 유닛, 상기 토큰 저장 유닛 및 상기 유도 크레덴셜 생성 유닛에 연결되고, 상기 토큰을 드러내지 않고 상기 유도(derived) 크레덴셜을 사용하여 상기 누적자 내에 상기 토큰이 누적되어 있음을 입증하도록 상기 검증자에 의해 지식 증명(knowledge proof)을 수행하도록 구성된 입증 유 닛(proving unit)을 포함한다.
본 발명의 다른 양태에 따르면, 통신 네트워크에서 사용자가 검증자에 인증하기 위한 방법이 제공된다. 상기 네트워크는 적어도 하나의 크레덴셜 기관을 포함한다. 상기 방법은, 상기 크레덴셜 기관에 의해 생성된 누적자를 수신하는 단계; 상기 크레덴셜 기관에 의해 발행된 토큰을 수신하는 단계; 상기 크레덴셜 기관에 의해 상기 토큰 및 상기 누적자로부터 생성된 크레덴셜을 수신하는 단계; 상기 크레덴셜로부터 유도 크레덴셜을 계산하는 단계; 및 상기 토큰을 드러내지 않고, 상기 유도 크레덴셜을 사용하여 상기 토큰이 상기 누적자 내에 누적되어 있음을 입증하기 위해 상기 검증자에 의해 지식 증명을 수행하는 단계를 포함한다.
본 발명의 다른 양태에 따르면, 네트워크에 의해 통신으로(communicatively) 연결된 적어도 하나의 크레덴셜 기관 장치, 적어도 하나의 사용자 단말기 및 적어도 하나의 검증자 단말기를 포함하는 통신 시스템이 제공된다. 상기 크레덴셜 기관 장치는 누적자 계산 유닛과 그에 연결된 허가 유닛을 포함하고, 상기 누적자 계산 유닛은 허가된 사용자들의 토큰들을 누적하기 위한 누적자를 생성 및 업데이트하도록 구성되고, 상기 허가 유닛은 토큰 선택 모듈 및 상기 토큰 선택 모듈에 연결된 크레덴셜 생성 모듈을 포함한다. 상기 사용자 단말기는 유도 크레덴셜 생성 유닛 및 입증 유닛을 포함한다. 상기 검증자 단말기는 검증 유닛을 포함한다. 상기 사용자가 허가되면, 상기 토큰 선택 모듈은 토큰을 선택하고 상기 크레덴셜 생성 모듈은 상기 토큰 및 상기 누적자로부터 크레덴셜을 생성하고, 상기 토큰 및 상기 크레덴셜은 상기 크레덴셜 기관 장치로부터 상기 사용자 단말기로 송신되며, 상 기 유도 크레덴셜 생성 유닛은 상기 크레덴셜로부터 유도 크레덴셜을 생성하고, 상기 사용자 단말기의 상기 입증 유닛 및 상기 검증자 단말기의 상기 검증 유닛은 상기 토큰을 드러내지 않고 상기 토큰이 상기 누적자 내에 누적되었음을 입증하기 위해 상기 유도 크레덴셜을 사용하여 지식 증명을 수행한다.
본 발명의 다른 양태에 따르면, 통신 네트워크에서 사용자들을 인증하기 위한 방법이 제공된다. 상기 네트워크는 적어도 하나의 크레덴셜 기관 및 적어도 하나의 검증자를 포함한다. 상기 방법은, 상기 크레덴셜 기관에 의해 허가된 사용자들의 토큰들을 누적하기 위한 누적자를 생성하고 공개하는 단계; 상기 크레덴셜 기관에 의해 발행된 토큰 및 상기 크레덴셜 기관에 의해 상기 토큰 및 상기 누적자로부터 생성되는 크레덴셜을 허가될 사용자에게 송신하는 단계; 사용자에 의해 상기 크레덴셜로부터 유도 크레덴셜을 계산하는 단계; 상기 사용자로부터의 상기 유도 크레덴셜을 상기 검증자로 송신하는 단계; 및 상기 토큰을 드러내지 않고, 상기 누적자 내에 상기 토큰이 누적되어 있음을 입증하기 위해 상기 유도 크레덴셜을 사용하여 상기 사용자와 상기 검증자 사이에서 지식 증명을 수행하는 단계를 포함한다.
본 발명의 다른 양태에 따르면, 제조 물품이 제공된다. 이 제조 물품은, 하나 이상의 프로세서들에 의해 실행되는 경우, 상기 프로세서들로 하여금, 허가된 사용자들의 토큰들을 누적하기 위한 누적자를 생성 및 공개하고; 허가될 사용자를 위한 토큰을 선택하고; 상기 토큰 및 상기 누적자로부터, 상기 토큰이 상기 누적자에 누적되어 있음을 사용자가 입증하기 위해 사용되는 크레덴셜을 생성하고; 상기 크레덴셜 및 상기 토큰을 상기 허가된 사용자에게 송신하게 하는 명령어들이 기록 된 머신 판독가능한 매체를 갖는다.
본 발명의 다른 양태에 따르면, 제조 물품이 제공된다. 이 제조 물품은 하나 이상의 프로세서들에 의해 실행되는 경우, 상기 프로세서들로 하여금, 크레덴셜 기관에 의해 생성된 누적자를 수신하고, 상기 크레덴셜 기관에 의해 발행된 토큰을 수신하고, 상기 크레덴셜 기관에 의해 상기 토큰 및 상기 누적자로부터 생성된 크레덴셜을 수신하고, 상기 크레덴셜로부터 유도 크레덴셜을 계산하고, 상기 토큰을 드러내지 않고, 상기 유도 크레덴셜을 사용하여 상기 누적자에 상기 토큰이 누적되어 있음을 입증하기 위해 검증자에 의해 지식 증명을 수행하게 하는 명령어들이 기록된 머신 판독가능한 매체를 갖는다.
본 발명에 따르면, 허가된 사용자들의 누적된 토큰들은 결코 공개되어서는 안 되는 비밀일 수 있다. 사용자들 및 검증자들은 새로운 사용자가 CA에 의해 허가될 때 누적자를 업데이트할 필요가 없다. 이것은 더 낮은 계산 비용뿐만 아니라 네트워크 대역폭 소비 면에서 CA, 사용자 및 검증자에 대해 의미가 있다.
또한, 철회 업데이트 정보는 더 낮은 계산 비용뿐만 아니라 네트워크 대역폭 소비 면에서 장점이 있는 압축된 포맷으로 검색될 수 있다. 또한, 철회 업데이트 정보는 더 낮은 계산 비용뿐만 아니라 네트워크 대역폭 소비 면에서 장점이 있는 압축된 포맷으로 공개될 수 있다.
또한, 검증자는 CA 대신에 사용자로부터 가장 최근의 누적자를 수신할 수 있고, 사용자는 CA 대신에 검증자로부터 철회 업데이트 정보를 수신하며, 이에 따라 가장 최근의 누적자에 동기화할 수 있다. 결과적으로, CA의 부담은 현저하게 감소 되고, 새로운 사용자 인증 데이터는 신속하게 전달될 수 있다.
본 발명의 전술한 및 다른 목적들, 그의 다양한 특징들, 뿐만 아니라 본 발명 자체는 첨부 도면들과 함께 읽었을 때 다음의 상세한 설명으로부터 더 완전하게 이해될 수 있으며, 첨부 도면들에서, 동일한 참조 번호는 동일한 부분을 나타낸다.
본 발명은 종래 기술의 전술한 단점들의 견지에서 행해진다.
이하, 도면들을 참조하여, 본 발명의 바람직한 실시예들을 단지 예시적으로 상세하게 설명한다.
도 1은 통신 시스템의 예를 도시한 블록도이며, 여기서는, 3가지 종류의 참여자, 즉, 크레덴셜 기관(credential authority: CA)(110), 사용자(120) 및 검증자(130)가 네트워크(100)를 통하여 통신한다.
네트워크(100)는 본 명세서에서 이것으로 한정되지 않지만 임의의 컴퓨터 통신 네트워크 또는 전기 통신 네트워크를 포함하는 임의의 종류의 네트워크일 수 있다. 사용자는, 컴퓨터, 핸드헬드 장치, 이동 전화기 등과 같은, 네트워크에 접속하는데 적합한 임의의 클라이언트 장치일 수 있다. 크레덴셜 기관(CA)은 네트워크에 접속하도록 구성된 장치일 수 있으며, 서비스의 크레덴셜을 관리한다. 검증자는 사용자를 정확하게 인증한 후에 사용자의 요청을 수락하는 단말기 또는 호스트일 수 있다.
특히, 크레덴셜 기관(CA)은 사용자들의 가입을 수락하고 사용자들이 네트워크를 통해 특정 서비스를 즐길 수 있게 하는 크레덴셜 및 토큰을 발행하는 객체이다. 검증자는 서비스에 포함되는 것으로서, 사용자의 인증 데이터를 검증하고, 사 용자가 서비스에 액세스하거나 서비스를 즐기고자 할 때 사용자의 요청을 수락하거나 거절하는 것이다.
비록 도시되지는 않았지만, 서비스를 제공하는 서비스 제공자가 존재할 수 있다. 논리적으로, CA는 서비스 제공자 외부의 서버 또는 호스트일 수 있거나, 또는 가입자의 정보를 유지하는 서비스 제공자에 내장된 모듈일 수 있다는 것에 주목해야 한다. 또한, 검증자는 서비스의 참가자 단말기 또는 서비스 제공자의 모듈일 수 있다. 실제로, 검증자는 경매와 같은 온라인 서비스를 제공하는 서비스 제공자일 수 있거나, 또는 P2P 네트워크에서의 피어(peer)일 수 있다. 예를 들어, 서비스 제공자는 인스턴트 메시징 서버(instant messaging server)이고, 검증자는 사용자가 대화하기를 희망하는 피어이다. 사용자가 검증자와 대화하는 것을 요청하는 경우, 검증자는 사용자가 CA에 의해 허가되어 있는지를 판정하였다. 다른 예에서, 검증자는 온라인 데이터베이스 서버이다. 사용자가 검증자의 단말기에 위치하는 데이터베이스에 액세스하는 것을 요청하는 경우, 검증자는 CA에 의해 발행된 사용자의 인증 데이터를 확인한 후에 사용자의 요청을 수락한다. 이 예에서, 검증자는 서비스 제공자 자체이다. 일부 경우, CA 및 검증자는 서비스 제공자 내의 모듈들로서 공존할 수 있다. 즉, 여기서 말한 CA, 검증자 및 서비스 제공자는 하나 이상의 장치들로 임의 조합될 수 있거나, 또는 상이한 장치들로서 분리될 수 있다. 본 발명의 이러한 개념적이고 또한 실제적인 엔지니어링 변경들은 이 기술분야의 당업자들에게 공지되어야 한다.
간단함을 위하여, 도면들에서는, 단지 하나의 크레덴셜 기관(CA), 하나의 사 용자 및 하나의 검증자가 명시적으로 도시되어 있다는 것에 주목한다. 그러나, 복수의 각 종류의 참가자가 존재할 수 있다.
본 발명의 일 실시예에 따라 사용자가 크레덴셜 기관에 의해 허가되고 검증자에 의해 검증되는 방법이 도 2를 참조하여 이하에 설명된다.
우선, 초기화 스테이지(스테이지 1)에서, CA는 강한 RSA 가정이 기반으로 하기에 적합한 계수 n 및 Zn *의 랜덤 수인 누적자 w를 사용하여 그 자체를 초기화한다. n은 2개의 안전한 소수(safe prime)의 곱이고, w는 Zn *의 이차 나머지 서브그룹(quadratic residue subgroup)인 QR(n)에 속한다. 또한, CA는 fi(…)가 n의 오일러 파이 값(Euler phi value)을 출력하는 경계 b<fi(n)를 선택한다. CA는 무작위로 커미트먼트(commitment) z를 선택한다. 그리고, CA는 서비스의 사용자들 및 잠재적인 검증자들이 참고할 빈(empty) 철회 데이터를 초기화한다. 다음으로, CA는 안전한 측정(secure measure)을 통해 n, w, b, z 및 철회 데이터를 공개한다. 예를 들어, CA는 공지된 공개 키에 의해 검증될 수 있는 n, w, z를 디지털로 서명할 수 있다.
다음으로, 허가 스테이지(스테이지 2)에서, 사용자가 CA에 의해 허가되기를 희망하는 경우, 사용자는, 예를 들어, 대면(face-to-face) 방식으로 그/그녀의 사회적 보안 아이덴티티를 보여주거나, 또는 네트워크를 통해 크레덴셜 기관에 디지털 정보를 송신하는 것에 의해, 크레덴셜 기관에의 특정 시험을 통과할 수 있다. 그 후, CA는 fi(n)에 대해 서로 소(coprime)인 적절한 소수 e를 선택하고, c=w1 /e(mod n)을 계산한다. 2개의 투플(tuple) (c,e)는 각각 크레덴셜 및 토큰으로서 사용자에게 전달될 것이다. 강한 RSA 가정 하에서, w 및 가능하게는 공모 공격(collusion attack)의 경우에 이러한 2개의 투플의 다항식으로 결합된 집합을 고려하여 다른 사용자들이 2개의 투플 (c,e)를 구하는 것은 어렵다. 또한, CA는 그의 데이터베이스에 e를 저장할 것이다.
검증자가 임의의 사용자를 검증하기를 희망하기 전에, 검증자는 n, w, b 및 z를 위해 CA에 접촉해야 한다. 검증 스테이지(스테이지 3)에서, 사용자가 검증자에 의해 검증되는 것을 의도할 때, 사용자는 랜덤 t<b를 선택하고 유도 크레덴셜(derived credential)이라 불리는 c1=c*zt(mod n)을 계산한다. 사용자는 유도 크레덴셜 c1을 검증자에 전송하고, 그/그녀가 w=c1 x1*zx2의 표현을 알고 있는지를 검증자에 대해 입증한다. 여기서, x1=e 및 x2=-t*e이고, 따라서 c1 e*z-t*e=(c*zt)e*z-t*e=ce=w(mod n)임이 분명하다. x1 및 x2를 드러내지 않고 x1 및 x2의 지식을 입증하는 것은, 통상적인 수단에 의해, 예를 들어, 참고문헌5에 의해 효율적으로 수행될 수 있으며, 이것은 본 명세서에 참조로서 포함되어 있다. 지식 증명 기술들은 이 기술분야의 당업자들에게 공지되어 있다.
전술한 방법에 따르면, 새로운 사용자를 허가하는 것이 기존의 진짜 사용자 들에게 영향을 미치지 않음을 알 수 있다. 다시 말해, 누적된 값들의 수에 무관할 뿐만 아니라, 누적될 값들의 수에도 무관하다.
본 발명의 일 실시예에 따라 지금까지 허가된 사용자가 금지되는(즉, 사용자의 토큰이 취소되는) 방법이 도 3을 참조하여 이하에 설명된다.
CA로부터 발행된 (ca,ea)를 소유하는 사용자 A가 금지되는 것으로 가정하면, CA는 철회 데이터에서의 ea를 공개하고, 누적자 w를 wa=w1 / ea(mod n)로 업데이트한다. 2개의 투플 (ea,wa)은 철회 증분을 형성한다. 철회 증분 (ea,wa)을 확인하면, (cb,eb)를 소유하는 사용자 B라고 하는, 사용자 A 이외의 기존의 사용자가 확장된 유클리드 알고리즘(Extended Euclidean Algorithm)에 따라 u*eb+v*ea=1을 계산할 것이다. CA가 상이한 사용자에 대해 상이한 소수 e를 선택하는 조건에서, u*eb+v*ea=1을 만족하는 고유한 u 및 v가 존재한다. 마지막으로, 사용자 B는 cb를 cb1=wa u*cb v(mod n)으로 업데이트하고, 사용자 B에 의해 홀드되는 새로운 2개의 투플은 (cb1,eb)이며, 여기서 cb1은 크레덴셜이고, eb는 토큰이다. 사용자 B가 스스로 업데이트된 누적자에 대응하는 새로운 크레덴셜을 계산한다는 것을 의미하는, cb1 eb=wa u*eb*cb v*eb=wa u*eb*wv=wa u*eb*(wa ea)v=wa (u*eb+v*ea)=wa(mod n)임을 검증하는 것은 용이하다. 한편, 철회 증분 (ea,wa)을 고려하면, ca1 s.t. ca1 ea=wa(mod n)을 계산하는 것은 RSA 문제가 어려운 경우에 불가능하다.
누적자 w가 wa로 업데이트된 후에, 새로운 사용자가 크레덴셜 기관에 의해 허가되면, wa는 새로운 사용자에 대한 크레덴셜 및 토큰을 계산하는데 이용되어야 하는 것은 자명하다. 이전의 w는 결코 다시는 이용되어서는 안 된다.
개념적으로, 본 발명에 의해 이용되는 누적자는 모든 가능한 토큰을 미리 누적하였다. 그러나, 종래 기술에서는, 새로운 사용자가 허가되는 때는 언제나 누적자를 업데이트하기 위한 명시적 요건이 존재한다. 모든 가능한 토큰이 본 발명에서 미리 누적되었더라도, CA의 도움이 없이, 어떠한 크레덴셜도 이용가능하지 않다는 것을 강조한다. 이것은 강한 RSA 가정에 의해 보장된다.
전술한 기본적인 철회(revoking) 방식에 이어서, 사용자 B가 그/그녀의 크레덴셜 및 누적자를 마지막으로 업데이트한 후(따라서, 사용자 B는 cb eb=w(mod n)를 소유한다), k명의 사용자들이 금지되었고, 즉, CA는 k개의 철회 증분들 (e1,w1), (e2,w2),…,(ek,wk)을 공개하였다고 가정한다. 이제, 사용자 B가 그/그녀의 크레덴셜을 업데이트하기 위해 CA에 접촉하는 경우, 사용자 B는 1) CA로부터 e1,e2,…,e(k-1) 및 (ek,wk)를 검색하는 것, 2) E=(e1*e2*…*ek)를 계산하는 것, 및 3) u,v s.t. u*eb+v*E=1을 구하는 것을 행할 수 있다. CA가 상이한 사용자에 대해 상이한 소수 e를 선택하는 조건에서, eb와 E의 가장 큰 공약수는 1이다. 따라서, 확장된 유클리 드 알고리즘에 따라 u*eb+v*E=1을 만족하는 고유의 u 및 v가 존재한다. 사용자 B는 그것의 cb를 cb1=wk u*cb v(mod n)으로 업데이트한다. wk=(w(k-1))1/e(k-1)=((w(k-2))1/e(k-2))1/e(k-1)=w1/E(mod n)이고, 사용자 B가 가장 최근의 누적자에 대응하는 크레덴셜을 취득하였다는 것을 의미하는, cb1 eb=wk u * eb*cb v * eb=wk u * eb*wv=wk u * eb*(wk E)v=wk (u* eb +v*E)=wk(mod n)임을 검증하는 것은 용이하다는 것을 주목한다.
네트워크 대역폭 사용뿐만 아니라 계산 소비(computation consumption)의 관점에서 이러한 압축된 철회 증분 접근법의 장점들은 중요하다. 종래의 교시에 따라 CA로부터 (e1,w1), (e2,w2),…,(ek,wk)를 검색하는 대신에, 사용자 B는 이제 e1,e2,…,ek 및 wk를 검색하는 것만을 필요로 한다. 분명하게는, 데이터의 (k-1)/2k %가 송신으로부터 생략된다. 예를 들어, k=10이고, 네트워크 이용은 45% 떨어진다. 계산 소비에 관하여, 각 철회 증분은 2개의 모듈러 누승법(exponentiation)을 수반하기 때문에, 종래의 교시에 따르면, 2k 모듈러 누승법은 피할 수가 없다. 한편, 압축된 철회 증분 접근법은 일정하게 2 모듈러 누승법을 필요로 한다. 명백하게는, 가장 비용이 많이 드는 모듈러 누승법의 (2k-2)/2k %, 즉, (k-1)/k %가 제거된다. 예를 들어, k=10이고, 계산 소비는 90% 떨어진다.
CA의 정책(policy)에 따르면, CA는 철회 증분들을 (e,w)의 전술한 형태로서 공개할 수 있으며, 여기서, e는 철회되는 토큰이고, w는 e가 철회된 후의 업데이트된 누적자이다. 또는 CA는 철회 증분들을 (e1,e2,…,ek,w)의 압축된 형태로서 공개할 수 있으며, 여기서, ei(i=1,2,…,k)는 금지되어 있는 k명의 사용자들에 속하는 토큰들이고, w는 이들 사용자들이 금지된 후의 업데이트된 누적자이다.
CA의 정책에 따라서, CA는 철회 패킹(revocation packing)을 공개할 수 있고, 최근의 철회 패킹은 이전의 철회 패킹 후에 발생한 철회 증분들의 실제 압축된 형태이다. 특히, 최근의 철회 패킹은 이전의 철회 패킹 후에 발생되는 각각의 철회된 토큰들의 곱과 업데이트된 누적자(accumulator)를 포함한다. 이전의 철회 패킹 Pi가 공개된 후에, 그들의 토큰들이 각각 ei이고, i=1, 2, …, k인 k명의 사용자들이 금지되었다고 가정한다. 최근 철회 패킹 P(i+1)이 (E(i+1), w(i+1))이고, 여기서 E(i+1)=e1*e2*…ek이고 w(i+1)는 이들 사용자들이 금지된 후의 업데이트된 누적자이다. 상술한 압축된 철회 증분 접근법과 비교하여, 사용자는 e1, e2, …, ek 대신에 E(i+1)을 검색하고 e1* e2* …*ek을 계산하는 단계가 생략된다.
CA의 정책은 예를 들어 매주 철회 패킹을 공개하거나 또는 금지된 10명의 사용자들마다 철회 패킹을 공개할 수 있다.
도 4는 2개의 철회 증분이 2개의 철회 패킹 중에 발생하는 경우를 나타낸다.
최근 철회 패킹이 이전의 철회 패킹 후에 발생된 모든 철회 증분들을 흡수하기 때문에, 도 4에서 E(i+1)=ej*e(j+1) 및 w(i+1)=w(j+1) 추론될 수 있다. 그 장점은 네 트워크 활용의 중요성에 있다. 중대 서비스(critical service)에 포함되지 않는 검증자는 철회 패킹에 대한 업데이트만의 정책을 선택한다. 시간 T에서 그/그녀가 CA에 대해 다시 업데이트하도록 의도하는 경우에, 검증자가 철회 패킹 Pi에 대해 업데이트되어 있으면, 그/그녀가 CA로부터 (E(i+1), w(i+1))를 검색할 필요만 있다는 것을 의미하는 패킹 P(i+1)에 대해 그/그녀가 업데이트할 것이다. 비교로서, 압축된 철회 증분 접근법을 이용하면, 사용자는 ej, e(j+1) 및 w(i+1)을 검색할 필요가 있다. 이 절약은 직접적이지 않다. E(i+1)=ej*e(j+1)이기 때문에, E(i+1)와 ej 더하기 e(j+1)에 대한 전송된 바이트는 동일하다. 그러나, CA는 이들 철회 정보를 안전하게 공개하여야 하기 때문에, 전송시 생략되는 것이 존재한다. 예를 들어, CA가 철회 정보를 디지털적으로 서명하면, ej 및 e(j+1)에 각각 디지털 서명이 첨부될 것이다. 이제, 철회 패킹이 도입되면, ej 및 e(j+1) 대신에 E(i+1)를 전송하는 것이 하나의 디지털 서명을 절약하는 것임이 분명하다. 본 예에서는, 감소된 디지털 서명의 관점에서 약 33%가 절약된다. 일반적으로, k개의 철회 증분이 2개의 철회 패킹 사이에 발생하면, 압축된 철회 증분 접근법에 비교하여 (k-1)(k+1)%가 절약된다. 예를 들어, k=10이면, 전송될 디지털 서명은 약 82% 감소된다.
도 5는 CA에 대해 누적자 및 크레덴셜(credential)을 업데이트하기 위하여 사용자에 의해 수행될 흐름도이다. 도 5에서 나타낸 바와 같이, 사용자는 업데이트가 블록 501에서 필요한지의 여부를 판정한다. 예이면, 사용자가 블록 502에서 업데이트를 위한 정책을 결정한다. 블록 502에서, 정책이 단지 철회 패킹에 대한 업데이트인 것으로 결정되면, 사용자가 블록 503에서 마지막 업데이트 후에 CA에 의해 공개된 철회 패킹을 검색하고, 블록 505에서, 검색된 철회 패킹에 따라 보유된 누적자 및 크레덴셜을 업데이트한다. 그렇지 않으면, 사용자가 블록 504에서 마지막 업데이트 후에 CA에 의해 공개된 압축된 철회 증분과 철회 패킹을 검색하고, 블록 505에서, 검색된 철회 패킹 및 압축된 철회 증분에 따라서 보유된 누적자 및 크레덴셜을 업데이트한다.
도 6은, 시스템 아키텍처 관점에서, 본 발명의 일 실시예에 따른 CA, 사용자 및 검증자 사이의 동작과 조정을 나타낸다.
도 6에 도시한 바와 같이, CA는 사용자에게 크레덴셜 및 토큰을 발행한다(601). 검증자는 가장 최근의 누적자를 위해 단지 CA와 접촉하는 것(603)이 필요한 반면에, 사용자가 필요한 것은 철회 증분 또는 철회 패킹이다(602). 사용자가 새롭게 금지된 경우에만 CA에 의해 공개되고 사용자에 의해 수신될 철회 증분이 존재한다는 것에 주목하는 것이 중요하다. 유사하게, 사용자가 새롭게 금지된 경우에만 CA에 의해 공개되고 검증자에 의해 수신될 가장 최근의 누적자가 존재한다. 사용자가 금지된 경우에만 업데이트를 위해 CA에 접촉할 필요가 있기 때문에 더 큰 업데이트 간격이 가능할 수 있으므로 자연적인 결과는 효율성(efficiency)이다. 예를 들어, 매일 10명의 사용자가 허가되고 1명의 사용자가 금지되는 성장 시스템에서, 이점은 명백하다. 또한, 업데이트 간격은 단지 철회 히스토리에 의존하여 설계될 수 있다. 예를 들어, 검증자는 이전 토큰이 철회된 경우에 시간 시퀀스의 히스토리에 기초하여 다음의 업데이트 시간을 예측할 수 있다. 새로운 사용자가 허가된 경우에 업데이트를 위해 CA에 접촉해야하는 종래 기술은 단순한 설계로부터 이익을 얻을 수 없다.
업데이트된 데이터를 사용하여 사용자는 검증자에 대해 인증할 수 있다(604).
도 6에 도시한 바와 같이, CA로부터 가장 최근 누적자를 수신하는 것 이외에, 검증자는 사용자로부터 업데이트된 누적자를 수신할 수 있다(605). 이는, 예를 들어, 사용자가 이전에 검증자로서 작용했고 CA로부터 가장 최근의 누적자를 획득한 경우에 일어날 수 있다. 사용자가 나중에 최신 누적자를 갖지 않은 검증자에 대해 인증하려고 시도하는 경우에, 사용자는 이러한 정보를 검증자에 보낼 수 있다. 업데이트된 누적자는 CA에 의해 보안적으로 공개, 예를 들어 CA에 의해 디지털적으로 서명되므로, 검증자가 업데이트된 누적자를 CA로부터가 아니라 검증될 사용자로부터 받는 것이 안전하다.
또다른 실시예에서, 검증자가 철회 데이터의 특정량을 캐시하는 경향이 있는 경우에, 사용자는 필요한 철회 정보가 도 7에 나타낸 바와 같이 검증자로부터 수신되는 그/그녀의 크레덴셜을 업데이트할 수 있다.
이 시나리오는 사용자가 2005년 6월 1일에 CA에 의해 공개되는 누적자에 대해서만 업데이트되고, 검증자가 2005년 6월 10일에 CA에 의해 공개되는 누적자에 대해 업데이트되는 경우에 일어날 수 있다. 6월 1일과 6월 10일 사이에, 두명의 사용자, 즉 사용자 P 및 사용자 Q는 CA에 의해 금지된다. 이에 따라, 2개의 토큰 이 6월 1일 후에 ep 및 eq로서 철회된다. 검증자가 철회 증분 (ep, wp) 및 (eq, wq)을 캐시한다(703)고 가정하면, 사용자가 검증자에 대해 인증하려고 시도하는 경우에, 사용자에 의해 보유된 누적자가 10일 지났기 때문에, 검증자가 최대 15일 지난 누적자를 수신하면, 사용자는 10일 전에 공개된 누적자에 기초하여 검증자에 대해 직접 인증할 수 있다. 반면에, 검증자가 최대 7일 지난 누적자를 받으면, 검증자는, 압축된 철회 증분 접근법에 따라서, ep, eq, 및 wq를 사용자에게 보낸다(705). 철회 증분이 CA에 의해 보안적으로 공개, 예를 들어 CA에 의해 디지털적으로 서명되므로, 사용자는 이들을 받을 수 있고, 따라서 그/그녀의 크레덴셜을 계산하고 가장 최근의 누적자에 대해 업데이트한다. 그 후, 사용자는 검증자에 다시 접촉할 수 있고 가장 최근의 누적자에 기초하여 재인증할 수 있다. 진짜 사용자는 이때 인증을 명확하게 통과할 것이다. 사용자가 검증자로부터 철회 패킹을 수신하는 경우에 유사한 예가 이루어질 수 있다.
특정 시간 임계값에서의 철회 정보만이 검증자에 의해 캐시될 것이므로, 많은 부당한 사용자가 없는 시스템에 대하여, 검증자의 저장 비용은 비교적 작고 여유가 있다. 몇몇 능동적인 검증자가 가장 최근의 누적자에 의해 CA에 동기화되고 철회 정보의 적절한 량을 저장하면(703), 이러한 정보는 사용자들 및 검증자들이 더이상 CA를 접촉하지 않고 이들 사용자들과 다른 검증자들에 빠르게 전파될 것이라고 가정된다. 이는 CA의 부담의 감소 관점에서, 특히 P2P 환경에서 상당히 효율적이다.
도 8은 CA에 의해 업데이트하기 위하여 검증자에 의해 수행될 예시적인 프로세스 흐름을 나타낸다. 도 8에 나타낸 바와 같이, 블록 801에서 검증자는 업데이트가 필요한지의 여부를 판정한다. 예이면, 검증자는 블록 802에서만 누적자를 업데이트할지의 여부를 판정한다. 예이면, 검증자가 블록 803에서 CA에 의해 공개되는 업데이트된 누적자를 검색한다. 그렇지 않으면, 검증자는 블록 804에서 업데이트의 최종 시간 후에 CA에 의해 공개된 철회 패킹 및 압축된 철회 증분을 검색한다.
도 9는 그/그녀가 보유한 누적자가 진부하기 때문에 그/그녀가 검증자에 대한 인증에 실패한 경우에 사용자에 의해 수행될 예시적인 프로세스를 나타낸다. 사용자에 의해 보유된 누적자가 진부한 경우에, 즉 검증자에 의해 보유된 것보다 오래된 경우에, 그/그녀는 검증자에 대해 인증하는 것을 실패할 것이다(블록 901). 도 9에 도시한 바와 같이, 사용자는 블록 902에서 그/그녀의 누적자가 구식인지의 여부를 확인한다. 만일 구식이라면, 사용자가 블록 903에서 검증자로부터 적절한 철회 업데이트 정보를 검색하도록 시도하고, 블록 904에서 그/그녀가 보유한 크레덴셜 및 누적자을 업데이트한다. 그리고, 사용자는 업데이트된 데이터에 의해 검증자에 대해 인증할 수 있다(블록 905). 사용자에 의해 보유된 누적자가 블록 902에서 구식이 아닌 것이 판정되면, 프로세스는 후처리로 진행하고(블록 905), 여기서 예를 들어, 사용자는 CA로부터 새로운 토큰 및 크레덴셜을 획득하도록 시도할 수 있거나, 또는 검증자에 의해 보유된 데이터가 진부하면 검증자가 그/그녀의 데이터를 업데이트하도록 대기할 수 있다.
도 10은 사용자가 보유한 누적자가 진부하기 때문에 사용자가 검증자에 대한 인증에 실패한 경우(블록 1001)에 검증자에 의해 수행될 예시적인 프로세스를 나타낸다. 도 9에 나타낸 프로세스에 대응하여, 사용자에 의해 보유된 누적자가 블록 1002에서 진부하다고 판정되면, 검증자는 블록 1003에서 그/그녀의 캐시된 철회 업데이트 정보를 확인한다. 캐시된 철회 업데이트 정보가 사용자가 업데이트하기에 적절하면, 검증자가 블록 1004에서 이를 사용자에게 보낸다. 사용자가 그/그녀의 데이터를 업데이트한 후, 그/그녀가 검증자에 대해 재인증할 수 있다(블록 1005). 사용자에 의해 보유된 누적자가 블록 1002에서 구식이 아닌 것이 판정되면, 프로세스는 후처리로 진행하여(블록 1005), 예를 들어, 검증자가 사용자를 부정하거나, 또는 그 자신에 의해 보유된 데이터를 업데이트하도록 시도할 수 있다.
검증자에 의해 보유된 누적자가 진부하고, 즉 사용자에 의해 보유된 것보다 오래된 것이기 때문에 사용자가 검증자에 대한 인증을 실패할 가능성도 있다. 유사하게, 검증자에 의해 보유된 누적자가 진부하다고 판정되면, 검증자는 그/그녀가 보유한 누적자를 사용자에 의해 보유된 것으로 업데이트하고 검증을 재실행할 수 있다. 이 경우에, 검증자는 상술한 바와 같이 CA 또는 사용자로부터 업데이트된 데이터를 수신할 수 있다.
본 발명의 또다른 실시예에서, 사용자는 가장 최근에 업데이트된 데이터에 부가하여 특정한 양의 이전의 데이터(예를 들어, 과거 누적자 및 그들의 대응하는 크레덴셜)을 유지할 수도 있다. 검증자에 의해 보유된 누적자가 검증 동안 진부하다고 판정되면, 검증자에 의해 보유된 누적자에 대응하는 이전의 데이터를 이용하 여 검증을 재실행할 수 있다. 유사하게, 검증자는 특정 량의 과거의 누적자를 유지할 수도 있다. 사용자에 의해 보유된 데이터가 검증 동안 진부하다고 판정되면, 검증자는 사용자에 의해 보유된 데이터에 대응하는 이전의 누적자를 이용하여 검증을 재실행할 수도 있다. 상기 시나리오는 예를 들어 검증자가 위험을 겪을 수 있거나 또는 상기 이전의 데이터가 공개된 후에 CA의 동작이 그 사용자에 대한 신뢰에 영향이 없다는 것이 확신되는 경우에 발생할 수 있다.
상술한 바와 같이, 사용자가 검증자에 대한 인증에 실패하면, 사용자는 검증자로부터 업데이트된 정보를 얻을 수 있거나, 또는 검증자가 사용자로부터 업데이트된 정보를 얻을 수 있다. 그러나, 인증이 실패되는 경우에 검증자와 사용자 중 어느 하나가 CA에 의해 업데이트할 수도 있다. 업데이트 정책은 특정 환경에 따라서 가변적이다.
본 발명에 따르면, 누적된 값은 결코 공개되지 않아야 하는 비밀일 수 있다. 사용자와 검증자는 새로운 사용자가 CA에 의해 인증되는 경우에 누적자를 업데이트할 필요가 없다. 이는 낮은 계산 비용뿐만 아니라 네트워크 대역폭 소모 관점에서 CA, 사용자 및 검증자에 의미가 있다.
또한, 철회 업데이트 정보는 압축된 포맷으로 검색될 수 있고, 이는 낮은 계산 비용뿐만 아니라 네트워크 대역폭 소모의 관점에서 이점이 있다. 그리고, 철회 업데이트 정보는 압축된 포맷으로 공개될 수 있고, 이는 낮은 계산 비용뿐만 아니라 네트워크 대역폭 소모의 관점에서 이점이 있다.
또한, 검증자는 CA 대신에 사용자로부터 가장 최근의 누적자를 수신할 소 있 고, 사용자는 CA 대신에 검증자로부터 철회 업데이트 정보를 수신할 수 있어, 보다 최근 누적자에 대해 동기화한다. 그 결과, CA의 부담은 크게 감소되고, 새로운 사용자 인증 데이터가 신속하게 전파될 수 있다.
도 11은 본 발명의 일 실시예에 따른 예시적인 CA 장치(110)를 나타낸다.
장치(110)는 주로 누적자를 생성하고 업데이트하는 누적자 계산 유닛(111), 사용자가 서비스에 액세스하도록 허가하는 허가 유닛(112), 및 누적자 계산 유닛(111) 및 허가 유닛(112)에 연결되고 네트워크를 통해 사용자와 통신하고 데이터를 공개하는 통신 유닛(114)을 포함한다.
허가 유닛(112)은 서로 연결된 토큰 선택 모듈(117) 및 크레덴셜 생성 모듈(118)을 포함할 수 있다. 새로운 사용자가 서비스를 액세스하도록 허가되는 경우에, 토큰 선택 모듈(117)은 그 사용자에 대한 토큰을 선택하고, 크레덴셜 생성 모듈(118)은 토큰 선택 모듈(117)에 의해 선택된 토큰과 누적자를 이용하여 그 사용자에 대한 크레덴셜을 계산한다. 그리고, 통신 유닛(114)은 선택된 토큰 및 계산된 크레덴셜을 사용자에게 전송한다.
누적자 계산 유닛(111)은 CA가 초기화할 때 초기 누적자를 생성하는 초기 누적자 생성 모듈(115) 및 하나 이상의 토큰이 철회될 때 누적자를 업데이트하는 누적자 업데이트 모듈(116)을 포함할 수 있다.
장치(110)는 누적자 계산 유닛(111)에 연결된 철회 증분 유닛(113)을 더 포함한다. 하나 이상의 토큰이 철회되는 경우에, 철회 증분 유닛(113)은 본 발명의 방법에 따라 철회 증분 데이터를 생성하고, 통신 유닛(114)을 통해 이를 공개한다. 예를 들어, 철회 증분 유닛(113)은 철회 증분 데이터를 상술한 바와 같이 철회 증분들의 집합, 압축된 철회 증분 또는 철회 패킹으로 어셈블링할 수 있다.
사용자가 서비스를 액세스하도록 허가되기 전에 특정 종류의 조사를 통과해야 한다면, CA 장치(110)는 이러한 조사를 실행하는 조사 유닛을 더 포함할 수 있다.
또한, 장치(110)는 사용자에게 발행된 토큰, 시스템 파라미터, 각 유닛에 의해 사용된 데이터 등과 같이 CA에 의해 사용된 데이터를 저장하는 저장 유닛(119)을 포함할 수 있다.
장치(110)는 CA의 정책 및 각각의 유닛 또는 컴포넌트의 전체 동작을 제어하는 제어 유닛(101)을 더 포함할 수 있다. 예를 들어, 제어 유닛(101)은 업데이트팅 시간 및 철회 증분 데이터의 형태를 결정한다. 장치(110)는 사용자로부터의 허가 요청을 수신하고 분석하는 유닛, RSA 파라미터 또는 다른 시스템 파라미터를 선택하고 계산하는 유닛 등과 같이, 특정한 애플리케이션에 따른 다른 유닛을 더 포함할 수 있다. 이러한 유닛 또는 컴포넌트는 당업자에 의해 용이하게 추가되므로 그 상세한 설명은 생략된다.
장치(110)는 네트워크에 접속되는 별개의 장치, 또는 서버의 일부일 수 있다. 이는 특수화된 하드웨어 또는 공통 하드웨어의 기능에 기초한 프로그래밍된 기능 모듈로서 구현될 수 있다.
도 12는 본 발명의 일 실시예에 따른 예시적인 사용자 단말기(120)를 나타낸다.
사용자 단말기(120)는 주로 누적자를 저장하는 누적자 저장 유닛(121), CA에 의해 발행된 토큰을 저장하는 토큰 저장 유닛(123), CA에 의해 발행된 크레덴셜을 저장하는 크레덴셜 저장 유닛(122), 크레덴셜 저장 유닛(123)에 연결되는 유도 크레덴셜 생성 유닛(125), 누적자 저장 유닛(121), 토큰 저장 유닛(123) 및 유도 크레덴셜 생성 유닛(125)에 연결되는 입증 유닛(126), 및 상기 유닛들에 연결되고 CA 및 검증자들과 통신하는 통신 유닛(127)을 포함한다. 본 발명의 일 실시예에 따르면, 누적자 저장 유닛(121) 및 크레덴셜 저장 유닛(122)은 각각 가장 최근의 누적자 및 크레덴셜만을 저장한다는 점이 주목된다. 그러나, 본 발명의 또다른 실시예에서, 누적자 저장 유닛(121) 및 크레덴셜 저장 유닛(122)은 각각 가장 최근의 것에 더하여 특정 량의 과거의 누적자 및 크레덴셜을 저장한다.
사용자가 CA에 의해 서비스를 액세스하도록 허가된 후에, 유도 크레덴셜 생성 유닛(125)은 크레덴셜 저장 유닛(122)에 저장되어 있는 크레덴셜로부터 유도 크레덴셜을 생성한다. 유도 크레덴셜에 의해, 입증 유닛(126)은 상술한 바와 같이 검증자에 의해 지식 증명을 실행할 수 있다.
사용자 단말기(120)는 누적자 저장 유닛(121) 및 크레덴셜 저장 유닛(122)에 연결되는 업데이트 유닛(124)을 더 포함한다. 통신 유닛(127)을 통해 CA 또는 검증자로부터 철회 증분 데이터를 수신한 후에, 업데이트 유닛(124)은 철회 증분 데이터에 기초하여 업데이트된 크레덴셜을 계산하고 누적자 저장 유닛(121)에 저장된 누적자 및 크레덴셜 저장 유닛(122)에 저장된 크레덴셜을 업데이트한다. 이후에, 유도 크레덴셜 생성 유닛(125)은 업데이트된 크레덴셜로부터 유도 크레덴셜을 계산 할 것이다. 새로운 유도 크레덴셜은 검증자에 의한 지식 증명에서 사용될 것이다.
또한, 사용자 단말기(120)는 각 유닛의 동작을 제어하는 제어 유닛(128)을 더 포함할 수 있다. 예를 들어, 제어 유닛(128)은 데이터를 업데이트할 시간인지의 여부를 판정하고, CA 또는 검증자로부터 업데이터된 정보를 수신할지의 여부를 판정한다. 상술한 저장 유닛에 부가하여, 사용자 단말기(120)는 단말의 동작 동안에 요구되는 다른 데이터 및 정보를 저장하는 다른 저장 유닛들을 포함할 수 있다. 이들 저장 유닛들은 서로 독립적일 수 있거나, 또는 상이한 저장 영역으로서 신호 메모리에 통합될 수 있다.
도 13은 본 발명의 일 실시예에 따른 예시적인 검증자 단말기(130)를 나타낸다.
도 13에 나타낸 바와 같이, 검증자 단말기(130)는 주로 업데이트 유닛(131), 검증 유닛(132), 서빙 유닛(133), 통신 유닛(134), 저장 유닛(135) 및 제어 유닛(136)을 포함한다. 검증 유닛(132)은 통신 유닛(134)에 연결되고, 지식 증명에 의해 사용자를 검증하도록 구성된다. 검증 유닛(132)이 사용자가 CA에 의해 허가된 것으로 결정하면, 즉, 사용자의 토큰이 누적자에 누적되어 있음이 입증되면, 서빙 유닛(133)에 알린다. 서빙 유닛(133)은 사용자에게 서비스를 제공하기 시작할 수 있으며, 예를 들어 사용자가 검증자 단말기(130)의 특정 컨텐트를 액세스하도록 하거나 사용자와 즉석 대화를 시작할 수 있다. 업데이트 유닛(131)은 검증 유닛(132)에 연결된다. 제어 유닛(136)의 제어 하에서, 업데이트 유닛(131)은 CA 또는 사용자로부터 업데이트 철회 증분 데이터 또는 업데이트된 누적자를 검색한다. 업데이트된 누적자는 검증 유닛(132)에 의해 사용자를 검증하는데 사용된다. 저장 유닛(135)은 검증자 단말기(130)의 동작에 필요한 데이터를 저장하는데 이용된다. 본 발명의 일 실시예에 따르면, 저장 유닛(135)은 CA에 의해 공개된 철회 데이터(예를 들어, 철회 패킹 또는 압축된 철회 증분)를 더 저장한다. 또한, 본 발명의 또다른 실시예에 따르면, 저장 유닛(135)은, 가장 최근의 데이터에 부가하여, 특정량의 히스토리 데이터, 예를 들어 일련의 과거 누적자를 저장할 수 있다. 제어 유닛(136)은 각 유닛의 동작을 제어한다. 예를 들어, 제어 유닛(136)은 업데이트의 시간 및 방식을 결정한다. 본 발명의 일 실시예에서, 제어 유닛(136)은 사용자 또는 CA로부터 업데이트된 누적자를 수신할지의 여부, 또는 사용자에게 캐시된 철회 데이터를 제공할지의 여부를 결정한다.
CA 장치 및 사용자 및 검증자의 단말기의 예가 상술된다. 그러나, 이 구성은 임의의 특정 실시예에 한정되지 않는다. 이들에 많은 대체 구성 또는 변경이 있을 수 있다. 예를 들어, 상술한 2 이상의 유닛이 단일 하드웨어로 결합될 수 있다(예를 들어, 도 12에 도시한 누적자 저장 유닛(121), 크레덴셜 저장 유닛(122) 및 토큰 저장 유닛(123)이 단일 메모리일 수 있다). 또한 하나의 유닛은 상이한 유닛들로 분할될 수 있다(예를 들어, 도 13에 도시한 저장 유닛(135)은 업데이트 유닛(131), 검증 유닛(132), 서빙 유닛(133), 제어 유닛(136) 등을 각각 구성하는 몇몇 개의 저장 장치들로 분할될 수 있다). 또한, 사용자 단말기(120)와 검증자 단말기(130)는 하나의 단말기로 결합될 수 있다. 또한 사용자가 때때로 네트워크에서 검증자로 작용할 경우가 있다.
CA 장치, 사용자 단말기 및 검증자 단말기는 특정한 하드웨어에 기초하여 구현될 수 있거나, 또는 공통 하드웨어에 기초하여 구현될 수 있다. 예를 들어, 단말기가 범용 컴퓨터로서 구현되면, 단말기는 키보드, 디스플레이, 데이터 버스 등과 같이, 범용 컴퓨터에서 나타나는 공통 유닛들을 더 포함할 수 있다. 이러한 구현에서, 상술한 제어 유닛은 컴퓨터의 중앙 처리 장치(CPU)일 수 있고, 각각의 유닛은 실행될 때 CPU가 사전결정된 프로세서를 실행하도록 하는 소프트웨어 모듈일 수 있다.
본 발명은 하드웨어, 소프트웨어, 펌웨어 또는 이들의 결합으로 구현될 수 있고 그들의 시스템, 서브시스템, 컴포넌트 또는 서브컴포넌트로 이용될 수 있다. 소프트웨어에서 구현될 경우에, 본 발명의 구성요소는 필수적으로 필요한 태스크를 실행하는 데 사용되는 프로그램 또는 코드 세그먼트이다. 프로그램 또는 코드 세그먼트는 머신 판독가능 매체에 저장되거나 또는 전송 매체 또는 통신 링크 상에서 반송파로 구현되는 데이터 신호에 의해 전달될 수 있다. "머신 판독가능 매체"는 정보를 저장하거나 전송할 수 있는 임의의 매체를 포함할 수 있다. 머신 판독가능 매체의 예는 전자 회로, 반도체 메모리 장치, ROM, 플래시 메모리, 소거가능한 ROM(EROM), 플로피 디스켓, CD-ROM, 광 디스크, 하드 디스크, 광 섬유 매체, 무선 주파수(RF) 링크 등을 포함한다. 코드 세그먼트는 인터넷, 인트라넷 등과 같이 컴퓨터 네트워크를 통해 다운로드될 수 있다.
본 발명은 그 사상 또는 본질적인 특성으로부터 벗어나지 않고 다른 특정 형태로 구현될 수 있다. 예를 들어, 특정 실시예에서 개시되는 알고리즘은 시스템 아키텍쳐가 본 발명의 기본 사상으로부터 벗어나지 않는 한 수정될 수 있다. 그러므로 본 실시예들은 모든 관점에서 한정적인 것이 아니라 예시적인 것으로 고려되고, 본 발명의 범위는 앞서의 설명에 의해서가 아니라 첨부된 특허청구범위에 의해 지시되는 것이며, 본 특허청구범위의 의미 및 균등한 범위 내에 있는 모든 변경들이 그 안에 포함되도록 의도된다.
본 발명에 따르면, 허가된 사용자들의 누적된 토큰들은 결코 공개되어서는 안 되는 비밀일 수 있다. 사용자들 및 검증자들은 새로운 사용자가 CA에 의해 허가될 때 누적자를 업데이트할 필요가 없다. 이것은 더 낮은 계산 비용뿐만 아니라 네트워크 대역폭 소비 면에서 CA, 사용자 및 검증자에 대해 의미가 있다.
또한, 철회 업데이트 정보는 더 낮은 계산 비용뿐만 아니라 네트워크 대역폭 소비 면에서 장점이 있는 압축된 포맷으로 검색될 수 있다. 또한, 철회 업데이트 정보는 더 낮은 계산 비용뿐만 아니라 네트워크 대역폭 소비 면에서 장점이 있는 압축된 포맷으로 공개될 수 있다.
또한, 검증자는 CA 대신에 사용자로부터 가장 최근의 누적자를 수신할 수 있고, 사용자는 CA 대신에 검증자로부터 철회 업데이트 정보를 수신하며, 이에 따라 가장 최근의 누적자에 동기화할 수 있다. 결과적으로, CA의 부담은 현저하게 감소되고, 새로운 사용자 인증 데이터는 신속하게 전달될 수 있다.

Claims (26)

  1. 통신 네트워크에서 사용자 인증 데이터를 생성하고 업데이트하는 장치로서,
    허가된 사용자들의 토큰들을 누적하는 누적자(accumulator)를 생성하고 업데이트하도록 구성된 누적자 계산 유닛;
    상기 누적자 계산 유닛에 연결되고, 토큰 선택 모듈 및 상기 토큰 선택 모듈에 연결된 크레덴셜(credential) 생성 모듈을 포함하는 허가 유닛 - 상기 토큰 선택 모듈은 허가될 사용자를 위한 토큰을 선택하도록 구성되고, 상기 크레덴셜 생성 모듈은 상기 토큰 및 상기 누적자로부터 크레덴셜을 생성하도록 구성되고, 상기 크레덴셜은 상기 토큰이 상기 누적자 내에 누적되었음을 사용자가 입증하기 위해 사용됨 - ; 및
    상기 누적자 계산 유닛, 상기 허가 유닛 및 상기 네트워크에 연결되고, 상기 네트워크를 통해 상기 누적자를 공개하고 상기 토큰 및 상기 크레덴셜을 상기 사용자에게 송신하도록 구성된 통신 유닛
    을 포함하는 장치.
  2. 제1항에 있어서,
    상기 누적자 계산 유닛은 초기 누적자를 생성하도록 구성된 초기 누적자 생성 모듈, 및 하나 이상의 철회된(revoked) 토큰들에 기초하여 상기 누적자를 업데이트하도록 구성된 누적자 업데이트 모듈을 포함하고,
    상기 장치는 상기 누적자 계산 유닛에 연결되고, 철회 증분 데이터(revocation increment data)를 생성 및 공개하도록 구성된 철회 증분 유닛을 더 포함하며,
    상기 철회 증분 데이터는 상기 철회된 토큰들에 관한 증분 데이터 및 업데이트된 누적자를 포함하는 장치.
  3. 제2항에 있어서,
    상기 철회 증분 유닛은,
    상기 철회된 토큰들 중 하나 및 그 토큰이 철회된 후에 계산된 대응하는 누적자를 각각 포함하는 철회 증분들의 집합;
    상기 업데이트된 누적자 및 각각의 상기 철회된 토큰들을 포함하는 압축된 철회 증분; 및
    각각의 상기 철회된 토큰들의 곱 및 상기 업데이트된 누적자를 포함하는 철회 패킹(revocation packing)
    중 적어도 하나로서 상기 철회 증분 데이터를 생성하는 장치.
  4. 통신 네트워크에서 사용자 인증 데이터를 생성하고 업데이트하는 방법으로서,
    허가된 사용자들의 토큰들을 누적하는 누적자를 생성하고 공개하는 단계;
    허가될 사용자를 위한 토큰을 선택하는 단계;
    상기 토큰 및 상기 누적자로부터 크레덴셜을 생성하는 단계
    를 포함하고,
    상기 크레덴셜은 상기 토큰이 상기 누적자에 누적되어 있음을 사용자가 입증하는데 사용되는 방법.
  5. 제4항에 있어서,
    하나 이상의 토큰들이 철회되면,
    상기 철회된 토큰들에 기초하여 상기 누적자를 업데이트하는 단계;
    마지막 업데이트 때로부터 계산된 철회 증분 데이터를 생성하고 공개하는 단계
    를 더 포함하고,
    상기 철회 증분 데이터는 상기 마지막 업데이트 때로부터 상기 철회된 토큰들에 관한 증분 데이터 및 업데이트된 누적자를 포함하는 방법.
  6. 제5항에 있어서,
    상기 철회 증분 데이터는,
    상기 철회된 토큰들 중 하나 및 그 토큰이 철회된 후에 계산된 대응하는 누적자를 각각 포함하는 철회 증분들의 집합;
    상기 업데이트된 누적자 및 각각의 상기 철회된 토큰들을 포함하는 압축된 철회 증분; 및
    각각의 상기 철회된 토큰들의 곱 및 상기 업데이트된 누적자를 포함하는 철회 패킹(revocation packing)
    중 적어도 하나에 공개되는 방법.
  7. 통신 네트워크에서 사용자가 검증자(verifier)에 인증하기 위한 단말기로서,
    상기 네트워크는 적어도 하나의 크레덴셜 기관을 포함하고,
    상기 단말기는,
    상기 네트워크에 연결된 통신 유닛;
    상기 통신 유닛에 연결되고, 상기 크레덴셜 기관에 의해 생성된 누적자를 저장하도록 구성된 누적자 저장 유닛;
    상기 통신 유닛에 연결되고, 상기 크레덴셜 기관으로부터 발행된 토큰을 저장하도록 구성된 토큰 저장 유닛;
    상기 통신 유닛에 연결되고, 상기 크레덴셜 기관에 의해 상기 누적자 및 상기 토큰으로부터 생성된 크레덴셜을 저장하도록 구성된 크레덴셜 저장 유닛;
    상기 크레덴셜 저장 유닛에 연결되고, 상기 크레덴셜 저장 유닛에 저장된 크레덴셜로부터 유도 크레덴셜(derived credential)을 생성하도록 구성된 유도 크레덴셜 생성 유닛; 및
    상기 누적자 저장 유닛, 상기 토큰 저장 유닛 및 상기 유도 크레덴셜 생성 유닛에 연결되고, 상기 토큰을 드러내지 않고 상기 유도 크레덴셜을 사용하여 상기 누적자 내에 상기 토큰이 누적되어 있음을 입증하도록 상기 검증자에 의해 지식 증 명(knowledge proof)을 수행하도록 구성된 입증 유닛(proving unit)
    을 포함하는 단말기.
  8. 제7항에 있어서,
    상기 누적자 저장 유닛 및 상기 크레덴셜 저장 유닛에 연결되고, 상기 크레덴셜 기관 및 상기 검증자 중 하나로부터 수신된 철회 증분 데이터에 기초하여 상기 누적자 저장 유닛에 저장된 누적자 및 상기 크레덴셜 저장 유닛에 저장된 크레덴셜을 업데이트하도록 구성된 업데이트 유닛을 더 포함하는 단말기.
  9. 제8항에 있어서,
    상기 누적자 저장 유닛은 가장 최근에 업데이트된 누적자에 부가하여 소정량의 지난 누적자들을 더 저장하고, 상기 크레덴셜 저장 유닛은 가장 최근에 업데이트된 크레덴셜에 부가하여 소정량의 지난 크레덴셜들을 더 저장하는 단말기.
  10. 통신 네트워크에서 사용자가 검증자에 인증하기 위한 방법으로서,
    상기 네트워크는 적어도 하나의 크레덴셜 기관을 포함하며, 상기 방법은,
    상기 크레덴셜 기관에 의해 생성된 누적자를 수신하는 단계;
    상기 크레덴셜 기관에 의해 발행된 토큰을 수신하는 단계;
    상기 크레덴셜 기관에 의해 상기 토큰 및 상기 누적자로부터 생성된 크레덴셜을 수신하는 단계;
    상기 크레덴셜로부터 유도 크레뎐셜을 계산하는 단계; 및
    상기 토큰을 드러내지 않고, 상기 유도 크레덴셜을 사용하여 상기 토큰이 상기 누적자 내에 누적되어 있음을 입증하기 위해 상기 검증자에 의해 지식 증명을 수행하는 단계
    를 포함하는 방법.
  11. 제10항에 있어서,
    상기 크레덴셜 기관 및 상기 검증자 중 하나로부터 철회 증분 데이터를 수신하는 단계;
    상기 철회 증분 데이터에 기초하여 상기 누적자 및 상기 크레덴셜을 업데이트하는 단계
    를 더 포함하는 방법.
  12. 제11항에 있어서,
    가장 최근에 업데이트된 누적자 및 크레덴셜에 부가하여 소정량의 지난 누적자들 및 크레덴셜들을 저장하는 단계를 더 포함하고,
    상기 지식 증명을 수행하는 단계는 상기 검증자에 의해 보유된 상기 누적자에 대응하는 크레덴셜로부터 계산된 상기 유도 크레덴셜을 사용하여 상기 검증자에 의해 지식 증명을 수행하는 단계를 포함하는 방법.
  13. 네트워크에 의해 동작가능하게 연결된 적어도 하나의 크레덴셜 기관 장치, 적어도 하나의 사용자 단말기 및 적어도 하나의 검증자 단말기를 포함하는 통신 시스템으로서,
    상기 크레덴셜 기관 장치는 누적자 계산 유닛과 그에 연결된 허가 유닛을 포함하고, 상기 누적자 계산 유닛은 허가된 사용자들의 토큰들을 누적하기 위한 누적자를 생성 및 업데이트하도록 구성되고, 상기 허가 유닛은 토큰 선택 모듈 및 상기 토큰 선택 모듈에 연결된 크레덴셜 생성 모듈을 포함하고,
    상기 사용자 단말기는 유도 크레덴셜 생성 유닛 및 입증 유닛을 포함하고,
    상기 검증자 단말기는 검증 유닛을 포함하고,
    상기 사용자가 허가되면, 상기 토큰 선택 모듈은 토큰을 선택하고 상기 크레덴셜 생성 모듈은 상기 토큰 및 상기 누적자로부터 크레덴셜을 생성하고, 상기 토큰 및 상기 크레덴셜은 상기 크레덴셜 기관 장치로부터 상기 사용자 단말기로 송신되며,
    상기 유도 크레덴셜 생성 유닛은 상기 크레덴셜로부터 유도 크레덴셜을 생성하도록 구성되고,
    상기 사용자 단말기의 상기 입증 유닛 및 상기 검증자 단말기의 상기 검증 유닛은 상기 토큰을 드러내지 않고 상기 토큰이 상기 누적자 내에 누적되었음을 입증하기 위해 상기 유도 크레덴셜을 사용하여 지식 증명을 수행하도록 구성되어 있는 통신 시스템.
  14. 제13항에 있어서,
    상기 크레덴셜 기관 장치는 철회 증분 유닛을 더 포함하고,
    하나 이상의 토큰들이 철회되면, 상기 누적자 계산 유닛은 상기 철회된 토큰들에 기초하여 누적자를 업데이트하고, 상기 철회 증분 유닛은 업데이트된 누적자를 포함하는 철회 증분 데이터 및 상기 철회된 토큰들에 관한 증분 데이터를 생성 및 공개하는 통신 시스템.
  15. 제14항에 있어서,
    상기 철회 증분 데이터는,
    상기 철회된 토큰들 중 하나 및 그 토큰이 철회된 후에 계산된 대응하는 누적자를 각각 포함하는 철회 증분들의 집합;
    상기 업데이트된 누적자 및 각각의 상기 철회된 토큰들을 포함하는 압축된 철회 증분; 및
    각각의 상기 철회된 토큰들의 곱 및 상기 업데이트된 누적자를 포함하는 철회 패킹(revocation packing)
    의 형태들 중 적어도 하나의 형태로 공개되는 통신 시스템.
  16. 제14항에 있어서,
    상기 사용자 단말기는 상기 크레덴셜 기관 장치 및 상기 검증자 단말기 중 하나로부터 수신된 상기 철회 증분 데이터에 기초하여 상기 사용자 단말기에 의해 보유된 상기 크레덴셜 및 상기 누적자를 업데이트하기 위한 업데이트 유닛을 더 포함하는 통신 시스템.
  17. 제14항에 있어서,
    상기 검증자 단말기는 상기 크레덴셜 기관 장치 및 상기 사용자 단말기 중 하나로부터 수신된 상기 업데이트된 누적자에 의해 상기 검증자 단말기가 보유한 누적자를 업데이트하기 위한 업데이트 유닛을 더 포함하는 통신 시스템.
  18. 통신 네트워크에서 사용자들을 인증하기 위한 방법으로서,
    상기 네트워크는 적어도 하나의 크레덴셜 기관 및 적어도 하나의 검증자를 포함하고,
    상기 크레덴셜 기관에 의해 허가된 사용자들의 토큰들을 누적하기 위한 누적자를 생성 및 공개하는 단계;
    상기 크레덴셜 기관에 의해 발행된 토큰 및 상기 크레덴셜 기관에 의해 상기 토큰 및 상기 누적자로부터 생성되는 크레덴셜을 허가될 사용자에게 송신하는 단계;
    상기 사용자에 의해 상기 크레덴셜로부터 유도 크레덴셜을 계산하는 단계;
    상기 사용자로부터의 상기 유도 크레덴셜을 상기 검증자로 송신하는 단계; 및
    상기 토큰을 드러내지 않고, 상기 누적자 내에 상기 토큰이 누적되어 있음을 입증하기 위해 상기 유도 크레덴셜을 사용하여 상기 사용자와 상기 검증자 사이에서 지식 증명을 수행하는 단계
    를 포함하는 방법.
  19. 제18항에 있어서,
    하나 이상의 토큰들이 상기 크레덴셜 기관에 의해 철회되면,
    상기 크레덴셜 기관에 의해 상기 철회된 토큰들에 기초하여 상기 누적자를 업데이트하는 단계; 및
    상기 크레덴셜 기관에 의한 마지막 업데이트 때로부터 계산된 철회 증분 데이터를 공개하는 단계를 더 포함하고,
    상기 철회 증분 데이터는 마지막 업데이트 때로부터의 상기 철회된 토큰들에 관한 증분 데이터 및 업데이트된 누적자를 포함하는 방법.
  20. 제19항에 있어서,
    상기 철회 증분 데이터는,
    상기 철회된 토큰들 중 하나 및 그 토큰이 철회된 후에 계산된 대응하는 누적자를 각각 포함하는 철회 증분들의 집합;
    상기 업데이트된 누적자 및 각각의 상기 철회된 토큰들을 포함하는 압축된 철회 증분; 및
    각각의 상기 철회된 토큰들의 곱 및 상기 업데이트된 누적자를 포함하는 철 회 패킹(revocation packing)
    의 형태들 중 적어도 하나의 형태로 공개되는 방법.
  21. 제19항에 있어서,
    상기 사용자가, 상기 크레덴셜 기관 및 상기 검증자 중 하나로부터 수신된 상기 철회 증분 데이터에 기초하여, 상기 보유된 누적자 및 상기 크레덴셜을 업데이트하는 단계를 더 포함하는 방법.
  22. 제19항에 있어서,
    상기 검증자가, 상기 크레덴셜 기관 및 상기 사용자 중 하나로부터 수신된 상기 업데이트된 누적자에 의해 상기 보유된 누적자를 업데이트하는 단계를 더 포함하는 방법.
  23. 하나 이상의 프로세서들에 의해 실행되는 경우, 상기 프로세서들로 하여금,
    허가된 사용자들의 토큰들을 누적하기 위한 누적자를 생성 및 공개하고;
    허가될 사용자를 위한 토큰을 선택하고;
    상기 토큰 및 상기 누적자로부터, 상기 토큰이 상기 누적자에 누적되어 있음을 상기 사용자가 입증하는데 사용되는 크레덴셜을 생성하고;
    상기 크레덴셜 및 상기 토큰을 상기 허가된 사용자에게 송신하게 하는
    명령어들이 기록된 머신 판독가능한 매체를 갖는 제조 물품.
  24. 제23항에 있어서,
    상기 명령어들은 또한 상기 프로세서들로 하여금
    하나 이상의 토큰이 철회되면, 상기 철회된 토큰들에 기초하여 상기 누적자를 업데이트하고,
    마지막 업데이트 때로부터 계산된 철회 증분 데이터를 생성 및 공개하게 하며,
    상기 철회 증분 데이터는 마지막 업데이트 때로부터의 상기 철회된 토큰들에 관한 증분 데이터 및 업데이트된 누적자를 포함하는 제조 물품.
  25. 하나 이상의 프로세서들에 의해 실행되는 경우, 상기 프로세서들로 하여금
    크레덴셜 기관에 의해 생성된 누적자를 수신하고,
    상기 크레덴셜 기관에 의해 발행된 토큰을 수신하고,
    상기 크레덴셜 기관에 의해 상기 토큰 및 상기 누적자로부터 생성된 크레덴셜을 수신하고,
    상기 크레덴셜로부터 유도 크레덴셜을 계산하고,
    상기 토큰을 드러내지 않고, 상기 유도 크레덴셜을 사용하여 상기 누적자에 상기 토큰이 누적되어 있음을 증명하기 위해 검증자에 의해 지식 증명을 수행하게 하는
    명령어들이 기록된 머신 판독가능한 매체를 갖는 제조 물품.
  26. 제25항에 있어서,
    상기 명령어들은 또한 상기 프로세서들로 하여금
    상기 크레덴셜 기관 및 상기 검증자 중 하나로부터 철회 증분 데이터를 수신하고
    상기 철회 증분 데이터에 기초하여 상기 누적자 및 상기 크레덴셜을 업데이트하게 하는 제조 물품.
KR1020060113877A 2005-11-17 2006-11-17 통신 네트워크에 대한 사용자 인증 시스템 및 방법 KR100890078B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN200510123543.3 2005-11-17
CN2005101235433A CN1968086B (zh) 2005-11-17 2005-11-17 用于通信网络的用户验证系统和方法

Publications (2)

Publication Number Publication Date
KR20070052679A true KR20070052679A (ko) 2007-05-22
KR100890078B1 KR100890078B1 (ko) 2009-03-24

Family

ID=37834232

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060113877A KR100890078B1 (ko) 2005-11-17 2006-11-17 통신 네트워크에 대한 사용자 인증 시스템 및 방법

Country Status (6)

Country Link
US (1) US20070150944A1 (ko)
EP (1) EP1788746A3 (ko)
JP (1) JP2007143163A (ko)
KR (1) KR100890078B1 (ko)
CN (1) CN1968086B (ko)
CA (1) CA2568402C (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220051599A (ko) 2020-10-19 2022-04-26 삼성에스디에스 주식회사 토큰 검증 방법 및 그 장치

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8060920B2 (en) * 2008-06-20 2011-11-15 Microsoft Corporation Generating and changing credentials of a service account
US8453258B2 (en) * 2010-09-15 2013-05-28 Bank Of America Corporation Protecting an electronic document by embedding an executable script
US8839381B2 (en) 2010-12-07 2014-09-16 Microsoft Corporation Revoking delegatable anonymous credentials
US8955084B2 (en) * 2011-11-10 2015-02-10 Blackberry Limited Timestamp-based token revocation
CN102611688B (zh) * 2011-12-15 2014-09-17 天津市通卡公用网络系统有限公司 终端pos装置黑名单数据远程更新方法
CN111581223B (zh) * 2020-04-11 2023-08-22 北京城市网邻信息技术有限公司 一种数据更新方法、装置、终端设备及存储介质

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AUPQ291299A0 (en) * 1999-09-17 1999-10-07 Silverbrook Research Pty Ltd A self mapping surface and related applications
US20050160272A1 (en) * 1999-10-28 2005-07-21 Timecertain, Llc System and method for providing trusted time in content of digital data files
KR100319255B1 (ko) * 1999-12-30 2002-01-05 서평원 이동통신 단말기의 개인 정보 데이터 및 일정 관리 데이터관리 방법
JP3588042B2 (ja) * 2000-08-30 2004-11-10 株式会社日立製作所 証明書の有効性確認方法および装置
US7543139B2 (en) * 2001-12-21 2009-06-02 International Business Machines Corporation Revocation of anonymous certificates, credentials, and access rights
US20030233557A1 (en) * 2002-06-13 2003-12-18 Zimmerman Thomas Guthrie Electronic signature verification method and apparatus
US7221650B1 (en) * 2002-12-23 2007-05-22 Intel Corporation System and method for checking data accumulators for consistency
US7366906B2 (en) * 2003-03-19 2008-04-29 Ricoh Company, Ltd. Digital certificate management system, digital certificate management apparatus, digital certificate management method, program and computer readable information recording medium
JP4504099B2 (ja) * 2003-06-25 2010-07-14 株式会社リコー デジタル証明書管理システム、デジタル証明書管理装置、デジタル証明書管理方法、更新手順決定方法およびプログラム
US7350003B2 (en) * 2003-09-25 2008-03-25 Intel Corporation Method, system, and apparatus for an adaptive weighted arbiter
US7623543B2 (en) * 2004-03-19 2009-11-24 Fujitsu Limited Token-controlled data transmissions in communication networks
US8938799B2 (en) * 2004-06-28 2015-01-20 Jen-Wei Kuo Security protection apparatus and method for endpoint computing systems
WO2006027723A1 (en) * 2004-09-06 2006-03-16 Koninklijke Philips Electronics N.V. Portable storage device and method for exchanging data
US7275124B2 (en) * 2005-02-24 2007-09-25 International Business Machines Corporation Method and system for controlling forwarding or terminating of a request at a bus interface based on buffer availability

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220051599A (ko) 2020-10-19 2022-04-26 삼성에스디에스 주식회사 토큰 검증 방법 및 그 장치

Also Published As

Publication number Publication date
JP2007143163A (ja) 2007-06-07
KR100890078B1 (ko) 2009-03-24
CA2568402A1 (en) 2007-05-17
EP1788746A2 (en) 2007-05-23
CA2568402C (en) 2011-11-01
CN1968086A (zh) 2007-05-23
CN1968086B (zh) 2011-11-09
EP1788746A3 (en) 2007-08-01
US20070150944A1 (en) 2007-06-28

Similar Documents

Publication Publication Date Title
Kumar et al. Secure CLS and CL-AS schemes designed for VANETs
US20210273779A1 (en) Hash-based digital signatures for hierarchical internet public key infrastructure
Giri et al. An efficient and robust rsa-based remote user authentication for telecare medical information systems
CN111639361A (zh) 一种区块链密钥管理方法、多人共同签名方法及电子装置
US7689828B2 (en) System and method for implementing digital signature using one time private keys
JP4790731B2 (ja) 派生シード
US7694335B1 (en) Server preventing attacks by generating a challenge having a computational request and a secure cookie for processing by a client
US7290133B1 (en) Method and apparatus improving efficiency of end-user certificate validation
CN111355745A (zh) 基于边缘计算网络架构的跨域身份认证方法
KR100890078B1 (ko) 통신 네트워크에 대한 사용자 인증 시스템 및 방법
Yan et al. Anonymous authentication for trustworthy pervasive social networking
CN101193103A (zh) 一种分配和验证身份标识的方法及系统
Rabaninejad et al. An identity-based online/offline secure cloud storage auditing scheme
Luo et al. A security communication model based on certificateless online/offline signcryption for Internet of Things
Pang et al. Efficient and secure certificateless signature scheme in the standard model
CN110635899B (zh) 一种ibc用户密钥更新方法及装置
Senouci et al. A provably secure free-pairing certificateless searchable encryption scheme
CN117728985A (zh) 一种云环境下进行跨域身份认证的方法及系统、设备、介质
CN116827584B (zh) 一个基于区块链的物联网设备无证书匿名跨域认证的方法
Hölzl et al. Disposable dynamic accumulators: toward practical privacy-preserving mobile eIDs with scalable revocation
Han et al. A PKI without TTP based on conditional trust in blockchain
Prakasha et al. Efficient digital certificate verification in wireless public key infrastructure using enhanced certificate revocation list
Kwon et al. Certificate transparency with enhanced privacy
Kumar et al. Secure and efficient cache-based authentication scheme for vehicular ad-hoc networks
Benarous et al. The quest of privacy in public key infrastructure

Legal Events

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

Payment date: 20130308

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140221

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20150116

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20160126

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee