KR101997117B1 - 그룹 멤버간 정보 공유를 위한 그룹키 관리 및 인증 방법과 그 장치 - Google Patents

그룹 멤버간 정보 공유를 위한 그룹키 관리 및 인증 방법과 그 장치 Download PDF

Info

Publication number
KR101997117B1
KR101997117B1 KR1020170181509A KR20170181509A KR101997117B1 KR 101997117 B1 KR101997117 B1 KR 101997117B1 KR 1020170181509 A KR1020170181509 A KR 1020170181509A KR 20170181509 A KR20170181509 A KR 20170181509A KR 101997117 B1 KR101997117 B1 KR 101997117B1
Authority
KR
South Korea
Prior art keywords
session
user
random value
group
group key
Prior art date
Application number
KR1020170181509A
Other languages
English (en)
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 KR1020170181509A priority Critical patent/KR101997117B1/ko
Application granted granted Critical
Publication of KR101997117B1 publication Critical patent/KR101997117B1/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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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
    • 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

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)
  • Power Engineering (AREA)
  • Telephonic Communication Services (AREA)

Abstract

그룹 보안 관리 방법 및 그 장치가 개시된다. 서버는 랜덤값에 일방향 해시 함수를 반복 수행하여 각 사용자에 대한 각 세션별 세션랜덤값을 생성하고, 그룹의 기본그룹키 및 사용자의 해당 세션에 대한 세션랜덤값을 이용하여 복수 개의 세션그룹키를 각 사용자의 세션별로 생성한다.

Description

