KR20170026765A - 자체 인증 서명을 기반으로 하는 공공 감사 방법 및 시스템 - Google Patents

자체 인증 서명을 기반으로 하는 공공 감사 방법 및 시스템 Download PDF

Info

Publication number
KR20170026765A
KR20170026765A KR1020150121014A KR20150121014A KR20170026765A KR 20170026765 A KR20170026765 A KR 20170026765A KR 1020150121014 A KR1020150121014 A KR 1020150121014A KR 20150121014 A KR20150121014 A KR 20150121014A KR 20170026765 A KR20170026765 A KR 20170026765A
Authority
KR
South Korea
Prior art keywords
server
tpa
witness
signature
data
Prior art date
Application number
KR1020150121014A
Other languages
English (en)
Other versions
KR101740956B1 (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 KR1020150121014A priority Critical patent/KR101740956B1/ko
Publication of KR20170026765A publication Critical patent/KR20170026765A/ko
Application granted granted Critical
Publication of KR101740956B1 publication Critical patent/KR101740956B1/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/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic 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

Landscapes

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

Abstract

본 발명은 자체 인증 서명을 기반으로 하는 공공 감사 방법 및 시스템에 관한 것으로서, 일실시예에 따른 공공 감사 방법은 인증기관(TA, Trust Authority) 서버에서 사용자 단말기로 개인키를 발급하는 단계, 상기 인증기관(TA, Trust Authority) 서버에서 상기 발급된 개인키에 상응하는 자체 인증 공개키 기반의 위트니스를 생성하여 상기 사용자 단말기를 통해 제3 감사자(TPA, Third Party Auditor) 서버로 전송하는 단계, 상기 사용자 단말기에서 상기 위트니스 전송에 상응하여 데이터에 대한 서명을 생성하고, 상기 데이터와 상기 생성된 서명을 클라우드 서버에 전송하는 단계, 및 상기 제3 감사자(TPA, Third Party Auditor) 서버에서 상기 서명의 전송에 상응하는 챌린지(Challenge) 메시지를 생성하고, 상기 생성된 챌린지(Challenge) 메시지에 대한 응답에 기초하여 데이터의 변조 여부를 확인하는 단계를 포함한다.

Description

자체 인증 서명을 기반으로 하는 공공 감사 방법 및 시스템{METHOD OF SECURE PUBLIC AUDITING USING SELF-CERTIFIED SIGNATURE IN CLOUD STORAGE AND SYSTEM OF THE SAME}
본 발명은 자체 인증 서명을 기반으로 하는 공공 감사 기술로서, 클라우드 서비스 사용자가 본인의 데이터를 클라우드 스토리지에 업로드한 뒤, TPA(Third Party Auditor)를 통해 클라우드 서버나 다른 공격자의 악의적인 행동으로부터 데이터의 변조 유무를 확인하는 기술적 사상에 관한 것이다.
클라우드 환경에서는 무분별한 접근으로 인한 피해 사례가 빈번하다. 이를 위해, 클라우드 환경에서의 보안 관련 이슈가 부각되고 있으며, 이를 위한 다양한 기술들이 개발되고 있는 추세다.
이 중에서, 자체 인증 서명 기법(Self-Certified Signature Scheme)은 자체 인증 공개키에 기반을 둔 방식으로, 별도의 공개키 인증서를 저장하거나 검증할 필요가 없으며 인증서 대신 공개키가 포함된 위트니스(Witness)를 생성한다. 특정 사용자의 식별자와 이에 대응되는 위트니스 쌍을 가진 사람이라면 누구나 공개키를 획득할 수 있으며, 서명을 검증할 수 있다. 자체 인증 서명 기법은 크게 셋업 과정, 키생성 과정, 위트니스 생성 과정, 증명 과정의 4 단계를 포함한다.
먼저, 셋업 과정에서 TA(Trust Authority)는 시큐리티 파라미터를 입력 값으로 받아서 시스템 파라미터과 마스터 비밀키를 생성한다. 이후, 키생성 과정에서 사용자는 시큐리티 파라미터를 입력 값으로 받아서 공개키, 개인키 쌍을 생성한다. 위트니스 생성 과정에서, TA(Trust Authority)는 사용자의 식별자인 공개키 그리고 사용자의 개인키에 대한 영-지식 증명(Zero-Knowledge Proof)을 이용하여 위트니스를 생성한다. 또한, 증명 과정에서는 사용자가 보유한 메시지에 대한 서명을 생성하고, 메시지, 서명, 사용자 식별자 그리고 위트니스를 입력 값으로 받아 서명에 대한 정당성을 검증한다.
대한민국 특허공보 제10-0529594호 대한민국 특허공보 제10-0561847호
실시예에 따르면, 클라우드 서비스 사용자가 본인의 데이터를 클라우드 스토리지에 업로드한 뒤, TPA(Third Party Auditor)를 통해 클라우드 서버나 다른 공격자의 악의적인 행동으로부터 데이터의 변조 유무를 확인하는 것이다.
실시예에 따르면, 사용자의 대리인이 클라우드에 업로드된 데이터의 무결성을 감사하는 것이다.
실시예에 따르면, 연산 복잡도를 낮추면서도 악의적인 공격에도 안전한 새로운 공공 감사 프로토콜을 제공하는 것이다.
일실시예에 따른 공공 감사 방법은 인증기관(TA, Trust Authority) 서버에서 사용자 단말기로 개인키를 발급하는 단계, 상기 인증기관(TA, Trust Authority) 서버에서 상기 발급된 개인키에 상응하는 자체 인증 공개키 기반의 위트니스를 생성하여 상기 사용자 단말기를 통해 제3 감사자(TPA, Third Party Auditor) 서버로 전송하는 단계, 상기 사용자 단말기에서 상기 위트니스 전송에 상응하여 데이터에 대한 서명을 생성하고, 상기 데이터와 상기 생성된 서명을 클라우드 서버에 전송하는 단계, 및 상기 제3 감사자(TPA, Third Party Auditor) 서버에서 상기 서명의 전송에 상응하는 챌린지(Challenge) 메시지를 생성하고, 상기 생성된 챌린지(Challenge) 메시지에 대한 응답에 기초하여 데이터의 변조 여부를 확인하는 단계를 포함한다.
일실시예에 따른 상기 데이터의 변조 여부를 확인하는 단계는, 상기 제3 감사자(TPA, Third Party Auditor) 서버에서 상기 생성된 챌린지(Challenge) 메시지를 상기 클라우드 서버에 전송하는 단계, 및 상기 클라우드 서버에서 상기 챌린지(Challenge) 메시지에 상응하는 응답(Response) 값을 생성하여 상기 제3 감사자(TPA, Third Party Auditor) 서버로 전송하는 단계, 및 상기 제3 감사자(TPA, Third Party Auditor) 서버에서 상기 응답(Response) 값에 기초하여 데이터의 변조 여부를 확인하는 단계를 포함한다.
일실시예에 따른 상기 데이터의 변조 여부를 확인하는 단계는, 상기 제3 감사자(TPA, Third Party Auditor) 서버에서 상기 응답(Response) 값을 미리 지정된 검증식에 대입하여 데이터의 변조 여부를 확인한다.
일실시예에 따른 상기 인증기관(TA, Trust Authority) 서버에서 상기 위트니스를 생성하는 단계는, 상기 사용자 단말기에서 소수를 위수로 갖는 곱셈 순환 그룹의 생성자 정보가 반영된 변수를 상기 개인키로 생성하고, 상기 생성한 개인키에 기초하여 영-지식 증명하여 상기 인증기관(TA, Trust Authority) 서버에 회신하는 단계, 상기 인증기관(TA, Trust Authority) 서버에서 검증식이 성립하는지 확인하는 단계, 상기 검증식이 성립하는 경우에 영-지식 증명을 검증하는 단계, 및 상기 인증기관(TA, Trust Authority) 서버에서 상기 영-지식 증명이 검증되면, 위트니스를 생성하여 상기 사용자 단말기로 전송하고, 데이터베이스에 저장하는 단계를 포함한다.
일실시예에 따른 상기 인증기관(TA, Trust Authority) 서버에서 상기 위트니스를 생성하는 단계는, 상기 검증식이 성립하지 않는 경우, 프로토콜을 종료하는 단계를 포함한다.
일실시예에 따른 상기 챌린지(Challenge) 메시지에 상응하는 응답(Response) 값을 생성하는 단계는, 상기 챌린지(Challenge) 메시지를 구성하는 모든 원소에 대한 모드 연산을 수행하는 단계, 상기 수행된 모드 연산된 결과에 공개키와 해시 함수를 이용해서 증명 값을 계산하는 단계, 및 상기 계산된 증명 값을 반영하여 상기 응답(Response) 값을 생성하는 단계를 포함한다.
일실시예에 따른 공공 감사 방법은 사용자 단말기에서 소수를 위수로 갖는 곱셈 순환 그룹의 생성자 정보가 반영된 변수를 상기 개인키로 생성하는 단계, 상기 생성한 개인키에 기초하여 영-지식 증명하여 상기 인증기관(TA, Trust Authority) 서버에 회신하는 단계, 상기 인증기관(TA, Trust Authority) 서버에서 검증식이 성립하는지 확인하는 단계, 상기 검증식이 성립하는 경우에 영-지식 증명을 검증하는 단계, 및 상기 인증기관(TA, Trust Authority) 서버에서 상기 영-지식 증명이 검증되면, 위트니스를 생성하여 상기 사용자 단말기로 전송하고, 데이터베이스에 저장하는 단계를 포함한다.
일실시예에 따른 상기 인증기관(TA, Trust Authority) 서버에서 상기 위트니스를 생성하는 단계는, 상기 검증식이 성립하지 않는 경우, 프로토콜을 종료하는 단계를 포함한다.
일실시예에 따른 공공 감사 시스템은 인증기관(TA, Trust Authority) 서버에서 사용자 단말기로 개인키를 발급하는 개인키 발급부, 인증기관(TA, Trust Authority) 서버에서 상기 발급된 개인키에 상응하는 자체 인증 공개키 기반의 위트니스를 생성하는 위트니스 생성부, 및 상기 사용자 단말기를 통해 상기 생성한 위트니스를 제3 감사자(TPA, Third Party Auditor) 서버로 전송하는 전송부를 포함하고, 상기 위트니스 전송에 상응하여 생성한 데이터에 대한 서명이 클라우드 서버에 전송되면, 상기 제3 감사자(TPA, Third Party Auditor) 서버가 상기 서명의 전송에 상응하는 챌린지(Challenge) 메시지를 생성하고, 상기 생성된 챌린지(Challenge) 메시지에 대한 응답에 기초하여 데이터의 변조 여부를 확인하는 자체 인증 서명을 기반으로 한다.
일실시예에 따른 상기 제3 감사자(TPA, Third Party Auditor) 서버는 상기 생성된 챌린지(Challenge) 메시지를 상기 클라우드 서버에 전송하고, 상기 클라우드 서버에서 상기 챌린지(Challenge) 메시지에 상응하는 응답(Response) 값을 생성하여 상기 제3 감사자(TPA, Third Party Auditor) 서버로 전송하며, 상기 제3 감사자(TPA, Third Party Auditor) 서버에서 상기 응답(Response) 값에 기초하여 데이터의 변조 여부를 확인하는 자체 인증 서명을 기반으로 한다.
일실시예에 따른 상기 제3 감사자(TPA, Third Party Auditor) 서버는 상기 응답(Response) 값을 미리 지정된 검증식에 대입하여 데이터의 변조 여부를 확인한다.
일실시예에 따른 상기 제3 감사자(TPA, Third Party Auditor) 서버는 상기 챌린지(Challenge) 메시지를 구성하는 모든 원소에 대한 모드(mod) 연산을 수행하고, 상기 수행된 모드 연산된 결과에 공개키와 해시 함수를 이용해서 증명 값을 계산하며, 상기 계산된 증명 값을 반영하여 상기 응답(Response) 값을 생성한다.
일실시예에 따른 공공 감사 프로그램은 인증기관(TA, Trust Authority) 서버에서 사용자 단말기로 개인키를 발급하는 명령어 세트, 인증기관(TA, Trust Authority) 서버에서 상기 발급된 개인키에 상응하는 자체 인증 공개키 기반의 위트니스를 생성하여 상기 사용자 단말기를 통해 제3 감사자(TPA, Third Party Auditor) 서버로 전송하는 명령어 세트, 상기 사용자 단말기에서 상기 위트니스 전송에 상응하여 데이터에 대한 서명을 생성하고, 상기 데이터와 상기 생성된 서명을 클라우드 서버에 전송하는 명령어 세트, 및 상기 제3 감사자(TPA, Third Party Auditor) 서버에서 상기 서명의 전송에 상응하는 챌린지(Challenge) 메시지를 생성하고, 상기 생성된 챌린지(Challenge) 메시지에 대한 응답에 기초하여 데이터의 변조 여부를 확인하는 명령어 세트를 포함한다.
실시예들에 따르면, 클라우드 서비스 사용자가 본인의 데이터를 클라우드 스토리지에 업로드한 뒤, TPA(Third Party Auditor)를 통해 클라우드 서버나 다른 공격자의 악의적인 행동으로부터 데이터의 변조 유무를 확인할 수 있다.
실시예에 따르면, 사용자의 대리인이 클라우드에 업로드된 데이터의 무결성을 감사할 수 있다.
실시예에 따르면, 연산 복잡도를 낮추면서도 악의적인 공격에도 안전한 새로운 공공 감사 프로토콜을 제공할 수 있다.
도 1은 일실시예에 따른 자체 인증 서명을 기반으로 하는 공공 감사 방법을 설명하는 흐름도이다.
도 2는 제3 감사자(TPA, Third Party Auditor) 서버에서 응답(Response) 값에 기초하여 데이터의 변조 여부를 확인하는 실시예를 설명하는 흐름도이다.
도 3은 일실시예에 따른 위트니스를 생성하는 실시예를 설명하는 흐름도이다.
도 4는 응답(Response) 값을 생성하는 실시예를 설명하는 흐름도이다.
도 5는 일실시예에 따른 공공 감사 시스템을 설명하는 도면이다.
이하에서, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 이러한 실시예들에 의해 권리범위가 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
아래 설명에서 사용되는 용어는, 연관되는 기술 분야에서 일반적이고 보편적인 것으로 선택되었으나, 기술의 발달 및/또는 변화, 관례, 기술자의 선호 등에 따라 다른 용어가 있을 수 있다. 따라서, 아래 설명에서 사용되는 용어는 기술적 사상을 한정하는 것으로 이해되어서는 안 되며, 실시예들을 설명하기 위한 예시적 용어로 이해되어야 한다.
또한 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 설명 부분에서 상세한 그 의미를 기재할 것이다. 따라서 아래 설명에서 사용되는 용어는 단순한 용어의 명칭이 아닌 그 용어가 가지는 의미와 명세서 전반에 걸친 내용을 토대로 이해되어야 한다.
도 1은 일실시예에 따른 자체 인증 서명을 기반으로 하는 공공 감사 방법을 설명하는 흐름도이다.
일실시예에 따른 공공 감사 방법은 클라우드 서비스의 사용자 단말기, 인증기관(TA, Trust Authority) 서버, 제3 감사자(TPA, Third Party Auditor) 서버, 클라우드 서버 총 4개의 파티를 가정한다. 또한, 일실시예에 따른 공공 감사 방법은 이 파티들을 통해 키 생성 과정, 위트니스 생성 과정, 메시지에 대한 태그 생성 과정, 제3 감사자(TPA, Third Party Auditor) 서버의 챌린지 메시지 생성 과정, 클라우드 서버가 챌린지 메시지에 대한 응답 값 생성 과정, 최종적으로 제3 감사자(TPA, Third Party Auditor) 서버가 클라우드 서버로부터 받은 응답 값의 정당성을 확인하는 과정을 포함한다.
구체적으로, 일실시예에 따른 공공 감사 방법은 인증기관(TA, Trust Authority) 서버에서 사용자 단말기로 개인키를 발급한다(101).
클라우드의 사용자 단말기는
Figure pat00001
Figure pat00002
를 랜덤하게 선택하여
Figure pat00003
Figure pat00004
를 계산한다. 여기서 개인키는
Figure pat00005
, 공개키는
Figure pat00006
로 설정한다.
G1과 G2는 q를 위수로 가지는 곱셈 순환군이고 q1은 G1의 생성자이며,
Figure pat00007
는 겹선형 함수이다. 인증기관(TA, Trust Authority) 서버는
Figure pat00008
를 랜덤하게 선택하고
Figure pat00009
를 계산하여
Figure pat00010
를 각각 마스터 개인키, 공개키로 설정한다. 뿐만 아니라 인증기관(TA, Trust Authority) 서버는 암호학적으로 안전한 해시(Hash) 함수
Figure pat00011
Figure pat00012
를 선택한다. 최종적으로 생성된 시스템 파라미터는
Figure pat00013
이다
일실시예에 따른 공공 감사 방법은 발급된 개인키에 상응하는 자체 인증 공개키 기반의 위트니스를 생성하고(102), 사용자 단말기를 통해 제3 감사자(TPA, Third Party Auditor) 서버로 전송한다(103).
일실시예에 따른 공공 감사 방법은 위트니스 전송에 상응하여 데이터에 대한 서명을 생성한다(104). 또한, 일실시예에 따른 공공 감사 방법은 데이터와 생성된 서명을 클라우드 서버에 전송한다(105).
일실시예에 따른 공공 감사 방법은 제3 감사자(TPA, Third Party Auditor) 서버에서 서명의 전송에 상응하는 챌린지(Challenge) 메시지를 생성하고(106), 생성된 챌린지(Challenge) 메시지에 대한 응답에 기초하여 데이터의 변조 여부를 확인한다(107).
도 2는 제3 감사자(TPA, Third Party Auditor) 서버에서 응답(Response) 값에 기초하여 데이터의 변조 여부를 확인하는 실시예를 설명하는 흐름도이다.
데이터의 변조 여부를 확인하기 위해, 일실시예에 따른 공공 감사 방법은 제3 감사자(TPA, Third Party Auditor) 서버에서 생성된 챌린지(Challenge) 메시지를 클라우드 서버에 전송한다(201).
다음으로, 일실시예에 따른 공공 감사 방법은 클라우드 서버에서 챌린지(Challenge) 메시지에 상응하는 응답(Response) 값을 생성하여(202), 제3 감사자(TPA, Third Party Auditor) 서버로 전송한다(203).
일실시예에 따른 공공 감사 방법은 제3 감사자(TPA, Third Party Auditor) 서버에서 응답(Response) 값에 기초하여 데이터의 변조 여부를 확인한다(204).
예를 들어, 공공 감사 방법은 데이터의 변조 여부를 확인하기 위해 제3 감사자(TPA, Third Party Auditor) 서버에서 응답(Response) 값을 미리 지정된 검증식에 대입하여 데이터의 변조 여부를 확인할 수 있다.
클라우드에 업로드된 사용자의 데이터 파일 M의 데이터 무결성을 검증하기 위하여 제3 감사자(TPA, Third Party Auditor) 서버는 검증을 위한 챌린지 메시지를 생성한다.
제3 감사자(TPA, Third Party Auditor) 서버는 해당 파일의 모든 블록을 검증하는 대신,
Figure pat00014
개의 샘플 블록들을 랜덤하게 선택한다. 랜덤하게 선택된 블록의 집합은 L로 표현된다. 그리고 나서
Figure pat00015
를 랜덤하게 선택한다.
제3 감사자(TPA, Third Party Auditor) 서버는 챌린지 메시지
Figure pat00016
를 생성하여 클라우드 서버에게 전송한다.
챌린지 메시지
Figure pat00017
를 받은 클라우드 서버는 이에 대한 정당한 증명 값을 계산하기 위해 다음의 절차를 수행한다.
먼저 모든
Figure pat00018
에 대해
Figure pat00019
를 계산하고,
Figure pat00020
를 생성한다. 위에서 생성한 증명 값
Figure pat00021
를 제3 감사자(TPA, Third Party Auditor) 서버에 전송한다.
제3 감사자(TPA, Third Party Auditor) 서버는 공개된 파라미터와 UL을 이용하여 클라우드 서버로부터 받은
Figure pat00022
가 검증식을 통과하는지 확인한다.
제3 감사자(TPA, Third Party Auditor) 서버는 먼저
Figure pat00023
Figure pat00024
를 계산한다.
위트니스와 공개된 파라미터, 클라우드 서버로부터 받은 증명 값을 이용하여 검증식
Figure pat00025
이 성립하는지 확인한다.
검증식이 성립하면 사용자가 클라우드 서버에 업로드한 파일 M의 무결성을 보장받을 수 있으며, 그렇지 않을 경우에는 데이터가 변조되었음을 확인할 수 있다.
도 3은 일실시예에 따른 위트니스를 생성하는 실시예를 설명하는 흐름도이다.
일실시예에 따른 공공 감사 방법은 위트니스를 생성하기 위해, 곱셈 순환 그룹의 생성자 정보가 반영된 변수를 개인키로 생성한다(301).
다음으로, 일실시예에 따른 공공 감사 방법은 생성한 개인키에 기초하여 영-지식 증명하여 인증기관(TA, Trust Authority) 서버에 회신한다(302).
일실시예에 따른 공공 감사 방법은 인증기관(TA, Trust Authority) 서버에서 검증식이 성립하는지 확인한다(303).
예를 들어, iduser를 사용자의 식별자라 가정하고, 위트니스를 생성하기 위해 사용자 단말기와 인증기관(TA, Trust Authority) 서버는 다음의 절차를 수행한다.
사용자 단말기는 자신의 개인키로 V 변수, 즉
Figure pat00026
를 생성하고 이에 대한 영-지식 증명
Figure pat00027
을 계산하여 인증기관(TA, Trust Authority) 서버에
Figure pat00028
를 전송한다.
이를 받은 인증기관(TA, Trust Authority) 서버는 검증식이 성립하는지 확인하고, 영-지식 증명인
Figure pat00029
도 검증한다.
일실시예에 따른 공공 감사 방법은 검증식이 성립하는 경우에 영-지식 증명을 검증한다(304).
일실시예에 따른 공공 감사 방법은 인증기관(TA, Trust Authority) 서버에서 상기 영-지식 증명이 검증되면, 위트니스를 생성하여 사용자 단말기로 전송하고, 데이터베이스에 저장한다(305).
검증식이 성립하면, 인증기관(TA, Trust Authority) 서버는 위트니스
Figure pat00030
를 생성하여
Figure pat00031
를 사용자 단말기에게 전송하며, 동시에 본인의 데이터베이스에 저장한다. 성립하지 않으면 위트니스를 생성하지 않으며 프로토콜을 종료한다.
인증기관(TA, Trust Authority) 서버로부터
Figure pat00032
를 받으면 사용자 단말기는 정당한 위트니스인지 검증하기 위해 다음의 검증식
Figure pat00033
이 성립하는지 확인한다. 검증식이 성립한다면
Figure pat00034
는 사용자 단말기의 위트니스가 되며, 추후 무결성 검증 검사를 위해
Figure pat00035
를 제3 감사자(TPA, Third Party Auditor) 서버에 전송한다.
만약, 인증기관(TA, Trust Authority) 서버에서 상기 영-지식 증명이 검증되지 않는 다면, 즉 검증식이 성립하지 않는 경우 공공 감사 방법은 프로토콜을 종료한다.
도 4는 응답(Response) 값을 생성하는 실시예를 설명하는 흐름도이다.
일실시예에 따른 공공 감사 방법은 챌린지(Challenge) 메시지에 상응하는 응답(Response) 값을 생성한다(401).
일실시예에 따른 공공 감사 방법은 챌린지(Challenge) 메시지를 구성하는 모든 원소에 대한 모드 연산을 수행하고(402), 수행된 모드 연산된 결과에 공개키와 해시 함수를 이용해서 증명 값을 계산한다(403).
일실시예에 따른 공공 감사 방법은 계산된 증명 값을 반영하여 응답(Response) 값을 생성한다(404).
예를 들어, M은 클라우드에 업로드 될 데이터 파일로, n개의 블록
Figure pat00036
으로 구성된다. 각각의 데이터 블록
Figure pat00037
에 대한 인증 태그를 생성하기 위해 사용자는 다음과 같은 절차를 수행한다.
일실시예에 따른 공공 감사 방법은
Figure pat00038
모든 에 대하여, 랜덤
Figure pat00039
을 선택한 후,
Figure pat00040
Figure pat00041
를 계산한다. 따라서 데이터 블록
Figure pat00042
에 대한 인증 태그는
Figure pat00043
이 된다.
사용자는 본인이 클라우드에 업로드 하고자 하는 데이터 파일 M과 그에 대응되는 인증 태그
Figure pat00044
를 클라우드 서버에 전송한다.
생성한 인증 값 중 메시지 블록에 대한
Figure pat00045
리스트(UL)를 생성하여 제3 감사자(TPA, Third Party Auditor) 서버에게 전송한다.
도 5는 일실시예에 따른 공공 감사 시스템(500)을 설명하는 도면이다.
일실시예에 따른 공공 감사 시스템(500)은 동일한 연산 효율성을 보장하면서도 악의적인 공격에도 안전한 자체 인증 서명 기반 공공 감사 프로토콜을 제공한다.
이를 위해, 일실시예에 따른 공공 감사 시스템(500)은 개인키 발급부(510), 위트니스 생성부(520), 및 전송부(530)를 포함한다.
일실시예에 따른 개인키 발급부(510)는 인증기관(TA, Trust Authority) 서버에서 사용자 단말기로 개인키를 발급한다.
일실시예에 따른 위트니스 생성부(520)는 인증기관(TA, Trust Authority) 서버에서 상기 발급된 개인키에 상응하는 자체 인증 공개키 기반의 위트니스를 생성한다.
일실시예에 따른 전송부(530)는 사용자 단말기를 통해 생성한 위트니스를 제3 감사자(TPA, Third Party Auditor) 서버로 전송한다.
이후, 위트니스 전송에 상응하여 생성한 데이터에 대한 서명이 클라우드 서버에 전송되면, 제3 감사자(TPA, Third Party Auditor) 서버는 서명의 전송에 상응하는 챌린지(Challenge) 메시지를 생성하고, 생성된 챌린지(Challenge) 메시지에 대한 응답에 기초하여 데이터의 변조 여부를 확인한다.
이때, 제3 감사자(TPA, Third Party Auditor) 서버는 생성된 챌린지(Challenge) 메시지를 클라우드 서버에 전송하고, 클라우드 서버에서 챌린지(Challenge) 메시지에 상응하는 응답(Response) 값을 생성하여 제3 감사자(TPA, Third Party Auditor) 서버로 전송하며, 제3 감사자(TPA, Third Party Auditor) 서버에서 응답(Response) 값에 기초하여 데이터의 변조 여부를 확인한다.
제3 감사자(TPA, Third Party Auditor) 서버는 응답(Response) 값을 미리 지정된 검증식에 대입하여 데이터의 변조 여부를 확인한다. 이때, 제3 감사자(TPA, Third Party Auditor) 서버는 챌린지(Challenge) 메시지를 구성하는 모든 원소에 대한 모드(mod) 연산을 수행하고, 수행된 모드 연산된 결과에 공개키와 해시 함수를 이용해서 증명 값을 계산하며, 계산된 증명 값을 반영하여 상기 응답(Response) 값을 생성한다.
본 발명의 일실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.

Claims (13)

  1. 인증기관(TA, Trust Authority) 서버에서 사용자 단말기로 개인키를 발급하는 단계;
    상기 인증기관(TA, Trust Authority) 서버에서 상기 발급된 개인키에 상응하는 자체 인증 공개키 기반의 위트니스를 생성하여 상기 사용자 단말기를 통해 제3 감사자(TPA, Third Party Auditor) 서버로 전송하는 단계;
    상기 사용자 단말기에서 상기 위트니스 전송에 상응하여 데이터에 대한 서명을 생성하고, 상기 데이터와 상기 생성된 서명을 클라우드 서버에 전송하는 단계; 및
    상기 제3 감사자(TPA, Third Party Auditor) 서버에서 상기 서명의 전송에 상응하는 챌린지(Challenge) 메시지를 생성하고, 상기 생성된 챌린지(Challenge) 메시지에 대한 응답에 기초하여 데이터의 변조 여부를 확인하는 단계
    를 포함하는 자체 인증 서명을 기반으로 하는 공공 감사 방법.
  2. 제1항에 있어서,
    상기 데이터의 변조 여부를 확인하는 단계는,
    상기 제3 감사자(TPA, Third Party Auditor) 서버에서 상기 생성된 챌린지(Challenge) 메시지를 상기 클라우드 서버에 전송하는 단계; 및
    상기 클라우드 서버에서 상기 챌린지(Challenge) 메시지에 상응하는 응답(Response) 값을 생성하여 상기 제3 감사자(TPA, Third Party Auditor) 서버로 전송하는 단계; 및
    상기 제3 감사자(TPA, Third Party Auditor) 서버에서 상기 응답(Response) 값에 기초하여 데이터의 변조 여부를 확인하는 단계
    를 포함하는 자체 인증 서명을 기반으로 하는 공공 감사 방법.
  3. 제1항에 있어서,
    상기 데이터의 변조 여부를 확인하는 단계는,
    상기 제3 감사자(TPA, Third Party Auditor) 서버에서 상기 응답(Response) 값을 미리 지정된 검증식에 대입하여 데이터의 변조 여부를 확인하는 공공 감사 방법.
  4. 제1항에 있어서,
    상기 상기 인증기관(TA, Trust Authority) 서버에서 상기 위트니스를 생성하는 단계는,
    사용자 단말기에서 소수를 위수로 갖는 곱셈 순환 그룹의 생성자 정보가 반영된 변수를 상기 개인키로 생성하고, 상기 생성한 개인키에 기초하여 영-지식 증명하여 상기 인증기관(TA, Trust Authority) 서버에 회신하는 단계;
    상기 인증기관(TA, Trust Authority) 서버에서 검증식이 성립하는지 확인하는 단계;
    상기 검증식이 성립하는 경우에 영-지식 증명을 검증하는 단계; 및
    상기 인증기관(TA, Trust Authority) 서버에서 상기 영-지식 증명이 검증되면, 위트니스를 생성하여 상기 사용자 단말기로 전송하고, 데이터베이스에 저장하는 단계
    를 포함하는 공공 감사 방법.
  5. 제4항에 있어서,
    상기 인증기관(TA, Trust Authority) 서버에서 상기 위트니스를 생성하는 단계는,
    상기 검증식이 성립하지 않는 경우, 프로토콜을 종료하는 단계
    를 포함하는 공공 감사 방법.
  6. 제1항에 있어서,
    상기 챌린지(Challenge) 메시지에 상응하는 응답(Response) 값을 생성하는 단계는,
    상기 챌린지(Challenge) 메시지를 구성하는 모든 원소에 대한 모드 연산을 수행하는 단계; 및
    상기 수행된 모드 연산된 결과에 공개키와 해시 함수를 이용해서 증명 값을 계산하는 단계
    상기 계산된 증명 값을 반영하여 상기 응답(Response) 값을 생성하는 단계
    를 포함하는 공공 감사 방법.
  7. 사용자 단말기에서 소수를 위수로 갖는 곱셈 순환 그룹의 생성자 정보가 반영된 변수를 상기 개인키로 생성하는 단계;
    상기 생성한 개인키에 기초하여 영-지식 증명하여 상기 인증기관(TA, Trust Authority) 서버에 회신하는 단계;
    상기 인증기관(TA, Trust Authority) 서버에서 검증식이 성립하는지 확인하는 단계;
    상기 검증식이 성립하는 경우에 영-지식 증명을 검증하는 단계; 및
    상기 인증기관(TA, Trust Authority) 서버에서 상기 영-지식 증명이 검증되면, 위트니스를 생성하여 상기 사용자 단말기로 전송하고, 데이터베이스에 저장하는 단계
    를 포함하는 공공 감사 방법.
  8. 제7항에 있어서,
    상기 인증기관(TA, Trust Authority) 서버에서 상기 위트니스를 생성하는 단계는,
    상기 검증식이 성립하지 않는 경우, 프로토콜을 종료하는 단계
    를 포함하는 공공 감사 방법.
  9. 적어도 하나의 프로세서를 포함하는 공공 감사 시스템에 있어서, 상기 적어도 하나의 프로세서에 의해 적어도 일시적으로 구현되는:
    인증기관(TA, Trust Authority) 서버에서 사용자 단말기로 개인키를 발급하는 개인키 발급부;
    인증기관(TA, Trust Authority) 서버에서 상기 발급된 개인키에 상응하는 자체 인증 공개키 기반의 위트니스를 생성하는 위트니스 생성부; 및
    상기 사용자 단말기를 통해 상기 생성한 위트니스를 제3 감사자(TPA, Third Party Auditor) 서버로 전송하는 전송부
    를 포함하고,
    상기 위트니스 전송에 상응하여 생성한 데이터에 대한 서명이 클라우드 서버에 전송되면,
    상기 제3 감사자(TPA, Third Party Auditor) 서버가 상기 서명의 전송에 상응하는 챌린지(Challenge) 메시지를 생성하고, 상기 생성된 챌린지(Challenge) 메시지에 대한 응답에 기초하여 데이터의 변조 여부를 확인하는 자체 인증 서명을 기반으로 하는 공공 감사 시스템.
  10. 제9항에 있어서,
    상기 제3 감사자(TPA, Third Party Auditor) 서버는 상기 생성된 챌린지(Challenge) 메시지를 상기 클라우드 서버에 전송하고, 상기 클라우드 서버에서 상기 챌린지(Challenge) 메시지에 상응하는 응답(Response) 값을 생성하여 상기 제3 감사자(TPA, Third Party Auditor) 서버로 전송하며, 상기 제3 감사자(TPA, Third Party Auditor) 서버에서 상기 응답(Response) 값에 기초하여 데이터의 변조 여부를 확인하는 자체 인증 서명을 기반으로 하는 공공 감사 시스템.
  11. 제10항에 있어서,
    상기 제3 감사자(TPA, Third Party Auditor) 서버는
    상기 응답(Response) 값을 미리 지정된 검증식에 대입하여 데이터의 변조 여부를 확인하는 공공 감사 시스템.
  12. 제10항에 있어서,
    상기 제3 감사자(TPA, Third Party Auditor) 서버는 상기 챌린지(Challenge) 메시지를 구성하는 모든 원소에 대한 모드(mod) 연산을 수행하고, 상기 수행된 모드 연산된 결과에 공개키와 해시 함수를 이용해서 증명 값을 계산하며, 상기 계산된 증명 값을 반영하여 상기 응답(Response) 값을 생성하는 공공 감사 시스템.
  13. 기록매체에 저장되는 공공 감사 프로그램으로서, 상기 프로그램은 컴퓨팅 시스템에서 실행되는:
    인증기관(TA, Trust Authority) 서버에서 사용자 단말기로 개인키를 발급하는 명령어 세트;
    인증기관(TA, Trust Authority) 서버에서 상기 발급된 개인키에 상응하는 자체 인증 공개키 기반의 위트니스를 생성하여 상기 사용자 단말기를 통해 제3 감사자(TPA, Third Party Auditor) 서버로 전송하는 명령어 세트;
    상기 사용자 단말기에서 상기 위트니스 전송에 상응하여 데이터에 대한 서명을 생성하고, 상기 데이터와 상기 생성된 서명을 클라우드 서버에 전송하는 명령어 세트; 및
    상기 제3 감사자(TPA, Third Party Auditor) 서버에서 상기 서명의 전송에 상응하는 챌린지(Challenge) 메시지를 생성하고, 상기 생성된 챌린지(Challenge) 메시지에 대한 응답에 기초하여 데이터의 변조 여부를 확인하는 명령어 세트
    를 포함하는 자체 인증 서명을 기반으로 하는 공공 감사 프로그램.
KR1020150121014A 2015-08-27 2015-08-27 자체 인증 서명을 기반으로 하는 공공 감사 방법 및 시스템 KR101740956B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150121014A KR101740956B1 (ko) 2015-08-27 2015-08-27 자체 인증 서명을 기반으로 하는 공공 감사 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150121014A KR101740956B1 (ko) 2015-08-27 2015-08-27 자체 인증 서명을 기반으로 하는 공공 감사 방법 및 시스템

Publications (2)

Publication Number Publication Date
KR20170026765A true KR20170026765A (ko) 2017-03-09
KR101740956B1 KR101740956B1 (ko) 2017-05-30

Family

ID=58402784

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150121014A KR101740956B1 (ko) 2015-08-27 2015-08-27 자체 인증 서명을 기반으로 하는 공공 감사 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR101740956B1 (ko)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109104440A (zh) * 2018-10-22 2018-12-28 青岛大学 面向物联网移动终端设备的云存储大数据完整性验证方法
CN109327460A (zh) * 2018-11-12 2019-02-12 中国电子科技集团公司第二十八研究所 一种基于双线性对技术的云端大数据安全审计方法
KR20190065007A (ko) * 2017-12-01 2019-06-11 이현수 포털사이트 중계 서비스 제공방법 및 그 시스템
CN110505052A (zh) * 2019-08-28 2019-11-26 安徽大学 一种保护数据隐私的云数据公开验证方法
CN110519726A (zh) * 2019-09-20 2019-11-29 湖北工业大学 一种基于多服务器的v2g网络中车辆的轻量级匿名认证系统与方法
CN112217629A (zh) * 2020-10-13 2021-01-12 安徽大学 一种云存储公开审计方法
CN113765659A (zh) * 2021-09-02 2021-12-07 杭州趣链科技有限公司 一种基于bls签名和区块链的数据审计方法
CN114710292A (zh) * 2022-03-21 2022-07-05 河北大学 医疗云环境下基于多级角色的实时审计方法
CN115987563A (zh) * 2022-12-02 2023-04-18 南京航空航天大学 基于监管链的多链共享数据一致性审计方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100529594B1 (ko) 2003-06-13 2006-01-09 학교법인 성균관대학 서로 다른 인증 도메인에서 공개키를 검증하기 위한 방법
KR100561847B1 (ko) 2003-10-08 2006-03-16 삼성전자주식회사 공개키를 이용한 데이터 암호화 및 복호화 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100529594B1 (ko) 2003-06-13 2006-01-09 학교법인 성균관대학 서로 다른 인증 도메인에서 공개키를 검증하기 위한 방법
KR100561847B1 (ko) 2003-10-08 2006-03-16 삼성전자주식회사 공개키를 이용한 데이터 암호화 및 복호화 방법

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190065007A (ko) * 2017-12-01 2019-06-11 이현수 포털사이트 중계 서비스 제공방법 및 그 시스템
CN109104440B (zh) * 2018-10-22 2021-03-16 青岛大学 面向物联网移动终端设备的云存储大数据完整性验证方法
CN109104440A (zh) * 2018-10-22 2018-12-28 青岛大学 面向物联网移动终端设备的云存储大数据完整性验证方法
CN109327460A (zh) * 2018-11-12 2019-02-12 中国电子科技集团公司第二十八研究所 一种基于双线性对技术的云端大数据安全审计方法
CN110505052A (zh) * 2019-08-28 2019-11-26 安徽大学 一种保护数据隐私的云数据公开验证方法
CN110505052B (zh) * 2019-08-28 2022-11-25 安徽大学 一种保护数据隐私的云数据公开验证方法
CN110519726A (zh) * 2019-09-20 2019-11-29 湖北工业大学 一种基于多服务器的v2g网络中车辆的轻量级匿名认证系统与方法
CN110519726B (zh) * 2019-09-20 2022-08-16 湖北工业大学 一种基于多服务器的v2g网络中车辆的轻量级匿名认证系统与方法
CN112217629A (zh) * 2020-10-13 2021-01-12 安徽大学 一种云存储公开审计方法
CN112217629B (zh) * 2020-10-13 2022-07-22 安徽大学 一种云存储公开审计方法
CN113765659A (zh) * 2021-09-02 2021-12-07 杭州趣链科技有限公司 一种基于bls签名和区块链的数据审计方法
CN114710292A (zh) * 2022-03-21 2022-07-05 河北大学 医疗云环境下基于多级角色的实时审计方法
CN114710292B (zh) * 2022-03-21 2023-08-11 河北大学 医疗云环境下基于多级角色的实时审计方法
CN115987563A (zh) * 2022-12-02 2023-04-18 南京航空航天大学 基于监管链的多链共享数据一致性审计方法

Also Published As

Publication number Publication date
KR101740956B1 (ko) 2017-05-30

Similar Documents

Publication Publication Date Title
KR101740956B1 (ko) 자체 인증 서명을 기반으로 하는 공공 감사 방법 및 시스템
JP7426475B2 (ja) 分散化されたデータ認証
Li et al. Privacy preserving cloud data auditing with efficient key update
US10326753B2 (en) Authentication via revocable signatures
US20120324229A1 (en) System and method for generating keyless digital multi-signatures
US10291567B2 (en) System and method for resetting passwords on electronic devices
JP2010503252A (ja) コンピューティング・プラットフォームの証明
CN109417545A (zh) 用于下载网络接入简档的技术
KR100915768B1 (ko) 컴퓨터 프로그램 소자, 컴퓨터 프로그램 매체, 사용자입증-서명 값 생성용 입증 값 발행 방법 및 시스템
CN112514321A (zh) 共享秘密建立
US20160182230A1 (en) Secure token-based signature schemes using look-up tables
CN114008968A (zh) 用于计算环境中的许可授权的系统、方法和存储介质
CN105187405A (zh) 基于信誉的云计算身份管理方法
CN116566626B (zh) 环签名方法和设备
Pereira et al. Formal analysis of the FIDO 1. x protocol
KR101586439B1 (ko) 프라이버시를 보장하는 사용자 데이터의 무결성 검증 방법 및 그 장치
KR20090008162A (ko) 이선형 맵들로부터의 직접적인 익명의 증명을 위한 장치 및방법
EP3020159A1 (en) Electronic signature system
Yu et al. Public cloud data auditing with practical key update and zero knowledge privacy
Mishra et al. BB-tree based secure and dynamic public auditing convergence for cloud storage
Hajny et al. Attribute‐based credentials with cryptographic collusion prevention
CN108664814B (zh) 一种基于代理的群组数据完整性验证方法
CN115550060B (zh) 基于区块链的可信证书验证方法、装置、设备和介质
CN116707983A (zh) 授权认证方法及装置、接入认证方法及装置、设备、介质
Krzywiecki et al. Security of okamoto identification scheme: a defense against ephemeral key leakage and setup

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
R401 Registration of restoration