KR101740956B1 - Method of secure public auditing using self-certified signature in cloud storage and system of the same - Google Patents

Method of secure public auditing using self-certified signature in cloud storage and system of the same Download PDF

Info

Publication number
KR101740956B1
KR101740956B1 KR1020150121014A KR20150121014A KR101740956B1 KR 101740956 B1 KR101740956 B1 KR 101740956B1 KR 1020150121014 A KR1020150121014 A KR 1020150121014A KR 20150121014 A KR20150121014 A KR 20150121014A KR 101740956 B1 KR101740956 B1 KR 101740956B1
Authority
KR
South Korea
Prior art keywords
server
witness
user terminal
public
tpa
Prior art date
Application number
KR1020150121014A
Other languages
Korean (ko)
Other versions
KR20170026765A (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 KR1020150121014A priority Critical patent/KR101740956B1/en
Publication of KR20170026765A publication Critical patent/KR20170026765A/en
Application granted granted Critical
Publication of KR101740956B1 publication Critical patent/KR101740956B1/en

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

Abstract

본 발명은 자체 인증 서명을 기반으로 하는 공공 감사 방법 및 시스템에 관한 것으로서, 일실시예에 따른 공공 감사 방법은 인증기관(TA, Trust Authority) 서버에서 사용자 단말기로 개인키를 발급하는 단계, 상기 인증기관(TA, Trust Authority) 서버에서 상기 발급된 개인키에 상응하는 자체 인증 공개키 기반의 위트니스를 생성하여 상기 사용자 단말기를 통해 제3 감사자(TPA, Third Party Auditor) 서버로 전송하는 단계, 상기 사용자 단말기에서 상기 위트니스 전송에 상응하여 데이터에 대한 서명을 생성하고, 상기 데이터와 상기 생성된 서명을 클라우드 서버에 전송하는 단계, 및 상기 제3 감사자(TPA, Third Party Auditor) 서버에서 상기 서명의 전송에 상응하는 챌린지(Challenge) 메시지를 생성하고, 상기 생성된 챌린지(Challenge) 메시지에 대한 응답에 기초하여 데이터의 변조 여부를 확인하는 단계를 포함한다.The present invention relates to a public audit method and system based on a self-certification signature, wherein a public audit method according to an embodiment includes issuing a private key from a TA (Trust Authority) server to a user terminal, Generating a witness based on a self-authenticating public key corresponding to the issued private key at a trust agent (TA) server and transmitting the generated witness to a third party auditor (TPA) server through the user terminal; Generating a signature for the data corresponding to the witness transmission at the user terminal, transmitting the data and the generated signature to the cloud server, and transmitting the signature to the cloud server by the third party auditor (TPA) Generates a challenge message corresponding to the transmission, and based on a response to the generated challenge message, And a step to determine whether the.

Description

자체 인증 서명을 기반으로 하는 공공 감사 방법 및 시스템{METHOD OF SECURE PUBLIC AUDITING USING SELF-CERTIFIED SIGNATURE IN CLOUD STORAGE AND SYSTEM OF THE SAME}FIELD OF THE INVENTION [0001] The present invention relates to a public audit method and system based on self-certification signatures,

본 발명은 자체 인증 서명을 기반으로 하는 공공 감사 기술로서, 클라우드 서비스 사용자가 본인의 데이터를 클라우드 스토리지에 업로드한 뒤, TPA(Third Party Auditor)를 통해 클라우드 서버나 다른 공격자의 악의적인 행동으로부터 데이터의 변조 유무를 확인하는 기술적 사상에 관한 것이다.The present invention relates to a public audit technique based on a self-certification signature, in which a cloud service user uploads his or her data to cloud storage and transmits the data from the malicious behavior of a cloud server or other attacker through TPA (Third Party Auditor) And a technical idea for confirming whether there is modulation or not.

클라우드 환경에서는 무분별한 접근으로 인한 피해 사례가 빈번하다. 이를 위해, 클라우드 환경에서의 보안 관련 이슈가 부각되고 있으며, 이를 위한 다양한 기술들이 개발되고 있는 추세다.In the cloud environment, frequent cases of damage due to unreasonable access are frequent. To this end, security issues in the cloud environment are highlighted, and a variety of technologies are being developed.

이 중에서, 자체 인증 서명 기법(Self-Certified Signature Scheme)은 자체 인증 공개키에 기반을 둔 방식으로, 별도의 공개키 인증서를 저장하거나 검증할 필요가 없으며 인증서 대신 공개키가 포함된 위트니스(Witness)를 생성한다. 특정 사용자의 식별자와 이에 대응되는 위트니스 쌍을 가진 사람이라면 누구나 공개키를 획득할 수 있으며, 서명을 검증할 수 있다. 자체 인증 서명 기법은 크게 셋업 과정, 키생성 과정, 위트니스 생성 과정, 증명 과정의 4 단계를 포함한다.Of these, the Self-Certified Signature Scheme is based on a self-authenticating public key. It does not need to store or verify a separate public key certificate, and instead of a certificate, . Anyone with an identifier of a particular user and a corresponding witness pair can obtain the public key and verify the signature. The self-certification signature scheme includes four steps: a setup process, a key generation process, a witness generation process, and a proof process.

먼저, 셋업 과정에서 TA(Trust Authority)는 시큐리티 파라미터를 입력 값으로 받아서 시스템 파라미터과 마스터 비밀키를 생성한다. 이후, 키생성 과정에서 사용자는 시큐리티 파라미터를 입력 값으로 받아서 공개키, 개인키 쌍을 생성한다. 위트니스 생성 과정에서, TA(Trust Authority)는 사용자의 식별자인 공개키 그리고 사용자의 개인키에 대한 영-지식 증명(Zero-Knowledge Proof)을 이용하여 위트니스를 생성한다. 또한, 증명 과정에서는 사용자가 보유한 메시지에 대한 서명을 생성하고, 메시지, 서명, 사용자 식별자 그리고 위트니스를 입력 값으로 받아 서명에 대한 정당성을 검증한다.First, in the setup process, the TA (Trust Authority) receives the security parameters as input values and generates the system parameters and the master secret key. In the key generation process, the user receives a security parameter as an input value to generate a public key and a private key pair. In the process of creating a witness, a TA (Trust Authority) creates a witness using a public key, which is a user's identifier, and a zero-knowledge proof of the user's private key. In addition, in the proof process, a signature for a message held by a user is generated, and a signature, a signature, a user identifier, and a witness are received as input values to verify the validity of the signature.

대한민국 특허공보 제10-0529594호Korean Patent Publication No. 10-0529594 대한민국 특허공보 제10-0561847호Korean Patent Publication No. 10-0561847

실시예에 따르면, 클라우드 서비스 사용자가 본인의 데이터를 클라우드 스토리지에 업로드한 뒤, TPA(Third Party Auditor)를 통해 클라우드 서버나 다른 공격자의 악의적인 행동으로부터 데이터의 변조 유무를 확인하는 것이다.According to the embodiment, after a cloud service user uploads his or her data to the cloud storage, the third party auditor (TPA) checks whether data is tampered with from malicious behavior of a cloud server or other attacker.

실시예에 따르면, 사용자의 대리인이 클라우드에 업로드된 데이터의 무결성을 감사하는 것이다.According to the embodiment, the user's agent audits the integrity of the data uploaded to the cloud.

실시예에 따르면, 연산 복잡도를 낮추면서도 악의적인 공격에도 안전한 새로운 공공 감사 프로토콜을 제공하는 것이다.According to an embodiment, a new public audit protocol is provided that is secure against malicious attacks while reducing computational complexity.

일실시예에 따른 공공 감사 방법은 인증기관(TA, Trust Authority) 서버에서 사용자 단말기로 개인키를 발급하는 단계, 상기 인증기관(TA, Trust Authority) 서버에서 상기 발급된 개인키에 상응하는 자체 인증 공개키 기반의 위트니스를 생성하여 상기 사용자 단말기를 통해 제3 감사자(TPA, Third Party Auditor) 서버로 전송하는 단계, 상기 사용자 단말기에서 상기 위트니스 전송에 상응하여 데이터에 대한 서명을 생성하고, 상기 데이터와 상기 생성된 서명을 클라우드 서버에 전송하는 단계, 및 상기 제3 감사자(TPA, Third Party Auditor) 서버에서 상기 서명의 전송에 상응하는 챌린지(Challenge) 메시지를 생성하고, 상기 생성된 챌린지(Challenge) 메시지에 대한 응답에 기초하여 데이터의 변조 여부를 확인하는 단계를 포함한다.A public audit method according to an exemplary embodiment of the present invention includes the steps of issuing a private key to a user terminal from a Trust Authority (TA) server, receiving a private key corresponding to the issued private key from the Trust Authority (TA) Generating a public key based witness and transmitting the generated witness to a third party auditor (TPA) server through the user terminal; generating a signature for data corresponding to the witness transmission at the user terminal; And generating a challenge message corresponding to the transmission of the signature at the third party auditor (TPA) server, and transmitting the generated challenge to the cloud server, ) Message based on a response to the message.

