KR101475282B1 - 키 유효성 검증 방법 및 이를 수행하기 위한 서버 - Google Patents
키 유효성 검증 방법 및 이를 수행하기 위한 서버 Download PDFInfo
- Publication number
- KR101475282B1 KR101475282B1 KR1020100131001A KR20100131001A KR101475282B1 KR 101475282 B1 KR101475282 B1 KR 101475282B1 KR 1020100131001 A KR1020100131001 A KR 1020100131001A KR 20100131001 A KR20100131001 A KR 20100131001A KR 101475282 B1 KR101475282 B1 KR 101475282B1
- Authority
- KR
- South Korea
- Prior art keywords
- key
- service
- revocation list
- anonymous
- service user
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/321—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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 digital signatures
- H04L9/3255—Cryptographic 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 digital signatures using group based signatures, e.g. ring or threshold signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/42—Anonymization, e.g. involving pseudonyms
Abstract
부분 연결성을 제공하는 익명 서비스에서 서비스제공서버가 키 유효성 검증 방법은 서비스제공서버가 폐기리스트를 전달받는 단계, 전달받은 폐기리스트와 비밀키를 이용하여 로컬 폐기리스트를 생성하는 단계, 서비스 이용자가 서명을 수행하면, 서비스 이용자의 가상 인덱스를 계산하는 단계 및 가상 인덱스가 상기 로컬 폐기리스트에 포함되어 있는지 여부를 토대로 서비스 이용자의 키에 대한 유효성 여부를 검증하는 단계를 포함한다.
Description
본 발명은 키 유효성 검증 방법 및 이를 수행하기 위한 서버에 관한 것이다. 보다 상세하게는 부분 연결성을 제공하는 익명 인증에서의 키의 유효성을 검증하는 방법 및 이를 수행하기 위한 서버에 관한 것이다.
최근에는 개인의 프라이버시가 중요해지면서 실명에 기반한 인증 방식 대신 익명으로 인증을 받는 방식이 개발되고 있다. 즉, 대부분의 서비스들은 그 사람의 실명이 누구인지를 확인할 필요가 없으며, 그 사람의 서비스 이용 권한(예를 들어, 성인 여부)만을 확인하는 것으로 충분한 경우가 많다.
서비스 이용 권한 만을 확인하는 대표적인 방법은 D. Boneh 등이 연구하여 발표한 짧은 그룹서명 기법(Short Group Signature)이 있다.
이러한, 그룹서명 기법은 익명성(Anonymity), 추적성(Traceability), 연결익명성(Unlinkability) 등 조건부 추적 가능한 익명성을 위한 기본적인 기능들을 포함하고 있다.
그러나, 연결익명성은 일반적인 인터넷 서비스에 적용될 경우 매우 불편할 수 있다. 사용자가 지속적으로 인증을 받아서 동일한 서비스를 제공받는 경우, 서비스 제공자는 사용자가 동일한 서비스 이용자인지를 알 수 없기 때문에 회원 관리 및 그에 기반한 다양한 서비스(예를 들어, 마일리지 서비스)를 제공할 수 없다.
완전한 연결성(Linkability)은 사람의 행적 추적이 가능하므로, 프라이버시 측면에서 도입하기에 좋지 못한 특성을 가지고 있다.
종래의 익명 인증 방법은 특정 서비스 도메인에서만 연결성을 제공하고, 여러 서비스 도메인간에는 같은 서비스 이용자인지 연결할 수 없도록 하는 부분연결성을 제공하여 익명으로 회원 관리를 할 수 있도록 하면서도 그 이용자에 대한 행적 추적은 불가능하도록 하였다.
이러한 익명 인증 방법에서 서비스 이용자가 제출한 서명을 검증함으로써 올바른 키를 소유하고 있음을 확인할 수 있으나, 키가 폐기되었거나 더 이상 유효하지 않은지를 판단하는 것은 매우 비효율적이다.
X.509 기반의 공개 키 기반 구조(Public Key Infrastructure, PKI)에서는 인증서 폐기 목록(certificate revocation list, CRL) 또는 온라인 인증서 상태 프로토콜(Online Certificate Status Protocol, OCSP) 등을 제공한다. 공개 키 기반 구조에서는 인증서마다 고유번호를 포함하므로, 고유번호를 인증서 폐기 목록과 비교함으로써 손쉽게 키 유효성을 검증하게 된다.
그러나, 익명 인증 방법들은 서비스 이용자마다 고유의 키를 발급받지만 서명 및 검증 시에 키가 직접적으로 드러나지 않기 때문에, 키 값을 비교하는 것이 불가능하므로 비효율적인 다른 방식을 이용할 수 밖이 없다.
익명 인증 방법의 키 유효성 검증 방법은 온라인 키 업데이트 방법과 VLR(Verifier Local Revocation) 방법으로 나뉜다.
온라인 키 업데이트 방법은 폐기된 키를 이용하여 공개키 및 모든 서비스 이용자의 비밀키를 업데이트하는 방법이다. 온라인 키 업데이트 방법은 폐기된 사용자가 비밀키를 업데이트할 수 없도록하여, 자연스럽게 폐기된 사용자가 서명을 생성하지 못하도록 하는 것이다.
VLR 방법은 서명 검증자 또는 서비스 제공자가 직접 검증하는 방식으로, 공개된 폐기 리스트를 이용하여 서명 검증시 폐기 여부를 확인한다.
이러한 익명 인증 방법은 모두 아래와 같이 비효율적인 문제점을 가진다.
온라인 키 업데이트 방법은 폐기 리스트가 늘어날 경우 서비스 이용자가 서명 전에 자신의 비밀키 업데이트를 하는데 있어 시간이 매우 오래 걸릴 수 있다는 문제점이 있다.
예를 들어, 온라인 키 업데이트 방법은 서비스 이용자의 온라인 접속이 항상 이루어 지지 않는 한, 불규칙적으로 온라인에 접속하여 비밀키 업데이트를 할 때, 오랜 시간 후 접속하게 되면 매우 긴 폐기 리스트를 이용하여 비밀키 업데이트를 해야한다. 이는 즉각적으로 또는 수 초 이내에 익명 인증이 이루어지기를 원하는 서비스 이용자의 요구를 만족시키지 못할 수 있다.
VLR 방법은 서비스 제공자가 항상 온라인으로 접속해 있기 때문에 폐기 리스트를 지속적으로 받아둘 수 있으나, 서명 검증 시간이 폐기 리스트에 비례하여 길어지는 문제점이 있다.
즉, 서명 검증 시에는 유효성을 검증하기 위한 알고리즘에 공개키 연산 수준에 해당하는 연산이 필요하다. 여기서, 서비스 제공자는 폐기 리스트가 길어지면 폐기 리스트에 비례하는 시간이 걸리므로, 서명 검증 때마다 긴 연산을 수행해야 하는 문제점이 있다.
본 발명의 목적은 부분 연결성을 제공하는 익명 인증에서의 키의 유효성을 검증하는 방법 및 이를 수행하기 위한 서버이다.
상기 과제를 해결하기 위한 본 발명의 실시예에 따른, 부분 연결성을 제공하는 익명 인증 방식에서 서비스제공서버가 키 유효성을 검증하는 방법은
상기 서비스제공서버가 폐기리스트를 전달받는 단계; 상기 폐기리스트와 비밀키를 이용하여 로컬 폐기리스트를 생성하는 단계; 서비스 이용자가 서명을 수행하면, 상기 서비스 이용자의 키 유효성 검증용 가상 인덱스를 계산하는 단계; 및 상기 가상 인덱스가 상기 로컬 폐기리스트에 포함되어 있는지 여부를 토대로 상기 서비스 이용자의 키에 대한 유효성 여부를 검증하는 단계를 포함한다.
상기 폐기리스트를 전달받는 단계는 익명인증서버가 익명 비밀키를 폐기하여 발생하는 사용자들의 키들의 집합에 대응하는 상기 폐기리스트를 공개한 것을 상기 서비스제공서버가 전달받는 것을 특징으로 한다.
상기 서비스 이용자의 키에 대한 유효성 여부를 검증하는 단계는 상기 가상 인덱스가 상기 로컬 폐기리스트에 포함되어 있지 않는 경우에 폐기되지 않은 유효한 키를 이용하여 인증 요청을 했음을 확인하는 단계를 포함한다.
상기 서비스 이용자의 키에 대한 유효성 여부를 검증하는 단계는 상기 가상 인덱스가 상기 로컬 폐기리스트에 포함되어 있는 경우에 폐기된 유효한 키를 이용하여 인증 요청을 했음을 확인하는 단계를 포함한다.
상기 과제를 해결하기 위한 본 발명의 다른 실시예에 따른, 부분 연결성을 제공하는 익명 서비스에서 키 유효성을 검증하는 서비스제공서버는
폐기리스트와 비밀키를 이용하여 로컬 폐기리스트를 생성하는 리스트 생성 모듈; 서비스 이용자가 서명을 수행하면, 상기 서비스 이용자의 키 유효성 검증용 가상 인덱스를 계산하는 인덱스 생성 모듈; 및 상기 가상 인덱스가 상기 로컬 폐기리스트에 포함되어 있는지 여부를 토대로 상기 서비스 이용자의 키에 대한 유효성 여부를 검증하는 검증 모듈을 포함한다.
상기 폐기리스트는 익명인증서버가 익명 비밀키를 폐기하여 발생하는 사용자들의 키들의 집합에 대응하는 리스트를 공개한 것을 특징으로 한다.
상기 검증 모듈은 상기 가상 인덱스가 상기 로컬 폐기리스트에 포함되어 있지 않는 경우에 폐기되지 않은 유효한 키를 이용하여 인증 요청을 했음을 확인하거나, 상기 가상 인덱스가 상기 로컬 폐기리스트에 포함되어 있는 경우에 폐기된 유효한 키를 이용하여 인증 요청을 했음을 확인하는 것을 특징으로 한다.
본 발명의 실시예에 따르면, 키 유효성 검증 방법은 익명 인증 기반의 다양한 서비스를 제공하면서도, 서비스 이용자 또는 서비스 제공자가 각각 서명 또는 서명 검증을 할 때 키 유효성 검증에 많은 연산 시간을 필요로 하지 않도록 하는 효과가 있다.
도 1은 일반적인 Short Group Signature을 이용한 익명 서비스 시스템을 도시한 도면이다.
도 2는 부분 연결성을 제공하는 익명 서비스 방법을 도시한 도면이다.
도 3은 도 2의 초기화 과정을 보다 상세하게 설명하기 위한 도면이다.
도 4는 도 3의 서비스 이용자 가입 단계를 보다 상세하게 설명하기 위한 도면이다.
도 5는 도 4의 서비스제공자 가입 단계를 보다 상세하게 설명하기 위한 도면이다.
도 6은 도 4의 그룹서명 생성 과정을 보다 상세하게 설명하기 위한 도면이다.
도 7은 도 4의 부분 연결 과정을 보다 상세하게 설명하기 위한 도면이다.
도 8은 본 발명의 실시예에 따른 키 유효성 검증 방법을 나타내는 흐름도이다.
도 9는 본 발명의 실시예에 따른 키 유효성을 검증하는 예를 나타내는 예시도이다.
도 10은 본 발명의 실시예에 따른 키 유효성을 검증하는 예를 나타내는 예시도이다.
도 2는 부분 연결성을 제공하는 익명 서비스 방법을 도시한 도면이다.
도 3은 도 2의 초기화 과정을 보다 상세하게 설명하기 위한 도면이다.
도 4는 도 3의 서비스 이용자 가입 단계를 보다 상세하게 설명하기 위한 도면이다.
도 5는 도 4의 서비스제공자 가입 단계를 보다 상세하게 설명하기 위한 도면이다.
도 6은 도 4의 그룹서명 생성 과정을 보다 상세하게 설명하기 위한 도면이다.
도 7은 도 4의 부분 연결 과정을 보다 상세하게 설명하기 위한 도면이다.
도 8은 본 발명의 실시예에 따른 키 유효성 검증 방법을 나타내는 흐름도이다.
도 9는 본 발명의 실시예에 따른 키 유효성을 검증하는 예를 나타내는 예시도이다.
도 10은 본 발명의 실시예에 따른 키 유효성을 검증하는 예를 나타내는 예시도이다.
본 발명을 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다. 여기서, 반복되는 설명, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능, 및 구성에 대한 상세한 설명은 생략한다. 본 발명의 실시형태는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
이하에서는, 본 발명의 실시예에 따른 키 유효성 검증 방법 및 이를 수행하기 위한 서버 에 대하여 첨부한 도면을 참고로 하여 상세히 설명한다.
본 발명의 키 유효성 검증 방법을 설명하기에 앞서 본 발명의 기반이 되는 Short Group Signature 에 대해 먼저 설명하기로 한다.
그룹서명 기법은 D. Chaum 등이 1991년에 EUROCRYPT 컨퍼런스에서 처음 제안한 기법으로, 그룹에 속한 멤버는 누구라도 서명할 수 있으며 검증자는 서명의 옳고 그름을 검증할 수 있으나 서명자에 대해 어떤 정보도 알아낼 수 없도록 한다. 그룹 관리자는 그룹서명 기법에서 가장 중요한 존재로, 그룹서명을 추적하여 그룹서명자의 신원을 알아낼 수 있다.
Short Group Signature는 D. Boneh 등이 2004년에 CRYPTO 컨퍼런스에 제안한 그룹서명 기법으로, 서명의 길이가 고정적이고 짧으며(1533bits), 서명 및 검증 시간이 상대적으로 적다는 장점을 가진다.
도 1은 일반적인 Short Group Signature을 이용한 익명 서비스 시스템을 도시한 도면이다.
도 1을 참조하면, 상기 익명 서비스 시스템은 서비스 단말(100), 익명인증서버(110), 서비스제공서버(120) 및 익명ID확인서버(130) 서비스제공서버(120) 등을 포함할 수 있다.
서비스 단말(100)은 익명인증서버(110)로부터 익명인증수단(익명ID || 비밀키)을 발급받아 사용자가 익명으로 서비스를 이용할 수 있도록 하는 장치이다. 본 발명의 실시예에 따른 서비스 단말(100)은 서비스 이용자에 의해 구동 및 이용되므로, 이하에서는 설명의 편이를 위해 서비스 이용자로 총칭하기로 한다.
익명인증서버(110)는 서비스 이용자의 실명을 확인하여 익명인증수단을 발급하며, 문제가 있는 경우에는 익명ID확인서버(130)와 함께 사용자의 실명을 추적할 수 있으나 단독으로는 추적이 불가능하다.
서비스제공서버(120)는 익명으로 서비스를 제공하며, 문제가 있는 경우 익명ID확인서버(130)를 통하여 익명 사용자의 실명에 대한 추적을 요청할 수 있다.
익명ID확인서버(130)는 서비스제공서버(120)로부터 익명인증 트랜잭션을 전달받아, 그로부터 익명ID를 확인할 수 있다.
Short Group Signature와 같은 기존의 그룹 서명은 연결익명성(Unlinkability)을 제공하기 어려운 특징을 지닌다. 즉, 2개의 서명에 대해서 익명ID확인서버를 제외하고는 누구도 그 서명들이 같은 서비스 이용자로부터 생성된 것인지를 판단할 수가 없다. 이러한 특징은 회원 기반 서비스에 익명 인증 기법을 도입하기 어렵게 만드는 단점을 가진다.
연결성을 위해서는 가명 기반 기법을 활용할 수 있으나, 이는 한 가명으로부터 생성된 인증이 모두 연결되므로 특정 서비스 이용자에 대한 행적 추적이 가능하며, 사회적 방법을 통한 실명 유추가 가능해질 수 있으므로 이는 좋은 방법이 아니다.
이를 보완하기 위해, 최근 들어 부분 연결성을 제공하는 익명 인증 기법이 소개되고 있다. 부분 연결성이란, 특정한 서비스 도메인 내에서는 각 인명 인증 트랜잭션들이 같은 사용자의 것인지를 판단할 수 있어서 그 도메인내에서는 회원 관리가 가능하지만, 다른 서비스 도메인 간의 익명 인증 트랜잭션이 같은 사용자의 것인지를 판단할 수 없는 상태를 의미한다.
도 2는 부분 연결성을 제공하는 익명 인증 방법을 도시한 도면이다.
도 2 에 도시된 바와 같이, 익명 인증 방법은 초기화(SetUp) 과정(S200), 가입(Join) 과정(S210), 그룹서명 생성(Sign) 과정(S220), 그룹서명 검증(Verify) 과정(S230), 서명자 확인(Open) 과정(S240) 및 부분 연결(Local-Link) 과정(S250)으로 이루어진다.
이하에서, 각 과정을 보다 구체적으로 살펴보면 다음과 같다.
먼저 초기화(SetUp) 과정(S200)에서는 도 3에 도시된 바와 같이, 익명인증서버(110)가 다음과 같은 과정을 수행한다.
단계 S201에서, 익명인증서버(110)는 보안 파라미터 K를 입력으로 받아서 다음을 수행한다. 먼저 그룹 공개파라미터(e, G1, G2)를 이용하여 겹선형(bilinear) 그룹쌍 와 결합된 계산 가능한 동형함수 와 겹선형 함수 , 그리고 해쉬 함수 를 생성한다. 그리고 임의의 생성원 와 을 선택하고 을 계산하며, 마스터 비밀키 를 선택하고 그룹 공개키 요소 를 계산하여, 초기 그룹 공개키 를 획득한다.
단계 S202에서, 익명인증서버(110)는 그룹 공개키 를 모든 참가자에게 공개한다. 이때, 그룹 공개키는 철폐(Revocation) 이벤트가 발생할 때마다 갱신된다. 또한 선택적으로, 그룹 공개키의 폐어링 함수 계산을 줄이기 위한 을 공개키에 포함할 수 있다.
이후 가입(Join) 과정(S210)은 도 2에 도시된 바와 같이 서비스 이용자 가입 단계(S211)와 서비스제공자 가입 단계(S212)가 수행된다. 이때, 서비스 이용자 가입 단계(S211)는 그룹에 가입하여 그룹서명키를 사용하려는 서비스 이용자(100)를 위한 절차이며, 서비스제공자 가입 단계(S212)는 부분 연결성을 확보하기 위한 서비스제공서버를 위한 절차이다.
일반적으로, 서비스제공자 가입 단계는 익명 서비스의 제공 전에 이루어지는 것이 일반적이며, 서비스의 연속성을 위하여 최초 발급 후에 다시 발급받는 것은 가급적 지양하여야 한다. 서비스 이용자의 가입 단계는 서비스 이용자가 언제든지 거칠 수 있으며, 한 서비스 이용자가 이 단계를 여러 번 거침으로써 그룹서명 비밀키를 여러 번 발급받는 것이 가능해야 한다.
도 4에 도시된 바와 같이, 서비스 이용자 가입 단계(S211)는 서비스 이용자(100)와 익명인증서버(110)에 의해 수행되며, 이때 서비스 이용자(100)와 익명인증서버(110)사이에는 보안채널이 형성되어 있다고 가정한다.
S211-1에서, 서비스 이용자(100)는 자신의 비밀키 를 선택하고 공개키 을 계산한다. 그리고 공개키 를 이용하여 비밀키 에 대한 개인키 소유 증명(Proof of Possession, POP), 즉, 비밀키 를 소유하고 있다는 증명 정보, 를 생성한 후, 익명인증서버(110)에 (신원확인정보, )을 송신한다. 이 에는 혹은 이를 직접 계산할 수 있는 정보가 포함되어 있어야 한다.
S211-2에서, 익명인증서버(110)는 가입하려는 서비스 이용자(100)로부터 전송되는 (신원확인정보,)를 수신하여 이의 유효성을 확인한 후, 서비스 이용자(100)의 재가입 여부를 다음과 같이 확인한다. 먼저 서비스 이용자 목록은 (신원확인정보, )와 같은 구조를 가지며, 여기에서 와 는 한 서비스 이용자에게 항상 고정된 값을 가진다.
S211-3에서, 서비스 이용자(100)가 이미 가입되어 신원확인정보가 이용자 목록(User-List)에 존재하면, 익명인증서버(110)는 이용자 목록으로부터 그 이용자에 등록되어 있는 를 얻은 후, 임의의 난수 를 선택하고 익명ID인 를 계산한다. 그리고 서비스 이용자(100)에 대한 그룹멤버키로 생성된 을 해당 서비스 이용자(100)에게 송신한다.
S211-4에서, 서비스 이용자(100)가 최초로 가입하여 (신원확인정보, )이 이용자 목록에 없으면, 익명인증서버(110)는 임의의 난수 를 선택하고 익명ID인 를 계산한다. 그리고, 익명인증서버(110)는 서비스 이용자(100)에 대한 그룹멤버키 를 서비스 이용자(100)에 송신하면서, (신원확인정보, , , )을 이용자 목록(User-List)에 추가하여 해당 서비스 이용자(100)를 등록한다. (는 특정 사용자에게 고정된 익명 ID에 해당하며, 이하에서는 간단히 줄여서 로 표시하기로 한다.)
S211-5에서, 서비스 이용자(100)는 를 수신한 후, 이하의 수학식1이 성립하는지 확인한 후, 수학식1이 성립되면 서비스 이용자(100)는 을 자신의 그룹서명 비밀키로 저장한다.
도 5에 도시된 바와 같이, 서비스제공자 가입 단계(S212)는 서비스제공서버(120)와 익명ID확인서버(130)에 의해 수행되며, 이때 서비스제공서버(120)와 익명ID확인서버(130) 사이에는 보안채널이 형성되어 있다고 가정한다.
S212-1에서, 서비스제공서버(120)는 자신의 SP 신원확인정보를 익명ID확인서버(130)에 송신한다.
S212-2에서, 익명ID확인서버(130)는 서비스제공서버(120)로부터 전송되는 SP 신원확인정보를 수신하여 이의 유효성을 확인한 후, 임의의 생성원 , 와 임의의 난수 를 선택하고 , 를 계산한다. 그리고 부분 연결용 공개키 및 비밀키쌍과 추적키 를 계산한 후, 공개키 및 비밀키쌍 은 서비스제공서버(120)에게 송신한다.
S212-3에서, 서비스제공서버(120)는 공개키 및 비밀키쌍 를 수신한 후 이하의 수학식 2가 성립하는지 확인한다. 만약 수학식 2가 성립되면, 서비스제공서버(120)는 을 자신의 LL 비밀키로 저장하고, LL 공개키 를 생성하여 공개한다.
이때, 서비스 이용자(100)는 LL 공개키에 포함된 값들이 익명ID확인서버(130)가 서비스제공서버(120)를 위해 발급한 값임을 검증할 수 있다고 가정하며, 이를 위해 LL 공개키에 대한 인증서를 사용할 수도 있다.
그룹서명 생성(Sign) 과정(S220)에서는, 서비스 이용자(100)는 도 6에 도시된 바와 같이 상호 협력하여 그룹서명을 생성한다.
즉, 임의의 난수 를 선택한 후, , 를 계산하고, 를 계산한다. 그리고, 임의의 난수 을 선택하고 다음과 같이 을 계산한다. 계산된 값들과 메시지 을 이용하여 해쉬 값 를 계산한 후, 을 계산하여, 그룹서명 를 생성한다.
S223에서, 서비스 이용자(100)는 S222 단계에서 생성된 그룹서명을 서비스 제공 서버(120)에 전달한다.
서비스제공서버(120) 또는 임의의 참가자는 이하의 수학식 4에 따라 를 계산하고, 계산된 과 그룹서명에 포함된 , 메시지 을 이용하여 해쉬 값 를 생성하고 이 값이 그룹서명에 포함된 와 같은지 확인한다. 만약 두 값이 같다면 1(그룹서명 유효)을 출력하고 그렇지 않다면 0(그룹서명 미유효)을 출력한다.
서명자 확인(Open) 과정(S240)에서는, 익명ID확인서버(130)와 익명인증서버(110)는 다음의 과정을 수행한다.
익명ID확인서버(130)는 서비스제공서버(120) 또는 임의의 참가자로부터 제공되는 그룹 공개키 , LL 공개키와 이에 대응하는 추적키 , 그리고 메시지 과 이에 대응하는 그룹 서명 에 대하여 다음을 수행한다.
먼저, 그룹서명의 정당성을 확인한 후, 을 이용하여 익명ID인 을 계산한다. 이때, 그룹서명에 포함된 세 가지 과 추적키 를 이용하여 갱신된 익명ID 정보 값 도 복호할 수 있다.
그리고 익명인증서버(110)와 익명ID확인서버(130)는 상호 협력하여 (필요한 경우, 익명인증서버(110)의 이용자 목록(User-List)에서 익명ID에 대응되는 신원확인정보 및 상기 그룹멤버키를 가지는 서비스 이용자를 비교 검색하여) 익명ID에 대응되는 사용자를 확인한다.
부분 연결(Local-Link) 과정(S250)에서는, 서비스제공서버(120)는 도8에 도시된 바와 같이 동작하여 동일 서비스 도메인 내에서의 연결성을 확보한다.
S251에서, 서비스제공서버(120)는 그룹 공개키, LL 공개키와 자신의 비밀LL 키 , 그리고 메시지 과 이에 대응하는 그룹 서명 에 획득한 후, 그룹서명이 자신의 LL 공개키에 대하여 정당한지 그룹서명 검증 알고리즘을 이용하여 확인한다. 만일 정당하다면, 이하의 수학식 5에 따라 자신의 LL 비밀키를 이용하여 서비스 이용자(100)의 가상인덱스를 계산한다.
이와 같이, 본 발명의 부분 연결 과정(S240)에 따르면 서비스제공서버(120)는 익명 사용자의 익명ID에 해당하는 를(혹은 )를 계산하지 못하나, 고정된 값을 가지는 가상인덱스 은 계산할 수 있게 된다.
이에 서비스 제공서버(120)는 서비스 이용자마다 고정된 값을 가지는 가상인덱스를 이용하여 서비스 이용자를 구분하고 마일리지 서비스, 벌점 부여, 서비스 이용 기록 분석 등의 기능을 수행할 수 있게 된다.
즉, 서비스 제공서버(120)는 익명을 유지하면서도 동일한 서비스 도메인 내에서의 연결성을 지원할 수 있게 된다.
그럼에도 불구하고, 서비스제공자 j, k가 공모를 하여도 같은 사용자의 그룹서명들로부터 동일한 가상인덱스를 계산할 수 없어, 서로 같은 사용자인지를 확인할 수 없게 된다.
즉, 서비스제공자 j, k는 같은 사용자로부터 받은 각각의 그룹서명들로부터 각각 만을 계산할 수 있어, 동일한 값을 가상인덱스를 획득하지 못하게 된다. 또한, 서비스 제공자 j가 받은 같은 서비스 이용자의 그룹 서명들로부터 서비스 제공자 k는 (혹은 그 역으로도) 유일한 가상인덱스를 계산할 수 없다.
따라서, 익명 인증 서비스 방법에서는 동일 서비스 도메인 내부에서만 연결성이 확보될 수 있을 뿐, 서로 다른 서비스 도메인간의 연결은 지원하지 않으므로, 부분 연결성(Local Linkability) 기능을 만족할 수 있게 된다.
다음, 부분 연결성을 제공하는 익명 인증 서비스에서 키 유효성 검증 방법을 도 8을 참조하여 상세하게 설명한다.
도 8은 본 발명의 실시예에 따른 키 유효성 검증 방법을 나타내는 흐름도이다.
본 발명은 서비스제공자 가입 단계(S212)에서 익명ID확인서버(130)가 서비스제공서버(120)에게 제공하는 LL 비밀키()에 를 추가한다(단, ). 따라서, 본 발명의 실시예에 따른 키 유효성 검증 방법에서의 LL 비밀키는 로 구성된다.
LL 비밀키를 위와 같이 구성할 경우, 서비스제공서버(120)는 그룹 서명검증 과정(S230)에서 2개의 연결용 고유 인덱스를 생성할 수 있다. 종래에는 만을 생성할 수 있었으나, 본 발명에서는 새로운 가상 인덱스로 를 생성할 수 있게 된다. 이때, 가상 인덱스는 해당 그룹 내에 폐기된 사용자가 발생하는 경우, 폐기된 사용자에 대한 가상 인덱스를 생성하여 비교하는데 사용되게 된다.
도 8에 도시된 바와 같이, 키 유효성 검증 방법은 익명인증서버(110)와 서비스제공서버(120)에 의해 수행된다.
S810에서, 익명인증서버(110)는 특정 이유에 의하여 현재 소유하고 있는 익명 비밀키를 폐기한다. 여기서, 특정 이유는 용자의 키 폐기 요청, 유효기간 만료, 또는 키 노출 등을 포함한다.
S820에서, 익명인증서버(110)는 폐기리스트를 생성하여 공개한다. 여기서, 폐기리스트(Revocation List, RL)는 수학식 6과 같이 나타낸다.
S830에서, 서비스제공서버(120)는 폐기리스트와 자신의 LL 비밀키를 이용하여 로컬 폐기리스트(Local Revocation List, LRL)를 생성한다. 여기서, 로컬 폐기리스트는 수학식 7과 같이 나타낸다.
로컬 폐기리스트는 서비스제공서버(120)가 주기적으로 익명인증서버(110)에 접근하여, 미리 선 계산을 수행할 수 있으므로, 익명 인증 서비스 방법에서 그룹서명을 요청하고 검증하는 과정에 영향을 주지 않는다.
S840에서, 서비스제공서버(120)는 서비스 이용자(100)가 서명을 수행하면, 서비스 이용자(100)의 가상인덱스를 계산한다. 여기서, 본 발명의 실시예에 따른 가상 인덱스는 수학식 8과 같이 나타낸다.
S850에서, 서비스제공서버(120)는 가상 인덱스가 로컬 폐기리스트에 포함되어 있는지 여부를 토대로 서비스이용자(100)의 키에 대한 유효성 여부를 검증한다.
종래에는 키 유효성 검증을 위하여 키 업데이트 방식 또는 VLR 방식에서 요구하는 연산 시간을 필요로 했다. 반면에, 본 발명은 서명 검증 시 가상 인덱스를 추가로 하나 더 계산하여, 가상 인덱스와 로컬 폐기리스트와 비교함으로써 키 유효성 검사를 효율적으로 할 수 있다.
도 9는 본 발명의 실시예에 따른 키 유효성 검증 방법을 수행하기 위한 서버를 나타내는 도면이다.
도 9에 도시된 바와 같이, 서비스제공서버(120)는 수신 모듈(121), 리스트 생성 모듈(122), 인덱스 생성 모듈(123) 및 검증 모듈(124)을 포함한다.
수신 모듈(121)은 폐기리스트를 익명인증서버(110)로부터 전달받는다.
리스트 생성 모듈(122)은 폐기리스트와 자신의 LL 비밀키를 이용하여 로컬 폐기리스트(LRL)를 생성한다. 여기서, 로컬 폐기리스트는 수학식 7과 같이 나타낸다.
인덱스 생성 모듈(123)은 서비스 이용자(100)가 서명을 수행하면, 서비스 이용자(100)의 가상인덱스를 수학식 8과 같이 계산한다.
검증 모듈(124)은 가상 인덱스가 로컬 폐기리스트에 포함되어 있는지 여부를 토대로 서비스이용자(100)의 키에 대한 유효성 여부를 검증한다.
다음, 키 유효성을 검증하는 예를 도 10을 참조하여 상세하게 설명한다.
도 10은 본 발명의 실시예에 따른 키 유효성을 검증하는 예를 나타내는 예시도이다.
서비스제공서버(120)는 그룹 4의 폐기 리스트를 이용하여 자신의 로컬 폐기 리스트를 만든다. 이때, 로컬 폐기 리스트는 수학식 9와 같이 변화된다.
이 상황에서, 서비스 이용자 3(100_3)이 서비스제공서버(120)에게 그룹 서명을 생성하여 인증 요청을 했다고 가정한다.
서비스제공서버(120)는 서명을 기반으로 가상 인덱스 2를 생성한다. 여기서, 가상 인덱스 2는 수학식 10같이 나타낸다.
서비스제공서버(120)는 가상 인덱스 2가 수학식 9와 같은 로컬 폐기리스트()에 포함되어 있는지 여부를 통해, 서비스 이용자 3(100_3)에 대한 폐기 여부를 확인할 수 있다. 이때, 로컬 폐기리스트에 가상 인덱스 2가 존재하지 않으므로, 폐기되지 않은 유효한 키를 이용하여 인증 요청을 했음을 확인할 수 있다.
이처럼, 회원 관리를 종래의 가상 인덱스를 이용하여 하는 이유는 종래의 가상 인덱스 가 특정 서비스 도메인 내부에서 한 서비스 이용자에 대해서는 키 폐기 후 갱신 등의 절차가 이루어지더라도 그와 상관없이 계속해서 유일한 값이 나오기 때문이다.
반면에, 본 발명의 실시예에 따른 키 유효성 검증 방법에서의 키 유효성 검증용 가상 인덱스 는 그 값이 계속해서 변하므로, 키의 변화 및 폐기 여부 만을 검증할 수 있다. 일반적으로, 부분 연결성을 제공하는 익명 인증 방식들은 가상 인덱스를 생성할 수 있으며, 폐기 리스트를 이용하여 로컬 폐기리스트를 만들어 가상 인덱스와 비교하는 방식으로 키 유효성 검증을 효율적으로 할 수 있다. 또한, 폐기리스트와 로컬 폐기리스트를 생성하는 방식은 본 발명을 응용하여 매우 쉽게 구성할 수 있다.
이상에서와 같이 도면과 명세서에서 최적의 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다.
그러므로, 본 기술 분야의 통상의 지식을 가진자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
100: 서비스 이용자
110: 익명인증서버
120: 익명ID확인서버
130: 서비스제공서버
110: 익명인증서버
120: 익명ID확인서버
130: 서비스제공서버
Claims (13)
- 부분 연결성을 제공하는 익명 서비스에서 서비스제공서버가 키 유효성을 검증하는 방법에 있어서,
상기 서비스제공서버가 폐기리스트를 전달받는 단계;
상기 폐기리스트와 비밀키를 이용하여 로컬 폐기리스트를 생성하는 단계;
서비스 이용자가 서명을 수행하면, 상기 서비스 이용자의 키 유효성 검증용 가상 인덱스를 계산하는 단계; 및
상기 가상 인덱스가 상기 로컬 폐기리스트에 포함되어 있는지 여부를 토대로 상기 서비스 이용자의 키에 대한 유효성 여부를 검증하는 단계
를 포함하고,
특정한 서비스 도메인에 있는 복수개의 승인 절차들은 상기 서비스 이용자에 의해 식별될 수 있으나, 다른 서비스 도메인인간의 복수개의 승인 절차들은 상기 서비스 이용자에 의해 식별될 수 없는 것을 특징으로 하는 키 유효성 검증 방법. - 삭제
- 청구항 1에 있어서,
상기 폐기리스트를 전달받는 단계는
익명인증서버가 익명 비밀키를 폐기하여 발생하는 사용자들의 키들의 집합에 대응하는 상기 폐기리스트를 공개한 것을 상기 서비스제공서버가 전달받는 것을 특징으로 하는 키 유효성 검증 방법. - 삭제
- 삭제
- 청구항 1에 있어서,
상기 서비스 이용자의 키에 대한 유효성 여부를 검증하는 단계는
상기 가상 인덱스가 상기 로컬 폐기리스트에 포함되어 있지 않는 경우에 폐기되지 않은 유효한 키를 이용하여 인증 요청을 했음을 확인하는 단계
를 포함하는 키 유효성 검증 방법. - 청구항 1에 있어서,
상기 서비스 이용자의 키에 대한 유효성 여부를 검증하는 단계는
상기 가상 인덱스가 상기 로컬 폐기리스트에 포함되어 있는 경우에 폐기된 유효한 키를 이용하여 인증 요청을 했음을 확인하는 단계
를 포함하는 키 유효성 검증 방법. - 부분 연결성을 제공하는 익명 서비스에서 키 유효성을 검증하는 서비스제공서버에 있어서,
폐기리스트와 비밀키를 이용하여 로컬 폐기리스트를 생성하는 리스트 생성 모듈;
서비스 이용자가 서명을 수행하면, 상기 서비스 이용자의 가상 인덱스를 계산하는 인덱스 생성 모듈; 및
상기 가상 인덱스가 상기 로컬 폐기리스트에 포함되어 있는지 여부를 토대로 상기 서비스 이용자의 키에 대한 유효성 여부를 검증하는 검증 모듈
을 포함하고,
특정한 서비스 도메인에 있는 복수개의 승인 절차들은 상기 서비스 이용자에 의해 식별될 수 있으나, 다른 서비스 도메인인간의 복수개의 승인 절차들은 상기 서비스 이용자에 의해 식별될 수 없는 것을 특징으로 하는 서버. - 삭제
- 청구항 8에 있어서,
상기 폐기리스트는
익명인증서버가 익명 비밀키를 폐기하여 발생하는 사용자들의 키들의 집합에 대응하는 리스트를 공개한 것을 특징으로 하는 서버. - 삭제
- 삭제
- 청구항 8에 있어서,
상기 검증 모듈은
상기 가상 인덱스가 상기 로컬 폐기리스트에 포함되어 있지 않는 경우에 폐기되지 않은 유효한 키를 이용하여 인증 요청을 했음을 확인하거나, 상기 가상 인덱스가 상기 로컬 폐기리스트에 포함되어 있는 경우에 폐기된 유효한 키를 이용하여 인증 요청을 했음을 확인하는 것을 특징으로 하는 서버.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100131001A KR101475282B1 (ko) | 2010-12-20 | 2010-12-20 | 키 유효성 검증 방법 및 이를 수행하기 위한 서버 |
US13/327,099 US8645690B2 (en) | 2010-12-20 | 2011-12-15 | Method of verifying key validity and server for performing the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100131001A KR101475282B1 (ko) | 2010-12-20 | 2010-12-20 | 키 유효성 검증 방법 및 이를 수행하기 위한 서버 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20120069447A KR20120069447A (ko) | 2012-06-28 |
KR101475282B1 true KR101475282B1 (ko) | 2014-12-22 |
Family
ID=46236026
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100131001A KR101475282B1 (ko) | 2010-12-20 | 2010-12-20 | 키 유효성 검증 방법 및 이를 수행하기 위한 서버 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8645690B2 (ko) |
KR (1) | KR101475282B1 (ko) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5201136B2 (ja) * | 2007-05-24 | 2013-06-05 | 日本電気株式会社 | 匿名認証システムおよび匿名認証方法 |
JP4764447B2 (ja) * | 2008-03-19 | 2011-09-07 | 株式会社東芝 | グループ署名システム、装置及びプログラム |
KR101543711B1 (ko) * | 2011-10-11 | 2015-08-12 | 한국전자통신연구원 | 짧은 서명을 제공하는 경량 그룹서명 방법 및 장치 |
FR3003713B1 (fr) * | 2013-03-25 | 2016-10-07 | Morpho | Signature de groupe utilisant un pseudonyme |
JP6175679B2 (ja) * | 2013-10-16 | 2017-08-09 | 株式会社 日立産業制御ソリューションズ | 業務管理システム |
GB2527603B (en) * | 2014-06-27 | 2016-08-10 | Ibm | Backup and invalidation of authentication credentials |
CN107659936A (zh) * | 2016-07-25 | 2018-02-02 | 中兴通讯股份有限公司 | 一种控制WiFi接入设备的接入方法及装置 |
CN109547206B (zh) * | 2018-10-09 | 2020-11-06 | 深圳壹账通智能科技有限公司 | 数字证书的处理方法及相关装置 |
US11165810B2 (en) * | 2019-08-27 | 2021-11-02 | International Business Machines Corporation | Password/sensitive data management in a container based eco system |
US11451519B2 (en) * | 2019-11-25 | 2022-09-20 | Electronics And Telecommunications Research Institute | Anonymous credential authentication system and method thereof |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070180497A1 (en) * | 2004-03-11 | 2007-08-02 | Koninklijke Philips Electronics, N.V. | Domain manager and domain device |
US20100122081A1 (en) * | 2008-11-12 | 2010-05-13 | Sato Akane | Method of validation public key certificate and validation server |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8499158B2 (en) | 2009-12-18 | 2013-07-30 | Electronics And Telecommunications Research Institute | Anonymous authentication service method for providing local linkability |
KR101407945B1 (ko) | 2009-12-18 | 2014-06-17 | 한국전자통신연구원 | 부분 연결성을 제공하는 익명 인증 서비스 방법 |
-
2010
- 2010-12-20 KR KR1020100131001A patent/KR101475282B1/ko active IP Right Grant
-
2011
- 2011-12-15 US US13/327,099 patent/US8645690B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070180497A1 (en) * | 2004-03-11 | 2007-08-02 | Koninklijke Philips Electronics, N.V. | Domain manager and domain device |
US20100122081A1 (en) * | 2008-11-12 | 2010-05-13 | Sato Akane | Method of validation public key certificate and validation server |
Also Published As
Publication number | Publication date |
---|---|
KR20120069447A (ko) | 2012-06-28 |
US8645690B2 (en) | 2014-02-04 |
US20120159166A1 (en) | 2012-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101475282B1 (ko) | 키 유효성 검증 방법 및 이를 수행하기 위한 서버 | |
US8499158B2 (en) | Anonymous authentication service method for providing local linkability | |
Wang et al. | ECPB: efficient conditional privacy-preserving authentication scheme supporting batch verification for VANETs. | |
US8650403B2 (en) | Crytographic method for anonymous authentication and separate identification of a user | |
KR101425552B1 (ko) | 제어가능 연결성을 제공하는 그룹서명 시스템 및 방법 | |
US20070150744A1 (en) | Dual authentications utilizing secure token chains | |
US20050097316A1 (en) | Digital signature method based on identification information of group members, and method of acquiring identification information of signed-group member, and digital signature system for performing digital signature based on identification information of group members | |
JP6688823B2 (ja) | 構造化集合に組織化された様々な識別情報ドメインからのデータを管理及び検査する方法 | |
JP2011507363A (ja) | エンティティ双方向認証の方法およびシステム | |
CN111447187A (zh) | 一种异构物联网的跨域认证方法 | |
Terzi et al. | Securing emission data of smart vehicles with blockchain and self-sovereign identities | |
CN104125199A (zh) | 一种基于属性的匿名认证方法及系统 | |
KR101679771B1 (ko) | 아이덴티티 인증을 위한 방법, 디바이스 및 시스템 | |
KR101407945B1 (ko) | 부분 연결성을 제공하는 익명 인증 서비스 방법 | |
Wang et al. | An efficient anonymous batch authenticated and key agreement scheme using self-certified public keys in VANETs | |
Lei et al. | Mobile services access and payment through reusable tickets | |
Lian et al. | Periodic $ K $-Times Anonymous Authentication With Efficient Revocation of Violator’s Credential | |
CN110278073B (zh) | 一种群组数字签名、验证方法及其设备和装置 | |
KR20140138261A (ko) | 인증을 위한 방법, 디바이스 및 시스템 | |
CN113468614A (zh) | 一种基于Bulletproofs的Kerberos跨域认证方法 | |
KR20120070663A (ko) | X.509 기반 그룹 인증서 프로파일을 이용한 익명 인증 방법 | |
Zhao et al. | Times limited accountable anonymous online submission control system from single-verifier k-times group signature | |
KR20140074791A (ko) | 대리 서명 시스템 및 방법 | |
Layouni et al. | Anonymous k-show credentials | |
Serna et al. | Trustworthy communications in vehicular ad hoc networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
FPAY | Annual fee payment |
Payment date: 20181025 Year of fee payment: 5 |