KR101537997B1 - 공모 공격으로부터 안전한 클라이언트 인증 방법 및 클라이언트 인증 서버, 클라우드 서버, 클라이언트 인증 시스템 - Google Patents

공모 공격으로부터 안전한 클라이언트 인증 방법 및 클라이언트 인증 서버, 클라우드 서버, 클라이언트 인증 시스템 Download PDF

Info

Publication number
KR101537997B1
KR101537997B1 KR1020140000872A KR20140000872A KR101537997B1 KR 101537997 B1 KR101537997 B1 KR 101537997B1 KR 1020140000872 A KR1020140000872 A KR 1020140000872A KR 20140000872 A KR20140000872 A KR 20140000872A KR 101537997 B1 KR101537997 B1 KR 101537997B1
Authority
KR
South Korea
Prior art keywords
client
authentication
information
client authentication
vector
Prior art date
Application number
KR1020140000872A
Other languages
English (en)
Other versions
KR20150081167A (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 KR1020140000872A priority Critical patent/KR101537997B1/ko
Publication of KR20150081167A publication Critical patent/KR20150081167A/ko
Application granted granted Critical
Publication of KR101537997B1 publication Critical patent/KR101537997B1/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/3226Cryptographic 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 a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3231Biological data, e.g. fingerprint, voice or retina
    • 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/002Countermeasures against attacks on cryptographic mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Collating Specific Patterns (AREA)
  • Computer And Data Communications (AREA)

Abstract

공모 공격으로부터 안전한 클라우드 컴퓨팅 기반의 클라이언트 인증을 수행하는 방법이 개시된다. 본 발명의 일 실시예에 따른 클라이언트 인증 방법은 기 등록된 클라이언트들에 대한 참조식별정보 및 새롭게 생성된 복수의 난수들에 기초하여, 암호화된 참조식별정보 Ci, 인증용비밀값 CR 및 상기 참조식별정보에 대한 인덱스정보 Ii를 생성하여 상기 클라우드서버에게 전송하는 인증준비단계; 임의의 클라이언트로부터 클라이언트인증정보가 수신되면, 상기 클라이언트인증정보 및 상기 복수의 난수들 중 일부와 추가로 생성된 난수들에 기초하여 암호화된 식별요청정보 CF를 생성하여 상기 클라우드 서버에게 전송하는 인증요청단계; 및 상기 클라우드 서버로부터 상기 CF, 상기 Ci 및 상기 CR을 이용한 연산 결과의 최소값에 대응되는 Ii를 수신하여 상기 임의의 클라이언트에 대한 인증을 수행하는 인증단계를 포함한다.

Description

공모 공격으로부터 안전한 클라이언트 인증 방법 및 클라이언트 인증 서버, 클라우드 서버, 클라이언트 인증 시스템{Client Authenticating Method, Client Authenticating Server, Cloud Server, Client Authenticating System for Blocking Collusion Attack}
본 발명의 일 실시예는 클라이언트 인증에 관한 것으로, 특히 공모 공격으로부터 안전한 클라이언트 인증 방법 및 클라이언트 인증 서버, 클라우드 서버, 클라이언트 인증 시스템에 관한 것이다.
종래에는 클라이언트 인증 서버가 다수의 클라이언트에 대한 인증을 수행함에 따라 클라이언트 인증 서버에 과부하가 걸리는 문제가 있었다.
이를 해결하기 위하여, 클라이언트 인증 서버가 클라우드 서버를 이용하여 클라이언트를 인증하는 방법이 제안되었다. 하지만, 이와 같은 경우에, 클라우드 서버와 클라이언트간에 공모를 하게 되면 정당한 권리자가 아닌 자가 정당한 권리자인 것처럼 가장하는 것이 가능하게 된다. 이를 공모 공격이라고 한다.
따라서, 클라우드 서버를 이용하여 클라이언트 인증 서버에게 과부하가 걸리는 것은 방지하면서도 클라우드 서버와 클라이언트간의 공모 공격으로부터 안전한 클라이언트 인증 방법 개발의 필요성이 대두되고 있다.
본 발명의 목적은 공모 공격으로부터 안전한 클라이언트 인증 방법 및 클라이언트 인증 서버, 클라우드 서버, 클라이언트 인증 시스템을 제공하는 것이다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 클라이언트 인증 서버가 공모 공격으로부터 안전한 클라우드 컴퓨팅 기반의 클라이언트 인증을 수행하는 방법은 기 등록된 클라이언트들에 대한 참조식별정보 및 새롭게 생성된 복수의 난수들에 기초하여, 암호화된 참조식별정보 Ci, 인증용비밀값 CR 및 상기 참조식별정보에 대한 인덱스정보 Ii를 생성하여 상기 클라우드서버에게 전송하는 인증준비단계; 임의의 클라이언트로부터 클라이언트인증정보가 수신되면, 상기 클라이언트인증정보 및 상기 복수의 난수들 중 일부와 추가로 생성된 난수들에 기초하여 암호화된 식별요청정보 CF를 생성하여 상기 클라우드 서버에게 전송하는 인증요청단계; 및 상기 클라우드 서버로부터 상기 CF, 상기 Ci 및 상기 CR을 이용한 연산 결과의 최소값에 대응되는 Ii를 수신하여 상기 임의의 클라이언트에 대한 인증을 수행하는 인증단계를 포함할 수 있다.
바람직하게는, 상기 연산 결과의 최소값에 대응되는 Ii는 클라우드 서버에 의해 상기 CF, 상기 Ci 및 상기 CR을 곱셈함으로써 동일한 값을 가지는 원소들로 구성되는 연산결과 벡터가 생성되고, 상기 연산결과 벡터에 포함된 원소들의 값이 가장 작은 Ci에 대응되는 Ii가 검색됨으로써 선정될 수 있다.
바람직하게는, 상기 기 등록된 클라이언트들에 대한 참조식별정보는 상기 클라이언트들에 대응되는 지문정보에 대한 n차원의 특징벡터 bi로 표시될 때, 상기 인증준비단계는 상기 bi와 상기 클라이언트인증정보간의 유클리디안 거리 측정을 위해 상기 bi에 구성요소를 추가함으로써 n+2차원의 특징벡터 Bi를 생성하는 단계;상기 Bi와 n+2차원의 제1난수벡터 Aik를 이용하여 (n+2)×(n+2) 차원의 행렬 Di를 생성하는 단계; 상기 Di와 (n+2)×(n+2) 차원의 가역행렬인 제1난수행렬 M1을 이용하여 상기 Ci를 생성하는 단계; (n+2)×(n+2) 차원의 가역행렬인 제2난수행렬 M2와 n+2차원의 제2난수벡터 R을 이용하여 CR을 생성하는 단계; 상기 Ci에 매핑되는 인덱스 정보 Ii를 생성하는 단계; 및 상기 Ci, 상기 CR 및 상기 Ii를 상기 클라우드서버에게 전송하는 단계를 포함하고, 상기 Aik는 n+2차원의 제3난수벡터 H의 트랜스포즈된 벡터와 곱했을때 1의 값을 가지도록 설정될 수 있다.
바람직하게는, 상기 클라이언트인증정보가 상기 임의의 클라이언트에 대응되는 지문정보일 때, 상기 인증요청단계는 상기 클라이언트인증정보에 대한 n차원의 특징벡터 bc를 생성하는 단계; 상기 bc와 상기 Bi간의 유클리디안 거리 측정을 위해 상기 bc에 구성요소를 추가함으로써 n+2차원의 특징벡터 Bc를 생성하는 단계; 상기 Bc와 n+2차원의 제4난수벡터 Ek를 이용하여 (n+2)×(n+2) 차원의 행렬 Fc를 생성하는 단계; 상기 Fc와 상기 M1, 상기 H, 상기 M2를 이용하여 상기 CF를 생성하는 단계; 및 상기 생성된 CF를 상기 클라우드 서버에게 전송하는 단계를 포함하고, 상기 Ek는 상기 R의 트랜스포즈된 벡터와 곱했을때 1의 값을 가지도록 설정될 수 있다.
바람직하게는, 상기 인증단계는 상기 클라우드 서버로부터 상기 CF, 상기 Ci 및 상기 CR을 이용한 연산 결과에 대응되는 Ii를 수신하는 단계; 상기 수신된 Ii에 대응되는 Bi와 상기 Bc간의 유클리디안 거리를 측정하는 단계; 및 상기 측정된 유클리디안 거리가 임계치보다 낮은지 여부에 기초하여 상기 임의의 클라이언트에 대한 인증을 수행하는 단계를 포함할 수 있다.
바람직하게는, 상기 CF, 상기 Ci 및 상기 CR을 이용한 연산 결과는 상기 Bi와 상기 Bc간의 유클리디안 거리를 나타낼 수 있다.
또한, 상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 클라우드 서버가 공모 공격으로부터 안전한 클라우드 컴퓨팅 기반의 클라이언트 인증을 수행하는 방법은 기 등록된 클라이언트들에 대한 참조식별정보 및 복수의 난수들에 기초하여 생성된 암호화된 참조식별정보 Ci, 인증용비밀값 CR 및 상기 참조식별정보에 대한 인덱스정보 Ii를 클라이언트 인증 서버로부터 수신하여 저장하는 단계; 임의의 클라이언트의 클라이언트인증정보 및 상기 복수의 난수들 중 일부와 추가 난수들에 기초하여 생성된 암호화된 식별요청정보 CF를 수신하는 단계; 및 상기 Ci, 상기 CR 및 상기 CF를 곱셈하여 생성된 연산 결과에 기초하여, 상기 연산 결과의 최소값을 가지는 Ci에 대응되는 Ii를 상기 클라이언트 인증 서버에게 전송하는 단계를 포함한다.
또한, 상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 공모 공격으로부터 안전한 클라우드 컴퓨팅 기반의 클라이언트 인증을 수행하는 클라이언트 인증 서버는 기 등록된 클라이언트들에 대한 참조식별정보 및 새롭게 생성된 복수의 난수들에 기초하여, 암호화된 참조식별정보 Ci, 인증용비밀값 CR 및 상기 참조식별정보에 대한 인덱스정보 Ii를 생성하는 암호화부; 상기 Ci, 상기 CR 및 상기 Ii를 상기 클라우드서버에게 전송하는 전송부; 임의의 클라이언트로부터 클라이언트인증정보를 수신하는 수신부; 및 상기 암호화부가 상기 수신된 클라이언트인증정보 및 상기 복수의 난수들 중 일부와 추가로 생성된 난수들에 기초하여 암호화된 식별요청정보 CF를 생성하고, 상기 전송부가 상기 CF를 상기 클라우드 서버에게 전송하고, 상기 수신부가 상기 클라우드 서버로부터 상기 CF, 상기 Ci 및 상기 CR을 이용한 연산 결과의 최소값에 대응되는 Ii를 수신하면, 상기 임의의 클라이언트에 대한 인증을 수행하는 인증부를 포함한다.
바람직하게는, 상기 연산 결과의 최소값에 대응되는 Ii는 클라우드 서버에 의해 상기 CF, 상기 Ci 및 상기 CR을 곱셈함으로써 동일한 값을 가지는 원소들로 구성되는 연산결과 벡터가 생성되고, 상기 연산결과 벡터에 포함된 원소들의 값이 가장 작은 Ci에 대응되는 Ii가 검색됨으로써 선정된다.
바람직하게는, 상기 기 등록된 클라이언트들에 대한 참조식별정보는 상기 클라이언트들에 대응되는 지문정보에 대한 n차원의 특징벡터 bi로 표시될 때, 상기 암호화부는 상기 bi와 상기 클라이언트인증정보간의 유클리디안 거리 측정을 위해 상기 bi에 구성요소를 추가함으로써 n+2차원의 특징벡터 Bi를 생성하고, 상기 Bi와 n+2차원의 제1난수벡터 Aik를 이용하여 (n+2)×(n+2) 차원의 행렬 Di를 생성하고, 상기 Di와 (n+2)×(n+2) 차원의 가역행렬인 제1난수행렬 M1을 이용하여 상기 Ci를 생성하고, (n+2)×(n+2) 차원의 가역행렬인 제2난수행렬 M2와 n+2차원의 제2난수벡터 R을 이용하여 CR을 생성하고, 상기 Ci에 매핑되는 인덱스 정보 Ii를 생성하고, 상기 전송부는 상기 Ci, 상기 CR 및 상기 Ii를 상기 클라우드서버에게 전송하고, 상기 Aik는 n+2차원의 제3난수벡터 H의 트랜스포즈된 벡터와 곱했을때 1의 값을 가지도록 설정될 수 있다.
바람직하게는, 상기 클라이언트인증정보가 상기 클라이언트에 대응되는 지문정보일 때, 상기 암호화부는 상기 클라이언트인증정보에 대한 n차원의 특징벡터 bc를 생성하고, 상기 bc와 상기 Bi간의 유클리디안 거리 측정을 위해 상기 bc에 구성요소를 추가함으로써 n+2차원의 특징벡터 Bc를 생성하고, 상기 Bc와 n+2차원의 제4난수벡터 Ek를 이용하여 (n+2)×(n+2) 차원의 행렬 Fc를 생성하고, 상기 Fc와 상기 M1, 상기 H, 상기 M2를 이용하여 상기 CF를 생성하고, 상기 전송부는 상기 생성된 CF를 상기 클라우드 서버에게 전송하고, 상기 Ek는 상기 R의 트랜스포즈된 벡터와 곱했을때 1의 값을 가지도록 설정될 수 있다.
바람직하게는, 상기 수신부는 상기 클라우드 서버로부터 상기 CF, 상기 Ci 및 상기 CR을 이용한 연산 결과에 대응되는 Ii를 수신하고, 상기 인증부는 상기 수신된 Ii에 대응되는 Bi와 상기 Bc간의 유클리디안 거리를 측정하고, 상기 측정된 유클리디안 거리가 임계치보다 낮은지 여부에 기초하여 상기 임의의 클라이언트에 대한 인증을 수행할 수 있다.
바람직하게는, 상기 CF, 상기 Ci 및 상기 CR을 이용한 연산 결과는 상기 Bi와 상기 Bc간의 유클리디안 거리를 나타낼 수 있다.
또한, 상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 공모 공격으로부터 안전한 클라우드 컴퓨팅 기반의 클라이언트 인증을 수행하는 클라우드 서버는 기 등록된 클라이언트들에 대한 참조식별정보 및 복수의 난수들에 기초하여 생성된 암호화된 참조식별정보 Ci, 인증용비밀값 CR 및 상기 참조식별정보에 대한 인덱스정보 Ii를 클라이언트 인증 서버로부터 수신하는 수신부; 상기 Ci, 상기 CR 및 상기 Ii를 저장하는 저장부; 상기 수신부가 임의의 클라이언트의 클라이언트인증정보 및 상기 복수의 난수들 중 일부와 추가 난수들에 기초하여 생성된 암호화된 식별요청정보 CF를 수신하면, 상기 Ci, 상기 CR 및 상기 CF를 곱셈하여 생성된 연산 결과에 기초하여 상기 연산 결과의 최소값을 가지는 Ci에 대응되는 Ii를 선정하는 인증부; 및 상기 선정된 Ii를 상기 클라이언트 인증 서버에게 전송하는 전송부를 포함한다.
또한, 상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 공모 공격으로부터 안전한 클라우드 컴퓨팅 기반의 클라이언트 인증 시스템은 기 등록된 클라이언트들에 대한 참조식별정보 및 새롭게 생성된 복수의 난수들에 기초하여, 암호화된 참조식별정보 Ci, 인증용비밀값 CR 및 상기 참조식별정보에 대한 인덱스정보 Ii를 생성하는 클라이언트 인증 서버; 상기 클라이언트 인증 서버로부터 상기 Ci, 상기 CR 및 상기 Ii를 수신하여 저장하는 클라우드 서버; 및 상기 클라이언트 인증 서버에게 클라이언트인증정보를 전송하는 클라이언트를 포함하고, 상기 클라이언트가 상기 클라이언트 인증 서버에게 상기 클라이언트인증정보를 전송하면, 상기 클라이언트 인증 서버는 상기 클라이언트인증정보 및 상기 복수의 난수들 중 일부와 추가로 생성된 난수들에 기초하여 암호화된 식별요청정보 CF를 생성하여 상기 클라우드 서버에게 전송하고, 상기 클라우드 서버는 상기 CF, 상기 Ci 및 상기 CR을 이용한 연산 결과의 최소값에 대응되는 Ii를 상기 클라이언트 인증 서버에게 전송하고, 상기 클라이언트 인증 서버는 상기 연산 결과의 최소값에 대응되는 Ii를 수신하여 상기 클라이언트에 대한 인증을 수행할 수 있다.
본 발명의 일 실시예에 따르면 클라우드 서버를 이용하여 클라이언트에 대한 인증을 수행함으로써, 클라이언트 인증 서버에게 과부하가 걸리는 것은 방지하면서도 클라우드 서버와 클라이언트간의 공모 공격을 차단할 수 있게되는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 공모 공격으로부터 안전한 클라이언트 인증을 수행하는 클라이언트 인증 서버를 설명하기 위하여 도시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 클라이언트 인증 서버가 클라이언트 인증을 수행하는 방법을 설명하기 위하여 도시한 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 클라이언트 인증 서버의 인증준비단계를 설명하기 위하여 도시한 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 클라이언트 인증 서버의 인증요청단계를 설명하기 위하여 도시한 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 클라이언트 인증 서버의 인증단계를 설명하기 위하여 도시한 흐름도이다.
도 6은 본 발명의 일 실시예에 따른 공모 공격으로부터 안전한 클라이언트 인증을 수행하는 클라우드 서버를 설명하기 위하여 도시한 도면이다.
도 7은 본 발명의 일 실시예에 따른 클라우드 서버가 공모 공격으로부터 안전한 클라이언트 인증을 수행하는 방법을 설명하기 위하여 도시한 흐름도이다.
도 8은 본 발명의 일 실시예에 따른 공모 공격으로부터 안전한 클라이언트 인증을 수행하는 클라이언트 인증 시스템을 설명하기 위하여 도시한 도면이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일 실시예에 따른 공모 공격으로부터 안전한 클라이언트 인증을 수행하는 클라이언트 인증 서버를 설명하기 위하여 도시한 도면이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 클라이언트 인증 서버는 암호화부(110), 전송부(120), 수신부(130) 및 인증부(140)를 포함한다.
암호화부(110)는 클라이언트 인증 서버에 기 등록된 클라이언트들에 대한 참조식별정보 및 새롭게 생성된 복수의 난수들에 기초하여, 암호화된 참조식별정보 Ci, 인증용비밀값 CR 및 참조식별정보에 대한 인덱스정보 Ii를 생성한다.
이때, 기 등록된 클라이언트들에 대한 참조식별정보는 기 등록된 클라이언트들에 대응되는 지문정보에 대한 n차원의 특징벡터 bi=[bi1, bi2, ... bin]일 수 있다. 지문정보에 대한 특징 벡터는 지문이미지에 대하여 특징 추출 알고리즘을 적용함으로써 획득할 수 있는데, 특징 추출 알고리즘은 특징점 기반, 그래프 기반, 포인트 패턴 기반, 필터뱅크 기반으로 분류될 수 있다.
이하에서는 필터뱅크 기반으로 특징 벡터를 획득하는 방법에 대하여 설명한다.
첫번째 단계에서는, 지문 이미지에서 참조점(reference point)을 참는다.
두번째 단계에서는, 참조점을 기준으로 X(X=5)개의 동심원(concentric band)을 생성하고, 그 5개의 각각의 동심원을 16개의 섹터로 분할함으로써 지문 이미지를 총 80개의 섹터로 분할한다.
세번째 단계에서는, 지문 이미지에 대한 80개의 섹터별로 픽셀 값을 그레이 레벨로 표현하고 그 픽셀 값을 정규화함으로써, 섹터별로 픽셀 값을 1바이트 정수값으로 표시한다. 결과적으로, 하나의 지문 이미지 당 80바이트의 벡터가 만들어진다.
네번째 단계에서는, 입력된 지문 이미지에 가버 필터를 적용하여 8개의 이미지로 변환한 뒤에, 각각의 8개의 변환된 이미지에 대하여 총 80개의 섹터별로 픽셀 값을 표시한다. 이를 통해, 하나의 변환 이미지당 80바이트의 특징벡터가 생성되므로 하나의 지문 이미지에 대한 특징 벡터의 크기는 640 바이트가 된다.
다만, 본 발명의 일 실시예는 필터 뱅크 방식의 특징 벡터 획득 방법에 한정되지 않고, 다양한 방식으로 특징 벡터를 획득하는 방법을 적용하여 지문 이미지에 대한 특징 벡터를 획득할 수 있다.
한편, 본 발명의 일 실시예에서 암호화된 참조식별정보 Ci는 첫번째 클라이언트 내지 i번째 클라이언트까지 중 어느 한 클라이언트의 암호화된 참조식별정보를 나타낸다.
전송부(120)는 암호화된 참조식별정보 Ci, 인증용비밀값 CR 및 참조식별정보에 대한 인덱스정보 Ii를 클라우드 서버에게 전송한다.
클라우드 서버는 전송부(120)로부터 암호화된 참조식별정보 Ci, 인증용비밀값 CR 및 참조식별정보에 대한 인덱스정보 Ii를 수신하여 저장하게 된다.
종래에는 클라이언트 인증 서버가 클라이언트로부터 수신한 클라이언트 지문정보 원본을 클라우드 서버에게 제공하였지만, 본 발명의 일 실시예에 따르면 클라우드 서버는 클라이언트 인증 서버로부터 클라이언트에 대한 암호화된 참조식별정보 Ci를 제공받으므로 클라이언트의 지문 정보 원본을 획득하는 것이 원천 차단되어, 공모공격이 차단될 수 있다.
수신부(130)는 인증을 요청하는 임의의 클라이언트로부터 클라이언트인증정보를 수신한다.
이때, 클라이언트인증정보는 인증을 요청하는 임의의 클라이언트에 대응되는 지문정보일 수 있다.
다음으로, 암호화부(110)는 수신부(130)를 통해 수신된 클라이언트인증정보 및 복수의 난수들 중 일부와 추가로 생성된 난수들에 기초하여 암호화된 식별요청정보 CF를 생성한다.
즉, 암호화부(110)는 암호화된 참조식별정보 Ci와 인증용비밀값 CR을 생성할때 사용된 난수들 중 일부를 사용하고, 추가적으로 새로운 난수를 생성한 후, 그 난수들과 클라이언트인증정보에 기초하여 암호화된 식별요청정보 CF를 생성하게 된다.
다음으로, 전송부(120)는 그 암호화된 식별요청정보 CF를 클라우드 서버에게 전송한다.
다음으로, 수신부(130)는 클라우드 서버로부터 암호화된 식별요청정보 CF, 암호화된 참조식별정보 Ci 및 인증용비밀값 CR을 이용한 연산 결과의 최소값에 대응되는 참조식별정보에 대한 인덱스정보 Ii를 수신한다.
보다 구체적으로는, 클라우드 서버는 암호화된 식별요청정보 CF, 암호화된 참조식별정보 Ci 및 인증용비밀값 CR을 곱셈함으로써 동일한 값을 가지는 원소들로 구성되는 연산결과 벡터를 생성한 후, 그 연산결과 벡터에 포함된 원소들의 값이 가장 작은 암호화된 참조식별정보 Ci에 대응되는 인덱스정보 Ii를 검색하여 클라이언트 인증 서버의 수신부(130)에게 전송하게 된다. 이때, 연산결과 벡터에 포함된 원소들의 값이 가장 작은 암호화된 참조식별정보 Ci에 대응되는 인덱스정보 Ii는 암호화된 참조식별정보 Ci 중에서 클라이언트인증정보와의 유사도가 가장 높은 암호화된 참조식별정보 Ci에 대응되는 인덱스 정보 Ii를 나타낸다.
즉, 클라이언트 서버는 암호화된 참조식별정보 Ci 및 인증용비밀값 CR을 이용한 연산 결과에 기초하여, 인증을 요청하는 클라이언트의 클라이언트인증정보와 가장 유사할 것으로 판단되는 암호화된 참조식별정보 Ci를 찾아내고, 그 암호화된 참조식별정보 Ci가 어떤 클라이언트에 대한 것인지를 나타내는 인덱스 정보 Ii를 클라이언트 인증 서버에게 전송하게 되는 것이다. 이 과정에서, 클라이언트 서버는 인증을 요청하는 클라이언트의 클라이언트인증정보를 직접 획득하지 못하고, 클라이언트에 대한 암호화된 식별요청정보 CF만을 수신하게 되므로 공모 공격에 가담할 수 없게 된다.
인증부(140)는 클라우드 서버로부터 수신된 연산 결과의 최소값에 대응되는 참조식별정보에 대한 인덱스정보 Ii에 기초하여, 임의의 클라이언트에 대한 인증을 수행한다.
보다 구체적으로는, 인증부(140)는 수신된 인덱스 정보 Ii에 대응되는 참조식별정보 bi와 인증을 요청하는 클라이언트로부터 수신된 클라이언트인증정보가 유사하다고 판단되면 그 임의의 클라이언트를 정당한 권리자인 것으로 판단하고, 유사하지 않다고 판단되면 그 임의의 클라이언트를 정당한 권리자가 아닌 것으로 판단한다. 다만, 본 발명의 일 실시예에서는 참조식별정보 bi와 인증을 요청하는 클라이언트로부터 수신된 클라이언트인증정보의 유사도를 양 정보의 유클리디안 거리에 기초하여 판단하게 되는데, 이에 대해서는 도 5를 참조하여 후술한다.
도 2는 본 발명의 일 실시예에 따른 클라이언트 인증 서버가 클라이언트 인증을 수행하는 방법을 설명하기 위하여 도시한 흐름도이다.
단계 210에서는, 클라이언트 인증 서버가 기 등록된 클라이언트들에 대한 참조식별정보 및 새롭게 생성된 복수의 난수들에 기초하여, 암호화된 참조식별정보 Ci, 인증용비밀값 CR 및 참조식별정보에 대한 인덱스정보 Ii를 생성하여 클라우드 서버에게 전송한다.
단계 210은 인증 준비 단계이며, 이에 대한 구체적인 설명은 도 3을 참조하여 후술한다.
단계 220에서는, 클라이언트 인증 서버가 인증을 요청하는 임의의 클라이언트로부터 클라이언트인증정보를 수신하면, 클라이언트 인증 서버가 클라이언트인증정보 및 복수의 난수들 중 일부와 추가로 생성된 난수들에 기초하여 암호화된 식별요청정보 CF를 생성하여 클라우드 서버에게 전송한다.
단계 220은 인증 요청 단계이며, 이에 대한 구체적인 설명은 도 4를 참조하여 후술한다.
단계 230에서는, 클라이언트 인증 서버가 클라우드 서버로부터 암호화된 식별요청정보 CF, 암호화된 참조식별정보 Ci 및 인증용비밀값 CR을 이용한 연산 결과의 최소값에 대응되는 Ii를 수신하여 임의의 클라이언트에 대한 인증을 수행한다.
단계 230은 인증 요청 단계이며, 이에 대한 구체적인 설명은 도 5를 참조하여 후술한다.
도 3은 본 발명의 일 실시예에 따른 클라이언트 인증 서버의 인증준비단계를 설명하기 위하여 도시한 흐름도이다.
단계 310에서는, 클라이언트 인증 서버가 기 등록된 클라이언트들에 대응되는 지문정보에 대한 n차원의 특징벡터 bi와 인증을 요청하는 클라이언트의 클라이언트인증정보간의 유클리디안 거리 측정을 위해 bi에 구성요소를 추가함으로써 n+2차원의 특징벡터 Bi를 생성한다.
보다 구체적으로는, bi=[bi1, bi2, ... bin]일 때, Bi는 Bi=[bi1, bi2, ... bin, bi(n+1), 1]와 같이 생성될 수 있다. 이때, bi(n+1)= -0.5(b2i1+...+b2in)이다.
이하에서는, 2개의 벡터간의 유클리디안 거리를 측정하는 방법에 대해 설명함으로써, n차원의 특징벡터 bi에 구성요소를 추가함으로써 n+2차원의 특징벡터 Bi를 생성하는 이유에 대해서 설명한다.
벡터 A=[a1, a2, a3]이고, 벡터 B=[b1, b2, b3]일때, 벡터 A와 벡터 B간의 유클리디안 거리는 수학식 1과 같이 계산된다.
Figure 112014000748277-pat00001
수학식 1의 첫번째 줄에서는 벡터 A 및 벡터 B의 유클리디안 거리 D를 측정하기 위한 정의가 기재되어 있다. 두번째 줄에서는 양변을 제곱하고 1/2을 곱해주었고, 세번째 줄에서는 제곱이 붙은 값들을 전개하였으며, 네번째 줄에서는 대괄호 밖에 있던 1/2을 각각의 소괄호 값들에 곱해주었다.
수학식 1의 네번째 줄을 보면, 수학식이 총 3개의 텀으로 되어 있는데 첫번째 텀은 벡터 A의 원소 각각을 제곱함으로써 얻을수 있고, 두번째 텀은 벡터 B의 원소 각각을 제곱함으로써 얻을수 있고, 세번째 텀은 벡텀 A와 벡터 B를 내적함으로써 얻을 수 있다.
본 발명의 일 실시예는 이와 같은 특징을 이용하여 벡터 A와 벡터 B간의 유클리디안 거리 측정이 용이한 형태로 벡터 A와 벡터 B를 변형할 수 있다. 즉, 수학식 2에서와 같이 벡터 A와 벡터 B를 각각 벡터 A'과 벡터 B'으로 변형한 후 벡터 A'과 벡터 B'간의 내적을 구해주면, 벡터 A와 벡터 B간의 유클리디안 거리를 구할수 있게 되는 것이다.
Figure 112014000748277-pat00002
수학식 2의 첫번째 줄은 벡터 A로부터 변형된 벡터 A'을 표시한 것이고, 두번째 줄은 벡터 B로부터 변형된 벡터 B'을 나타낸다. 두번째 줄에서 벡터 A에 구성요소
Figure 112015034761236-pat00023
과 1을 추가하여 벡터 A'을 생성하는 과정은 단계 310에서 벡터 bi에 bi(n+1)= -0.5(b2i1+...+b2in)과 1을 추가하여 벡터 Bi를 생성하는 과정과 동일히다.
세번째 줄은 벡터 A'과 벡터 B'의 내적을 정의한 수학식을 나타내고, 네번째 줄은 벡터 A'과 벡터 B'의 내적한 연산 결과를 나타낸 것이다. 다섯번째 줄은 네번째 줄의 벡터 A'과 벡터 B'의 내적한 연산 결과를 유클리디안 거리 D를 이용하여 표시한 것으로, 다섯번째 줄에 따르면 벡터 A'과 벡터 B'을 내적함으로써 벡터 A와 벡터 B간의 유클리디안 거리를 측정할 수 있음을 알 수 있다.
이와 같이, 단계 310에서 벡터 bi에 1과 bi(n+1)= -0.5(b2i1+...+b2in)을 추가하여 벡터 Bi를 생성하는 이유는 벡터 Bi와 다른 벡터(후술할 클라이언트인증정보에 대응되는 n+2차원의 특징벡터 Bc)간의 내적을 계산함으로써 벡터 Bi와 그 다른 벡터간의 유클리디안 거리를 측정할 수 있도록 하기 위해서이다.
단계 320에서는, 클라이언트 인증 서버가 그 Bi와 n+2차원의 제1난수벡터 Aik를 이용하여 (n+2)×(n+2) 차원의 행렬 Di를 생성한다.
보다 구체적으로는, n+2차원의 난수로 구성된 제1난수벡터 Aik = [aik1, aik2, ..., aik(n+2)]와 같이 정의될 때, 행렬 Di는 수학식 3과 같이 정의된다.
Figure 112015034761236-pat00024
또한, 제1난수벡터 Aik는 암호화된 식별요청정보 CF를 생성할때 이용되는 n+2차원의 난수로 구성된 제3난수벡터 H=[h1, h2, ... , h(n+2)]와 수학식 4와 같은 관계를 가지도록 aikj값들이 구성된다.
Figure 112015034761236-pat00025
단계 330에서는, 클라이언트 인증 서버가 Di와 (n+2)×(n+2) 차원의 가역행렬인 제1난수행렬 M1을 이용하여 암호화된 참조식별정보 Ci를 생성한다.
암호화된 참조식별정보 Ci의 생성 방법을 수학식으로 표현하면 수학식 5와 같다.
Figure 112015034761236-pat00026
단계 340에서는, 클라이언트 인증 서버가 (n+2)×(n+2) 차원의 가역행렬인 제2난수행렬 M2와 n+2차원의 제2난수벡터 R을 이용하여 인증용비밀값 CR을 생성한다.
인증용비밀값 CR의 생성 방법을 수학식으로 표현하면 수학식 6과 같다.
Figure 112015034761236-pat00027
단계 350에서는, 클라이언트 인증 서버가 암호화된 참조식별정보 Ci에 매핑되는 인덱스 정보 Ii를 생성한다.
즉, 인덱스 정보 Ii는 암호화된 참조식별정보 Ci가 기 등록된 클라이언트들 중에서 어떤 클라이언트에 대한 암호화된 참조식별정보인지를 나타낸다.
단계 360에서는, 클라이언트 인증 서버가 암호화된 참조식별정보 Ci, 인증용비밀값 CR 및 인덱스 정보 Ii를 클라우드 서버에게 전송한다.
도 4는 본 발명의 일 실시예에 따른 클라이언트 인증 서버의 인증요청단계를 설명하기 위하여 도시한 흐름도이다.
단계 410에서는, 클라이언트 인증 서버가 인증을 요청하는 클라이언트에 대응되는 지문정보인 클라이언트인증정보에 대한 n차원의 특징벡터 bc를 생성한다.
이때, 특징벡터 bc는 특징 추출 알고리즘을 통해 생성될 수 있고, bc=[bc1, bc2, ... bcn]와 같이 정의될 수 있다.
단계 420에서는, 클라이언트 인증 서버가 인증을 요청하는 클라이언트의 클라이언트인증정보에 대한 n차원의 특징벡터 bc와 클라이언트들에 대응되는 지문정보에 대한 n차원의 특징벡터 bi로부터 변형되어 생성된 n+2차원의 특징 벡터 Bi간의 유클리디안 거리 측정을 위해 클라이언트인증정보에 대한 특징벡터 bc에 구성요소를 추가함으로써 n+2차원의 특징벡터 Bc를 생성한다.
이때, Bc는 Bc=[bc1, bc2, ... bcn, 1, bc(n+2)]와 같이 생성될 수 있다. 이때, bc(n+2)= -0.5(b2c1+...+b2cn)이다.
단계 430에서는, 클라이언트 인증 서버가 인증을 요청하는 클라이언트의 클라이언트인증정보에 대한 n차원의 특징벡터 bc로부터 생성된 n+2차원의 특징 벡터 Bc와 n+2차원의 제4난수벡터 Ek를 이용하여 (n+2)×(n+2) 차원의 행렬 Fc를 생성한다.
보다 구체적으로는, n+2차원의 난수로 구성된 제4난수벡터 Ek = [ek1, ek2, ..., ek(n+2)]와 같이 정의될 때, 행렬 Fc는 수학식 7과 같이 정의된다.
Figure 112015034761236-pat00028
또한, 제4난수벡터 Ek는 인증용비밀값 CR을 생성할때 이용되는 n+2차원의 난수로 구성된 제2난수벡터 R=[r1, r2, ... , r(n+2)]과 수학식 8과 같은 관계를 가지도록 ekj값들이 구성된다.
Figure 112015034761236-pat00029
단계 440에서는, 클라이언트 인증 서버가 Fc와 제1난수행렬 M1, 제3난수벡터 H, 제2난수행렬 M2를 이용하여 암호화된 식별요청정보 CF를 생성한다.
보다 구체적으로는, 암호화된 식별요청정보 CF는 수학식 9와 같이 생성된다.
Figure 112015034761236-pat00030
여기서, H*는 벡터 H를 n+2개 행만큼 반복적으로 사용해서 생성한 (n+2) × (n+2) 차원의 행렬이다.
단계 450에서는, 클라이언트 인증 서버가 그 암호화된 식별요청정보 CF를 클라우드 서버에게 전송한다.
도 5는 본 발명의 일 실시예에 따른 클라이언트 인증 서버의 인증단계를 설명하기 위하여 도시한 흐름도이다.
단계 510에서는, 클라이언트 인증 서버가 클라우드 서버로부터 암호화된 식별요청정보 CF, 암호화된 참조식별정보 Ci 및 인증용비밀값 CR을 이용한 연산 결과에 대응되는 인덱스 정보 Ii를 수신한다.
단계 520에서는, 클라이언트 인증 서버가 수신된 인덱스 정보 Ii에 대응되는 기 등록된 클라이언트들의 참조식별정보에 대응되는 n+2차원의 특징 벡터 Bi와 인증을 요청하는 클라이언트의 클라이언트인증정보에 대응되는 n+2차원의 특징벡터 Bc간의 유클리디안 거리를 측정한다.
단계 530에서는, 클라이언트 인증 서버가 그 측정된 유클리디안 거리가 임계치보다 낮은지 여부에 기초하여 인증을 요청한 임의의 클라이언트에 대한 인증을 수행한다.
예컨대, 기 등록된 클라이언트들의 참조식별정보에 대응되는 n+2차원의 특징 벡터 Bi와 인증을 요청하는 클라이언트의 클라이언트인증정보에 대응되는 n+2차원의 특징벡터 Bc간의 유클리디안 거리가 임계치 이내라면 그 인증을 요청하는 클라이언트를 정당한 권한을 가진 클라이언트로 판단하고, 임계치를 넘어간다면 그 인증을 요청하는 클라이언트를 정당한 권한을 가지지 않은 클라이언트로 판단한다.
도 6은 본 발명의 일 실시예에 따른 공모 공격으로부터 안전한 클라이언트 인증을 수행하는 클라우드 서버를 설명하기 위하여 도시한 도면이다.
도 6을 참조하면, 본 발명의 일 실시예에 따른 클라우드 서버는 수신부(610), 저장부(620), 인증부(630) 및 전송부(640)를 포함한다.
수신부(610)는 클라이언트 인증 서버에 기 등록된 클라이언트들에 대한 참조식별정보 및 복수의 난수들에 기초하여 생성된 암호화된 참조식별정보 Ci, 인증용비밀값 CR 및 참조식별정보에 대한 인덱스정보 Ii를 클라이언트 인증 서버로부터 수신한다.
저장부(620)는 그 수신된 암호화된 참조식별정보 Ci, 인증용비밀값 CR 및 참조식별정보에 대한 인덱스정보 Ii를 저장한다.
다음으로, 수신부(610)는 인증을 요청하는 클라이언트의 클라이언트인증정보 및 복수의 난수들 중 일부와 추가 난수들에 기초하여 생성된 암호화된 식별요청정보 CF를 수신한다.
인증부(630)는 암호화된 참조식별정보 Ci, 인증용비밀값 CR 및 암호화된 식별요청정보 CF를 곱셈하여 생성된 연산 결과에 기초하여, 그 연산 결과의 최소값을 가지는 Ci에 대응되는 인덱스정보 Ii를 선정한다.
전송부(640)는 그 선정된 인덱스정보 Ii를 클라이언트 인증 서버에게 전송한다.
도 7은 본 발명의 일 실시예에 따른 클라우드 서버가 공모 공격으로부터 안전한 클라이언트 인증을 수행하는 방법을 설명하기 위하여 도시한 흐름도이다.
단계 710에서는, 클라우드 서버가 클라이언트 인증 서버에 기 등록된 클라이언트들에 대한 참조식별정보 및 복수의 난수들에 기초하여 생성된 암호화된 참조식별정보 Ci, 인증용비밀값 CR 및 참조식별정보에 대한 인덱스정보 Ii를 클라이언트 인증 서버로부터 수신하여 저장한다.
단계 720에서는, 클라우드 서버가 인증을 요청하는 임의의 클라이언트의 클라이언트인증정보 및 복수의 난수들 중 일부와 추가 난수들에 기초하여 생성된 암호화된 식별요청정보 CF를 수신한다.
단계 730에서는, 암호화된 참조식별정보 Ci, 인증용비밀값 CR 및 암호화된 식별요청정보 CF를 곱셈하여 생성된 연산 결과에 기초하여, 그 연산 결과의 최소값을 가지는 암호화된 참조식별정보 Ci에 대응되는 인덱스정보 Ii를 클라이언트 인증 서버에게 전송한다.
보다 구체적으로, 암호화된 참조식별정보 Ci, 인증용비밀값 CR 및 암호화된 식별요청정보 CF를 곱셈하여 생성된 연산 결과 Pi는 수학식 10과 같이 결정된다.
[수학식 10]
Figure 112014000748277-pat00011
수학식 10의 첫번째 줄은 연산결과 Pi가 암호화된 참조식별정보 Ci, 인증용비밀값 CR 및 암호화된 식별요청정보 CF의 곱셈 연산임을 나타내고, 두번째 줄은 암호화된 참조식별정보 Ci, 인증용비밀값 CR 및 암호화된 식별요청정보 CF 각각을 난수들과 암호화된 값들로 풀어서 계산한 것이고, 세번째 줄은 두번째 줄에서 상쇄되는 성분들을 제거하고 남은 값들을 나타낸다. 네번째 줄은 세번째 줄의 연산 결과를 나타낸 것인데, Di는 기 등록된 클라이언트들에 대한 참조식별정보에 대응되는 n+2 차원의 특징 벡터 Bi에 aikj 값이 곱해져 생성된 값이므로, 수학식 4에 따라
Figure 112014000748277-pat00012
Figure 112014000748277-pat00013
가 되고, Fc는 인증을 요청하는 클라이언트의 클라이언트인증정보에 대응되는 n+2차원의 특징 벡터 Bc에 Ejk 값이 곱해져 생성된 값이므로, 수학식 8에 따라
Figure 112014000748277-pat00014
는 Bc가 된다.
결과적으로, 연산결과 Pi를 계산하게 되면 기 등록된 클라이언트들에 대한 참조식별정보에 대응되는 n+2 차원의 특징 벡터 Bi와 인증을 요청하는 클라이언트의 클라이언트인증정보에 대응되는 n+2차원의 특징 벡터 Bc간의 유클리디안 거리를 계산할 수 있게 된다. 보다 구체적으로는, 연산결과 Pi는 모든 원소의 값이 동일한 n+2차원의 벡터가 되는데, 그 원소의 값이 유클리디안 거리를 나타낸다.
도 8은 본 발명의 일 실시예에 따른 공모 공격으로부터 안전한 클라이언트 인증을 수행하는 클라이언트 인증 시스템을 설명하기 위하여 도시한 도면이다.
도 8을 참조하면, 본 발명의 일 실시예에 따른 클라이언트 인증 시스템은 클라이언트 인증 서버(810), 클라우드 서버(820) 및 클라이언트(830)를 포함한다.
클라이언트 인증 서버(810)는 클라이언트 인증 서버(810)에 기 등록된 클라이언트들에 대한 참조식별정보 및 새롭게 생성된 복수의 난수들에 기초하여, 암호화된 참조식별정보 Ci, 인증용비밀값 CR 및 참조식별정보에 대한 인덱스정보 Ii를 생성하여 클라우드 서버(820)에게 전송한다.
클라우드 서버(820)는 클라이언트 인증 서버(810)로부터 암호화된 참조식별정보 Ci, 인증용비밀값 CR 및 참조식별정보에 대한 인덱스정보 Ii를 수신하여 저장한다.
클라이언트(830)는 클라이언트 인증 서버(810)에게 클라이언트인증정보를 전송한다.
클라이언트 인증 서버는(810)가 클라이언트(830)로부터 클라이언트인증정보를 수신하면, 클라이언트 인증 서버는(810)는 그 클라이언트인증정보 및 복수의 난수들 중 일부와 추가로 생성된 난수들에 기초하여 암호화된 식별요청정보 CF를 생성하여 클라우드 서버에게 전송한다.
다음으로, 클라우드 서버(820)는 암호화된 식별요청정보 CF, 암호화된 참조식별정보 Ci 및 인증용비밀값 CR을 이용한 연산 결과의 최소값에 대응되는 Ii를 클라이언트 인증 서버(810)에게 전송한다.
마지막으로, 클라이언트 인증 서버(810)는 그 연산 결과의 최소값에 대응되는 Ii를 수신하여 클라이언트(830)에 대한 인증을 수행한다.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다.
상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 를 포함한다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.

Claims (15)

  1. 클라이언트 인증 서버가 공모 공격으로부터 안전한 클라우드 컴퓨팅 기반의 클라이언트 인증을 수행하는 방법에 있어서,
    기 등록된 클라이언트들에 대한 참조식별정보 및 새롭게 생성된 복수의 난수들에 기초하여, 암호화된 참조식별정보 Ci, 인증용비밀값 CR 및 상기 참조식별정보에 대한 인덱스정보 Ii를 생성하여 클라우드서버에게 전송하는 인증준비단계;
    임의의 클라이언트로부터 클라이언트인증정보가 수신되면, 상기 클라이언트인증정보 및 상기 복수의 난수들 중 일부와 추가로 생성된 난수들에 기초하여 암호화된 식별요청정보 CF를 생성하여 상기 클라우드 서버에게 전송하는 인증요청단계; 및
    상기 클라우드 서버로부터 상기 CF, 상기 Ci 및 상기 CR을 이용한 연산 결과의 최소값에 대응되는 Ii를 수신하여 상기 임의의 클라이언트에 대한 인증을 수행하는 인증단계를 포함하는 것을 특징으로 하는 클라이언트 인증 방법.
  2. 제1항에 있어서,
    상기 연산 결과의 최소값에 대응되는 Ii는
    클라우드 서버에 의해 상기 CF, 상기 Ci 및 상기 CR을 곱셈함으로써 동일한 값을 가지는 원소들로 구성되는 연산결과 벡터가 생성되고, 상기 연산결과 벡터에 포함된 원소들의 값이 가장 작은 Ci에 대응되는 Ii가 검색됨으로써 선정되는 것을 특징으로 하는 클라이언트 인증 방법.
  3. 제1항에 있어서,
    상기 기 등록된 클라이언트들에 대한 참조식별정보는 상기 기 등록된 클라이언트들의 사용자들의 지문정보에 대한 n차원의 특징벡터 bi로 표시될 때,
    상기 인증준비단계는
    상기 bi와 상기 클라이언트인증정보간의 유클리디안 거리 측정을 위해 상기 bi에 기초하여 n+2차원의 특징벡터 Bi를 생성하는 단계;
    상기 Bi와 n+2차원의 제1난수벡터 Aik를 이용하여 (n+2)(n+2) 차원의 행렬 Di를 생성하는 단계;
    상기 Di와 (n+2)(n+2) 차원의 가역행렬인 제1난수행렬 M1을 이용하여 상기 Ci를 생성하는 단계;
    (n+2)(n+2) 차원의 가역행렬인 제2난수행렬 M2와 n+2차원의 제2난수벡터 R을 이용하여 CR을 생성하는 단계;
    상기 Ci에 매핑되는 인덱스 정보 Ii를 생성하는 단계; 및
    상기 Ci, 상기 CR 및 상기 Ii를 상기 클라우드서버에게 전송하는 단계를 포함하고,
    상기 Aik는 n+2차원의 제3난수벡터 H의 트랜스포즈된 벡터와 곱했을때 1의 값을 가지도록 설정되는 것을 특징으로 하는 클라이언트 인증 방법.
  4. 제3항에 있어서,
    상기 클라이언트인증정보가 상기 임의의 클라이언트의 사용자의 지문정보일 때,
    상기 인증요청단계는
    상기 클라이언트인증정보에 대한 n차원의 특징벡터 bc를 생성하는 단계;
    상기 bc와 상기 Bi간의 유클리디안 거리 측정을 위해 상기 bc에 기초하여 n+2차원의 특징벡터 Bc를 생성하는 단계;
    상기 Bc와 n+2차원의 제4난수벡터 Ek를 이용하여 (n+2)×(n+2) 차원의 행렬 Fc를 생성하는 단계;
    상기 Fc와 상기 M1, 상기 H, 상기 M2를 이용하여 상기 CF를 생성하는 단계; 및
    상기 생성된 CF를 상기 클라우드 서버에게 전송하는 단계를 포함하고,
    상기 Ek는 상기 R의 트랜스포즈된 벡터와 곱했을때 1의 값을 가지도록 설정되는 것을 특징으로 하는 클라이언트 인증 방법.
  5. 제4항에 있어서,
    상기 인증단계는
    상기 클라우드 서버로부터 상기 CF, 상기 Ci 및 상기 CR을 이용한 연산 결과에 대응되는 Ii를 수신하는 단계;
    상기 수신된 Ii에 대응되는 Bi와 상기 Bc간의 유클리디안 거리를 측정하는 단계; 및
    상기 측정된 유클리디안 거리가 임계치보다 낮은지 여부에 기초하여 상기 임의의 클라이언트에 대한 인증을 수행하는 단계를 포함하는 것을 특징으로 하는 클라이언트 인증 방법.
  6. 제4항에 있어서,
    상기 CF, 상기 Ci 및 상기 CR을 이용한 연산 결과는
    상기 Bi와 상기 Bc간의 유클리디안 거리를 나타내는 것을 특징으로 하는 클라이언트 인증 방법.
  7. 클라우드 서버가 공모 공격으로부터 안전한 클라우드 컴퓨팅 기반의 클라이언트 인증을 수행하는 방법에 있어서,
    기 등록된 클라이언트들에 대한 참조식별정보 및 복수의 난수들에 기초하여 생성된 암호화된 참조식별정보 Ci, 인증용비밀값 CR 및 상기 참조식별정보에 대한 인덱스정보 Ii를 클라이언트 인증 서버로부터 수신하여 저장하는 단계;
    임의의 클라이언트의 클라이언트인증정보 및 상기 복수의 난수들 중 일부와 추가 난수들에 기초하여 생성된 암호화된 식별요청정보 CF를 수신하는 단계; 및
    상기 Ci, 상기 CR 및 상기 CF를 곱셈하여 생성된 연산 결과에 기초하여, 상기 연산 결과의 최소값을 가지는 Ci에 대응되는 Ii를 상기 클라이언트 인증 서버에게 전송하는 단계를 포함하는 것을 특징으로 하는 클라이언트 인증 방법.
  8. 공모 공격으로부터 안전한 클라우드 컴퓨팅 기반의 클라이언트 인증을 수행하는 클라이언트 인증 서버에 있어서,
    기 등록된 클라이언트들에 대한 참조식별정보 및 새롭게 생성된 복수의 난수들에 기초하여, 암호화된 참조식별정보 Ci, 인증용비밀값 CR 및 상기 참조식별정보에 대한 인덱스정보 Ii를 생성하는 암호화부;
    상기 Ci, 상기 CR 및 상기 Ii를 클라우드서버에게 전송하는 전송부;
    임의의 클라이언트로부터 클라이언트인증정보를 수신하는 수신부; 및
    상기 암호화부가 상기 수신된 클라이언트인증정보 및 상기 복수의 난수들 중 일부와 추가로 생성된 난수들에 기초하여 암호화된 식별요청정보 CF를 생성하고, 상기 전송부가 상기 CF를 상기 클라우드 서버에게 전송하고, 상기 수신부가 상기 클라우드 서버로부터 상기 CF, 상기 Ci 및 상기 CR을 이용한 연산 결과의 최소값에 대응되는 Ii를 수신하면, 상기 임의의 클라이언트에 대한 인증을 수행하는 인증부를 포함하는 것을 특징으로 하는 클라이언트 인증 서버.
  9. 제8항에 있어서,
    상기 연산 결과의 최소값에 대응되는 Ii는
    클라우드 서버에 의해 상기 CF, 상기 Ci 및 상기 CR을 곱셈함으로써 동일한 값을 가지는 원소들로 구성되는 연산결과 벡터가 생성되고, 상기 연산결과 벡터에 포함된 원소들의 값이 가장 작은 Ci에 대응되는 Ii가 검색됨으로써 선정되는 것을 특징으로 하는 클라이언트 인증 서버.
  10. 제8항에 있어서,
    상기 기 등록된 클라이언트들에 대한 참조식별정보는 상기 기 등록된 클라이언트들의 사용자들의 지문정보에 대한 n차원의 특징벡터 bi로 표시될 때,
    상기 암호화부는 상기 bi와 상기 클라이언트인증정보간의 유클리디안 거리 측정을 위해 상기 bi에 기초하여 n+2차원의 특징벡터 Bi를 생성하고, 상기 Bi와 n+2차원의 제1난수벡터 Aik를 이용하여 (n+2)×(n+2) 차원의 행렬 Di를 생성하고, 상기 Di와 (n+2)×(n+2) 차원의 가역행렬인 제1난수행렬 M1을 이용하여 상기 Ci를 생성하고, (n+2)×(n+2) 차원의 가역행렬인 제2난수행렬 M2와 n+2차원의 제2난수벡터 R을 이용하여 CR을 생성하고, 상기 Ci에 매핑되는 인덱스 정보 Ii를 생성하고,
    상기 전송부는 상기 Ci, 상기 CR 및 상기 Ii를 상기 클라우드서버에게 전송하고,
    상기 Aik는 n+2차원의 제3난수벡터 H의 트랜스포즈된 벡터와 곱했을때 1의 값을 가지도록 설정되는 것을 특징으로 하는 클라이언트 인증 서버.
  11. 제10항에 있어서,
    상기 클라이언트인증정보가 상기 임의의 클라이언트의 사용자의 지문정보일 때,
    상기 암호화부는 상기 클라이언트인증정보에 대한 n차원의 특징벡터 bc를 생성하고, 상기 bc와 상기 Bi간의 유클리디안 거리 측정을 위해 상기 bc에 기초하여 n+2차원의 특징벡터 Bc를 생성하고, 상기 Bc와 n+2차원의 제4난수벡터 Ek를 이용하여 (n+2)×(n+2) 차원의 행렬 Fc를 생성하고, 상기 Fc와 상기 M1, 상기 H, 상기 M2를 이용하여 상기 CF를 생성하고,
    상기 전송부는 상기 생성된 CF를 상기 클라우드 서버에게 전송하고,
    상기 Ek는 상기 R의 트랜스포즈된 벡터와 곱했을때 1의 값을 가지도록 설정되는 것을 특징으로 하는 클라이언트 인증 서버.
  12. 제11항에 있어서,
    상기 수신부는 상기 클라우드 서버로부터 상기 CF, 상기 Ci 및 상기 CR을 이용한 연산 결과에 대응되는 Ii를 수신하고,
    상기 인증부는 상기 수신된 Ii에 대응되는 Bi와 상기 Bc간의 유클리디안 거리를 측정하고, 상기 측정된 유클리디안 거리가 임계치보다 낮은지 여부에 기초하여 상기 임의의 클라이언트에 대한 인증을 수행하는 것을 특징으로 하는 클라이언트 인증 서버.
  13. 제11항에 있어서,
    상기 CF, 상기 Ci 및 상기 CR을 이용한 연산 결과는
    상기 Bi와 상기 Bc간의 유클리디안 거리를 나타내는 것을 특징으로 하는 클라이언트 인증 서버.
  14. 공모 공격으로부터 안전한 클라우드 컴퓨팅 기반의 클라이언트 인증을 수행하는 클라우드 서버에 있어서,
    기 등록된 클라이언트들에 대한 참조식별정보 및 복수의 난수들에 기초하여 생성된 암호화된 참조식별정보 Ci, 인증용비밀값 CR 및 상기 참조식별정보에 대한 인덱스정보 Ii를 클라이언트 인증 서버로부터 수신하는 수신부;
    상기 Ci, 상기 CR 및 상기 Ii를 저장하는 저장부;
    상기 수신부가 임의의 클라이언트의 클라이언트인증정보 및 상기 복수의 난수들 중 일부와 추가 난수들에 기초하여 생성된 암호화된 식별요청정보 CF를 수신하면, 상기 Ci, 상기 CR 및 상기 CF를 곱셈하여 생성된 연산 결과에 기초하여 상기 연산 결과의 최소값을 가지는 Ci에 대응되는 Ii를 선정하는 인증부; 및
    상기 선정된 Ii를 상기 클라이언트 인증 서버에게 전송하는 전송부를 포함하는 것을 특징으로 하는 클라우드 서버.
  15. 공모 공격으로부터 안전한 클라우드 컴퓨팅 기반의 클라이언트 인증 시스템에 있어서,
    기 등록된 클라이언트들에 대한 참조식별정보 및 새롭게 생성된 복수의 난수들에 기초하여, 암호화된 참조식별정보 Ci, 인증용비밀값 CR 및 상기 참조식별정보에 대한 인덱스정보 Ii를 생성하는 클라이언트 인증 서버;
    상기 클라이언트 인증 서버로부터 상기 Ci, 상기 CR 및 상기 Ii를 수신하여 저장하는 클라우드 서버; 및
    상기 클라이언트 인증 서버에게 클라이언트인증정보를 전송하는 클라이언트를 포함하고,
    상기 클라이언트가 상기 클라이언트 인증 서버에게 상기 클라이언트인증정보를 전송하면, 상기 클라이언트 인증 서버는 상기 클라이언트인증정보 및 상기 복수의 난수들 중 일부와 추가로 생성된 난수들에 기초하여 암호화된 식별요청정보 CF를 생성하여 상기 클라우드 서버에게 전송하고,
    상기 클라우드 서버는 상기 CF, 상기 Ci 및 상기 CR을 이용한 연산 결과의 최소값에 대응되는 Ii를 상기 클라이언트 인증 서버에게 전송하고,
    상기 클라이언트 인증 서버는 상기 연산 결과의 최소값에 대응되는 Ii를 수신하여 상기 클라이언트에 대한 인증을 수행하는 것을 특징으로 하는 클라이언트 인증 시스템.
KR1020140000872A 2014-01-03 2014-01-03 공모 공격으로부터 안전한 클라이언트 인증 방법 및 클라이언트 인증 서버, 클라우드 서버, 클라이언트 인증 시스템 KR101537997B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140000872A KR101537997B1 (ko) 2014-01-03 2014-01-03 공모 공격으로부터 안전한 클라이언트 인증 방법 및 클라이언트 인증 서버, 클라우드 서버, 클라이언트 인증 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140000872A KR101537997B1 (ko) 2014-01-03 2014-01-03 공모 공격으로부터 안전한 클라이언트 인증 방법 및 클라이언트 인증 서버, 클라우드 서버, 클라이언트 인증 시스템

Publications (2)

Publication Number Publication Date
KR20150081167A KR20150081167A (ko) 2015-07-13
KR101537997B1 true KR101537997B1 (ko) 2015-07-22

Family

ID=53792966

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140000872A KR101537997B1 (ko) 2014-01-03 2014-01-03 공모 공격으로부터 안전한 클라이언트 인증 방법 및 클라이언트 인증 서버, 클라우드 서버, 클라이언트 인증 시스템

Country Status (1)

Country Link
KR (1) KR101537997B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030046007A (ko) * 2001-12-03 2003-06-12 이일병 개인 식별을 위한 홍채 영상의 처리 및 인식방법과 시스템
KR20080022247A (ko) * 2006-09-06 2008-03-11 한국과학기술원 (n˘a, n˘(2a-2),n˘(a-1),n,0,1) GD-PBIBD를이용한 공모 방지 핑거프린트 코드 생성 방법
KR101096376B1 (ko) * 2011-04-06 2011-12-20 주식회사 엘지유플러스 차량 단말 및 이동 단말을 이용하여 차량 운행 데이터 기반의 서비스를 제공하는 방법 및 상기 방법을 사용하는 장치
KR20130035124A (ko) * 2011-09-29 2013-04-08 이청종 보안이 강화된 클라우드 시스템 및 그에 의한 보안 관리 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030046007A (ko) * 2001-12-03 2003-06-12 이일병 개인 식별을 위한 홍채 영상의 처리 및 인식방법과 시스템
KR20080022247A (ko) * 2006-09-06 2008-03-11 한국과학기술원 (n˘a, n˘(2a-2),n˘(a-1),n,0,1) GD-PBIBD를이용한 공모 방지 핑거프린트 코드 생성 방법
KR101096376B1 (ko) * 2011-04-06 2011-12-20 주식회사 엘지유플러스 차량 단말 및 이동 단말을 이용하여 차량 운행 데이터 기반의 서비스를 제공하는 방법 및 상기 방법을 사용하는 장치
KR20130035124A (ko) * 2011-09-29 2013-04-08 이청종 보안이 강화된 클라우드 시스템 및 그에 의한 보안 관리 방법

Also Published As

Publication number Publication date
KR20150081167A (ko) 2015-07-13

Similar Documents

Publication Publication Date Title
KR102536354B1 (ko) 바이오메트릭 식별을 위한 시스템 및 방법
EP3046286B1 (en) Information processing method, program, and information processing apparatus
KR102128649B1 (ko) 정보 암호화 및 해독
US9660991B2 (en) Relational encryption
US9774596B2 (en) Privacy-preserving biometric authentication
US10171459B2 (en) Method of processing a ciphertext, apparatus, and storage medium
JP6488847B2 (ja) リレーショナル暗号化
US9674189B1 (en) Relational encryption
EP3038286B1 (en) Information processing method, information processing program, and information processing apparatus
US20130114811A1 (en) Method for Privacy Preserving Hashing of Signals with Binary Embeddings
JP2012133320A (ja) 複数データベースのための差分プライバシー集合分類器
US20170012970A1 (en) Relational encryption
US10211986B2 (en) Program collation system, node, collation method, and computer-readable medium
CN109344640B (zh) 一种基于同态加密和多项式计算的子图匹配方法
CN109635580B (zh) 图像加密方法、装置、电子设备及计算机存储介质
Conti et al. Fingerprint traits and RSA algorithm fusion technique
US9735963B2 (en) Decryption service providing device, processing device, safety evaluation device, program, and recording medium
Wang et al. Simultaneous encryption and compression of medical images based on optimized tensor compressed sensing with 3D Lorenz
JP6786884B2 (ja) 関係暗号化
KR101537997B1 (ko) 공모 공격으로부터 안전한 클라이언트 인증 방법 및 클라이언트 인증 서버, 클라우드 서버, 클라이언트 인증 시스템
WO2013153628A1 (ja) 演算処理システムおよび演算結果認証方法
JP6929741B2 (ja) 情報処理方法、及び、情報処理システム
CN111382296B (zh) 数据处理方法、装置、终端及存储介质
Varghese et al. Secure Data Transmission Using Optimized Cryptography and Steganography Using Syndrome-Trellis Coding
Selvaraj et al. C., K.; Seng, GH Cryptographic Encryption and Optimization for Internet of Things Based Medical Image Security. Electronics 2023, 12, 1636

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
FPAY Annual fee payment

Payment date: 20180702

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190708

Year of fee payment: 5