일실시예에 따른 상기 데이터의 변조 여부를 확인하는 단계는, 상기 제3 감사자(TPA, Third Party Auditor) 서버에서 상기 생성된 챌린지(Challenge) 메시지를 상기 클라우드 서버에 전송하는 단계, 및 상기 클라우드 서버에서 상기 챌린지(Challenge) 메시지에 상응하는 응답(Response) 값을 생성하여 상기 제3 감사자(TPA, Third Party Auditor) 서버로 전송하는 단계, 및 상기 제3 감사자(TPA, Third Party Auditor) 서버에서 상기 응답(Response) 값에 기초하여 데이터의 변조 여부를 확인하는 단계를 포함한다.The step of verifying whether or not the data is modulated may include transmitting the generated challenge message to the cloud server in the third party auditor (TPA) server, Generating a response value corresponding to the challenge message in the server and transmitting the response value to the third party auditor (TPA) server, and transmitting the response value to the third party auditor (TPA) And checking whether the data is modulated based on the response value.

일실시예에 따른 상기 데이터의 변조 여부를 확인하는 단계는, 상기 제3 감사자(TPA, Third Party Auditor) 서버에서 상기 응답(Response) 값을 미리 지정된 검증식에 대입하여 데이터의 변조 여부를 확인한다.The step of verifying whether or not the data is modulated according to an exemplary embodiment is a step in which the third party auditor (TPA) server substitutes the response value into a predetermined verification expression to check whether or not the data is modulated do.

일실시예에 따른 상기 인증기관(TA, Trust Authority) 서버에서 상기 위트니스를 생성하는 단계는, 상기 사용자 단말기에서 소수를 위수로 갖는 곱셈 순환 그룹의 생성자 정보가 반영된 변수를 상기 개인키로 생성하고, 상기 생성한 개인키에 기초하여 영-지식 증명하여 상기 인증기관(TA, Trust Authority) 서버에 회신하는 단계, 상기 인증기관(TA, Trust Authority) 서버에서 검증식이 성립하는지 확인하는 단계, 상기 검증식이 성립하는 경우에 영-지식 증명을 검증하는 단계, 및 상기 인증기관(TA, Trust Authority) 서버에서 상기 영-지식 증명이 검증되면, 위트니스를 생성하여 상기 사용자 단말기로 전송하고, 데이터베이스에 저장하는 단계를 포함한다.The step of generating the witness in the Trust Authority (TA) server according to an exemplary embodiment of the present invention includes the steps of generating a variable reflecting the generator information of the multiplication cyclic group having a prime number in the user terminal as the private key, Authenticating the user based on the generated private key and returning it to the Trust Authority (TA) server; confirming whether a validation expression is established in the authentication authority (TA) server; Verifying the zero-knowledge proof if the zero-knowledge proof is verified at the authentication authority (TA) server, generating a witness, transmitting the witness to the user terminal, and storing the witness in the database .

일실시예에 따른 상기 인증기관(TA, Trust Authority) 서버에서 상기 위트니스를 생성하는 단계는, 상기 검증식이 성립하지 않는 경우, 프로토콜을 종료하는 단계를 포함한다.The step of generating the witness at the Trust Authority (TA) server according to an embodiment includes terminating the protocol if the verification expression does not hold.

일실시예에 따른 상기 챌린지(Challenge) 메시지에 상응하는 응답(Response) 값을 생성하는 단계는, 상기 챌린지(Challenge) 메시지를 구성하는 모든 원소에 대한 모드 연산을 수행하는 단계, 상기 수행된 모드 연산된 결과에 공개키와 해시 함수를 이용해서 증명 값을 계산하는 단계, 및 상기 계산된 증명 값을 반영하여 상기 응답(Response) 값을 생성하는 단계를 포함한다.The step of generating a response value corresponding to the challenge message according to an exemplary embodiment of the present invention includes performing a mode operation on all the elements constituting the challenge message, Calculating a proof value using the public key and the hash function in the result of generating the response value, and generating the response value by reflecting the calculated proof value.

일실시예에 따른 공공 감사 방법은 사용자 단말기에서 소수를 위수로 갖는 곱셈 순환 그룹의 생성자 정보가 반영된 변수를 상기 개인키로 생성하는 단계, 상기 생성한 개인키에 기초하여 영-지식 증명하여 상기 인증기관(TA, Trust Authority) 서버에 회신하는 단계, 상기 인증기관(TA, Trust Authority) 서버에서 검증식이 성립하는지 확인하는 단계, 상기 검증식이 성립하는 경우에 영-지식 증명을 검증하는 단계, 및 상기 인증기관(TA, Trust Authority) 서버에서 상기 영-지식 증명이 검증되면, 위트니스를 생성하여 상기 사용자 단말기로 전송하고, 데이터베이스에 저장하는 단계를 포함한다.The public audit method according to an embodiment of the present invention includes the steps of generating a variable reflecting a generator information of a multiplication cyclic group having a prime number in a user terminal as the private key, (TA) to the Trust Authority (TA) server; verifying that a validation expression is established in the Trust Authority (TA) server; verifying the zero-knowledge proof if the validation expression is established; When the proof-of-knowledge is verified at the TA (Trust Authority) server, a witness is generated, transmitted to the user terminal, and stored in a database.

일실시예에 따른 상기 인증기관(TA, Trust Authority) 서버에서 상기 위트니스를 생성하는 단계는, 상기 검증식이 성립하지 않는 경우, 프로토콜을 종료하는 단계를 포함한다.The step of generating the witness at the Trust Authority (TA) server according to an embodiment includes terminating the protocol if the verification expression does not hold.

일실시예에 따른 공공 감사 시스템은 인증기관(TA, Trust Authority) 서버에서 사용자 단말기로 개인키를 발급하는 개인키 발급부, 인증기관(TA, Trust Authority) 서버에서 상기 발급된 개인키에 상응하는 자체 인증 공개키 기반의 위트니스를 생성하는 위트니스 생성부, 및 상기 사용자 단말기를 통해 상기 생성한 위트니스를 제3 감사자(TPA, Third Party Auditor) 서버로 전송하는 전송부를 포함하고, 상기 위트니스 전송에 상응하여 생성한 데이터에 대한 서명이 클라우드 서버에 전송되면, 상기 제3 감사자(TPA, Third Party Auditor) 서버가 상기 서명의 전송에 상응하는 챌린지(Challenge) 메시지를 생성하고, 상기 생성된 챌린지(Challenge) 메시지에 대한 응답에 기초하여 데이터의 변조 여부를 확인하는 자체 인증 서명을 기반으로 한다.The public audit system according to an embodiment includes a private key issuing unit for issuing a private key from a TA (Trust Authority) server to a user terminal, a TA (Trust Authority) server for issuing a private key corresponding to the issued private key A witness generating unit for generating a witness based on a self-authentication public key, and a transmitting unit for transmitting the generated witness to a third party auditor (TPA) server through the user terminal, A third party auditor (TPA) server generates a challenge message corresponding to the transmission of the signature, and when the signature of the generated challenge is transmitted to the cloud server, ) Message based on the response to the message.

일실시예에 따른 상기 제3 감사자(TPA, Third Party Auditor) 서버는 상기 생성된 챌린지(Challenge) 메시지를 상기 클라우드 서버에 전송하고, 상기 클라우드 서버에서 상기 챌린지(Challenge) 메시지에 상응하는 응답(Response) 값을 생성하여 상기 제3 감사자(TPA, Third Party Auditor) 서버로 전송하며, 상기 제3 감사자(TPA, Third Party Auditor) 서버에서 상기 응답(Response) 값에 기초하여 데이터의 변조 여부를 확인하는 자체 인증 서명을 기반으로 한다.The third party auditor (TPA) server according to an embodiment transmits the generated challenge message to the cloud server, and transmits a response message corresponding to the challenge message to the cloud server Response to the third party auditor (TPA) server, and transmits the generated response to the third party auditor (TPA) server based on the response value Based authentication signature.

일실시예에 따른 상기 제3 감사자(TPA, Third Party Auditor) 서버는 상기 응답(Response) 값을 미리 지정된 검증식에 대입하여 데이터의 변조 여부를 확인한다.The third party auditor (TPA) server according to an exemplary embodiment of the present invention substitutes the response value into a predetermined verification expression to check whether or not the data is tampered with.

일실시예에 따른 상기 제3 감사자(TPA, Third Party Auditor) 서버는 상기 챌린지(Challenge) 메시지를 구성하는 모든 원소에 대한 모드(mod) 연산을 수행하고, 상기 수행된 모드 연산된 결과에 공개키와 해시 함수를 이용해서 증명 값을 계산하며, 상기 계산된 증명 값을 반영하여 상기 응답(Response) 값을 생성한다.The third party auditor (TPA) server according to an exemplary embodiment performs a mode operation on all the elements constituting the challenge message, and performs a mode operation on all the elements constituting the challenge message. A proof value is calculated using a key and a hash function, and the response value is generated by reflecting the calculated proof value.

일실시예에 따른 공공 감사 프로그램은 인증기관(TA, Trust Authority) 서버에서 사용자 단말기로 개인키를 발급하는 명령어 세트, 인증기관(TA, Trust Authority) 서버에서 상기 발급된 개인키에 상응하는 자체 인증 공개키 기반의 위트니스를 생성하여 상기 사용자 단말기를 통해 제3 감사자(TPA, Third Party Auditor) 서버로 전송하는 명령어 세트, 상기 사용자 단말기에서 상기 위트니스 전송에 상응하여 데이터에 대한 서명을 생성하고, 상기 데이터와 상기 생성된 서명을 클라우드 서버에 전송하는 명령어 세트, 및 상기 제3 감사자(TPA, Third Party Auditor) 서버에서 상기 서명의 전송에 상응하는 챌린지(Challenge) 메시지를 생성하고, 상기 생성된 챌린지(Challenge) 메시지에 대한 응답에 기초하여 데이터의 변조 여부를 확인하는 명령어 세트를 포함한다.The public audit program according to one embodiment includes a set of instructions for issuing a private key from a TA (Trust Authority) server to a user terminal, a self-authentication (TA) certificate corresponding to the issued private key Generating a public key based witness and transmitting the generated witness to a third party auditor (TPA) server through the user terminal; generating a signature for data corresponding to the witness transmission in the user terminal; Generates a challenge message corresponding to the transmission of the signature at the third party auditor (TPA) server, and transmits the generated challenge to the third server (TPA) And a command set for confirming whether or not the data is modulated based on a response to a challenge message.

실시예들에 따르면, 클라우드 서비스 사용자가 본인의 데이터를 클라우드 스토리지에 업로드한 뒤, TPA(Third Party Auditor)를 통해 클라우드 서버나 다른 공격자의 악의적인 행동으로부터 데이터의 변조 유무를 확인할 수 있다.According to embodiments, after a cloud service user uploads his or her data to the cloud storage, the third party auditor (TPA) can check the tampering of the data from the malicious behavior of the cloud server or other attackers.

실시예에 따르면, 사용자의 대리인이 클라우드에 업로드된 데이터의 무결성을 감사할 수 있다.According to an embodiment, a user's agent can audit the integrity of data uploaded to the cloud.

실시예에 따르면, 연산 복잡도를 낮추면서도 악의적인 공격에도 안전한 새로운 공공 감사 프로토콜을 제공할 수 있다.According to the embodiment, a new public audit protocol can be provided that is safe against malicious attacks while reducing computational complexity.

도 1은 일실시예에 따른 자체 인증 서명을 기반으로 하는 공공 감사 방법을 설명하는 흐름도이다.
도 2는 제3 감사자(TPA, Third Party Auditor) 서버에서 응답(Response) 값에 기초하여 데이터의 변조 여부를 확인하는 실시예를 설명하는 흐름도이다.
도 3은 일실시예에 따른 위트니스를 생성하는 실시예를 설명하는 흐름도이다.
도 4는 응답(Response) 값을 생성하는 실시예를 설명하는 흐름도이다.
도 5는 일실시예에 따른 공공 감사 시스템을 설명하는 도면이다.
1 is a flow diagram illustrating a public audit method based on a self-authenticating signature in accordance with one embodiment.
FIG. 2 is a flowchart illustrating an example of checking whether data is modulated based on a response value in a third party auditor (TPA) server.
3 is a flow chart illustrating an embodiment of generating a witness according to one embodiment.
4 is a flow chart illustrating an embodiment for generating a Response value.
5 is a view for explaining a public audit system according to an embodiment.

이하에서, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 이러한 실시예들에 의해 권리범위가 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. However, the scope of the rights is not limited or limited by these embodiments. Like reference symbols in the drawings denote like elements.

아래 설명에서 사용되는 용어는, 연관되는 기술 분야에서 일반적이고 보편적인 것으로 선택되었으나, 기술의 발달 및/또는 변화, 관례, 기술자의 선호 등에 따라 다른 용어가 있을 수 있다. 따라서, 아래 설명에서 사용되는 용어는 기술적 사상을 한정하는 것으로 이해되어서는 안 되며, 실시예들을 설명하기 위한 예시적 용어로 이해되어야 한다.The terms used in the following description are chosen to be generic and universal in the art to which they are related, but other terms may exist depending on the development and / or change in technology, customs, preferences of the technician, and the like. Accordingly, the terminology used in the following description should not be construed as limiting the technical thought, but should be understood in the exemplary language used to describe the embodiments.

또한 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 설명 부분에서 상세한 그 의미를 기재할 것이다. 따라서 아래 설명에서 사용되는 용어는 단순한 용어의 명칭이 아닌 그 용어가 가지는 의미와 명세서 전반에 걸친 내용을 토대로 이해되어야 한다.Also, in certain cases, there may be a term chosen arbitrarily by the applicant, in which case the meaning of the detailed description in the corresponding description section. Therefore, the term used in the following description should be understood based on the meaning of the term, not the name of a simple term, and the contents throughout the specification.

도 1은 일실시예에 따른 자체 인증 서명을 기반으로 하는 공공 감사 방법을 설명하는 흐름도이다.1 is a flow diagram illustrating a public audit method based on a self-authenticating signature in accordance with one embodiment.

일실시예에 따른 공공 감사 방법은 클라우드 서비스의 사용자 단말기, 인증기관(TA, Trust Authority) 서버, 제3 감사자(TPA, Third Party Auditor) 서버, 클라우드 서버 총 4개의 파티를 가정한다. 또한, 일실시예에 따른 공공 감사 방법은 이 파티들을 통해 키 생성 과정, 위트니스 생성 과정, 메시지에 대한 태그 생성 과정, 제3 감사자(TPA, Third Party Auditor) 서버의 챌린지 메시지 생성 과정, 클라우드 서버가 챌린지 메시지에 대한 응답 값 생성 과정, 최종적으로 제3 감사자(TPA, Third Party Auditor) 서버가 클라우드 서버로부터 받은 응답 값의 정당성을 확인하는 과정을 포함한다. The public audit method according to an exemplary embodiment assumes a total of four parties: a user terminal of a cloud service, a trust authority (TA) server, a third party auditor (TPA) server, and a cloud server. In addition, the public audit method according to an embodiment includes a key generation process, a witness generation process, a tag generation process, a challenge message generation process of a third party auditor (TPA) server, A process of generating a response value to the challenge message, and finally, a process of confirming the validity of the response value received from the cloud server by the third party auditor (TPA) server.

구체적으로, 일실시예에 따른 공공 감사 방법은 인증기관(TA, Trust Authority) 서버에서 사용자 단말기로 개인키를 발급한다(101).Specifically, the public audit method according to an embodiment issues a private key to a user terminal (101) in a trust authority (TA) server.

클라우드의 사용자 단말기는

Figure 112015083351673-pat00001
Figure 112015083351673-pat00002
를 랜덤하게 선택하여
Figure 112015083351673-pat00003
Figure 112015083351673-pat00004
를 계산한다. 여기서 개인키는
Figure 112015083351673-pat00005
, 공개키는
Figure 112015083351673-pat00006
로 설정한다.The user terminal of the cloud
Figure 112015083351673-pat00001
Wow
Figure 112015083351673-pat00002
At random
Figure 112015083351673-pat00003
Wow
Figure 112015083351673-pat00004
. Here, the private key
Figure 112015083351673-pat00005
, The public key is
Figure 112015083351673-pat00006
.

G1과 G2는 q를 위수로 가지는 곱셈 순환군이고 q1은 G1의 생성자이며,

Figure 112015083351673-pat00007
는 겹선형 함수이다. 인증기관(TA, Trust Authority) 서버는
Figure 112015083351673-pat00008
를 랜덤하게 선택하고
Figure 112015083351673-pat00009
를 계산하여
Figure 112015083351673-pat00010
를 각각 마스터 개인키, 공개키로 설정한다. 뿐만 아니라 인증기관(TA, Trust Authority) 서버는 암호학적으로 안전한 해시(Hash) 함수
Figure 112015083351673-pat00011
Figure 112015083351673-pat00012
를 선택한다. 최종적으로 생성된 시스템 파라미터는
Figure 112015083351673-pat00013
이다G 1 and G 2 are multiplicative cyclic groups with q as the power, q 1 is the constructor of G 1 ,
Figure 112015083351673-pat00007
Is a folded linear function. The Trust Authority (TA) server
Figure 112015083351673-pat00008
Randomly < / RTI >
Figure 112015083351673-pat00009
To calculate
Figure 112015083351673-pat00010
As a master private key and a public key, respectively. In addition, a Trust Authority (TA) server uses a cryptographically secure hash function
Figure 112015083351673-pat00011
Wow
Figure 112015083351673-pat00012
. The final generated system parameters are
Figure 112015083351673-pat00013
to be

일실시예에 따른 공공 감사 방법은 발급된 개인키에 상응하는 자체 인증 공개키 기반의 위트니스를 생성하고(102), 사용자 단말기를 통해 제3 감사자(TPA, Third Party Auditor) 서버로 전송한다(103).The public audit method according to an embodiment generates a witness based on a self-authentication public key corresponding to the issued private key (102) and transmits the witness to a third party auditor (TPA) server through a user terminal 103).

일실시예에 따른 공공 감사 방법은 위트니스 전송에 상응하여 데이터에 대한 서명을 생성한다(104). 또한, 일실시예에 따른 공공 감사 방법은 데이터와 생성된 서명을 클라우드 서버에 전송한다(105).A public audit method according to one embodiment generates a signature for data corresponding to a witness transmission (104). In addition, the public audit method according to an embodiment transmits the data and the generated signature to the cloud server (105).

일실시예에 따른 공공 감사 방법은 제3 감사자(TPA, Third Party Auditor) 서버에서 서명의 전송에 상응하는 챌린지(Challenge) 메시지를 생성하고(106), 생성된 챌린지(Challenge) 메시지에 대한 응답에 기초하여 데이터의 변조 여부를 확인한다(107).The public audit method according to an exemplary embodiment of the present invention generates (106) a challenge message corresponding to the transmission of a signature at a third party auditor (TPA) server, and transmits a response to the generated challenge message Whether or not the data is modulated is checked (107).

도 2는 제3 감사자(TPA, Third Party Auditor) 서버에서 응답(Response) 값에 기초하여 데이터의 변조 여부를 확인하는 실시예를 설명하는 흐름도이다.FIG. 2 is a flowchart illustrating an example of checking whether data is modulated based on a response value in a third party auditor (TPA) server.

데이터의 변조 여부를 확인하기 위해, 일실시예에 따른 공공 감사 방법은 제3 감사자(TPA, Third Party Auditor) 서버에서 생성된 챌린지(Challenge) 메시지를 클라우드 서버에 전송한다(201).In order to confirm whether data is tampered, a public audit method according to an embodiment transmits a challenge message generated in a third party auditor (TPA) server to a cloud server (201).

다음으로, 일실시예에 따른 공공 감사 방법은 클라우드 서버에서 챌린지(Challenge) 메시지에 상응하는 응답(Response) 값을 생성하여(202), 제3 감사자(TPA, Third Party Auditor) 서버로 전송한다(203).Next, a public audit method according to an exemplary embodiment generates a response value corresponding to a challenge message in the cloud server (202) and transmits the response value to a third party auditor (TPA) server (203).

일실시예에 따른 공공 감사 방법은 제3 감사자(TPA, Third Party Auditor) 서버에서 응답(Response) 값에 기초하여 데이터의 변조 여부를 확인한다(204).In the public audit method according to an embodiment, the third party auditor (TPA) server checks whether the data is modulated based on a response value (204).

예를 들어, 공공 감사 방법은 데이터의 변조 여부를 확인하기 위해 제3 감사자(TPA, Third Party Auditor) 서버에서 응답(Response) 값을 미리 지정된 검증식에 대입하여 데이터의 변조 여부를 확인할 수 있다.For example, in a public audit method, a third party auditor (TPA) server may check the data to see if the data is tampered by substituting a response value into a predetermined verification formula .

클라우드에 업로드된 사용자의 데이터 파일 M의 데이터 무결성을 검증하기 위하여 제3 감사자(TPA, Third Party Auditor) 서버는 검증을 위한 챌린지 메시지를 생성한다.In order to verify the data integrity of the data file M of the user uploaded to the cloud, the third party auditor (TPA) server generates a challenge message for verification.

제3 감사자(TPA, Third Party Auditor) 서버는 해당 파일의 모든 블록을 검증하는 대신,

Figure 112015083351673-pat00014
개의 샘플 블록들을 랜덤하게 선택한다. 랜덤하게 선택된 블록의 집합은 L로 표현된다. 그리고 나서
Figure 112015083351673-pat00015
를 랜덤하게 선택한다.The third party auditor (TPA) server, instead of validating every block of the file,
Figure 112015083351673-pat00014
Random sample blocks. The set of randomly selected blocks is represented by L. Then the
Figure 112015083351673-pat00015
.

제3 감사자(TPA, Third Party Auditor) 서버는 챌린지 메시지

Figure 112015083351673-pat00016
를 생성하여 클라우드 서버에게 전송한다.The third party auditor (TPA) server sends a challenge message
Figure 112015083351673-pat00016
And transmits it to the cloud server.

챌린지 메시지

Figure 112015083351673-pat00017
를 받은 클라우드 서버는 이에 대한 정당한 증명 값을 계산하기 위해 다음의 절차를 수행한다. Challenge message
Figure 112015083351673-pat00017
, The cloud server performs the following procedure to calculate a valid proof value.

먼저 모든

Figure 112015083351673-pat00018
에 대해
Figure 112015083351673-pat00019
를 계산하고,
Figure 112015083351673-pat00020
를 생성한다. 위에서 생성한 증명 값
Figure 112015083351673-pat00021
를 제3 감사자(TPA, Third Party Auditor) 서버에 전송한다. First of all
Figure 112015083351673-pat00018
About
Figure 112015083351673-pat00019
Lt; / RTI >
Figure 112015083351673-pat00020
. Proof value generated above
Figure 112015083351673-pat00021
To a third party auditor (TPA) server.

제3 감사자(TPA, Third Party Auditor) 서버는 공개된 파라미터와 UL을 이용하여 클라우드 서버로부터 받은

Figure 112015083351673-pat00022
가 검증식을 통과하는지 확인한다. The third party auditor (TPA) server uses the public parameters and UL to receive from the cloud server
Figure 112015083351673-pat00022
Is passed through the verification equation.

제3 감사자(TPA, Third Party Auditor) 서버는 먼저

Figure 112015083351673-pat00023
Figure 112015083351673-pat00024
를 계산한다.The third party auditor (TPA) server first
Figure 112015083351673-pat00023
Wow
Figure 112015083351673-pat00024
.

위트니스와 공개된 파라미터, 클라우드 서버로부터 받은 증명 값을 이용하여 검증식

Figure 112015083351673-pat00025
이 성립하는지 확인한다.Witness, public parameters, and verification values received from the cloud server.
Figure 112015083351673-pat00025
.

검증식이 성립하면 사용자가 클라우드 서버에 업로드한 파일 M의 무결성을 보장받을 수 있으며, 그렇지 않을 경우에는 데이터가 변조되었음을 확인할 수 있다.When the verification expression is established, the integrity of the file M uploaded by the user to the cloud server can be guaranteed. Otherwise, it can be confirmed that the data has been tampered with.

도 3은 일실시예에 따른 위트니스를 생성하는 실시예를 설명하는 흐름도이다.3 is a flow chart illustrating an embodiment of generating a witness according to one embodiment.

일실시예에 따른 공공 감사 방법은 위트니스를 생성하기 위해, 곱셈 순환 그룹의 생성자 정보가 반영된 변수를 개인키로 생성한다(301).A public audit method according to an embodiment generates a variable reflecting a generator information of a multiplication cyclic group with a private key to generate a witness (301).

다음으로, 일실시예에 따른 공공 감사 방법은 생성한 개인키에 기초하여 영-지식 증명하여 인증기관(TA, Trust Authority) 서버에 회신한다(302).Next, the public audit method according to an exemplary embodiment of the present invention returns zero-knowledge based on the generated private key to the Trust Authority (TA) server (302).

일실시예에 따른 공공 감사 방법은 인증기관(TA, Trust Authority) 서버에서 검증식이 성립하는지 확인한다(303).The public audit method according to an exemplary embodiment checks whether a validation expression is established in the TA (Trust Authority) server (303).

예를 들어, iduser를 사용자의 식별자라 가정하고, 위트니스를 생성하기 위해 사용자 단말기와 인증기관(TA, Trust Authority) 서버는 다음의 절차를 수행한다. For example, assuming that the id user is the user's identity, the user terminal and the TA (Trust Authority) server perform the following procedure to create the witness.

사용자 단말기는 자신의 개인키로 V 변수, 즉

Figure 112015083351673-pat00026
를 생성하고 이에 대한 영-지식 증명
Figure 112015083351673-pat00027
을 계산하여 인증기관(TA, Trust Authority) 서버에
Figure 112015083351673-pat00028
를 전송한다.The user terminal uses its own private key as a V variable,
Figure 112015083351673-pat00026
And a zero-knowledge proof
Figure 112015083351673-pat00027
To the Trust Authority (TA) server.
Figure 112015083351673-pat00028
.

이를 받은 인증기관(TA, Trust Authority) 서버는 검증식이 성립하는지 확인하고, 영-지식 증명인

Figure 112015083351673-pat00029
도 검증한다. The TA (Trust Authority) server that received the certificate verifies that the verification expression is established,
Figure 112015083351673-pat00029
.

일실시예에 따른 공공 감사 방법은 검증식이 성립하는 경우에 영-지식 증명을 검증한다(304).The public audit method according to one embodiment verifies the zero-knowledge proof when the verification equation is established (304).

일실시예에 따른 공공 감사 방법은 인증기관(TA, Trust Authority) 서버에서 상기 영-지식 증명이 검증되면, 위트니스를 생성하여 사용자 단말기로 전송하고, 데이터베이스에 저장한다(305).In the public audit method according to an embodiment, when the zero-knowledge proof is verified at a TA (Trust Authority) server, a witness is generated, transmitted to the user terminal, and stored in the database (305).

검증식이 성립하면, 인증기관(TA, Trust Authority) 서버는 위트니스

Figure 112015083351673-pat00030
를 생성하여
Figure 112015083351673-pat00031
를 사용자 단말기에게 전송하며, 동시에 본인의 데이터베이스에 저장한다. 성립하지 않으면 위트니스를 생성하지 않으며 프로토콜을 종료한다. Once the validation expression is established, the Trust Authority (TA)
Figure 112015083351673-pat00030
To generate a
Figure 112015083351673-pat00031
To the user terminal, and at the same time stores it in the user's database. If not, the witness is not created and the protocol is terminated.