그룹 멤버간 정보 공유를 위한 그룹키 관리 및 인증 방법과 그 장치{Group-key management and authentication method and apparatus for information-sharing of group members}
본 발명은 적어도 하나 이상의 사용자를 포함하는 그룹의 보안 관리 방법 및 그 장치에 관한 것이다.
서버는 보안 문제를 해결하기 위하여 의료정보 등과 같은 민감한 정보를 암호화하여 저장할 필요가 있다. 예를 들어, 건강정보 공유 사이트는 동일한 증상을 가진 환자들을 하나의 그룹으로 설정하고 동일 그룹 내에서 서로 건강상태를 공유하고 유익한 정보를 주고받을 수 있도록 할 수 있다. 이때 환자의 건강 상태를 포함하는 민감한 개인 정보가 제3자에게 노출되지 않도록 암호화할 필요가 있다. 암호화된 내용을 동일 그룹에 속한 사용자가 공유할 수 있도록 그룹 내 각 사용자에게 공통의 그룹키를 부여한다. 그룹 내 각 사용자는 그룹키를 이용하여 민감한 정보를 암호화 또는 복호화할 수 있다.
일반적인 그룹키 환경에서는 그룹 멤버들의 멤버쉽 체인지(가입 혹은 탈퇴)가 일어날 경우, 그룹키를 갱신하여 모든 사용자들에게 재분배해야 하는 특성이 있다(Backward Secrecy: 새로 가입한 멤버가 그 이전에 생성된 정보에 접근 불가능해야 한다. Forward Secrecy: 탈퇴한 멤버는 그 이후에 생성된 정보에 접근 불가능해야 한다).
그러나 그룹키를 이용하여 사용자들 간에 서로 정보를 공유하는 경우는 이와 약간 상이하다. 사용자가 탈퇴한 경우는, 탈퇴한 사용자가 더 이상의 그룹의 민감한 정보에 접근할 수 없도록 해당 그룹의 그룹키를 변경하고, 변경된 그룹키를 해당 그룹의 남아있는 사용자에게 재분배해야 하는 과정이 필요하다(Forward Secrecy). 그렇지만 새로운 멤버가 가입한 경우는, 일반적인 경우의 그룹키 환경과는 달리 새로운 가입한 멤버 역시 그 이전에 생성된 정보도 공유 가능해야 한다는 특성이 있다(Backward Accessibility).
이러한 멤버쉽 변화에 대한 키 갱신 및 재분배 과정은 복잡하고, 더 많은 보안적인 절차 및 고도의 기술력을 필요로 하는 단계이므로, 그룹키 관리 시스템의 가장 큰 난점에 해당하는 사항이다. 또한 그룹키가 다수의 사용자에게 부여되어 있어 제3자에 의해 해킹되거나 사용자와 공모할 가능성이 높아진다.
따라서 키 갱신 및 재분배 과정으로 인한 어려움을 해결하고, 새로운 가입자가 가입 이전에 생성된 정보도 알 수 있고, 그룹키가 다수의 사용으로 인해 발생하는 문제점을 해결하기 위한 그룹키 공유 환경에 대한 필요가 절실하다.
등록특허공보 제10-1704540호 "M2M 환경의 다중 디바이스 데이터 공유를 위한 그룹키 관리 방법"
본 발명이 이루고자 하는 기술적 과제는, 그룹에 속한 사용자의 탈퇴나 가입시 거쳐야 하는 키 갱신 및 재분배의 과정이 필요 없는 그룹키 구조를 제공하여, 개인키처럼 각기 다른 형태로 사용되지만 그룹키 기능을 하도록 하고, 이와 동시에 그룹키를 다수가 동시에 공유하여 발생하는 공모 및 해킹 등의 위협에서 벗어나기 위한 사용자 인증까지 포함하는 그룹 보안 관리 방법 및 그 장치를 제공하는 데 있다.
상기의 기술적 과제를 달성하기 위한, 본 발명의 실시 예에 따른 그룹 보안 관리 방법의 일 예는, 서버에서 적어도 하나 이상의 사용자를 포함하는 그룹의 보안 관리 방법에 있어서, 랜덤값에 일방향 해시 함수를 반복 수행하여 각 사용자에 대한 각 세션별 세션랜덤값을 생성하는 단계; 및 그룹의 기본그룹키 및 사용자의 해당 세션에 대한 세션랜덤값을 이용하여 복수 개의 세션그룹키를 각 사용자의 세션별로 생성하는 단계;를 포함하고, 메시지는 세션랜덤값이 상쇄되는 세션그룹키의 조합을 이용하여 암호화 또는 복호화되는 것을 특징으로 하는 그룹 보안 관리 방법.
상기의 기술적 과제를 달성하기 위한, 본 발명의 실시 예에 따른 그룹 보안 관리 방법의 다른 예는, 단말의 보안 관리 방법에 있어서, 그룹의 기본그룹키 및 사용자의 해당 세션에 대한 세션랜덤값을 이용하여 생성된 복수 개의 세션그룹키를 서버로부터 수신하는 단계; 및 상기 복수 개의 세션그룹키 중 세션랜덤값이 상쇄되는 세션그룹키의 조합을 이용하여 메시지를 암호화하거나 복호화하는 단계;를 포함한다.
상기의 기술적 과제를 달성하기 위한, 본 발명의 실시 예에 따른 그룹 보안 관리 방법은, 랜덤값에 일방향 해시 함수를 반복 수행하여 각 사용자에 대한 각 세션별 사용자식별랜덤값을 생성하는 단계; 및 사용자식별랜덤값의 생성순서와 역순으로 사용자식별랜덤값을 각 세션에 부여하는 단계;를 더 포함할 수 있다.
상기의 기술적 과제를 달성하기 위한, 본 발명의 실시 예에 따른 그룹 보안 관리 방법은, 사용자로부터 세션 순서, 사용자식별랜덤값, 세션그룹키를 수신하는 단계; 상기 세션 순서 및 사용자식별랜덤값을 이용하여 해당 사용자의 상기 세션 순서에 해당하는 세션랜덤값을 파악하는 단계; 상기 세션랜덤값을 이용하여 생성한 세션그룹키와 수신한 세션그룹키를 비교하여 검증하는 상호인증 단계; 및 검증 통과시, 다른 세션에 대한 사용자식별랜덤값 및 세션그룹키를 상기 사용자식별랜덤값을 이용하여 사용자에게 제공하는 단계;를 더 포함할 수 있다.
상기의 기술적 과제를 달성하기 위한, 본 발명의 실시 예에 따른 그룹 보안 관리 방법은, 복수의 제스처 또는 복수의 얼굴 표정 중 적어도 하나에 대한 요청을 단말로 전송하는 단계; 및 사용자의 제스처 또는 얼굴 표정에 대한 응답을 수신하면, 상기 요청에 대한 기 등록된 사용자의 제스처 또는 얼굴 표정과 수신한 제스처 또는 얼굴 표정이 동일하지 비교하여 검증하는 단계;를 더 포함할 수 있다.
본 발명에 따르면, 그룹에 속한 사용자의 탈퇴나 가입과 무관하게 키 갱신 및 재분배 과정없이 개인키처럼 그룹키를 그대로 사용할 수 있다. 그룹키는 그룹의 각 사용자에게 노출되지 않으므로 해킹 등으로부터 보다 안전하게 관리될 수 있다. 또한, 사용자의 제스처나 얼굴 표정 등을 이용한 사용자 인증으로 보안성을 높일 수 있다.
도 1은 본 발명의 실시 예가 적용되는 시스템의 개략적인 구조를 도시한 도면,
도 2는 본 발명의 실시 예에 따른 그룹 보안 관리 방법을 위해 단말과 서버에 저장되는 초기값의 일 예를 도시한 도면,
도 3은 본 발명의 실시 예에 따른 어떤 임의의 사용자 i의 세션랜덤값을 생성하는 방법의 일 예를 도시한 도면,
도 4는 본 발명의 실시 예에 따른 사용자식별랜덤값(가익명값, pseudonym)을 생성하는 방법의 일 예를 도시한 도면,
도 5는 본 발명의 실시 예에 따른 세션그룹키를 생성하는 방법의 일 예를 도시한 도면,
도 6은 본 발명의 실시 예에 따른 3D 모바일 기술을 이용한 사용자 인증 방법의 일 예를 도시한 도면,
도 7은 본 발명의 실시 예에 따른 상호인증을 통한 로그인 방법의 일 예를 도시한 도면,
도 8은 본 발명의 실시 예에 따라 정보를 암호화하여 웹사이트에 업로드하는 일 예를 도시한 도면, 그리고,
도 9는 본 발명의 실시 예에 따라 정보를 다운로드하여 복호화하는 방법의 일 예를 도시한 도면이다.
이하에서, 첨부된 도면들을 참조하여 본 발명의 실시 예에 따른 그룹 보안 관리 방법 및 그 장치에 대해 상세히 설명한다.
도 1은 본 발명의 실시 예가 적용되는 시스템의 개략적인 구조를 도시한 도면이다.
도 1을 참조하면, 적어도 하나 이상의 그룹(110,120)이 존재하고, 각 그룹(110,120)은 적어도 하나 이상의 사용자로 구성된다. 각 사용자는 단말(112,114,122,124)을 통해 서버(100)에 접속하여 인증받은 후 소정의 서비스를 이용한다. 예를 들어, 서버(100)는 건강정보 공유 서비스를 제공할 수 있다. 단말(112,114,122,124)은 유무선 통신이 가능한 모든 종류의 단말을 의미하여, 일 예로, 컴퓨터, 태블릿PC, 스마트폰 등이 있다.
서버(100)는 각 그룹(110,120)의 기본그룹키(fundamental group key)를 저장 관리하고 단말(112,114,122,124)을 통해 접속한 사용자를 인증한다. 서버(100)는 본 실시 예의 그룹 보안 관리를 위한 보안 관리 모듈(Security Manager Module)과 각 그룹에 속한 정보를 저장 관리하는 서비스 모듈을 포함할 수 있다. 각 모듈은 서버에서 동작하는 일종의 소프트웨어로 구현될 수 있다. 서버(100)는 하나의 물리적 장치 또는 복수의 물리적 장치로 구현되거나, 클라우드 서버(cloud server)로 구현되는 등 실시 예에 따라 다양한 형태로 구현될 수 있다. 다른 실시 예로, 보안 관리 모듈과 서비스 모듈을 각각 별개의 서버로 구현할 수 있다. 이하에서, 설명의 편의를 위해 서버(100)는 보안 관리 모듈과 서비스 모듈을 모두 포함하는 것으로 가정한다.
서버(100)(보안 관리 모듈)는 각 그룹(110,120)의 기본그룹키를 저장 관리한다. 예를 들어, 서버(100)는 그룹 A(110)를 위한 제1 기본그룹키와 그룹 B(120)를 위한 제2 기본그룹키를 안전하게 보관 관리하며, 제1 및 제2 기본그룹키를 각 그룹(110,120)의 사용자에게 제공하지 않는다. 서버는 각 그룹(110,120)의 사용자에게 각 그룹(110,120)의 제1 및 제2 기본그룹키를 이용하여 생성한 별도의 세션그룹키를 사용자별로 제공한다.
동일 그룹에 속한 사용자들은 서로 정보를 공유할 필요가 있다. 예를 들어, 그룹 A(110)에 속한 사용자는 단말(112,114)을 통해 서버(100)에 접속하여 그룹 A(110)의 다른 사용자가 서버(100)에 암호화화여 등록한 각종 메시지를 복호화하여 읽을 수 있어야 한다. 다시 말해, 그룹 A(110)의 제1 사용자 및 제2 사용자가 서로 다른 제1 세션그룹키 및 제2 세션그룹키를 각각 제공받은 후, 제1 사용자가 제1 세션그룹키를 이용하여 암호화한 메시지를 서버에 등록하면, 제2 사용자는 제2 세션그룹키를 이용하여 제1 사용자가 암호화하여 등록한 메시지를 복호화할 수 있어야 한다. 또한, 각 그룹(110,120)의 신규 사용자는 가입 이전에 해당 그룹(110,120)의 다른 사용자가 암호화하여 등록한 메시지에 접근 가능하여야 하며, 그룹(110,120)에서 탈퇴한 사용자는 암호화된 메시지에 접근 불가능하여야 한다. 이러한 조건을 만족하는 그룹 보안 관리 방법에 대해 도 2 이하에서 차례대로 살펴본다.
도 2는 본 발명의 실시 예에 따른 그룹 보안 관리 방법을 위해 단말과 서버에 저장되는 초기값의 일 예를 도시한 도면이다.
도 2를 참조하면, 단말(112)은 첫 번째 세션의 사용자식별랜덤값(200)과 세션그룹키(202) 등을 초기에 저장하고, 서버(100)는 각 그룹의 각 사용자의 마지막 세션의 사용자식별랜덤값(210), 세션랜덤값(212), 사용자식별정보(214) 등을 초기에 저장한다. 여기서 '세션(session)'이라고 함은 사용자가 단말을 통해 서버에 로그인하는 횟수를 의미한다. 예를 들어, 사용자가 처음 서버에 로그인할 때를 첫 번째 세션이라고 한다. '마지막 세션'이라고 함은 사용자별로 로그인할 수 있는 최대 횟수(이하, 최대 세션 횟수)를 미리 설정해 놓았을 때 마지막 로그인할 때를 마지막 세션이라고 한다. 예를 들어, 최대 세션 횟수를 1000으로 설정해 놓았다면 '마지막 세션'은 1000번째 로그인을 의미한다. 최대 세션 횟수는 모든 그룹에 동일하거나 각 그룹별로 상이할 수 있으며, 또한 동일 그룹 내의 모든 사용자에 동일하거나 각 사용자별로 상이할 수 있다.
사용자식별랜덤값은 랜덤값에 일방향 해쉬 함수(one-way hash function)를 최대 세션 횟수만큼 반복수행하여 생성한 값이다. 사용자식별랜덤값은 생성순서와 역순으로 각 세션에 부여된다. 예를 들어, 가장 마지막에 생성한 해쉬 함수 값이 첫 번째 세션의 사용자식별랜덤값이 되고, 처음 생성한 해쉬 함수 값이 마지막 세션의 사용자식별랜덤값이 된다. 다른 예로, 상기 랜덤값을 사용자식별랜덤값으로 이용한다면, 일방향 해쉬 함수를 (최대 세션 횟수 - 1)만큼 반복 수행한다. 이에 대한 예가 도 4에 도시되어 있다. 예를 들어, 도 4를 참조하면, 사용자의 단말(112)에는 사용자식별랜덤값 pdi 1(여기서, i는 사용자를 나타냄)이 저장되고, 서버(100)에는 그 사용자에 대한 마지막 세션의 사용자식별랜덤값 pdi q(여기서, q는 최대 세션 횟수)이 저장된다.
세션랜덤값은 랜덤값에 일방향 해쉬 함수(one-way hash function)를 최대 세션 횟수만큼 반복수행하여 생성한 값이다. 세션랜덤값은 사용자식별랜덤값처럼 생성순서와 역순으로 각 세션에 부여된다. 세션랜덤값의 생성 방법은 사용자식별랜덤값의 생성방법과 동일하다. 다만, 사용자식별랜덤값과 세션랜덤값을 생성하기 위한 각 초기 랜덤값(도 3의 αi q, 도 4의 pdi q)은 서로 상이하다. 초기의 랜덤값을 세션랜덤값으로 이용한다면, 일방향 해쉬 함수를 (최대 세션 횟수 - 1)만큼 반복 수행하면 된다. 이에 대한 예가 도 3에 도시되어 있다. 예를 들어, 도 3을 참조하면, 사용자의 단말(112)에는 세션랜덤값 αi 1이 저장되고, 서버(100)에는 그 사용자에 대한 마지막 세션의 세션랜덤값 αi q(여기서, q는 최대 세션 횟수)이 저장된다.
사용자식별랜덤값과 세션랜덤값 생성에 사용되는 일방향 해쉬 함수는 그 형태가 동일하거나 상이할 수 있다. 사용자식별랜덤값 및 세션랜덤값 모두 일방향 해쉬 함수를 사용한다는 점에서 공통된다. 일방향 해쉬 함수를 반복 수행하여 얻은 사용자식별랜덤값과 세션랜덤값은 모두 그 생성순서와 역순으로 각 세션에서 부여되므로, 어떤 세션에 대한 사용자식별랜덤값 또는 세션랜덤값이 제3자에게 노출되어도, 해쉬함수의 일방향성 특징으로 인하여 제3자는 그 다음 세션의 사용자식별랜덤값 또는 세션램덤값을 유추할 수 없다. 또한, 단말(112) 또는 서버(100)는 어떤 세션의 사용자식별랜덤값 또는 세션랜덤값에 일방향 해쉬 함수를 반복 수행하여 원하는 이전 세션에 대한 사용자식별랜덤값 또는 세션랜덤값을 생성할 수 있다. 예를 들어, n번째 사용자식별랜덤값 또는 세션랜덤값을 알고 있다면, 이에 해쉬함수를 반복수행하여 (n-1)번째, (n-2)번째... 첫 번째 사용자식별랜덤값 또는 세션랜덤값을 유추할 수 있다.
사용자별 세션그룹키는 각 그룹에 부여된 기본그룹키를 기초로 각 그룹의 각 사용자의 세션별로 생성되는 키이다. 세션그룹키는 기본그룹키에 해쉬 함수 또는 의사램덤함수(pseudo random function)(또는 랜덤함수) 등을 적용하여 생성하므로, 세션그룹키만으로 기본그룹키를 유추할 수 없다. (의사)램덤함수는 일종의 암호화 함수로 종래의 다양한 함수가 존재하며, 일 예로 AES(Advanced Encryption Standard) 암호화 함수가 있다. 그룹에 부여된 하나의 기본그룹키를 이용하여 그룹 내 속한 복수의 사용자의 각 세션별로 서로 다른 세션그룹키를 생성하기 위하여, 각 사용자의 각 세션에 대한 세션랜덤값을 이용한다. 세션그룹키의 생성 방법의 일 예에 대해서는 도 5에서 다시 설명한다.
사용자식별정보는 사용자를 인증하기 위한 다양한 종류의 정보일 수 있다. 예를 들어, 사용자 식별정보는 아이디/패스워드, 공인인증서 또는 지문 등의 생체정보일 수 있다. 이 외에 본 실시 예는 사용자식별정보로 사용자의 얼굴 표정이나 제스처를 포함할 수 있다. 사용자 얼굴 표정이나 제스처를 이용하여 사용자 인증하는 방법에 대해서는 도 6에서 다시 살펴본다. 실시 예에 따라, 사용자식별정보는 생략될 수 있다.
다른 실시 예로, 서버(100)는 각 사용자의 모든 세션의 사용자식별랜덤값 및 세션랜덤값을 저장할 수 있다. 또 다른 실시 예로, 서버(100)는 각 사용자의 세션그룹키를 필요할 때마다 생성하거나, 각 사용자의 모든 세션의 세션그룹키를 미리 생성하여 저장할 수 있다.
단말(112)과 서버(100)에 본 실시 예의 초기값(200,202,210,212,214)을 저장하는 다양한 방법이 적용될 수 있다. 예를 들어, 서버(100)가 각 그룹의 사용자별로 사용자식별랜덤값 및 세션그룹키를 생성한 후 각 사용자의 단말(112)에 첫 번째 세션의 사용자식별랜덤값 및 세션그룹키를 유무선 통신망을 통해 전송할 수 있다. 다른 실시 예로, 서버(100)는 종래의 다양한 방법으로 구현된 서버(100)와 단말(112) 사이의 보안 채널을 통해 사용자식별랜덤값 및 세션그룹키를 전송할 수 있다. 다른 예로, 사용자는 첫 번째 세션의 사용자식별랜덤값 및 세션그룹키가 저장된 저장매체(예를 들어, USB 메모리, 하드디스크 등)를 서버 관리자로부터 받은 후 단말(112)에 저장매체를 연결하여 사용하거나, 저장매체의 사용자식별랜덤값 및 세션그룹키를 단말(112)에 옮겨 저장할 수 있다.
도 3은 본 발명의 실시 예에 따른 세션랜덤값을 생성하는 방법의 일 예를 도시한 도면이다.
도 3을 참조하면, 서버는 초기 랜덤값에 해쉬함수(h())를 (최대 세션 횟수(q)-1)만큼 반복수행하여 (q-1)개의 해쉬 값을 생성한다. 본 실시 예는 초기 랜덤값(αi q)을 마지막 세션의 세션랜덤값으로 사용하는 경우이며, 초기 랜덤값(αi q)을 사용에서 배제한다면 해쉬 함수의 반복횟수는 최대 세션 횟수(q)가 된다.
서버는 해쉬 함수 값을 생성순서와 반대로 각 세션에 부여한다. 예를 들어, 마지막에 생성된 해쉬 함수 값(αi 1)을 사용자(i)의 첫 번째 세션의 세션랜덤값으로 부여하고, 최초의 랜덤값(αi q)을 마지막 세션의 세션랜덤값으로 부여한다. 서버는 마지막 세션의 세션랜덤값(αi q)을 도 2와 같이 초기에 저장하고 있으며, 마지막 세션의 세션랜덤값(αi q)을 이용하여 원하는 세션의 세션랜덤값을 생성할 수 있다.
도 4는 본 발명의 실시 예에 따른 사용자식별랜덤값을 생성하는 방법의 일 예를 도시한 도면이다.
도 4를 참조하면, 서버는 초기 랜덤값에 해쉬 함수(h())를 (최대 세션 횟수(q) - 1)만큼 반복수행하여 (q-1)개의 해쉬 값을 생성한다. 본 실시 예는 초기 랜덤값(pdi q)을 사용자식별랜덤값으로 사용하는 경우이며, 초기 랜덤값(pdi q)을 사용에서 배제한다면 해쉬 함수의 반복횟수는 최대 세션 횟수(q)가 된다. 사용자식별랜덤값의 생성원리 및 사용순서는 도 3에서 살핀 세션랜덤값의 생성원리 및 사용순서와 동일하다.
도 5는 본 발명의 실시 예에 따른 세션그룹키를 생성하는 방법의 일 예를 도시한 도면이다.
도 5를 참조하면, 각 그룹의 사용자는 각 세션을 위한 세션그룹키(510)를 서버로부터 제공받는다. 서버는 사용자가 속한 그룹의 기본그룹키(500)를 이용하여 해당 사용자의 특정 세션을 위한 해당하는 세션그룹키(510)를 생성한다.
세션그룹키(510)는 사용자별로 상이하며, 또한 동일 사용자라고 하여도 각 세션마다 상이하다. 예를 들어, 사용자의 첫 번째 세션을 위한 세션그룹키와 두 번째 세션을 위한 세션그룹키는 서로 상이하다.
서버는 사용자별 및 세션별로 서로 다른 세션그룹키를 생성하기 위하여 기본그룹키(500)와 함께 세션랜덤값(502)을 이용한다. 도 3의 예와 같이, 세션랜덤값(502)은 각 사용자의 세션별로 서로 다른 값이므로, 기본그룹키(500)와 세션랜덤값(502)을 조합할 경우에 각 사용자 및 각 세션별로 서로 다른 세션그룹키(510)를 생성할 수 있다.
각 사용자는 부여받은 세션그룹키(510)를 이용하여 메시지(M)를 암호화하여 서버에 저장한다. 동일 사용자라고 하여도 각 세션별로 세션그룹키(510)가 상이하다. 예를 들어, 사용자가 첫 번째 세션에서 정보를 암호화할 때 사용하는 세션그룹키와 두 번째 세션에서 정보를 암호화할 때 사용하는 세션그룹키는 서로 상이하다. 그러나 사용자는 이전 세션에서 자신이 암호화하여 등록한 메시지를 현 세션에서 복호화하여 볼 수 있어야 한다. 또한, 동일 그룹 내 사용자 사이에서 공유되는 메시지인 경우에, 사용자는 현 세션의 자신의 세션그룹키를 이용하여 다른 사용자가 암호화하여 등록한 메시지를 복호화하여 볼 수 있어야 한다.
이를 위해, 본 실시 예는 각 사용자에게 각 세션별로 부여되는 세션그룹키(510)를 복수 개 생성하되, 복수 개의 세션그룹키(510)의 조합을 통해 세션그룹키의 생성에 사용된 세션랜덤값(502)이 상쇄될 수 있도록 한다.
예를 들어, 서버는 그룹의 사용자(i)의 q번째 세션의 세션그룹키를 다음과 같이 구할 수 있다.
Figure 112017130058559-pat00001
여기서, Kg는 기본그룹키(fundamental group key)이고, αi q는 세션랜덤값, h()는 해쉬 함수, f()는 랜덤함수 등을 나타낸다.
세션그룹키(510)를 생성할 때 기본그룹키(500)에 해쉬 함수 또는 랜덤 함수등을 적용하므로, 세션그룹키(510)만으로 기본그룹키(500)를 유추할 수 없다. 따라서 제3자가 세션그룹키(510)를 해킹하여도 기본그룹키(500)는 안전하게 보호될 수 있다. 또한, DLP(Discrete Logarithm Problem, 이산대수 문제)에 의하여 K3 값 속에 포함된
Figure 112017130058559-pat00002
역시 절대 알 수 없다.
메시지는 복수 개의 세션그룹키(510) 중 세션랜덤값이 상쇄되는 세션그룹키 조합(520,522)을 이용하여 암호화 또는 복호화된다. 실시 예에 따라 암호화를 위한 세션그룹키의 제1 조합과 복호화를 위한 세션그룹키의 제2 조합은 동일하거나 상이할 수 있다.
예를 들어, 위 수학식 1의 5개의 세션그룹키는 다음과 같은 제1 조합 및 제2 조합의 형태로 메시지(M)를 암호화(C)하거나 암호화된 메시지(EM)를 복호화(D)하는데 사용될 수 있다.
Figure 112017130058559-pat00003
Figure 112017130058559-pat00004
여기서, K1,K2,K3,K4,K5는 세션그룹키 한 개를 나타내는 하부 그룹키 집합이다. 다시 말해서, 사용자별 각 세션당 세션그룹키는 5개 키의 집합 {K1,K2,K3,K4,K5}으로 구성된다.
수학식 2를 참조하면, 암호화할 때에는 제1, 제2, 제3 세션그룹키의 조합이 사용되고, 복호화할 때에는 제3, 제4, 제5 세션그룹키의 조합이 사용된다. 중요한 점은, 암호시에 제1 내지 제3 세션그룹키를 조합하면, 마지막 결과값은 세션랜덤값이 상쇄되어 결국 기본그룹키(500)를 이용하여 메시지(M)를 암호화한 결과와 동일하게 된다. 또한, 복호화할 때에도 암호문에 제3 내지 제5 세션그룹키를 조합하면, 그 결과값은 세션랜덤값이 상쇄되어 결국 기본그룹키(500)를 이용하여 암호화된 메시지(EM)를 복호화한 결과와 동일하게 된다. 그러나 각 사용자는 DLP(Discrete Logarithm Problem, 이산대수 문제0에 의하여 K3 값 속에 포함된
Figure 112017130058559-pat00005
를 절대 알 수 없으며, 암호화식 최종 결과에 포함된 f(Kg)h(Kg) 역시 DHP(Diffie-Hellman Problem, 디피헬만 문제)에 의해 절대 알 수 없기 때문에, 결과적으로 사용자는 기본그룹키(fundamental group key) Kg를 절대 알 수 없는 것이 보안상 중요 특성이다.
다시 말해, 각 사용자는 자신도 모르는 기본그룹키에 매번 변하는 랜덤값을 블라인딩시켜서 생성한 매세션마다 다른 세션그룹키(510)를 부여받지만, 세션그룹키의 조합을 이용한 수학식 2의 암호화 및 복호화의 결과는 기본그룹키(500)를 이용한 암호화 및 복호화한 결과와 동일하게 된다. 따라서 사용자는 현 세션의 세션그룹키(510)를 이용하여 자신이 이전 세션에서 암호화하여 등록한 메시지를 복호화할 수 있으며, 동일 그룹 내 각 사용자는 다른 사용자가 암호화하여 등록한 메시지를 자신의 세션그룹키를 이용하여 복호화할 수 있다.
수학식 1 및 수학식 2는 본 실시 예의 설명을 위한 하나의 예일 뿐 세션그룹키(510)의 생성 방법 및 조합 방법이 수학식 1 및 수학식 2의 예에 한정되는 것은 아니며, 조합을 통해 세션랜덤값이 상쇄될 수 있는 다른 형태의 복수 개의 세션그룹키를 생성할 수 있다.
도 6은 본 발명의 실시 예에 따른 사용자 인증 방법의 일 예를 도시한 도면이다.
도 6을 참조하면, 서버(100)는 사용자의 얼굴 표정이나 제스처 등을 이용하여 본인 인증을 수행할 수 있다. 이를 위해, 본 실시 예에서 서버는 사용자의 얼굴 표정이나 제스처 등을 미리 등록받아 저장하고 있다고 가정한다. 서버(100)는 각 그룹의 각 사용자에 대해 하나의 얼굴 표정이나 제스처를 저장하거나 복수 개의 얼굴 표정이나 제스처를 저장할 수 있다.
각 사용자에 대해 하나의 얼굴 표정이나 제스처가 저장되어 있다면, 서버(100)는 단말(112)을 통해 수신한 얼굴 표정이나 제스처가 미리 저장된 얼굴 표정이나 제스처와 동일한지 여부를 기초로 인증을 수행할 수 있다. 서버(100)는 얼굴 표정이나 제스처의 동일 여부를 파악하기 위하여 종래의 다양한 얼굴 인식 알고리즘 또는 제스처 인식 알고리즘 등을 사용할 수 있다. 실시 예에 따라 얼굴 표정이나 제스처는 2차원 정보 또는 AR(Augmented Reality, 증강현실) 기술을 이용한 3차원 랜더링 정보일 수 있다. 본 실시 예는 복수의 얼굴 표정이나 제스처를 이용하는 경우를 가정하여 이하 설명한다.
먼저, 서버(100)는 복수의 얼굴 표정이나 제스처 중에서 특정 얼굴 표정이나 제스처의 입력 요청을 사용자의 단말로 전송한다(S100). 예를 들어, 웃는 얼굴, 찡그린 얼굴, 눈을 감은 얼굴 등의 다양한 얼굴 표정과, 손가락 하나 펴기, 팔 들기 등과 같은 다양한 제스처가 서버에 미리 저장되어 있다면, 서버(100)는 특정 얼굴 표정 또는 특정 제스처 또는 어느 하나의 얼굴 표정과 어느 하나의 제스처의 조합에 대한 요청을 단말로 전송할 수 있다. 예를 들어, 서버는 '찡그린 얼굴 + 손가락 하나 펴기'의 요청을 단말(112)로 전송할 수 있다.
단말(112)은 내장 카메라 또는 외부 카메라를 통해 촬영된 사용자의 얼굴 표정 및/또는 제스처를 입력받는다(S610). 단말(112)은 입력받은 얼굴 표정이나 제스처 등을 바로 서버(100)로 전송하거나, 본 실시 예와 같이 3차원 랜더링한 후(S620), 서버(100)로 전송할 수 있다(S630). 예를 들어, 이 과정은 아이폰의 증강현실 기능을 사용하여 상용화 가능하고, 그룹키 환경의 보안 취약점인 제3자와의 공모 위협으로부터 벗어날 수 있다. 3차원 랜더링 과정(S620)은 실시 예에 따라 생략될 수 있다.
서버(100)는 단말(112)로부터 수신한 얼굴 표정이나 제스처가 서버에 저장된얼굴표정이나 제스처와 동일한지 검증한다(S640).
도 7은 본 발명의 실시 예에 따른 로그인 방법의 일 예를 도시한 도면이다.
도 7을 참조하면, 단말(112)은 세션 순서, 사용자식별랜덤값, 세션그룹키를 포함하는 로그인 요청을 서버(100)로 전송한다(S700). 실시 예에 따라, 단말은 사용자인증정보(예를 들어, 도 6의 얼굴 표정이나 제스처, 또는 아이디/패스워드, 지문 등)를 로그인 요청에 함께 포함하여 전송하거나 생략할 수 있다. 예를 들어, 도 6과 같이 사용자 인증 정보가 얼굴 표정이나 제스처인 경우에, 단말(112)은 서버에서 요청한 얼굴 표정이나 제스처를 사용자로부터 입력받은 후 이를 포함한 로그인 요청을 서버(100)로 전송할 수 있다. 보안을 위해 로그인 요청에 포함되는 사용자식별랜덤값, 세션그룹키 등은 해쉬 함수 또는 랜덤 함수로 암호화될 수 있다. 또한, 사용자인증정보는 세션그룹키를 이용하여 암호화될 수 있다.
첫 번째 세션을 위한 로그인 요청에 포함되는 정보들을 도 3,4 및 수학식 1,2를 이용하여 표현하면 다음과 같다.
Figure 112017130058559-pat00006
여기서, 1(s)는 첫 번째 세션임을 나타내는 세션 순서의 정보, Vi 1는 사용자(i)의 첫 번째 세션의 사용자인증정보, kmi 1은 사용자(i)의 첫 번째 세션의 세션그룹키의 집합 {K1,K2,K3,K4,K5}, pdi 1는 사용자(i)의 첫 번째 세션의 사용자식별랜덤값, h는 해쉬 함수, f는 의사램덤함수를 나타낸다.
수학식 3의
Figure 112017130058559-pat00007
는 다음과 같다.
Figure 112017130058559-pat00008
서버(100)는 단말(112)로부터 수신한 로그인 요청에 포함된 세션 순서 및 사용자식별랜덤값을 이용하여 해당 사용자의 세션랜덤값을 파악한다(S710). 서버(100)는 도 2와 같이 각 사용자의 마지막 세션의 사용자식별랜덤값을 포함하므로 각 사용자별로 원하는 세션의 사용자식별랜덤값을 알 수 있다. 따라서 서버(100)는 단말(112)의 로그인 요청이 몇 번째 세션에 대한 로그인 요청인지 세션 순서를 통해 파악하고, 서버(100)에 저장된 마지막 세션의 사용자식별랜덤값을 이용하여 해당 세션 순서에 대한 각 사용자의 사용자식별랜덤값을 파악한다. 그리고 서버(100)는 각 사용자별로 파악된 사용자식별랜덤값과 로그인 요청의 사용자식별랜덤값을 비교하여 어느 그룹의 어느 사용자의 로그인 요청인지 파악한다. 사용자가 파악되면, 서버(100)는 해당 사용자의 마지막 세션의 세션랜덤값을 이용하여 해당 세션의 세션랜덤값을 생성할 수 있다.
세션랜덤값이 파악되면, 서버(100)는 세션랜덤값을 이용하여 해당 세션의 세션그룹키를 생성한다(S720). 예를 들어, 서버는 수학식 1의 방법으로 세션그룹키를 생성할 수 있다. 다른 실시 예로, 서버(100)가 각 그룹의 각 사용자의 모든 세션에 대한 세션그룹키를 저장하고 있다면, 서버는 미리 저장되어 있는 해당 사용자의 각 세션별 세션그룹키를 검색하여 파악할 수 있다.
서버(100)는 서버(100)에서 생성 또는 검색된 세션그룹키와 로그인 요청의 세션그룹키가 동일한지 검증한다(S730). 로그인 요청의 세션그룹키가 사용자식별랜덤값 등으로 암호화되어 있다면, 서버(100)의 세션그룹키 복호화 과정 역시 해당 세션에 대한 사용자식별랜덤값으로 세션그룹키를 복호화하도록 구성될 수 있다.
로그인 요청에 사용자인증정보가 포함되어 있다면, 서버(100)는 사용자인증정보를 검증하는 과정을 더 포함할 수 있다. 예를 들어, 수학식 4와 같이 사용자 인증 정보가 암호화되어 있다면, 서버는 미리 등록된 사용자인증정보를 단말의 암호화 과정과 동일한 방법으로 암호화한 후 두 암호화된 값이 일치하는지 검증한다.
서버(100)는 다음 세션을 위한 사용자식별랜덤값 및 세션그룹키를 단말로 전송한다(S740). 예를 들어, 현재의 로그인 요청이 n번째 세션인 경우에, 서버(100)는 사용자의 (n+1)번째 세션에 대한 세션랜덤값을 생성하고(저장되어 있는 제일 마지막세션 랜덤값을 반복적으로 해쉬시킨다), (n+1)번째 세션의 세션랜덤값과 사용자가 속한 그룹의 기본그룹키를 이용하여 (n+1)번째 세션의 세션그룹키를 생성한다. 또한, 서버(100)는 (n+1)번째 세션의 사용자식별랜덤값을 생성한다. 보안을 위해, 서버는 현 세션의 사용자식별랜덤값을 이용하여 다음 세션의 사용자식별랜덤값 및 세션그룹키를 암호화하여 전송할 수 있다.
사용자 인증 정보를 검증하는 경우에, 서버는 사용자 인증 정보를 다음 세션의 사용자식별랜덤값으로 암호화하여 단말로 전송할 수 있다. 예를 들어, 로그인 요청이 첫 번째 세션인 경우에, 서버는 다음과 같은 정보를 단말로 전송한다.
Figure 112017130058559-pat00009
단말(112)은 서버(100)로부터 수신한 다음 세션의 사용자식별랜덤값 및 세션그룹키를 검증한다(S745). 수학식 5와 같이 다음 세션의 사용자식별랜덤값 및 세션그룹키가 현 세션의 사용자식별랜덤값으로 암호화되어 있다면, 단말(112)은 이를 복호화한다. 예를 들어, 단말(112)은 서버(100)로부터 수신한 다음 세션의 사용자식별랜덤값에 일방향 해쉬 함수를 적용하여 얻은 값이 현 세션의 사용자식별랜덤값과 동일한지 검증한다(현 세션이 첫 번째 세션인 경우:
Figure 112017130058559-pat00010
). 또한, 서버로부터 다음 세션의 세션그룹키로 다음 세션의 사용자식별랜덤값을 암호화하고 해쉬한 제1 검증값(현 세션이 첫 번째 세션인 경우:
Figure 112017130058559-pat00011
)을 수신한 경우에, 단말은 서버로부터 수신한 다음 세션의 세션그룹키를 이용하여 서버(100)로부터 수신한 사용자식별랜덤값을 암호화하고 해쉬한 제2 검증값(현 세션이 첫 번째 세션인 경우:
Figure 112017130058559-pat00012
)을 생성한다. 그리고 서버(100)는 제1 검증값과 제2 검증값이 동일한지 비교하여 세션그룹키를 검증한다.
단말(112)에 도 2와 같이 첫 번째 세션에 대한 사용자식별랜덤값 및 세션그룹키가 저장되어 있다면, 단말(112)은 매번 로그인할 때마다 본 실시 예의 과정을 통해 다음 세션을 위한 사용자식별랜덤값 및 세션그룹키를 제공받을 수 있다.
단말(112)은 서버(100)로부터 다음 세션의 사용자식별랜덤값으로 암호화된 사용자인증정보(현 세션이 첫 번째 세션인 경우:
Figure 112017130058559-pat00013
)를 수신한다면, 서버로부터 수신한 사용자식별랜덤값으로 복호화하여 사용자인증정보를 획득한다. 그리고 사용자인증정보를 랜더링하여 서버(100)로 전송한다. 이 과정이 AR(Augmented Reality, 증강현실) 기술을 이용한 3차원 랜더링 정보로, 3D 모바일 보안 기술로 구현하여 실시간으로 그룹멤버 인증에 사용하면, 그룹키 환경의 보안취약점인 공모의 위협을 막을 수 있다.
서버(100)는 단말로부터 수신한 사용자인증정보와 서버에 저장된 사용자인증정보를 비교하여 검증한다. 검증에 성공하면, 사용자의 로그인은 허락되고 이후 사용자는 메시지를 암호화하여 업로딩하거나 서버에 저장된 정보를 다운로딩하여 복호화할 수 있다.
본 실시 예에서 사용자인증정보에 대한 과정은 모두 생략될 수 있다. 또한 사용자인증정보는 얼굴 표정이나 제스처에 한정되는 것은 아니며 종래의 다양한 인증정보를 사용할 수 있다.
도 8은 본 발명의 실시 예에 따른 정보 암호화 방법의 일 예를 도시한 도면이다.
도 8을 참조하면, 단말(112)이 서버(100)에 정상적으로 로그인하면, 단말(112)은 현 세션의 세션그룹키를 이용하여 메시지를 암호화한다(S800). 도 5에서 살핀 바와 같이, 단말(112)은 사용자의 각 세션별로 복수의 세션그룹키를 부여받고, 복수의 세션그룹키에서 세션랜덤값이 상쇄되는 조합의 세션그룹키로 메시지를 암호화한다. 메시지를 암호화하는데 사용되는 세션그룹키의 조합의 일 예가 수학식 2에 표현되어 있다. 단말(112)은 암호화된 메시지를 서버(100)에 전송하고(S810), 서버(100)는 그 메시지를 데이터베이스에 저장한다(S820).
도 9는 본 발명의 실시 예에 따른 정보 복호화 방법의 일 예를 도시한 도면이다.
도 9를 참조하면, 단말(112)은 서버(100)로부터 암호화된 메시지를 수신한다(S900). 단말은 사용자의 현 세션의 세션그룹키를 이용하여 암호화된 메시지를 복호화한다(S910). 해당 세션의 복수 개의 세션그룹키 중 일부 또는 전부를 조합하여 암호화된 메시지를 복호화하는 예가 수학식 2에 표현되어 있다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광데이터 저장장치 등이 있다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.

Claims (9)

  1. 서버에서 적어도 하나 이상의 사용자를 포함하는 그룹의 보안 관리 방법에 있어서,
    각 사용자별 랜덤값에 일방향 해시 함수를 반복 수행하여 각 사용자에 대한 각 세션별 세션랜덤값을 생성하고, 세션랜덤값의 생성순서와 역순으로 세션랜덤값을 각 세션에 할당하는 단계; 및
    그룹의 기본그룹키 및 사용자의 해당 세션에 대한 세션랜덤값을 미리 정의된 서로 다른 방법으로 조합한 5개의 키로 구성된 세션그룹키를 각 사용자의 세션별로 생성하는 단계;
    랜덤값에 일방향 해시 함수를 반복 수행하여 각 사용자에 대한 각 세션별 사용자식별랜덤값을 생성하고, 사용자식별랜덤값의 생성순서와 역순으로 사용자식별랜덤값을 각 세션에 부여하는 단계; 및
    사용자 인증시 필요한 사용자의 제스처 또는 얼굴 표정 중 적어도 하나 이상을 조합하여 저장하는 단계;를 포함하고,
    상기 세션그룹키에 속한 5개의 키는 암/복호화 알고리즘에서 세션랜덤값이 상쇄되는 조합으로 생성되는 것을 특징으로 하는 그룹 보안 관리 방법.
  2. 제 1항에 있어서, 상기 세션그룹키는 아래의 5개의 키로 구성되고,
    Figure 112019041952869-pat00023

    여기서, Kg는 기본그룹키이고, αi q는 사용자 i의 q번째 세션의 세션랜덤값, h()는 해쉬 함수, f()는 랜덤함수를 나타내는 것을 특징으로 하는 그룹 보안 관리 방법.
  3. 제 1항에 있어서,
    서버는 각 그룹에 대한 기본그룹키와 각 그룹의 사용자별 전체 세션에 대해 생성한 랜덤값 및 사용자식별랜덤값에 대한 해쉬체인을 저장하는 단계;
    각 사용자의 단말은 첫 번째 세션의 사용자식별랜덤값, 첫 번째 세션의 세션그룹키를 저장하는 단계; 및
    서버는 첫 번째 세션의 인증이 성공한 사용자에 대해 다음 세션 로그인 인증에 필요한 사용자식별랜덤값 및 세션그룹키를 암호화하여 해당 사용자의 단말로 전송하는 단계;를 더 포함하는 것을 특징으로 하는 그룹 보안 관리 방법.
  4. 제 1항에 있어서,
    사용자로부터 세션 순서, 사용자식별랜덤값, 세션그룹키를 수신하는 단계;
    상기 세션 순서 및 사용자식별랜덤값을 이용하여 해당 사용자의 상기 세션 순서에 해당하는 세션랜덤값을 파악하는 단계;
    상기 세션랜덤값을 이용하여 생성한 세션그룹키와 수신한 세션그룹키를 비교하여 검증하는 상호인증 단계; 및
    검증 통과시, 다른 세션에 대한 사용자식별랜덤값 및 세션그룹키를 상기 사용자식별랜덤값을 이용하여 사용자에게 제공하는 단계;를 더 포함하는 것을 특징으로 하는 그룹 보안 관리 방법.
  5. 제 4항에 있어서,
    복수의 제스처 또는 복수의 얼굴 표정 중 적어도 하나에 대한 요청을 단말로 전송하는 단계; 및
    사용자의 제스처 또는 얼굴 표정에 대한 응답을 수신하면, 상기 요청에 대한 기 등록된 사용자의 제스처 또는 얼굴 표정과 수신한 제스처 또는 얼굴 표정이 동일하지 비교하여 검증하는 단계;를 더 포함하는 것을 특징으로 하는 그룹 보안 관리 방법.
  6. 단말의 보안 관리 방법에 있어서,
    그룹의 기본그룹키 및 사용자의 해당 세션에 대한 세션랜덤값을 이용하여 생성된 복수 개의 세션그룹키를 서버로부터 수신하는 단계;
    상기 복수 개의 세션그룹키 중 세션랜덤값이 상쇄되는 세션그룹키의 조합을 이용하여 메시지를 암호화하거나 복호화하는 단계;
    랜덤값에 일방향 해시 함수를 반복 수행하여 생성되는 사용자식별랜덤값의 생성순서와 역순으로 각 세션별 사용자식별랜덤값을 서버로부터 수신하는 단계; 및
    상기 사용자식별랜덤값과 상기 세션그룹키를 이용하여 서버에 상호인증을 통하여 로그인하는 단계;를 포함하는 것을 특징으로 하는 그룹 보안 관리 방법.
  7. 제 6항에 있어서,
    상기 세션그룹키는 각 사용자의 각 세션별로 서로 상이한 것을 특징으로 하는 그룹 보안 관리 방법.
  8. 삭제
  9. 제 1항 내지 제 7항 중 어느 한 항에 기재된 방법을 수행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020170181509A 2017-12-27 2017-12-27 그룹 멤버간 정보 공유를 위한 그룹키 관리 및 인증 방법과 그 장치 KR101997117B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170181509A KR101997117B1 (ko) 2017-12-27 2017-12-27 그룹 멤버간 정보 공유를 위한 그룹키 관리 및 인증 방법과 그 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170181509A KR101997117B1 (ko) 2017-12-27 2017-12-27 그룹 멤버간 정보 공유를 위한 그룹키 관리 및 인증 방법과 그 장치

Publications (1)

Publication Number Publication Date
KR101997117B1 true KR101997117B1 (ko) 2019-07-05

Family

ID=67225009

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170181509A KR101997117B1 (ko) 2017-12-27 2017-12-27 그룹 멤버간 정보 공유를 위한 그룹키 관리 및 인증 방법과 그 장치

Country Status (1)

Country Link
KR (1) KR101997117B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060079491A (ko) * 2004-12-31 2006-07-06 삼성전자주식회사 조합에 기반한 브로드캐스트 암호화 방법
KR101704540B1 (ko) 2016-08-03 2017-02-09 성결대학교 산학협력단 M2m 환경의 다중 디바이스 데이터 공유를 위한 그룹키 관리 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060079491A (ko) * 2004-12-31 2006-07-06 삼성전자주식회사 조합에 기반한 브로드캐스트 암호화 방법
KR101704540B1 (ko) 2016-08-03 2017-02-09 성결대학교 산학협력단 M2m 환경의 다중 디바이스 데이터 공유를 위한 그룹키 관리 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Bob Briscoe, "MARKS: Multicast key Management using Arbitrarily Revealed Key Sequences" (1999.08.13.)* *

Similar Documents

Publication Publication Date Title
CN103124269B (zh) 云环境下基于动态口令与生物特征的双向身份认证方法
EP2348446B1 (en) A computer implemented method for authenticating a user
JP7448220B2 (ja) マルチポイント認証のためのキー生成・預託システム及び方法
CN113691502B (zh) 通信方法、装置、网关服务器、客户端及存储介质
KR101753859B1 (ko) 서버 및 이에 의한 스마트홈 환경의 관리 방법, 스마트홈 환경의 가입 방법 및 스마트 기기와의 통신 세션 연결 방법
JP2016502377A (ja) 安全計算を用いて安全性を提供する方法
US20230254129A1 (en) Key management for multi-party computation
KR20070024633A (ko) 갱신가능한 그리고 개인적인 바이오메트릭
JP2009529832A (ja) 発見不可能、即ち、ブラック・データを使用するセキュアなデータ通信
TW201540038A (zh) 用於遷移金鑰之方法及設備
CN111131336B (zh) 多方授权场景下的资源访问方法、装置、设备及存储介质
CN110708291B (zh) 分布式网络中数据授权访问方法、装置、介质及电子设备
KR101952329B1 (ko) 블록체인 기반 암호화폐의 트랜잭션에 이용되는 주소 정보 생성 방법, 전자 장치 및 컴퓨터 판독 가능한 기록 매체
CN111740995B (zh) 一种授权认证方法及相关装置
Jan et al. A robust authentication scheme for client-server architecture with provable security analysis
US10785193B2 (en) Security key hopping
US10699021B2 (en) Method and a device for secure storage of at least one element of digital information, and system comprising such device
Thangavel et al. An analysis of privacy preservation schemes in cloud computing
JP7250960B2 (ja) ユーザのバイオメトリクスを利用したユーザ認証および署名装置、並びにその方法
CN109412788B (zh) 基于公共密钥池的抗量子计算代理云存储安全控制方法和***
Sinnhofer et al. Patterns to establish a secure communication channel
CN115766098A (zh) 基于区块链与代理重加密的个人健康数据共享方法
KR101997117B1 (ko) 그룹 멤버간 정보 공유를 위한 그룹키 관리 및 인증 방법과 그 장치
Madhumala et al. Secure file storage & sharing on cloud using cryptography
Shrishak et al. Enhancing user privacy in federated eID schemes

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant