KR101593675B1 - User data integrity verification method and apparatus - Google Patents
User data integrity verification method and apparatus Download PDFInfo
- Publication number
- KR101593675B1 KR101593675B1 KR1020140114170A KR20140114170A KR101593675B1 KR 101593675 B1 KR101593675 B1 KR 101593675B1 KR 1020140114170 A KR1020140114170 A KR 1020140114170A KR 20140114170 A KR20140114170 A KR 20140114170A KR 101593675 B1 KR101593675 B1 KR 101593675B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- value
- storage server
- file
- generating
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/10—Integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/04—Key management, e.g. using generic bootstrapping architecture [GBA]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
본 발명은 사용자 데이터의 무결성 검증 방법 및 그 장치에 관한 것으로서, 특히, 클라우드 환경에서 데이터 소유주가 자신의 데이터를 서버에 업로드한 후, 서버나 다른 공격자의 악의적인 행동으로부터 자신의 데이터가 훼손되지 않고 저장되어 있는지를 확인하는 사용자 데이터의 무결성 검증 방법 및 그 장치에 관한 것이다.The present invention relates to a method and apparatus for verifying the integrity of user data, and more particularly, in a cloud environment, after a data owner has uploaded his data to a server, his data is not corrupted from malicious behavior of a server or other attacker And an apparatus for verifying integrity of user data for confirming whether or not the user data is stored.
최근 사용자가 네트워크나 컴퓨터를 의식하지 않고 장소에 상관없이 자유롭게 네트워크에 접속할 수 있는 정보 통신 환경을 일컫는 유비쿼터스(Ubiquitous) 환경이 일반화되어 감에 따라 원격 컴퓨팅(remote computing)도 함께 확장되는 추세에 있으며, 이러한 원격 컴퓨팅 중 특히 클라우드 컴퓨팅(Cloud computing)이 미래의 컴퓨팅 환경을 주도할 새로운 패러다임으로 부각되고 있다.Recently, as the ubiquitous environment, which refers to an information communication environment where a user can freely access a network regardless of a network or a computer, is becoming common, remote computing is also being expanded. Cloud computing is emerging as a new paradigm that will lead the future computing environment.
클라우드 컴퓨팅이란 정보가 인터넷 상의 서버에 영구적으로 저장되고, IT 기기 등(예컨대, 데스크 데스크톱, 태블릿컴퓨터, 노트북, 넷북, 스마트폰 등)과 같은 클라이언트에는 일시적으로 보관되는 컴퓨터 환경을 뜻한다. 즉 이용자의 모든 정보를 인터넷 상의 서버에 저장하고, 이 정보를 각종 IT 기기를 통하여 언제 어디서든 이용할 수 있도록 한다는 개념이다.Cloud computing is a computer environment in which information is permanently stored on a server on the Internet and is temporarily stored on clients such as IT devices (e.g., desk desktops, tablet computers, notebooks, netbooks, smart phones, etc.). In other words, all the information of the user is stored on a server on the Internet, and this information can be used anytime and anywhere through various IT devices.
다시 말해, 클라우드 컴퓨팅 서비스는 구름(cloud)과 같이 무형의 형태로 존재하는 하드웨어나 소프트웨어 등의 컴퓨팅 자원을 자신이 필요한 만큼 빌려 쓰고 이에 대한 사용요금을 지급하는 방식의 컴퓨팅 서비스로, 서로 다른 물리적인 위치에 존재하는 컴퓨팅 자원을 가상화 기술로 통합해 제공하는 기술을 말한다. In other words, a cloud computing service is a computing service in which computing resources such as hardware and software existing in an intangible form such as a cloud are borrowed and paid for as much as they need, Refers to a technology that integrates computing resources existing in a location with virtualization technology.
클라우드 컴퓨팅을 도입하면 기업 또는 개인은 컴퓨터 시스템을 유지, 보수 및 관리하기 위하여 들어가는 비용과 시간을 줄일 수 있으며, 서버의 구매, 설치, 업데이트 및 소프트웨어 구매를 위한 엄청난 비용과 시간 및 인력을 줄일 수 있다. 또한, 에너지 절감에도 기여할 수 있다. 한편, PC에 자료를 보관할 경우 하드디스크 장애 등으로 인하여 자료가 손실될 수도 있지만 클라우드 컴퓨팅 환경에서는 외부 서버에 자료들이 저장되기 때문에 안전하게 자료를 보관할 수 있고, 저장 공간의 제약도 극복할 수 있으며, 언제 어디서든 자신이 작업한 문서 등을 열람 및 수정할 수 있다. With cloud computing, businesses or individuals can reduce the cost and time required to maintain, maintain, and manage computer systems and reduce the cost, time, and manpower required to purchase, install, update, and purchase software on servers . It can also contribute to energy savings. On the other hand, if data is stored on a PC, data may be lost due to a hard disk failure or the like. However, since data is stored in an external server in a cloud computing environment, it is possible to securely store data, You can view and edit documents you have worked on anywhere.
반면, 서버가 해킹을 당할 경우 개인정보가 유출될 수 있고, 서버 장애가 발생하면 자료 이용이 불가능하다는 단점이 있다. 따라서, 클라우드 컴퓨팅이 미래의 컴퓨팅 환경에서의 지배적인 위치를 확보하기 위해 선결되어야 할 사항은 바로 사용자 데이터에 대한 무결성(integrity)이 보장되어야 한다. On the other hand, if the server is hacked, personal information can be leaked, and if the server fails, the data can not be used. Therefore, in order for cloud computing to have a dominant position in the future computing environment, the integrity of user data must be ensured.
따라서, 최근 클라우드 서버에 아웃소싱(outsourcing)한 데이터들의 무결성을 검사하는 기술들에 대한 연구가 활발하게 진행되고 있다. 하기의 선행기술문헌 1에서는 아웃소싱(outsourcing)한 데이터의 무결성을 감사할 수 있으면서 데이터의 추가/삭제가 용이한 기법을 제안한다. 하지만, 감사 과정에서 감사자(auditor)에게 저장한 데이터가 노출되어 안전성이 결여되는 문제가 있다. 이러한 문제를 보완하기 위해, 선행기술문헌 2,3,4에서는 아웃소싱(outsourcing)한 데이터들의 무결성을 누구나 감사할 수 있는 기법을 제안하였다. 그런데 선행기술문헌 5에서 이러한 기법들이 감사과정에서 주고받는 값들의 준동형적(Homomorphic) 성질 때문에 안전하지 않음을 보였다. 이후에 선행기술문헌 6에서 안전성을 보완하기 위한 새로운 기법을 제안하지만 이 기법 또한 선행기술문헌 7에 의해 안전하지 않다는 것이 증명되었다. 한편, 선행기술문헌 8에서도 데이터의 안전성을 보완하기 위한 새로운 기법을 제안하고 있지만, 이 또한 선행기술문헌 5,7에서 증명한 공격에 안전하지 않은 문제가 있다. .Accordingly, researches on techniques for checking the integrity of outsourced data to the cloud server have been actively conducted. In the following Prior Art Document 1, a method is proposed in which the integrity of outsourced data can be audited, and data addition / deletion is easy. However, there is a problem that the data stored in the auditor is exposed during the auditing process, resulting in lack of safety. In order to overcome this problem, prior art documents 2, 3 and 4 proposed a technique for auditing the integrity of outsourced data. However, in Prior Art Document 5, these techniques have shown to be insecure due to the homomorphic nature of the values exchanged in the audit process. Thereafter, in the prior art document 6, a new technique for supplementing safety is proposed, but this technique has also proved unsafe by the prior art document 7. On the other hand, Prior Art Document 8 also proposes a new technique for supplementing the safety of data, but this also has a problem unsafe for the attacks proved in the prior art documents 5 and 7. .
따라서 본 발명은 클라우드 컴퓨팅 환경에서 사용자 데이터의 무결성을 검증하는 방법 및 그 장치를 제공하고자 한다. Accordingly, the present invention provides a method and apparatus for verifying the integrity of user data in a cloud computing environment.
또한, 본 발명은 클라우드 컴퓨팅 환경에서 다양한 공격에 대하여도 데이터의 안전성을 보장하는 사용자 데이터의 무결성을 검증하는 방법 및 장치를 제공하고자 한다. It is another object of the present invention to provide a method and apparatus for verifying integrity of user data ensuring data security against various attacks in a cloud computing environment.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 사용자 데이터의 무결성 검증 방법은 데이터 파일을 생성하는 제1 단말, 상기 데이터 파일을 저장하는 인터넷 상의 데이터 저장 서버, 상기 데이터 저장 서버에 저장된 데이터 파일의 무결성을 감사하는 제2 단말 간의 상호 관계에 의거하여 사용자 데이터의 무결성을 검증하는 사용자 데이터 무결성 검증 방법에 있어서, 상기 제1 단말이 겹선형 사상 및 BLS 짧은 서명 기법에 기초하여 서명키 쌍을 생성하는 단계; 상기 제1 단말이 업로드할 데이터 파일을 소정개의 블록으로 분할하고 상기 서명키 쌍 생성 단계에서 생성된 서명키 쌍에 의거하여 암호화한 후 데이터 저장 서버에 업로드 하는 데이터 아웃소싱 단계; 상기 제2 단말이 상기 업로드된 데이터 파일에 대한 무결성 확인을 위해 상기 데이터 파일 일부에 대한 챌린지(challenge)값을 생성하여 상기 데이터 저장 서버로 전송하는 단계; 상기 데이터 저장 서버가 데이터 업로드시 전송된 정보와 상기 챌린지값에 기초하여 증명값(proof)을 생성하고, 그 증명값을 상기 제2 단말로 전송하는 단계; 및 상기 제2 단말이 상기 증명값(proof)과 공개키들을 이용하여 상기 증명값(proof)의 정당성을 검증하는 단계를 포함한다. According to an aspect of the present invention, there is provided a method for verifying integrity of user data, the method comprising: a first terminal for generating a data file; a data storage server on the Internet for storing the data file; A method for verifying the integrity of user data based on a correlation between a first terminal and a second terminal that audits integrity of a first terminal, the method comprising: generating a signature key pair based on a bi- ; A data outsourcing step of dividing a data file to be uploaded by the first terminal into a predetermined number of blocks, encrypting the data file based on the signature key pair generated in the signature key pair generation step, and uploading the encrypted data file to the data storage server; Generating a challenge value for the part of the data file and transmitting the challenge value to the data storage server for the integrity check of the uploaded data file by the second terminal; Generating a proof value based on the information transmitted when the data storage server uploads the data and the challenge value, and transmitting the proof value to the second terminal; And verifying the validity of the proof value using the proof and the public keys by the second terminal.
바람직하게는, 상기 서명키 쌍 생성 단계는 정수 집합의 원소인 제1 난수(x)를 포함하는 비밀키와, 정수 집합의 원소인 제2 난수(k) 및 겹선형 사상에 의거한 성질을 만족하는 복수의 난수들(v,g,u,e(u,v))을 포함하는 공개키를 생성할 수 있다. Preferably, the signature key pair generation step satisfies a secret key including a first random number (x) that is an element of an integer set, a property based on a second random number (k) (V, g, u, e (u, v)), which is a public key.
바람직하게는, 상기 데이터 아웃소싱 단계는 업로드할 데이터 파일(Preferably, the data outsourcing step comprises the steps of:
()을 소정개로 분할하는 단계; 상기 BLS 짧은 서명 기법에 의거하여, 상기 서명키 쌍 생성 단계에서 생성된 비밀키 및 공개키가 반영된 태그()를 상기 분할된 데이터 각각에 대하여 생성하는 단계; 상기 파일 이름(name)에 대한 서명값(SSigssk( name ))을 생성하는 단계; 및 상기 데이터 파일(), 태그() 및 서명값이 부가된 파일명()을 함께 업로드하는 단계를 포함할 수 있다. ( ) Into a predetermined number; Based on the BLS short signature scheme, a secret key generated in the signature key pair generation step and a tag ) For each of the segmented data; Generating a signature value (SSig ssk ( name ) ) for the file name (name); And the data file ( ), tag( ) And the filename to which the signature value is attached ( ) May be uploaded together.
바람직하게는, 상기 챌린지값 전송단계는 상기 데이터 저장 서버로부터 데이터 파일 전체 블럭(n) 중 임의로 선정한 몇 개(c)의 블록들을 포함하는 임의의 부분집합(I)을 제공받는 단계; 상기 부분집합(I)에 대하여 챌린지 값을 생성하는 단계; 및 상기 챌린지 값을 상기 데이터 저장 서버로 전송하는 단계를 포함할 수 있다. Advantageously, the step of transmitting the challenge value comprises the steps of: receiving, from the data storage server, an arbitrary subset (I) including arbitrarily selected several blocks (c) of the entire data file block (n); Generating a challenge value for the subset (I); And transmitting the challenge value to the data storage server.
한편, 상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 사용자 데이터의 무결성 검증 장치는 데이터 파일을 저장하는 데이터 저장 서버와의 인터페이스를 제공하는 통신 인터페이스부; 상기 데이터 저장 서버에 업로드된 데이터 파일에 대한 무결성 확인을 위해 상기 데이터 파일에 일부에 대한 챌린지 값을 생성하여 상기 데이터 저장 서버로 전송하는 챌린지값 생성부; 및 상기 챌린지값 및 데이터 업로드시 전송된 정보에 기초하여 상기 데이터 저장 서버에서 생성된 증명값을 제공받아 그 증명값의 정당성을 검증하는 검증부를 포함한다. According to another aspect of the present invention, there is provided an apparatus for verifying user data integrity, comprising: a communication interface unit for providing an interface with a data storage server for storing a data file; A challenge value generation unit for generating a challenge value for a part of the data file to confirm integrity of the data file uploaded to the data storage server and transmitting the generated challenge value to the data storage server; And a verifying unit for receiving the verification value generated by the data storage server based on the challenge value and information transmitted when the data is uploaded and verifying the validity of the verification value.
바람직하게는, 상기 챌린지값 생성부는 상기 데이터 저장 서버로부터 데이터 파일 전체 블럭(n) 중 임의로 선정한 몇 개(c)의 블록들을 포함하는 임의의 부분집합(I)을 상기 통신 인터페이스부를 통해 제공받고, 상기 부분집합(I)에 대하여 챌린지 값을 생성할 수 있다. Advantageously, the challenge value generator is provided from the data storage server via the communication interface unit to any subset (I) including arbitrarily selected blocks (c) of the entire data file block (n) And generate a challenge value for the subset (I).
본 발명은 겹선형 사상(bilinear maps) 기법과 BLS 짧은 서명(BLS short signature) 기법을 적용하여 사용자 데이터의 무결성을 검증함으로서, 클라우드 컴퓨팅 환경에서 다양한 공격에 대하여도 데이터의 안전성을 보장하는 효과가 있다. The present invention verifies the integrity of user data by applying a bilinear mapping technique and a BLS short signature technique to guarantee the security of data against various attacks in a cloud computing environment .
도 1은 본 발명의 사용자 데이터 무결성 검증 방법을 구현하기 위한 시스템 구성도를 도시한 도면이다.
도 2는 본 발명의 일 실시 예에 따른 사용자 데이터 무결성 검증 방법에 대한 시스템간 처리 절차도이다.
도 3은 도 2에 예시된 암호화 과정에 대한 개략적인 처리 흐름도이다.
도 4는 도 2에 예시된 챌린지값 생성 과정에 대한 개략적인 처리 흐름도이다.
도 5는 도 2에 예시된 증명값 생성 과정에 대한 개략적인 처리 흐름도이다.
도 6은 본 발명의 일 실시 예에 따른 사용자 데이터 무결성 검증 장치에 대한 개략적인 블록도이다. 1 is a block diagram of a system for implementing a user data integrity verification method of the present invention.
2 is a flowchart illustrating an inter-system processing procedure for a user data integrity verification method according to an embodiment of the present invention.
3 is a schematic process flow chart for the encryption process illustrated in FIG.
FIG. 4 is a schematic flowchart of the process of generating the challenge value illustrated in FIG. 2. FIG.
FIG. 5 is a schematic processing flowchart of the procedure for generating a proof value illustrated in FIG. 2. FIG.
6 is a schematic block diagram of a user data integrity verification apparatus according to an embodiment of the present invention.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention. Like reference numerals are used for like elements in describing each drawing.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다. The terms first, second, A, B, etc. may be used to describe various elements, but the elements should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component. And / or < / RTI > includes any combination of a plurality of related listed items or any of a plurality of related listed items.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. It is to be understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, . On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used in this application is used only to describe a specific embodiment and is not intended to limit the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In the present application, the terms "comprises" or "having" and the like are used to specify that there is a feature, a number, a step, an operation, an element, a component or a combination thereof described in the specification, But do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the contextual meaning of the related art and are to be interpreted as either ideal or overly formal in the sense of the present application Do not.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다. 명세서 및 청구범위 전체에서, 어떤 부분이 어떤 구성 요소를 포함한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다. Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the accompanying drawings. Throughout the specification and claims, where a section includes a constituent, it does not exclude other elements unless specifically stated otherwise, but may include other elements.
도 1은 본 발명의 사용자 데이터 무결성 검증 방법을 구현하기 위한 시스템 구성도를 도시한 도면이다. 도 1을 참조하면 본 발명의 일 실시 예에 따른 사용자 데이터 무결성 검증 방법은 통신망으로 연결된 데이터 소유주(100), 데이터 저장 서버(200) 및 감사자(300)가 서로 상호 작용을 함으로써 구현할 수 있다. 즉, 데이터 소유주(100)가 자신의 데이터를 데이터 저장 서버(200)에 업로드(S10)하면, 데이터 저장서버(200)는 그 데이터 파일을 저장(S20)하고, 감사자(300)는 데이터 저장서버(200)에 저장된 데이터 파일에 대한 데이터 무결성 검증(S30)을 실시한다.1 is a block diagram of a system for implementing a user data integrity verification method of the present invention. Referring to FIG. 1, a method for verifying user data integrity according to an exemplary embodiment of the present invention may be implemented by interacting with a
이를 위해, 각 장치들은 서로 약속된 프로토콜에 의해 상호 작용을 하여야 하며, 본 발명은 겹선형 사상(bilinear maps)과, BLS 짧은 서명(BLS short signature) 알고리즘이 적용되었다. To this end, each device must interact with each other according to a promised protocol, and the present invention employs bilinear maps and a BLS short signature algorithm.
도 2는 본 발명의 일 실시 예에 따른 사용자 데이터 무결성 검증 방법에 대한 시스템간 처리 절차도이다. 도 2의 예에서는 데이터 소유주의 단말을 제1 단말(100A), 감사자의 단말을 제2 단말(300A)이라 칭하고 데이터 저장 서버(200)와의 상호 처리 절차의 예를 설명하고 있다. 이 때, G1, G2 및 GT를 위수 p로 가지는 곱셈순환군이라 하고, e:G1×G2→GT를 겹선형 사상이라 한다. 또한 g를 G2의 생성자, H(·):{0,1}*→G1을 맵 투 포인트 해시(map-to-point hash) 함수, h(·):GT →ZP를 또 다른 해시함수라고 하고, E(·)는 DES(Data Encryption Standard), AES(Advanced Encryption Standard)와 같은 블럭 알고리즘이라고 한다. 2 is a flowchart illustrating an inter-system processing procedure for a user data integrity verification method according to an embodiment of the present invention. In the example of FIG. 2, the data owner terminal is referred to as a
먼저, 단계 S105에서, 제1 단말(100A)은 겹선형 사상 및 BLS 짧은 서명 기법에 기초하여 서명키 쌍(spk, ssk)을 생성한다. 이 때, 제1 단말(100A)은 정수 집합의 원소인 제1 난수(x)를 포함하는 비밀키와, 정수 집합의 원소인 제2 난수(k) 및 겹선형 사상에 의거한 성질을 만족하는 복수의 난수들(v,g,u,e(u,v))을 포함하는 공개키를 생성한다. 이를 위해, 제1 단말(100A)은 난수 x,k ← ZP, u ← G1를 생성하고, v ←gx 를 계산한다. 여기서 비밀키는 sk = (x, ssk)이고, 공개키는 pk = (spk, v, g, u, k, e(u,v))이다. First, in step S105, the
단계 S110에서, 제1 단말(100A)은 업로드할 데이터 파일을 소정개의 블록으로 분할하고 상기 서명키 쌍 생성 단계에서 생성된 서명키 쌍에 의거하여 암호화한다. 이 때, 암호화를 위한 처리 과정의 예가 도 3에 예시되어 있다. In step S110, the
도 3은 도 2에 예시된 암호화 과정(S110)에 대한 개략적인 처리 흐름도로서, 도 3을 참조하면, 암호화를 위해, 단계 S111에서, 제1 단말(100A)은 업로드할 데이터 파일()을 소정개로 분할한다. 그리고, 단계 S112에서는, 상기 BLS 짧은 서명 기법에 의거하여, 상기 서명키 쌍 생성 단계에서 생성된 비밀키 및 공개키가 반영된 태그()를 상기 분할된 모든 데이터 각각에 대하여 생성한다. 이를 위해, 제1 단말(100A)은 하기의 수학식1을 적용한다.
FIG. 3 is a schematic flowchart of the encryption process (S110) illustrated in FIG. 2. Referring to FIG. 3, for encryption, in step S111, the
이 때, i는 분할된 데이터 중 i번째 파일에 대한 태그, , 은 파일 F의 id, 는 i번째 파일을 공개키k로 암호화한 값, x는 비밀키이다.
At this time, i is the tag of the i-th file among the divided data, , Is the id of the file F, Is the value obtained by encrypting the i-th file with the public key k, and x is the secret key.
단계 S113에서, 제1 단말(100A)은 상기 업로드할 데이터 파일의 이름(name)에 대한 서명값(SSigssk( name ))을 생성한다. 이 때, SSig는 안전한 전자 서명기법으로서, 공지된 다양한 서명 알고리즘을 적용할 수 있다.In step S113, the
이와 같이 암호화 과정(S110)이 수행되면, 도 2의 단계 S115에서, 제1 단말(100A)은 데이터 파일(), 태그() 및 서명값이 부가된 파일명()을 데이터 저장서버(200)로 업로드한다. When the encryption process (S110) is performed in this way, in step S115 of FIG. 2, the first terminal (100A) ), tag( ) And the filename to which the signature value is attached ( To the
한편, 단계 S120에서, 데이터 저장서버(200)는 상기 업로드된 데이터를 저장한다. 또한, 단계 S125에서, 데이터 저장서버(200)는 그 저장된 데이터에 대한 정보 일부를 제2 단말(300A)에게 제공한다. 이는 제2 단말(300A)이 그 데이터에 대한 챌린지(challenge)값을 생성하도록 하기 위함이다. 즉, 단계 S130에서, 제2 단말(300A)은 데이터 저장 서버(200)에 업로드된 데이터 파일에 대한 무결성 확인을 위해 상기 데이터 파일 일부에 대한 챌린지(challenge)값을 생성하고, 단계 S135에서, 그 챌린지(challenge) 값을 데이터 저장 서버(200)로 전송한다. Meanwhile, in step S120, the
도 4는 도 2에 예시된 챌린지값 생성 과정(S130)에 대한 개략적인 처리 흐름도로서, 도 4를 참조하면, 단계 S131에서, 제2 단말(300A)은 데이터 저장 서버(200)에 업로드된 데이터 파일 전체 블록 중 일부를 선정한다. 예컨대, 데이터 파일 전체 블록 n개 중 임의로 c개의 블록만을 선정할 수 있다. 그리고, 그 선정된 c개의 블록들을 포함하는 임의의 부분집합(I)을 데이터 저장 서버(200)로부터 제공받는다. 이 때, 제2 단말(300A)은 데이터 저장 서버(200)에서 임의로 선택된 상기 데이터 파일 일부를 제공받거나, 제2 단말(300A)이 데이터 저장 서버(200)에게 요청하여 선택된 데이터 파일 일부를 제공받을 수 있다. 한편, 단계 S132에서, 제2 단말(300A)은 데이터 저장서버(200)로부터 제공받은 일부 블록에 대한 챌린지 값을 생성한다. 이를 위해, 제2 단말(300A)은 하기의 수학식2를 적용한다.
4 is a schematic flowchart of a challenge value generation process (S130) illustrated in FIG. 2. Referring to FIG. 4, in step S131, the
이 때, 는 번째 블록에 해당하는 난수로써 임의로 생성한다.
At this time, The Th block.
이와 같이 챌린지 값이 생성되면, 도 2의 단계 S135에서, 제2 단말(300A)은 그 챌린지값을 데이터 저장 서버(200)로 전송한다. When the challenge value is generated as described above, the
그러면, 단계 S140에서, 데이터 저장 서버(200)는 데이터 업로드시 전송된 정보(t, mi, )와 상기 챌린지값에 기초하여 증명값(proof)을 생성한다. Then, in step S140, the
도 5는 도 2에 예시된 증명값 생성 과정(S140)에 대한 개략적인 처리 흐름도로서, 도 5를 참조하면, 단계 S141에서, 데이터 저장서버(200)는 정수 집합의 원소인 임의의 제3 난수(r)를 생성하고, 상기 제3 난수(r)에 기초하여 제1 증명값(R)을 생성한다. 이를 위해, 데이터 저장서버(200)는 난수 r ← ZP를 생성하고, 그 값에 의거하여 제1 증명값(R = e(u,v)r)을 생성한다. 5 is a schematic flowchart of a procedure of generating a proof value (S140) illustrated in FIG. 2. Referring to FIG. 5, in step S141, the
또한, 단계 S142에서, 데이터 저장서버(200)는 임의의 제3 난수(r)와 추가로 생성된 제1 및 제2 변수에 기초하여 제2 증명값()을 생성한다. 이를 위해, 데이터 저장서버(200)는 제1 증명값(R)을 해시함수에 반영( = h(R))하여 제2 증명값 생성을 위한 제1 변수()를 생성하고, 상기 챌린지값() 및 데이터 업로드시 수신된 정보()를 하기의 수학식3에 반영하여 제2 증명값 생성을 위한 제2 변수()를 생성한다.
Further, in step S142, the
이 때, 는 챌린지값, 는 i번째 파일을 공개키k로 암호화한 값이다.
At this time, A challenge value, Is a value obtained by encrypting the i-th file with the public key k.
제2 증명값()은 제1 변수()와 제2 변수()를 곱한 값을 제3 난수(r)에 합산()하여 구할 수 있다. The second proof value ( ) Is the first variable ( ) And the second variable ( ) Is added to the third random number (r) ( ).
한편, 단계 S143에서, 데이터 저장서버(200)는 데이터 업로드시 수신한 태그정보()에 의거하여 제3 증명값()을 생성한다. 이를 위해, 데이터 저장서버(200)는 하기의 수학식4를 적용한다.
On the other hand, in step S143, the
이 때, 는 데이터 업로드시 수신한 i번째 파일의 태그값, 는 챌린지값이다.
At this time, The tag value of the i-th file received at the time of data upload, Is the challenge value.
이와 같이 증명값(proof(μ,σ,R))을 생성한 데이터 저장 서버(200)는 도 2의 단계 S145에서, 이를 제2 단말(300A)에게 전송한다. The
도 2의 단계 S150에서, 제2 단말(300A)는 상기 증명값(proof(μ,σ,R))과 공개키들을 이용하여 상기 증명값(proof(μ,σ,R))의 정당성을 검증한다. 이를 위해, 제2 단말(300A)은 하기의 수학식 5를 적용한다.
2, the
이 때, 상기 수학식 5가 성립하기 위한 검증 단계는 다음과 같다.
At this time, the verification step for establishing Equation (5) is as follows.
이와 같이 수학식 5가 성립되면 상기 증명값(μ,σ,R))이 정당한 것이고, 해당 데이터의 무결성이 보장된 것으로 간주한다. When Equation (5) is established in this way, the proof value ([mu], [sigma], R)) is valid and the integrity of the data is considered to be guaranteed.
도 6은 본 발명의 일 실시 예에 따른 사용자 데이터 무결성 검증 장치에 대한 개략적인 블록도이다. 도 6을 참조하면, 본 발명의 일 실시 예에 따른 사용자 데이터 무결성 검증 장치(300A)는 사용자 인터페이스부(I/F)(310), 제어부(320), 챌린지값 생성부(330), 검증부(340) 및 통신 인터페이스부(I/F)(350)를 포함한다. 6 is a schematic block diagram of a user data integrity verification apparatus according to an embodiment of the present invention. Referring to FIG. 6, a user data
사용자 인터페이스부(I/F)(310)는 사용자와의 인터페이스를 제공한다. 예를 들어, 데이터 무결성 검증을 위한 데이터 선택 정보 등 사용자의 선택정보 및 조작신호를 입력받아 제어부(320)로 전달한다. The user interface unit (I / F) 310 provides an interface with the user. For example, user selection information and operation signal, such as data selection information for data integrity verification, are received and transmitted to the
제어부(320)는 미리 설정된 제어 프로그램에 의거하여 사용자 데이터 무결성 검증 장치의 동작을 제어한다. 특히, 사용자 선택정보 또는 조작신호에 의거하여 챌린지값 생성부(330) 및 검증부(340)의동작을 제어한다. The
챌린지값 생성부(330)는 클라우드 컴퓨팅 환경에서, 클라우드 서버 역할을 하는 데이터 저장 서버(도 1의 '200')에 업로드된 데이터 파일에 대한 무결성 확인을 위해 상기 데이터 파일에 일부에 대한 챌린지 값을 생성한다. 그리고 통신 인터페이스부(I/F)(350)를 통해 그 챌린지값을 데이터 저장서버(도 1의 '200')로 전송한다. 이를 위해, 챌린지값 생성부(330)는, 통신 인터페이스부(I/F)(350)를 통해, 데이터 저장 서버(도 1의 '200')로부터 데이터 파일 전체 블럭(n) 중 임의로 선정한 몇 개(c)의 블록들을 포함하는 임의의 부분집합(I)을 제공받고, 상기 부분집합(I)에 대하여 챌린지 값을 생성한다. 또한, 챌린지값 생성부(330)는 도 4를 참조한 설명에서 언급된 수학식2에 의거하여 챌린지 값을 생성하는 것이 바람직하다. In the cloud computing environment, the
검증부(340)는 상기 챌린지값 및 데이터 업로드시 전송된 정보에 기초하여 상기 데이터 저장 서버에서 생성된 증명값을 제공받아 그 증명값의 정당성을 검증한다. 이를 위해, 검증부(240)는 도 2를 참조한 설명에서 언급된 수학식5에 의거하여 상기 증명값을 검증하는 것이 바람직하다. The
통신 인터페이스부(I/F)(350)는 데이터 파일을 저장하는 데이터 저장 서버(도 1의 '200')와의 인터페이스를 제공한다. The communication interface unit (I / F) 350 provides an interface with a data storage server ('200' in FIG. 1) for storing data files.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다.The above-described embodiments of the present invention can be embodied in a general-purpose digital computer that can be embodied as a program that can be executed by a computer and operates the program using a computer-readable recording medium.
상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 를 포함한다.The computer readable recording medium includes a magnetic storage medium (e.g., ROM, floppy disk, hard disk, etc.), optical reading medium (e.g., CD ROM, DVD, etc.).
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. The present invention has been described with reference to the preferred embodiments.
본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
It will be understood by those skilled 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. Therefore, the disclosed embodiments should be considered in an illustrative rather than a restrictive sense. The scope of the present invention is defined by the appended claims rather than by the foregoing description, and all differences within the scope of equivalents thereof should be construed as being included in the present invention.
Claims (12)
상기 제1 단말이 겹선형 사상 및 BLS 짧은 서명 기법에 기초하여 서명키 쌍을 생성하는 단계;
상기 제1 단말이 업로드할 데이터 파일을 소정개의 블록으로 분할하고 상기 서명키 쌍 생성 단계에서 생성된 서명키 쌍에 의거하여 암호화한 후 데이터 저장 서버에 업로드 하는 데이터 아웃소싱 단계;
상기 제2 단말이 상기 업로드된 데이터 파일에 대한 무결성 확인을 위해 상기 데이터 파일 일부에 대한 챌린지(challenge)값을 생성하여 상기 데이터 저장 서버로 전송하는 단계;
상기 데이터 저장 서버가 데이터 업로드시 전송된 정보와 상기 챌린지값에 기초하여 증명값(proof)을 생성하고, 그 증명값을 상기 제2 단말로 전송하는 단계; 및
상기 제2 단말이 상기 증명값(proof)과 공개키들을 이용하여 상기 증명값(proof)의 정당성을 검증하는 단계를 포함하는 것을 특징으로 하는 사용자 데이터의 무결성 검증 방법.
A system for verifying the integrity of user data based on a correlation between a first terminal for generating a data file, a data storage server on the Internet for storing the data file, and a second terminal for auditing the integrity of the data file stored in the data storage server A method for verifying user data integrity,
The first terminal generating a signature key pair based on a double linear mapping and a BLS short signature scheme;
A data outsourcing step of dividing a data file to be uploaded by the first terminal into a predetermined number of blocks, encrypting the data file based on the signature key pair generated in the signature key pair generation step, and uploading the encrypted data file to the data storage server;
Generating a challenge value for the part of the data file and transmitting the challenge value to the data storage server for the integrity check of the uploaded data file by the second terminal;
Generating a proof value based on the information transmitted when the data storage server uploads the data and the challenge value, and transmitting the proof value to the second terminal; And
And verifying the validity of the proof value using the proof and the public keys by the second terminal.
정수 집합의 원소인 제1 난수(x)를 포함하는 비밀키와, 정수 집합의 원소인 제2 난수(k) 및 겹선형 사상에 의거한 성질을 만족하는 복수의 난수들(v,g,u,e(u,v))을 포함하는 공개키를 생성하는 것을 특징으로 하는 사용자 데이터의 무결성 검증 방법.
2. The method of claim 1,
A secret key including a first random number x that is an element of an integer set, a second random number k that is an integer set of elements, and a plurality of random numbers v, g, u , e (u, v)). < / RTI >
업로드할 데이터 파일()을 소정개로 분할하는 단계;
상기 BLS 짧은 서명 기법에 의거하여, 상기 서명키 쌍 생성 단계에서 생성된 비밀키 및 공개키가 반영된 태그()를 상기 분할된 데이터 각각에 대하여 생성하는 단계;
상기 파일 이름(name)에 대한 서명값(SSigssk(name))을 생성하는 단계; 및
상기 데이터 파일(), 태그() 및 서명값이 부가된 파일명()을 함께 업로드하는 단계를 포함하는 것을 특징으로 하는 사용자 데이터의 무결성 검증 방법.
3. The method of claim 2, wherein the data outsourcing comprises:
Data file to upload ( ) Into a predetermined number;
Based on the BLS short signature scheme, a secret key generated in the signature key pair generation step and a tag ) For each of the segmented data;
Generating a signature value (SSig ssk (name) ) for the file name (name); And
The data file ( ), tag( ) And the filename to which the signature value is attached ( The method comprising the steps of: (a) uploading the user data to the server;
하기의 수학식1에 의거하여 상기 분할된 데이터 모두에 대한 태그를 생성하는 것을 특징으로 하는 사용자 데이터의 무결성 검증 방법.
(수학식1)
이 때, i는 분할된 데이터 중 i번째 파일에 대한 태그, , 은 파일 F의 id, 는 i번째 파일을 공개키k로 암호화한 값, x는 비밀키이다.
4. The method according to claim 3,
A method for verifying integrity of user data, comprising: generating a tag for all of the divided data based on Equation (1).
(1)
At this time, i is the tag of the i-th file among the divided data, , Is the id of the file F, Is the value obtained by encrypting the i-th file with the public key k, and x is the secret key.
상기 데이터 저장 서버로부터 데이터 파일 전체 블럭(n) 중 임의로 선정한 몇 개(c)의 블록들을 포함하는 임의의 부분집합(I)을 제공받는 단계;
상기 부분집합(I)에 대하여 챌린지 값을 생성하는 단계; 및
상기 챌린지 값을 상기 데이터 저장 서버로 전송하는 단계를 포함하는 것을 특징으로 하는 사용자 데이터의 무결성 검증 방법.
The method of claim 1, wherein the challenge value transmission step comprises:
Receiving from the data storage server an arbitrary subset (I) comprising arbitrarily selected several (c) blocks of the entire data file block (n);
Generating a challenge value for the subset (I); And
And transmitting the challenge value to the data storage server.
하기의 수학식2에 의거하여 챌린지 값을 생성하는 것을 특징으로 하는 사용자 데이터의 무결성 검증 방법.
(수학식2)
이 때, 는 번째 블록에 해당하는 난수로써 임의로 생성한다.
6. The method of claim 5, wherein the generating the challenge value comprises:
Wherein a challenge value is generated based on Equation (2) below.
(2)
At this time, The Th block.
정수 집합의 원소인 제3 난수(r)를 생성하고, 상기 제3 난수(r)에 기초하여 제1 증명값(R)을 생성하는 단계;
상기 제1 증명값(R)을 해시함수에 반영하여 제2 증명값 생성을 위한 제1 변수()를 생성하는 단계;
상기 챌린지값 및 데이터 업로드시 수신된 정보를 하기의 수학식3에 반영하여 제2 증명값 생성을 위한 제2 변수()를 생성하는 단계;
상기 제3 난수(r), 제1 변수() 및 제2 변수()에 기초하여 제2 증명값()을 생성하는 단계;
하기의 수학식4에 의거하여 제3 증명값()을 생성하는 단계; 및
상기 제1 내지 제3 증명값을 상기 챌린지값에 대한 증명값(proof) 값으로 결정하는 단계를 포함하는 것을 특징으로 하는 사용자 데이터의 무결성 검증 방법.
(수학식3)
이 때, 는 챌린지값, 는 i번째 파일을 공개키k로 암호화한 값이다.
(수학식4)
이 때, 는 데이터 업로드시 수신한 i번째 파일의 태그값, 는 챌린지값이다.
2. The method according to claim 1, wherein the proof value generation step
Generating a third random number (r) which is an element of the integer set and generating a first authentication value (R) based on the third random number (r);
The first proof value (R) is reflected in the hash function to generate a first proof value );
The challenge value and the information received at the time of data upload are reflected in the following equation (3) to obtain the second parameter for generating the second authentication value );
The third random number r, the first variable ) And the second variable ( On the basis of the second proof value ( );
Based on the following equation (4), the third proof value ( ); And
And determining the first to third authentication values as a proof value for the challenge value.
(3)
At this time, A challenge value, Is a value obtained by encrypting the i-th file with the public key k.
(4)
At this time, The tag value of the i-th file received at the time of data upload, Is the challenge value.
하기의 수학식5에 의거하여 상기 증명값을 검증하는 것을 특징으로 하는 사용자 데이터의 무결성 검증 방법.
(수학식 5)
The method according to claim 1, wherein the verification value verification step
Wherein the verification value is verified based on Equation (5) below.
(5)
상기 데이터 저장 서버에 업로드된 데이터 파일에 대한 무결성 확인을 위해 상기 데이터 파일에 일부에 대한 챌린지 값을 생성하여 상기 데이터 저장 서버로 전송하는 챌린지값 생성부; 및
상기 챌린지값 및 데이터 업로드시 전송된 정보에 기초하여 상기 데이터 저장 서버에서 생성된 증명값을 제공받아 공개키들을 이용하여 그 증명값의 정당성을 검증하는 검증부를 포함하고,
상기 공개키들 각각은 겹선형 사상 및 BLS 짧은 서명 기법에 기초하여 생성된 서명키 쌍 중 하나이고, 상기 데이터 저장 서버에 업로드된 데이터 파일은 상기 생성된 서명키 쌍에 의거하여 암호화된 것을 특징으로 하는 사용자 데이터 무결성 검증 장치.
A communication interface unit for providing an interface with a data storage server for storing a data file;
A challenge value generation unit for generating a challenge value for a part of the data file to confirm integrity of the data file uploaded to the data storage server and transmitting the generated challenge value to the data storage server; And
And a verification unit that receives the challenge value and the authentication value generated by the data storage server based on the information transmitted when the data is uploaded and verifies the validity of the authentication value using the public keys,
Wherein each of the public keys is one of a signature key pair generated based on a double linear mapping and a BLS short signature technique and a data file uploaded to the data storage server is encrypted based on the generated signature key pair User data integrity verification device.
상기 데이터 저장 서버로부터 데이터 파일 전체 블럭(n) 중 임의로 선정한 몇 개(c)의 블록들을 포함하는 임의의 부분집합(I)을 상기 통신 인터페이스부를 통해 제공받고, 상기 부분집합(I)에 대하여 챌린지 값을 생성하는 것을 특징으로 하는 사용자 데이터의 무결성 검증 장치.
10. The apparatus of claim 9, wherein the challenge value generator
(I) including some arbitrarily selected blocks (c) of the entire data file block (n) from the data storage server via the communication interface, and a challenge for the subset (I) Value of the user data.
하기의 수학식2에 의거하여 챌린지 값을 생성하는 것을 특징으로 하는 사용자 데이터의 무결성 검증 장치.
(수학식2)
이 때, 는 번째 블록에 해당하는 난수로써 임의로 생성한다.
11. The apparatus of claim 10, wherein the challenge value generator
And generates a challenge value based on Equation (2) below.
(2)
At this time, The Th block.
하기의 수학식5에 의거하여 상기 증명값을 검증하는 것을 특징으로 하는 사용자 데이터의 무결성 검증 장치.
(수학식 5)
The apparatus of claim 9, wherein the verifying unit
Wherein the verification unit verifies the verification value based on Equation (5) below.
(5)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140114170A KR101593675B1 (en) | 2014-08-29 | 2014-08-29 | User data integrity verification method and apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140114170A KR101593675B1 (en) | 2014-08-29 | 2014-08-29 | User data integrity verification method and apparatus |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101593675B1 true KR101593675B1 (en) | 2016-02-15 |
Family
ID=55357459
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140114170A KR101593675B1 (en) | 2014-08-29 | 2014-08-29 | User data integrity verification method and apparatus |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101593675B1 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109951296A (en) * | 2019-03-05 | 2019-06-28 | 北京邮电大学 | A kind of remote data integrity verification method based on short signature |
US20200313859A1 (en) * | 2019-03-29 | 2020-10-01 | Accenture Global Solutions Limited | Cryptologic Blockchain-Based Off-Chain Storage Verification |
CN114760061A (en) * | 2020-12-29 | 2022-07-15 | 深信服科技股份有限公司 | Data uploading method, device, equipment and storage medium |
CN116112216A (en) * | 2022-12-15 | 2023-05-12 | 中国电信股份有限公司 | Cloud data verification method and device, electronic equipment and nonvolatile storage medium |
-
2014
- 2014-08-29 KR KR1020140114170A patent/KR101593675B1/en active IP Right Grant
Non-Patent Citations (1)
Title |
---|
은하수 외 2인, 컴퓨터 및 통신 시스템 제2권 제11호, "계수행렬을 이용한 외부 스토리지 무결성 검증 기법" (2013.11. 공개) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109951296A (en) * | 2019-03-05 | 2019-06-28 | 北京邮电大学 | A kind of remote data integrity verification method based on short signature |
US20200313859A1 (en) * | 2019-03-29 | 2020-10-01 | Accenture Global Solutions Limited | Cryptologic Blockchain-Based Off-Chain Storage Verification |
CN114760061A (en) * | 2020-12-29 | 2022-07-15 | 深信服科技股份有限公司 | Data uploading method, device, equipment and storage medium |
CN114760061B (en) * | 2020-12-29 | 2023-09-05 | 深信服科技股份有限公司 | Method, device, equipment and storage medium for uploading data |
CN116112216A (en) * | 2022-12-15 | 2023-05-12 | 中国电信股份有限公司 | Cloud data verification method and device, electronic equipment and nonvolatile storage medium |
CN116112216B (en) * | 2022-12-15 | 2024-05-14 | 中国电信股份有限公司 | Cloud data verification method and device, electronic equipment and nonvolatile storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102472231B1 (en) | Blockchain implementation method and system | |
CN106664202B (en) | Method, system and computer readable medium for providing encryption on multiple devices | |
US20220191012A1 (en) | Methods For Splitting and Recovering Key, Program Product, Storage Medium, and System | |
KR101658501B1 (en) | Digital signature service system based on hash function and method thereof | |
US9621524B2 (en) | Cloud-based key management | |
US9673979B1 (en) | Hierarchical, deterministic, one-time login tokens | |
CN111708991A (en) | Service authorization method, service authorization device, computer equipment and storage medium | |
KR101082917B1 (en) | Method for verifying the integrity of a user's data in remote computing and System thereof | |
US20150244522A1 (en) | Method and system for providing data security | |
US20170272251A1 (en) | Method of performing keyed-hash message authentication code (hmac) using multi-party computation without boolean gates | |
US11489660B2 (en) | Re-encrypting data on a hash chain | |
US20220014367A1 (en) | Decentralized computing systems and methods for performing actions using stored private data | |
KR102137122B1 (en) | Security check method, device, terminal and server | |
CN107359998A (en) | A kind of foundation of portable intelligent password management system and operating method | |
US11153074B1 (en) | Trust framework against systematic cryptographic | |
CN110445840B (en) | File storage and reading method based on block chain technology | |
US20190081783A1 (en) | Method for storing data on a storage entity | |
KR101580514B1 (en) | Method and apparatus for managing a password by using the seed key and computer readable recording medium applying the same | |
KR101593675B1 (en) | User data integrity verification method and apparatus | |
GB2546612A (en) | Password-authenticated public key encryption and decryption | |
KR101586439B1 (en) | User data integrity verification method and apparatus capable of guaranteeing privacy | |
Kwon et al. | A secure and efficient audit mechanism for dynamic shared data in cloud storage | |
US20210035018A1 (en) | Apparatus for verifying integrity of AI learning data and method therefor | |
CN111914270A (en) | Programmable authentication service method and system based on block chain technology | |
WO2022206203A1 (en) | Connection resilient multi-factor authentication |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20190201 Year of fee payment: 4 |