인증기관(TA, Trust Authority) 서버로부터

Figure 112015083351673-pat00032
를 받으면 사용자 단말기는 정당한 위트니스인지 검증하기 위해 다음의 검증식
Figure 112015083351673-pat00033
이 성립하는지 확인한다. 검증식이 성립한다면
Figure 112015083351673-pat00034
는 사용자 단말기의 위트니스가 되며, 추후 무결성 검증 검사를 위해
Figure 112015083351673-pat00035
를 제3 감사자(TPA, Third Party Auditor) 서버에 전송한다.From a Trust Authority (TA) server
Figure 112015083351673-pat00032
The UE verifies the authenticity of the witness by using the following verification formula
Figure 112015083351673-pat00033
. If a validation expression is established
Figure 112015083351673-pat00034
Becomes a witness of the user terminal, and for the integrity verification test
Figure 112015083351673-pat00035
To a third party auditor (TPA) server.

만약, 인증기관(TA, Trust Authority) 서버에서 상기 영-지식 증명이 검증되지 않는 다면, 즉 검증식이 성립하지 않는 경우 공공 감사 방법은 프로토콜을 종료한다.If the zero-knowledge proof is not verified at the Trust Authority (TA) server, that is, if the verification expression is not established, the public audit method ends the protocol.

도 4는 응답(Response) 값을 생성하는 실시예를 설명하는 흐름도이다.4 is a flow chart illustrating an embodiment for generating a Response value.

일실시예에 따른 공공 감사 방법은 챌린지(Challenge) 메시지에 상응하는 응답(Response) 값을 생성한다(401).The public audit method according to an exemplary embodiment generates a response value corresponding to a challenge message (401).

일실시예에 따른 공공 감사 방법은 챌린지(Challenge) 메시지를 구성하는 모든 원소에 대한 모드 연산을 수행하고(402), 수행된 모드 연산된 결과에 공개키와 해시 함수를 이용해서 증명 값을 계산한다(403).The public audit method according to an embodiment performs a mode operation (402) on all elements constituting a challenge message (402), and calculates a proof value using the public key and the hash function on the mode-calculated result (403).

일실시예에 따른 공공 감사 방법은 계산된 증명 값을 반영하여 응답(Response) 값을 생성한다(404).The public audit method according to an embodiment generates a response value by reflecting the calculated certification value (404).

예를 들어, M은 클라우드에 업로드 될 데이터 파일로, n개의 블록

Figure 112015083351673-pat00036
으로 구성된다. 각각의 데이터 블록
Figure 112015083351673-pat00037
에 대한 인증 태그를 생성하기 위해 사용자는 다음과 같은 절차를 수행한다. For example, M is a data file to be uploaded to the cloud, n blocks
Figure 112015083351673-pat00036
. Each data block
Figure 112015083351673-pat00037
In order to generate an authentication tag for the user, the user performs the following procedure.

일실시예에 따른 공공 감사 방법은

Figure 112015083351673-pat00038
모든 에 대하여, 랜덤
Figure 112015083351673-pat00039
을 선택한 후,
Figure 112015083351673-pat00040
Figure 112015083351673-pat00041
를 계산한다. 따라서 데이터 블록
Figure 112015083351673-pat00042
에 대한 인증 태그는
Figure 112015083351673-pat00043
이 된다.The public audit method according to one embodiment
Figure 112015083351673-pat00038
For all, random
Figure 112015083351673-pat00039
And then,
Figure 112015083351673-pat00040
Wow
Figure 112015083351673-pat00041
. Therefore,
Figure 112015083351673-pat00042
The authentication tag for
Figure 112015083351673-pat00043
.

사용자는 본인이 클라우드에 업로드 하고자 하는 데이터 파일 M과 그에 대응되는 인증 태그

Figure 112015083351673-pat00044
를 클라우드 서버에 전송한다.The user can input the data file M to be uploaded to the cloud by himself and the corresponding authentication tag
Figure 112015083351673-pat00044
To the cloud server.

생성한 인증 값 중 메시지 블록에 대한

Figure 112015083351673-pat00045
리스트(UL)를 생성하여 제3 감사자(TPA, Third Party Auditor) 서버에게 전송한다.Of the generated authentication values,
Figure 112015083351673-pat00045
Generates a list (UL) and transmits it to a third party auditor (TPA) server.

도 5는 일실시예에 따른 공공 감사 시스템(500)을 설명하는 도면이다.5 is a diagram illustrating a public audit system 500 according to an embodiment.

일실시예에 따른 공공 감사 시스템(500)은 동일한 연산 효율성을 보장하면서도 악의적인 공격에도 안전한 자체 인증 서명 기반 공공 감사 프로토콜을 제공한다.The public audit system 500 according to one embodiment provides a self audit signature based public audit protocol that is secure against malicious attack while ensuring the same computational efficiency.

이를 위해, 일실시예에 따른 공공 감사 시스템(500)은 개인키 발급부(510), 위트니스 생성부(520), 및 전송부(530)를 포함한다.To this end, the public audit system 500 according to an embodiment includes a private key issuing unit 510, a witness generating unit 520, and a transmitting unit 530.

일실시예에 따른 개인키 발급부(510)는 인증기관(TA, Trust Authority) 서버에서 사용자 단말기로 개인키를 발급한다.The private key issuing unit 510 according to an embodiment issues a private key to a user terminal from a Trust Authority (TA) server.

일실시예에 따른 위트니스 생성부(520)는 인증기관(TA, Trust Authority) 서버에서 상기 발급된 개인키에 상응하는 자체 인증 공개키 기반의 위트니스를 생성한다.The witness generating unit 520 according to an embodiment generates a witness based on a self-authenticating public key corresponding to the issued private key at an authentication authority (TA) server.

일실시예에 따른 전송부(530)는 사용자 단말기를 통해 생성한 위트니스를 제3 감사자(TPA, Third Party Auditor) 서버로 전송한다.The transmitting unit 530 according to an embodiment transmits the witness generated through the user terminal to a third party auditor (TPA) server.

이후, 위트니스 전송에 상응하여 생성한 데이터에 대한 서명이 클라우드 서버에 전송되면, 제3 감사자(TPA, Third Party Auditor) 서버는 서명의 전송에 상응하는 챌린지(Challenge) 메시지를 생성하고, 생성된 챌린지(Challenge) 메시지에 대한 응답에 기초하여 데이터의 변조 여부를 확인한다.Thereafter, when a signature for the data generated corresponding to the witness transmission is transmitted to the cloud server, the third party auditor (TPA) server generates a challenge message corresponding to the transmission of the signature, Based on the response to the challenge message.

이때, 제3 감사자(TPA, Third Party Auditor) 서버는 생성된 챌린지(Challenge) 메시지를 클라우드 서버에 전송하고, 클라우드 서버에서 챌린지(Challenge) 메시지에 상응하는 응답(Response) 값을 생성하여 제3 감사자(TPA, Third Party Auditor) 서버로 전송하며, 제3 감사자(TPA, Third Party Auditor) 서버에서 응답(Response) 값에 기초하여 데이터의 변조 여부를 확인한다.At this time, the third party auditor (TPA) server transmits the generated challenge message to the cloud server, generates a response value corresponding to the challenge message in the cloud server, (TPA) server, and the third party auditor (TPA) server checks whether or not the data is altered based on the response value.

제3 감사자(TPA, Third Party Auditor) 서버는 응답(Response) 값을 미리 지정된 검증식에 대입하여 데이터의 변조 여부를 확인한다. 이때, 제3 감사자(TPA, Third Party Auditor) 서버는 챌린지(Challenge) 메시지를 구성하는 모든 원소에 대한 모드(mod) 연산을 수행하고, 수행된 모드 연산된 결과에 공개키와 해시 함수를 이용해서 증명 값을 계산하며, 계산된 증명 값을 반영하여 상기 응답(Response) 값을 생성한다.The third party auditor (TPA) server replaces the response value with a predefined verification expression to check whether the data is tampered with. At this time, the third party auditor (TPA) server performs a mode operation on all the elements constituting the challenge message, and uses the public key and the hash function Calculates a proof value, and generates the response value by reflecting the calculated proof value.

본 발명의 일실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to an embodiment of the present invention can be implemented in the form of a program command which can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions recorded on the medium may be those specially designed and configured for the present invention or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.

이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.While the invention has been shown and described with reference to certain preferred embodiments thereof, it will be understood by those of ordinary skill in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. This is possible.

그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.Therefore, the scope of the present invention should not be limited to the described embodiments, but should be determined by the equivalents of the claims, as well as the claims.

Claims (13)

인증기관(TA, Trust Authority) 서버가 임의의 난수(
Figure 112017015403319-pat00051
)를 선택하여 마스터 개인키(
Figure 112017015403319-pat00052
), 마스터 공개키(
Figure 112017015403319-pat00053
) 및 시스템 파라미터(
Figure 112017015403319-pat00054
)를 설정하는 단계;
사용자 단말기가 임의의 난수(
Figure 112017015403319-pat00055
,
Figure 112017015403319-pat00056
)를 선택하고, 상기 임의의 난수(
Figure 112017015403319-pat00057
,
Figure 112017015403319-pat00058
) 및 상기 시스템 파라미터를 이용하여 개인키(
Figure 112017015403319-pat00059
)와 공개키(
Figure 112017015403319-pat00060
)를 설정하는 단계;
상기 사용자 단말기가 상기 개인키와 상기 마스터 공개키를 이용하여 계산된 계산값(
Figure 112017015403319-pat00061
)에 대한 영-지식 증명(
Figure 112017015403319-pat00062
)을 계산하고, 상기 계산값(
Figure 112017015403319-pat00063
), 상기 공개키 및 상기 영-지식 증명(
Figure 112017015403319-pat00064
)을 상기 인증기관 서버로 송신하는 단계;
상기 인증기관 서버가 검증식 성립 여부 및 영-지식 증명을 검증하는 단계;
상기 영-지식 증명이 검증되는 경우, 상기 인증기관 서버가 상기 계산값(
Figure 112017015403319-pat00065
), 상기 마스터 개인키 및 상기 시스템 파라미터를 이용하여 위트니스(
Figure 112017015403319-pat00066
)를 생성하고 상기 위트니스를 상기 사용자 단말기로 송신하는 단계;
상기 사용자 단말기가 제2 검증식을 이용하여 상기 위트니스를 검증하는 단계;
상기 사용자 단말기가 n(n은 2 이상의 자연수) 개의 데이터 블록들을 포함하는 메시지(
Figure 112017015403319-pat00067
)와 상기 n 개의 데이터 블록들(
Figure 112017015403319-pat00068
) 각각에 대한 인증 태그들(
Figure 112017015403319-pat00069
)을 클라우드 서버로 송신하는 단계;
상기 사용자 단말기가 상기 위트니스를 제3 감사자(TPA, Third Party Auditor) 서버로 송신하는 단계; 및
상기 제3 감사자 서버가 상기 클라우드 서버에 저장된 상기 메시지(
Figure 112017015403319-pat00070
)의 무결성을 검증하기 위한 챌린지(Challenge) 메시지를 생성하고, 상기 클라우드 서버로부터 수신된 상기 챌린지 메시지에 대한 응답에 기초하여 상기 메시지(
Figure 112017015403319-pat00071
)의 무결성을 검증하는 단계를 포함하고,
상기
Figure 112017015403319-pat00072
과 상기
Figure 112017015403319-pat00073
는 상기
Figure 112017015403319-pat00074
를 위수로 가지는 곱셈 순환군이고,
상기
Figure 112017015403319-pat00075
(
Figure 112017015403319-pat00076
)는 겹선형 함수(bilinear map)이고,
상기
Figure 112017015403319-pat00077
은 상기
Figure 112017015403319-pat00078
의 생성자이고,
상기
Figure 112017015403319-pat00079
(
Figure 112017015403319-pat00080
)과 상기
Figure 112017015403319-pat00081
(
Figure 112017015403319-pat00082
)는 암호학적 해시(hash) 함수이고,
상기 검증식은
Figure 112017015403319-pat00083
이고,
상기
Figure 112017015403319-pat00084
는 상기 사용자 단말기의 식별자이고,
상기 제2 검증식은
Figure 112017015403319-pat00085
인,
공공 감사 방법.
The Trust Authority (TA) server sends a random number (
Figure 112017015403319-pat00051
) To select the master private key (
Figure 112017015403319-pat00052
), Master public key (
Figure 112017015403319-pat00053
) And system parameters (
Figure 112017015403319-pat00054
);
When the user terminal receives an arbitrary random number (
Figure 112017015403319-pat00055
,
Figure 112017015403319-pat00056
) Is selected, and the arbitrary random number (
Figure 112017015403319-pat00057
,
Figure 112017015403319-pat00058
) ≪ / RTI > and the system parameter
Figure 112017015403319-pat00059
) And the public key
Figure 112017015403319-pat00060
);
The user terminal calculates the calculated value using the private key and the master public key
Figure 112017015403319-pat00061
Proof of knowledge for
Figure 112017015403319-pat00062
), And the calculated value (
Figure 112017015403319-pat00063
), The public key and the zero-knowledge proof
Figure 112017015403319-pat00064
) To the certification authority server;
Verifying that the certification authority server has established a validation formula and a zero-knowledge proof;
When the zero-knowledge proof is verified, the certification authority server sends the calculation value (
Figure 112017015403319-pat00065
), The master private key, and the system parameters,
Figure 112017015403319-pat00066
) And transmitting the witness to the user terminal;
Verifying the witness using the second verification equation;
(N is a natural number of 2 or more) data blocks
Figure 112017015403319-pat00067
) And the n data blocks (
Figure 112017015403319-pat00068
) Authentication tags (
Figure 112017015403319-pat00069
To the cloud server;
The user terminal transmitting the witness to a third party auditor (TPA) server; And
Wherein the third auditor server receives the message (< RTI ID = 0.0 >
Figure 112017015403319-pat00070
And generating a challenge message based on a response to the challenge message received from the cloud server,
Figure 112017015403319-pat00071
Verifying the integrity of the < RTI ID = 0.0 >
remind
Figure 112017015403319-pat00072
And
Figure 112017015403319-pat00073
Quot;
Figure 112017015403319-pat00074
As a multiplicative cyclic group,
remind
Figure 112017015403319-pat00075
(
Figure 112017015403319-pat00076
) Is a bilinear map,
remind
Figure 112017015403319-pat00077
Gt;
Figure 112017015403319-pat00078
≪ / RTI >
remind
Figure 112017015403319-pat00079
(
Figure 112017015403319-pat00080
) And the above
Figure 112017015403319-pat00081
(
Figure 112017015403319-pat00082
) Is a cryptographic hash function,
The verification equation
Figure 112017015403319-pat00083
ego,
remind
Figure 112017015403319-pat00084
Is an identifier of the user terminal,
The second verification equation
Figure 112017015403319-pat00085
sign,
Public audit method.
제1항에 있어서,
상기 인증 태그들(
Figure 112017015403319-pat00086
) 각각은 제1 인증 태그와 제2 인증 태그를 포함하고,
상기 인증 태그들(
Figure 112017015403319-pat00087
)을 클라우드 서버로 송신하는 단계는,
임의의 난수(
Figure 112017015403319-pat00088
)를 선택하는 단계; 및
상기 제1 인증 태그(
Figure 112017015403319-pat00089
)와 상기 제2 인증 태그(
Figure 112017015403319-pat00090
)를 계산하는 단계를 포함하는,
공공 감사 방법.
The method according to claim 1,
The authentication tags (
Figure 112017015403319-pat00086
) Each include a first authentication tag and a second authentication tag,
The authentication tags (
Figure 112017015403319-pat00087
) To the cloud server comprises:
Any random number (
Figure 112017015403319-pat00088
); And
The first authentication tag (
Figure 112017015403319-pat00089
And the second authentication tag
Figure 112017015403319-pat00090
≪ / RTI >
Public audit method.
제1항에 있어서,
상기 메시지(
Figure 112017015403319-pat00091
)의 무결성을 검증하는 단계는,
상기 제3 감사자(TPA, Third Party Auditor) 서버가 상기 응답을 미리 지정된 검증식에 대입하여 상기 메시지의 무결성을 검증하는,
공공 감사 방법.
The method according to claim 1,
The message (
Figure 112017015403319-pat00091
Verifying the integrity of the < RTI ID = 0.0 >
Wherein the third party auditor (TPA) server verifies the integrity of the message by substituting the response into a predefined verification expression,
Public audit method.
삭제delete 삭제delete 제1항에 있어서,
상기 클라우드 서버는,
상기 챌린지(Challenge) 메시지를 구성하는 모든 원소에 대한 모드 연산을 수행하는 단계;
상기 수행된 모드 연산된 결과에 공개키와 해시 함수를 이용해서 증명 값을 계산하는 단계; 및
상기 계산된 증명 값을 반영하여 상기 응답을 생성하는 단계를 수행하여 상기 챌린지 메시지에 대한 응답을 생성하는,
공공 감사 방법.
The method according to claim 1,
The cloud server includes:
Performing a mode operation on all elements constituting the challenge message;
Calculating a proof value using the public key and the hash function in the performed mode computed result; And
And generating the response by reflecting the calculated authentication value to generate a response to the challenge message.
Public audit method.
삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete
KR1020150121014A 2015-08-27 2015-08-27 Method of secure public auditing using self-certified signature in cloud storage and system of the same KR101740956B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150121014A KR101740956B1 (en) 2015-08-27 2015-08-27 Method of secure public auditing using self-certified signature in cloud storage and system of the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150121014A KR101740956B1 (en) 2015-08-27 2015-08-27 Method of secure public auditing using self-certified signature in cloud storage and system of the same

Publications (2)

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

Family

ID=58402784

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150121014A KR101740956B1 (en) 2015-08-27 2015-08-27 Method of secure public auditing using self-certified signature in cloud storage and system of the same

Country Status (1)

Country Link
KR (1) KR101740956B1 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102037291B1 (en) * 2017-12-01 2019-11-26 이현수 Method and system for providing portal-site relay service
CN109104440B (en) * 2018-10-22 2021-03-16 青岛大学 Cloud storage big data integrity verification method for mobile terminal equipment of Internet of things
CN109327460A (en) * 2018-11-12 2019-02-12 中国电子科技集团公司第二十八研究所 A kind of cloud big data method for auditing safely based on Bilinear map technology
CN110505052B (en) * 2019-08-28 2022-11-25 安徽大学 Cloud data public verification method for protecting data privacy
CN110519726B (en) * 2019-09-20 2022-08-16 湖北工业大学 Lightweight anonymous authentication system and method for vehicles in V2G network based on multiple servers
CN112217629B (en) * 2020-10-13 2022-07-22 安徽大学 Cloud storage public auditing method
CN113765659A (en) * 2021-09-02 2021-12-07 杭州趣链科技有限公司 Data auditing method based on BLS signature and block chain
CN114710292B (en) * 2022-03-21 2023-08-11 河北大学 Multi-level role-based real-time audit method in medical cloud environment

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100529594B1 (en) 2003-06-13 2006-01-09 학교법인 성균관대학 Method for verifying public key in different certification domain

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100561847B1 (en) 2003-10-08 2006-03-16 삼성전자주식회사 Method of public key encryption and decryption method

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100529594B1 (en) 2003-06-13 2006-01-09 학교법인 성균관대학 Method for verifying public key in different certification domain

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Jianhong Zhang 외 1명 "Self-Certified Public Auditing for Data Integrity in Cloud Storage." P2P, Parallel, Grid, Cloud and Internet Computing (3PGCIC), 2014 Ninth International Conference on.IEEE (2014)
Jiawei Yuan 외 1명. "Proofs of Retrievability with Public Verifiability and Constant Communication Cost in Cloud." 2013 international workshop on Security in cloud computing. ACM, (2013)

Also Published As

Publication number Publication date
KR20170026765A (en) 2017-03-09

Similar Documents

Publication Publication Date Title
KR101740956B1 (en) Method of secure public auditing using self-certified signature in cloud storage and system of the same
US10944575B2 (en) Implicitly certified digital signatures
CN104811450B (en) The date storage method and integrity verification method of a kind of identity-based in cloud computing
US8874921B2 (en) System and method for generating keyless digital multi-signatures
EP2533457B1 (en) Secure implicit certificate chaining
CN103067402B (en) The generation method and system of digital certificate
KR20140054151A (en) Credential validation
CN111010272B (en) Identification private key generation and digital signature method, system and device
KR100915768B1 (en) Method and system for user attestation-signatures with attributes
US10291567B2 (en) System and method for resetting passwords on electronic devices
KR101004829B1 (en) An apparatus and method for direct anonymous attestation from bilinear maps
CN105187405A (en) Reputation-based cloud computing identity management method
US20160149708A1 (en) Electronic signature system
CN108768975A (en) Support the data integrity verification method of key updating and third party's secret protection
CN116566626B (en) Ring signature method and apparatus
Hajny et al. Attribute‐based credentials with cryptographic collusion prevention
KR101586439B1 (en) User data integrity verification method and apparatus capable of guaranteeing privacy
CN116506134B (en) Digital certificate management method, device, equipment, system and readable storage medium
CN108664814A (en) A kind of group data integrity verification method based on agency
CN116707983A (en) Authorization authentication method and device, access authentication method and device, equipment and medium
KR101371054B1 (en) Method for digital signature and authenticating the same based on asymmetric-key generated by one-time_password and signature password
CN104518880A (en) Big data reliability validation method and system based on random sampling detection
CN112422294B (en) Anonymous voting method and device based on ring signature, electronic equipment and storage medium
CN114329610A (en) Block chain privacy identity protection method, device, storage medium and system
JP2017079419A (en) Server authentication system, terminal, server, server authentication method, program

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