KR20230102488A - Fingerprinting apparatus and method for storing and sharing data in the cloud - Google Patents

Fingerprinting apparatus and method for storing and sharing data in the cloud Download PDF

Info

Publication number
KR20230102488A
KR20230102488A KR1020210192665A KR20210192665A KR20230102488A KR 20230102488 A KR20230102488 A KR 20230102488A KR 1020210192665 A KR1020210192665 A KR 1020210192665A KR 20210192665 A KR20210192665 A KR 20210192665A KR 20230102488 A KR20230102488 A KR 20230102488A
Authority
KR
South Korea
Prior art keywords
fingerprint
data
cloud
fingerprinting
storing
Prior art date
Application number
KR1020210192665A
Other languages
Korean (ko)
Other versions
KR102578606B1 (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 KR1020210192665A priority Critical patent/KR102578606B1/en
Publication of KR20230102488A publication Critical patent/KR20230102488A/en
Application granted granted Critical
Publication of KR102578606B1 publication Critical patent/KR102578606B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/16Program or content traceability, e.g. by watermarking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes

Abstract

클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 장치 및 방법이 개시된다. 클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 방법은, 관계형 데이터베이스에 저장된 관계형 데이터 세트를 미리 설정된 개수로 파티셔닝(partitioning)하여 데이터 파티션(Data Partition)을 생성하는 단계, 생성된 데이터 파티션에서 서브셋 데이터를 선택하는 단계, 선택된 서브셋 데이터에 대한 지문 비트를 생성하는 단계, 생성된 지문 비트를 이용하여 지문 임베딩을 수행하는 단계 및 공격을 받은 것으로 판단된 관계형 데이터베이스에 저장된 관계형 데이터 세트에 대하여 지문 디코딩을 수행하는 단계를 포함한다.A fingerprinting device and method for storing and sharing data in a cloud are disclosed. The fingerprinting method for storing and sharing data in the cloud involves partitioning a relational data set stored in a relational database into a preset number to create a data partition, and selecting subset data from the created data partition. step, generating fingerprint bits for the selected subset data, performing fingerprint embedding using the generated fingerprint bits, and performing fingerprint decoding on a relational data set stored in a relational database determined to be attacked. includes

Description

클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 장치 및 방법{Fingerprinting apparatus and method for storing and sharing data in the cloud}Fingerprinting apparatus and method for storing and sharing data in the cloud

본 발명은 클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 장치 및 방법에 관한 것이다.The present invention relates to a fingerprinting apparatus and method for storing and sharing data in a cloud.

정보 시스템에서 디지털 데이터의 성장과 함께 주요한 지식정보의 유출 방지, 소유권 보호, 보안 및 개인 정보 보호라는 과제가 중요하게 대두되고 있으며, 클라우드 컴퓨팅의 출현으로 공유 및 자동화 환경에서 다양한 데이터를 온디맨드 서비스로 사용하는 것이 현실이 되었다. 디지털 핑거프린팅 기술은 클라우드를 통한 악의적인 반역자 식별 및 불법 배포로부터 디지털 자산의 저작권 및 개인 정보를 보호하는 효과적인 솔루션으로 사용되고 있으며, 클라우드를 통해 유포된 멀티미디어 콘텐츠의 무단 배포 및 사용자를 추적하는 용도로도 많이 사용된다. 따라서, 디지털 핑거프린팅 기술은 클라우드에 보안 데이터를 임베딩하거나, 데이터베이스 등의 데이터 저장소를 보호하는데 필수적인 기술로 인식되고 있다.Along with the growth of digital data in information systems, the challenges of preventing leakage of key knowledge information, protection of ownership, and protection of security and personal information are emerging as important issues. use has become a reality. Digital fingerprinting technology is used as an effective solution to protect the copyright and personal information of digital assets from malicious traitor identification and illegal distribution through the cloud, and is also used for the purpose of tracking users and unauthorized distribution of multimedia contents distributed through the cloud. Used a lot. Accordingly, digital fingerprinting technology is recognized as an essential technology for embedding security data in the cloud or protecting data storage such as a database.

지문은 관계형 데이터베이스의 숫자 속성에 임베딩된 정보를 식별하고 검증한다. 또한, 지문은 디코딩 문자열과 임베딩 문자열의 매칭을 통해 악의적인 반역자(guilty traitor)를 운반한다. 일반적으로, 지문으로 임베디드된 비트 문자열은 이미지, 오디오 신호 등과 같은 의미 있는 시퀀스이다. 의미가 없는 시퀀스는 임의의 비트이거나 비밀 키 및 암호화 해시 함수와 같은 일부 개인 속성을 사용하여 런타임시 클라이언트 정보를 통해 계산되는 형태를 말하는데, 이러한 무의미한 문자열 시퀀스는 삽입, 삭제, 업데이트 공격과 같은 광범위한 악의적인 공격에 대해 강건한 특징을 지닌다. 악의적인 공격의 주요 목적은 관계형 데이터베이스를 제거, 탐지 불가능, 추적 불가능하게 만드는 것이다. 디지털 콘텐츠에 지문이 삽입된 경우, 원본 콘텐츠에 약간의 노이즈 및 데이터 왜곡이 발생할 수 있다.Fingerprints identify and verify information embedded in numeric attributes in relational databases. In addition, fingerprints carry a malicious traitor through the matching of the decoding string and the embedding string. In general, a bit string embedded as a fingerprint is a meaningful sequence such as an image or an audio signal. A meaningless sequence is a random bit or form computed from client information at runtime using some private properties, such as a secret key and a cryptographic hash function. It has robustness against human attacks. The main purpose of malicious attacks is to destroy, make undetectable, or untraceable relational databases. When fingerprints are inserted into digital content, some noise and data distortion may occur in the original content.

대한민국등록특허공보 제10-1496854호(2015.02.23)Republic of Korea Patent Registration No. 10-1496854 (2015.02.23)

본 발명은 클라우드 환경에서 수치형 속성 보호를 통해 디지털 프라이버시를 관리하며, 이를 통해 보안 데이터를 클라우드에 임베딩하고, 불법 배포로부터 디지털 자산의 저작권 및 개인정보를 보호하고, 클라우드에서 악의적인 반역자를 식별하여 클라우드 내의 관계형 데이터베이스를 보호하는 클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 장치 및 방법을 제공하기 위한 것이다.The present invention manages digital privacy through numerical attribute protection in a cloud environment, through which secure data is embedded in the cloud, copyright and personal information of digital assets are protected from illegal distribution, and malicious traitors are identified in the cloud. An object of the present invention is to provide a fingerprinting device and method for storing and sharing data in a cloud that protects a relational database in the cloud.

본 발명의 일 측면에 따르면, 핑거프린팅 장치가 수행하는 클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 방법이 개시된다.According to one aspect of the present invention, a fingerprinting method for storing and sharing data in a cloud performed by a fingerprinting device is disclosed.

본 발명의 실시예에 따른 클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 방법은, 관계형 데이터베이스에 저장된 관계형 데이터 세트를 미리 설정된 개수로 파티셔닝(partitioning)하여 데이터 파티션(Data Partition)을 생성하는 단계, 상기 생성된 데이터 파티션에서 서브셋 데이터를 선택하는 단계, 상기 선택된 서브셋 데이터에 대한 지문 비트를 생성하는 단계, 상기 생성된 지문 비트를 이용하여 지문 임베딩을 수행하는 단계 및 공격을 받은 것으로 판단된 관계형 데이터베이스에 저장된 관계형 데이터 세트에 대하여 지문 디코딩을 수행하는 단계를 포함한다.A fingerprinting method for storing and sharing data in the cloud according to an embodiment of the present invention includes the steps of partitioning a relational data set stored in a relational database into a preset number to create a data partition, the generation Selecting subset data from the generated data partition, generating fingerprint bits for the selected subset data, performing fingerprint embedding using the generated fingerprint bits, and storing the relational data stored in the relational database determined to be attacked. and performing fingerprint decoding on the data set.

상기 서브셋 데이터를 선택하는 단계는, 하기 수학식을 이용하여 상기 데이터 파티션의 선택 임계값(

Figure pat00001
)을 산출하고, 상기 산출된 선택 임계값을 이용하여 상기 서브셋 데이터를 선택한다.In the step of selecting the subset data, the selection threshold of the data partition (using the following equation)
Figure pat00001
) is calculated, and the subset data is selected using the calculated selection threshold.

Figure pat00002
Figure pat00002

여기서,

Figure pat00003
는 표준편차이고,
Figure pat00004
는 표준 편차의 백분율 값이고,
Figure pat00005
는 평균이고, c는 미리 설정된 신뢰 계수이다.here,
Figure pat00003
is the standard deviation,
Figure pat00004
is the percentage value of the standard deviation,
Figure pat00005
is an average, and c is a preset reliability coefficient.

상기 지문 비트를 생성하는 단계는, IP 주소, MAC 주소

Figure pat00006
, 날짜-시간 스탬프 협정 세계시(UTC: Universal Time Coordinated)
Figure pat00007
, 로그인 아이디
Figure pat00008
및 구매자 아이디
Figure pat00009
를 이용하여 상기 지문 비트를 생성한다.The step of generating the fingerprint bit includes an IP address and a MAC address.
Figure pat00006
, date-time stamp Universal Time Coordinated (UTC)
Figure pat00007
, login ID
Figure pat00008
and buyer ID
Figure pat00009
The fingerprint bit is generated using

상기 지문 비트를 생성하는 단계는, MD5(Message Digest 5) 해시 함수를 이용하여 16진 문자열을 생성하고, 상기 생성된 16진 문자열을 2진 비트 문자열로 변환하여 상기 지문 비트를 생성한다.In the generating of the fingerprint bit, a hexadecimal string is generated using a Message Digest 5 (MD5) hash function, and the fingerprint bit is generated by converting the generated hexadecimal string into a binary bit string.

상기 지문 임베딩을 수행하는 단계는, 하기 수학식의 인코딩 규칙을 이용하여 상기 지문 임베딩을 수행한다.In the step of performing the fingerprint embedding, the fingerprint embedding is performed using an encoding rule of the following equation.

Figure pat00010
Figure pat00010

여기서, fi는 원래의 계수 ui와 동일한 지문 계수를 나타내고, vi는 지문 길이를 나타내고, fbi는 지문 서명 부분을 나타낸다.Here, f i denotes the same fingerprint coefficient as the original coefficient u i , v i denotes the fingerprint length, and fb i denotes the fingerprint signature part.

상기 지문 디코딩을 수행하는 단계는, 상기 공격을 받은 것으로 판단된 관계형 데이터베이스에 대하여, 상기 데이터 파티션을 생성하는 단계, 상기 서브셋 데이터를 선택하는 단계, 상기 지문 비트를 생성하는 단계 및 상기 지문 임베딩을 수행하는 단계를 적용하여 수행된다.The performing of the fingerprint decoding may include generating the data partition, selecting the subset data, generating the fingerprint bit, and embedding the fingerprint for the relational database determined to have been attacked. This is done by applying the steps to

본 발명의 다른 측면에 따르면, 클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 장치가 개시된다.According to another aspect of the present invention, a fingerprinting device for storing and sharing data in the cloud is disclosed.

본 발명의 실시예에 따른 클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 장치는, 명령어를 저장하는 메모리 및 상기 명령어를 실행하는 프로세서를 포함하되, 상기 명령어는, 관계형 데이터베이스에 저장된 관계형 데이터 세트를 미리 설정된 개수로 파티셔닝(partitioning)하여 데이터 파티션(Data Partition)을 생성하는 단계, 상기 생성된 데이터 파티션에서 서브셋 데이터를 선택하는 단계, 상기 선택된 서브셋 데이터에 대한 지문 비트를 생성하는 단계, 상기 생성된 지문 비트를 이용하여 지문 임베딩을 수행하는 단계 및 공격을 받은 것으로 판단된 관계형 데이터베이스에 저장된 관계형 데이터 세트에 대하여 지문 디코딩을 수행하는 단계를 포함하는 핑거프린팅 방법을 수행한다.A fingerprinting apparatus for storing and sharing data in a cloud according to an embodiment of the present invention includes a memory for storing a command and a processor for executing the command, wherein the command sets a relational data set stored in a relational database in advance. Creating a data partition by partitioning into numbers, selecting subset data from the generated data partition, generating fingerprint bits for the selected subset data, A fingerprinting method is performed, which includes performing fingerprint embedding and performing fingerprint decoding on a relational data set stored in a relational database determined to have been attacked using the fingerprint detection method.

본 발명의 실시예에 따른 클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 장치 및 방법은, 지문 비트의 숫자 속성을 관계형 데이터베이스 숫자 속성에 임베딩하여 발생하는 왜곡을 최소화하고, 반역자 공격 및 지정된 데이터베이스의 지문 해독을 사용하여 반역자를 식별하는 것이 가능하고, 클라우드 환경에서 사용자 인증을 지정하기 위해 데이터 소유자에게만 알려진 보안 및 개인 매개변수가 사용된 서명 생성이 가능하고, 담합 공격, 소유권에 대한 거짓 주장, 삽입 공격, 삭제 공격, 수정, 무차별 대입(Brute Force) 공격의 다양한 시나리오의 공격으로부터 클라우드의 데이터베이스를 보호할 수 있다.A fingerprinting apparatus and method for storing and sharing data in the cloud according to an embodiment of the present invention minimizes distortion caused by embedding numeric attributes of fingerprint bits into numeric attributes of a relational database, traitor attack and fingerprint decryption of a designated database can be used to identify traitors, generate signatures using security and private parameters known only to the data owner to specify user authentication in a cloud environment, collusion attacks, false claims of ownership, injection attacks, It can protect databases in the cloud from attacks in various scenarios such as deletion attacks, modification attacks, and brute force attacks.

도 1은 본 발명의 실시예에 따른 보안 모델의 개요를 나타낸 도면.
도 2는 본 발명의 실시예에 따른 클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 방법에 대한 순차적 워크플로우를 나타낸 흐름도.
도 3은 본 발명의 실시예에 따른 보안 모델을 나타낸 도면.
도 4는 지문 비트 생성을 위한 프레임워크를 예시하여 나타낸 도면.
도 5는 본 발명의 실시예에 따른 클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 방법을 수행하기 위한 시스템 구조를 개략적으로 예시하여 나타낸 도면.
도 6은 본 발명의 실시예에 따른 핑거프린팅 장치가 수행하는 클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 방법을 개략적으로 예시하여 나타낸 흐름도.
도 7은 본 발명의 실시예에 따른 클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 장치의 구성을 개략적으로 예시하여 나타낸 도면.
1 is an overview of a security model according to an embodiment of the present invention;
2 is a flowchart illustrating a sequential workflow for a fingerprinting method for storing and sharing data in a cloud according to an embodiment of the present invention.
3 is a diagram illustrating a security model according to an embodiment of the present invention;
4 illustrates a framework for fingerprint bit generation;
5 is a diagram schematically illustrating a system structure for performing a fingerprinting method for storing and sharing data in a cloud according to an embodiment of the present invention.
6 is a flowchart schematically illustrating a fingerprinting method for storing and sharing data in a cloud performed by a fingerprinting device according to an embodiment of the present invention;
7 is a diagram schematically illustrating the configuration of a fingerprinting device for storing and sharing data in a cloud according to an embodiment of the present invention.

본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "구성된다" 또는 "포함한다" 등의 용어는 명세서상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.Singular expressions used herein include plural expressions unless the context clearly dictates otherwise. In this specification, terms such as "consisting of" or "comprising" should not be construed as necessarily including all of the various components or steps described in the specification, and some of the components or some of the steps It should be construed that it may not be included, or may further include additional components or steps. In addition, terms such as "...unit" and "module" described in the specification mean a unit that processes at least one function or operation, which may be implemented as hardware or software or a combination of hardware and software. .

이하, 본 발명의 다양한 실시예들을 첨부된 도면을 참조하여 상술하겠다. Hereinafter, various embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 실시예에 따른 보안 모델의 개요를 나타낸 도면이고, 도 2는 본 발명의 실시예에 따른 클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 방법에 대한 순차적 워크플로우를 나타낸 흐름도이고, 도 3은 본 발명의 실시예에 따른 보안 모델을 나타낸 도면이고, 도 4는 지문 비트 생성을 위한 프레임워크를 예시하여 나타낸 도면이고, 도 5는 본 발명의 실시예에 따른 클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 방법을 수행하기 위한 시스템 구조를 개략적으로 예시하여 나타낸 도면이다. 이하, 도 1 내지 도 5를 참조하여, 본 발명의 실시예에 따른 클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 방법의 개념에 대하여 전반적으로 설명하기로 한다.1 is a diagram showing the outline of a security model according to an embodiment of the present invention, and FIG. 2 is a flowchart showing a sequential workflow for a fingerprinting method for storing and sharing data in the cloud according to an embodiment of the present invention, 3 is a diagram showing a security model according to an embodiment of the present invention, FIG. 4 is a diagram illustrating a framework for generating a fingerprint bit, and FIG. 5 is a diagram showing data storage and sharing in the cloud according to an embodiment of the present invention. It is a diagram schematically illustrating a system structure for performing a fingerprinting method for. Hereinafter, the concept of a fingerprinting method for storing and sharing data in a cloud according to an embodiment of the present invention will be generally described with reference to FIGS. 1 to 5 .

스키마(scheme) 데이터 측면에서,

Figure pat00011
로 표현되는 관계형 데이터베이스가 고려된다. 여기서, PK는 기본키(primary key)를 나타내고,
Figure pat00012
속성(기본키가 없는 경우, 속성이 추가되어 고유 속성 역할을 하고, 새로운 튜플(tuple)의 증가에 따라 자동증가) 및 Ai(i=0, …, n-1)는 핑거프린팅을 위하여 필요한 후보로 지명된 숫자 속성이다.
Figure pat00013
에 n개의 튜플이 있다고 가정하면, 그 중 1/r은 지문
Figure pat00014
의 인코딩에 사용된다. 여기서, r은 하기에 주어진 임계값 공식을 통해 계산되는 사용자 정의 매개변수이다. 강력한 워터마킹 방식은 데이터에 작은 왜곡을 불가피하게 도입하므로, 각 속성값은
Figure pat00015
로 표시되는 LSB(least significant bit)의 수정이 허용될 수 있다고 가정한다. 본 명세서에 개시된 모든 매개변수는 하기 표 1과 같이 나타낼 수 있다.In terms of schema data,
Figure pat00011
A relational database, represented by , is considered. Here, PK represents a primary key,
Figure pat00012
Attributes (if there is no primary key, attributes are added to serve as unique attributes, and automatically increase according to the increase of new tuples) and A i (i = 0, ..., n-1) are required for fingerprinting. It is a nominated numeric attribute.
Figure pat00013
Assuming there are n tuples in , 1/r of them are fingerprints
Figure pat00014
used for encoding. where r is a user-defined parameter calculated through the threshold formula given below. A strong watermarking scheme inevitably introduces small distortions into the data, so each attribute value
Figure pat00015
Assume that the correction of the least significant bit (LSB), denoted by , is acceptable. All parameters disclosed in this specification can be represented as shown in Table 1 below.

Figure pat00016
Figure pat00016

도 1을 참조하면, 도 1에 도시된 블록 다이어그램은 핑거프린팅 기술의 모든 핵심 구성 요소를 요약한 것이다.

Figure pat00017
는 상수이고, 속성값에 대하여 독립적으로 사용된다. 그러므로, 이는 속성값의 이진 자릿수에 따라 달라진다.Referring to Figure 1, the block diagram shown in Figure 1 summarizes all the key components of the fingerprinting technology.
Figure pat00017
is a constant and is used independently of attribute values. Therefore, it depends on the number of binary digits in the attribute value.

도 2를 참조하면, 도 2는 관계형 데이터베이스에 임베딩된 지문 서명이 생성되는 스키마의 순차적 작업흐름을 보여준다. 본 발명의 실시예에 따른 핑거프린팅 방식은 클라우드의 관계형 데이터베이스뿐만 아니라 독립 실행형 시스템의 관계형 데이터베이스에서도 사용된다. 반역자 공격 및 주어진 데이터베이스의 지문 디코딩은 반역자를 식별하는데 사용된다. 이 블록 다이어그램은 인코딩, 디코딩 및 반역자 공격의 핑거프린팅 시퀀스의 모든 핵심 구성 요소를 요약한다.Referring to FIG. 2, FIG. 2 shows a sequential workflow of a schema in which a fingerprint signature embedded in a relational database is generated. The fingerprinting method according to an embodiment of the present invention is used in a relational database of a stand-alone system as well as a relational database of a cloud. A traitor attack and fingerprint decoding of a given database are used to identify traitors. This block diagram summarizes all the key components of the encoding, decoding and fingerprinting sequence of a traitor attack.

클라우드 컴퓨팅은 자동화된 공유 환경이며, 제한된 콘텐츠를 높은 신뢰성으로 획득할 수 있는 안전한 입구를 제공한다. 개인 콘텐츠는 디지털 정보의 불법 복제의 배포를 방지하는 안전한 구매를 위하여 원하는 디지털 정보에 접근할 수 있는 정품 정보를 포함한다. 예를 들어, 학생의 성적표, 복권에 대한 쿠폰 번호, 판매 이익, 소득세 정보, 환자 병력 등의 제한된 콘텐츠는 data-as-a-service라 불리우는 보안 및 지불 장벽을 성공적으로 통과한 사용자를 위하여 사용된다. 더욱이, data as a service는 데이터 사용자와 데이터 제공자 모두에게 온디맨드(on-demand) 및 지원을 제공한다. Microsoft Azure, Infochimps, Amazon, Oracle은 연중무휴 24시간 사용 가능하고 지속 가능함을 통해 저렴한 비용으로 고객을 지원하는 가장 유명한 서비스 제공자로 분류된다. 모든 서비스 제공자는 개인 콘텐츠를 획득하려는 도움이 필요한 사용자에게 접근을 제공하기 위하여 거래약관을 가지고 있다.Cloud computing is an automated shared environment and provides a secure entrance to obtain restricted content with high reliability. Personal content includes authentic information that allows access to desired digital information for safe purchase that prevents the distribution of illegal copies of digital information. For example, restricted content such as student transcripts, coupon numbers for lottery tickets, sales profits, income tax information, and patient medical histories are used for users who successfully pass a security and payment barrier called data-as-a-service. . Moreover, data as a service provides on-demand and support to both data users and data providers. Microsoft Azure, Infochimps, Amazon, and Oracle are among the most popular service providers that support customers at low cost through 24/7 availability and sustainability. All service providers have terms and conditions to provide access to users in need of assistance obtaining personal content.

도 3을 참조하면, 본 발명의 실시예에 따른 보안 모델은 스레드(thread) 및 반역자 식별을 가진다.Referring to FIG. 3 , the security model according to an embodiment of the present invention has thread and traitor identification.

지문 및 워터마크는 마크된 데이터베이스로부터 빠르게 파괴되거나 제거될 수 있다. 말로리(Mallory)가 클라우드 환경에서 스레드에서 수행할 수 있는 일반적인 공격 중 일부가 도 3에 도시되어 있다. 말로리는 삽입, 삭제, 수정 및 공모 공격과 같은 다양한 공격 벡터를 가지고 있다. 말로리는 여러 사본을 획득하여 거짓 소유권 주장 공격 및 무차별 대입 공격(brute-force attacks)과 비교한다. 이러한 공격이 핑거프린팅된 데이터베이스에 적용될 때, 공격은 핑거프린팅된 데이터베이스를 취약한 데이터베이스로 변환시킨다. 그런 다음, 말로리는 이 데이터베이스가 자신의 데이터베이스라는 주장을 시도한다. 그 후에, 이 취약한 데이터베이스는 공격자 채널에 전달되고, 임베딩된 지문이 디코딩되고, 과반수 투표에 적용된다. 최종적으로, 악의적인 반역자(guilty traitor)가 식별된다.Fingerprints and watermarks can be quickly destroyed or removed from the marked database. Some of the common attacks that Mallory can perform on threads in a cloud environment are shown in FIG. 3 . Mallory has multiple attack vectors such as insertion, deletion, modification and collusion attacks. Mallory obtains multiple copies and compares them to false claim attacks and brute-force attacks. When such an attack is applied to a fingerprinted database, the attack turns the fingerprinted database into a vulnerable database. Mallory then tries to claim that this database is his database. After that, this vulnerable database is passed to the attacker channel, the embedded fingerprint is decoded, and a majority vote is applied. Finally, a malicious traitor is identified.

공모 공격에서, 말로리는 핑거프린팅된 관계형 데이터베이스의 다양한 사본에 접근하여, 사본들의 차이점을 비교하고, 모든 서명값을 제거할 수 있다. 공격자는 혼합 및 일치 또는 다수결의 전략을 적용하여 지문 신호를 폭발시킨다. 이 공격은 지문에만 해당된다. 다른 모든 공격은 워터마크 및 지문과 관련된다. 선택된 행에 지문이 임베딩된 후에 일부 값이 변경되지 않기 때문에, 본 발명의 실시예에 따른 핑거프린팅 방식은 혼합 및 일치에 의존한다. 말로리는 이 행을 건너 뛰고, 공모 공격을 수행할 수 없다. 본 발명의 실시예에 따른 핑거프린팅 방식은 데이터 품질을 잃지 않고, 공모 공격을 극복한다.In a collusion attack, Mallory could access multiple copies of the fingerprinted relational database, compare the differences between the copies, and remove all signature values. The attacker applies a mix-and-match or majority-vote strategy to explode the fingerprint signal. This attack only applies to fingerprints. All other attacks involve watermarks and fingerprints. Since some values do not change after the fingerprint is embedded in the selected row, the fingerprinting scheme according to the embodiment of the present invention relies on mixing and matching. Mallory skips this row and cannot perform collusion attacks. The fingerprinting method according to an embodiment of the present invention overcomes a collusion attack without losing data quality.

거짓 소유권 주장 공격에서, 반역자는 소유자가 거짓 증거를 불법 복제한다고 주장하기 위하여 가짜 증거를 제공하려고 한다. 말로리는 새로운 지문 및 워터마크 서명을 추가하고, 이러한 종류의 공격에서 잘못된 소유권을 주장하려고 시도한다. 거짓 공격은 공격자가 핑거프린팅된 비트값을 무작위로 변경하고, 값이 성공적으로 추정되고 있음을 발견할 때, 발생한다. 본 발명의 실시예에 따른 핑거프린팅 방식은 선택된 튜플에 지문이 적용되기 때문에, 이러한 타입의 스레드에 대해서도 탄력적이다. 이러한 튜플의 선택은 계산된 공식으로 이루어질 수 있다. 말로리는 소유권을 주장하기 위하여 데이터베이스에 가짜 지문을 추가한다. 그러나, 스레드 모델에서 이 데이터베이스를 전달하고, 취약한 데이터베이스로부터 지문을 디코딩할 때, 도난이 식별될 수 있다.In a false claim attack, the traitor tries to provide fake evidence to claim that the owner pirated the false evidence. Mallory adds a new fingerprint and watermark signature, and attempts to claim false ownership in this kind of attack. A spoofing attack occurs when an attacker randomly changes the value of a fingerprinted bit and discovers that the value is being successfully guessed. The fingerprinting scheme according to an embodiment of the present invention is also resilient to this type of thread because the fingerprint is applied to the selected tuple. The selection of these tuples can be made with a calculated formula. Mallory adds fake fingerprints to the database to claim ownership. However, when passing this database in the thread model and decoding the fingerprint from the vulnerable database, the theft can be identified.

삽입 및 추가 공격에서, 공격자는 삽입된 서명이 방해를 받는다고 가정하고, 데이터 세트에 추가 튜플을 추가하여 동기화 오류를 발생시킨다. 더욱이, 말로리는 데이터 품질 및 상태의 저하를 고려한다. 그러나, 관계형 데이터베이스에서 임베딩된 지문값은 변경되지 않는다. 100% 디코딩 정확도로 지문이 디코딩되고, 반역자가 빠르게 식별될 수 있다.In an injection and append attack, an attacker assumes that the injected signature is compromised, and adds an extra tuple to the data set, resulting in a synchronization error. Furthermore, Mallory considers the degradation of data quality and condition. However, the fingerprint value embedded in the relational database does not change. Fingerprints can be decoded with 100% decoding accuracy, and traitors can be quickly identified.

삭제 공격에서, 우선, 말로리는 관계형 데이터베이스에서 데이터의 서브셋을 삭제하는 것을 목표로 한다. 그런 다음, 데이터 품질 및 조건을 파괴하기 위하여 임베딩된 데이터로부터 지문을 제거하려고 시도한다. 위협 계층에서 취약한 데이터베이스를 전달할 때, 말로리가 데이터 서브셋의 95%를 제거하면, 디코딩에서 반역자가 식별된다. 그러나, 본 발명의 실시예에 따른 핑거프린팅 방식은 95% 기록 삭제 공격에도 여전히 강력한다.In a delete attack, Mallory first aims to delete a subset of data in a relational database. It then attempts to remove the fingerprint from the embedded data in order to destroy data quality and condition. When passing a vulnerable database in the threat layer, if Mallory removes 95% of the data subset, the traitor is identified on decoding. However, the fingerprinting method according to the embodiment of the present invention is still strong against a 95% record deletion attack.

수정 공격에서, 일부 관계형 데이터베이스 처리는 핑거프린팅 및 워커마크된 데이터에 대해 의도하지 않게 수행된다. 그래서, 말로리는 워터마크 문자열을 완전히 또는 부분적으로 파괴할 수 있는 삭제, 삽입, 교대로 일부 마크된 데이터를 추가한다. 본 발명의 실시예에 따른 핑거프린팅 방식에서, 비밀 매개변수가 있는 보안키는 정적 매개변수 및 동적 매개변수의 조합을 생성한다. 이러한 매개변수는 IP/MAC 주소, 협정 세계시(UTC: Universal Time Coordinated), 로그인 아이디 및 구매자 아이디이다. 또한, 이러한 매개변수는 실생활에서 다양한 시나리오를 생성한다. 그래서, 말로리는 비밀키를 추측하지 않고, 지문이 임베딩된 정확한 튜플을 찾는다. 그러나, 본 발명의 실시예에 따른 핑거프린팅 방식은 모든 종류의 수정 및 핑거프린팅된 데이터의 최대 95%의 업데이트에 대하여 탄력적이다.In a modification attack, some relational database processing is unintentionally performed on fingerprinted and walkmarked data. So, Mallory adds some marked data alternately with deletion, insertion, which can completely or partially destroy the watermark string. In the fingerprinting scheme according to an embodiment of the present invention, a security key with secret parameters generates a combination of static parameters and dynamic parameters. These parameters are IP/MAC address, Universal Time Coordinated (UTC), Login ID and Buyer ID. Also, these parameters create various scenarios in real life. So, Mallory does not guess the secret key, but finds the exact tuple with the fingerprint embedded. However, the fingerprinting scheme according to an embodiment of the present invention is flexible for all kinds of modifications and updates of up to 95% of fingerprinted data.

무차별 대입 공격(brute-force attacks)에서, 말로리는 보안 서명을 추측하고, 비밀키와 같은 비밀 매개변수에 대하여 생각하기 위하여 가능한 모든 조합을 시도한다. 비밀 매개변수의 사이즈가 충분히 길다고 가정하여 공격을 방지한다. 비밀키 생성을 위하여, 매개변수의 정적 및 동적 조합은 사용되고 실시간 생성된다. 사용자가 지문을 생성하기 위하여 로그인할 때마다 상황에 따라 일부 매개변수가 변경된다. 사용자가 지문을 생성하는 동안 8가지의 실시간 상황이 발생할 수 있다. 이러한 매개변수는 사용자의 IP 주소, 시스템의 MAC 주소, 협정 세계시, 구매 요청 시 생성된 구매자 아이디 및 클라우드의 모든 사용자에 대하여 고유한 로그인 아이디이다. 고객이 데이터세트 접근 요청을 생성할 때, 사용자별 매개변수를 이용하여 고유한 지문 문자열을 생성한다. 각 고객에 대한 문자열로 수정된 35비트 고유 식별 서명이 획득된다. 본 발명의 실시예에 따른 핑거프린팅 방식을 통한 서명 생성은 공격자가 기존 서명을 생성하고 해독할 없는 기능을 가지고 있다. 34,359,738,368 조합의 가능성이 있는 35비트 문자열 길이가 있다. 말로리가 정확한 비트를 추측하거나 무차별 대입 공격을 실행하는데 너무 많은 시간이 걸린다. 견고성에 대한 또 다른 강력한 동기는 전체 서명 문자열을 지정된 각 속성에 포함한다는 것이다.In brute-force attacks, Mallory tries all possible combinations to guess the secure signature and think about secret parameters such as the secret key. The attack is prevented by assuming that the size of the secret parameter is sufficiently long. For secret key generation, static and dynamic combinations of parameters are used and generated in real time. Whenever a user logs in to generate a fingerprint, some parameters are changed according to circumstances. Eight real-time situations can occur while a user is fingerprinting. These parameters are the user's IP address, the system's MAC address, Coordinated Universal Time, the Buyer ID generated at the time of purchase request, and a login ID that is unique for every user in the cloud. When a customer creates a dataset access request, user-specific parameters are used to create a unique fingerprint string. A 35-bit unique identification signature modified to a string is obtained for each customer. Signature generation through the fingerprinting method according to an embodiment of the present invention has a function in which an attacker cannot generate and decrypt an existing signature. There is a 35-bit string length with 34,359,738,368 possible combinations. It takes too much time for Mallory to guess the correct bit or execute a brute force attack. Another strong motivation for robustness is the inclusion of the entire signature string in each specified attribute.

사용자 인증을 명시하는 여러 매개변수를 사용하여 서명 생성을 위한 클라우드 환경의 실시간 사용에 대하여 다양한 시나리오가 관찰된다. 이 매개변수는 일부의 개인 및 공용 매개변수를 포함한다. 개인 매개변수는 합법적인 사용자만 있고, 공용 매개변수는 클라우드 환경의 로그인 계정에 대한 이메일 주소와 같이, 다른 사용자가 알고 있는 정보로 간주된다. 로그인 계정

Figure pat00018
비밀번호, IP/MAC 주소
Figure pat00019
, UTC
Figure pat00020
및 구매자 아이디
Figure pat00021
또는 주문 아이디
Figure pat00022
가 할당되어, 성공적으로 주문된다. 데이터 소유자만 알고 있는 보안 및 개인 매개변수가 사용된다. 16진수 보안키 ks와 암호화 해시 함수
Figure pat00023
이다. 도 4를 참조하면, 도 4는 지문 비트 생성을 위한 프레임워크를 나타낸다.Various scenarios are observed for real-time use of a cloud environment for signature generation using multiple parameters specifying user authentication. These parameters include some private and public parameters. Private parameters are only for legitimate users, while public parameters are considered information known by other users, such as email addresses for login accounts in the cloud environment. login account
Figure pat00018
Password, IP/MAC address
Figure pat00019
, UTC
Figure pat00020
and buyer ID
Figure pat00021
or order id
Figure pat00022
is allocated and ordered successfully. Security and privacy parameters known only to the data owner are used. Hexadecimal secret key k s and cryptographic hash function
Figure pat00023
am. Referring to FIG. 4, FIG. 4 shows a framework for generating fingerprint bits.

하기 표 2는 지문 생성을 위한 매개변수 변화를 나열한 것이다.Table 2 below lists parameter changes for fingerprint generation.

Figure pat00024
Figure pat00024

표 2와 같이, 지문 생성에는 다양한 매개변수가 참여한다. 5개의 매개변수는 클라우드 사용자에게 직접 속한다. 이러한 매개변수는 두 개의 필수 상태를 가지고 있는데, 고유한

Figure pat00025
또는 기능이 다른
Figure pat00026
이다.As shown in Table 2, various parameters participate in fingerprint generation. Five parameters belong directly to cloud users. These parameters have two required states,
Figure pat00025
or different function
Figure pat00026
am.

시나리오 1: 클라이언트가 고유한 구매자 아이디를 사용하는 경우, 동일한 IP 및 MAC 주소를 사용하지만, 다른 시간에 로그인하고, 로그인 아이디를 사용하면, 다음과 같이 형성될 수 있다.Scenario 1: If the client uses a unique buyer ID, uses the same IP and MAC address, but logs in at a different time and uses the login ID, it can be formed as follows.

Figure pat00027
Figure pat00027

시나리오 2: 사용자는 고유한 MAC 및 시스템의 고정 IP 주소

Figure pat00028
를 사용하여 고유한 클라우드 로그인 계정
Figure pat00029
를 통해 클라우드 환경에 접속한 다음, 이 클라우드에서 특정 정보(데이터베이스)를 가져오도록 주문할 수 있다. 개별 구매자 아이디
Figure pat00030
는 데이터베이스를 확보하기 위해 사용하여 생성된 각 요청에 대하여 할당된다. 이 시나리오는 다음과 같이 나타낼 수 있다.Scenario 2: Users have their own MAC and system's static IP address
Figure pat00028
Use your own cloud login account
Figure pat00029
You can connect to the cloud environment via , and then order specific information (databases) to be fetched from this cloud. Individual Buyer ID
Figure pat00030
is allocated for each request created using it to secure the database. This scenario can be represented as follows.

Figure pat00031
Figure pat00031

시나리오 3: IP/MAC 주소는 다르지만, 로그인 시간과 아이디는 동일한 구매자 아이디가 있으며, 이는 다음과 같은 시나리오로 나타낼 수 있다.Scenario 3: There are buyer IDs with different IP/MAC addresses, but the same login time and ID. This can be represented by the following scenario.

Figure pat00032
Figure pat00032

시나리오 4: 일부 구매자 아이디는 IP/MAC 주소 및 로그인 아이디가 다르지만, 기간은 다양하며, 이는 다음과 같은 시나리오로 나타낼 수 있다.Scenario 4: Some buyer IDs have different IP/MAC addresses and login IDs, but the duration varies, which can be represented by the following scenarios.

Figure pat00033
Figure pat00033

시니라오 5: 다른 IP/MAC 주소 및 로그인 아이디로 열리지만, 동시에 로그인하는 구매자 아이디가 있으며, 이는 다음과 같은 시나리오로 나타낼 수 있다.Scenario 5: There are buyer IDs that open with different IP/MAC addresses and login IDs, but log in at the same time, which can be represented by the following scenario.

Figure pat00034
Figure pat00034

시나리오 6: IP/MAC 주소, 로그인 아이디, 로그인 시간이 다른 구매자 아이디가 있으며, 이는 다음과 같은 시나리오로 나타낼 수 있다.Scenario 6: There are buyer IDs with different IP/MAC addresses, login IDs, and login times, which can be represented by the following scenario.

Figure pat00035
Figure pat00035

시나리오 7: IP/MAC 주소, 로그인 아이디, 로그인 시간이 동일한 구매자 아이디가 있으며, 이는 다음과 같은 시나리오로 나타낼 수 있다.Scenario 7: There is a buyer ID with the same IP/MAC address, login ID, and login time, which can be represented by the following scenario.

Figure pat00036
Figure pat00036

시나리오 8: 일부 구매자 아이디는 IP/MAC 주소 및 로그인 시간이 동일하지만, 로그인 아이디가 다르며, 이는 다음과 같은 시나리오로 나타낼 수 있다.Scenario 8: Some buyer IDs have the same IP/MAC address and login time, but different login IDs, which can be represented by the following scenario.

Figure pat00037
Figure pat00037

데이터세트 D는 m 비중첩 파티션으로 나뉜다. 이 데이터 파티션은 데이터의 물리적 위치를 변경하지 않는다. 그럼에도 불구하고, 이 데이터 파티션은 논리적 그룹화를 기반으로 한다. 처음에, 하위 그룹의 총 수는 m 값과 동일하고, 비밀로 유지되고, 파티션 접근 방식을 공격에 안전하고 탄력적으로 만들기 위해 데이터 소유자만 알 수 있다. 마지막으로, 하위 그룹은 짝수 및 홀수 분할 빈(bin)이라 불리우는 두 개의 주요 분할 빈으로 분류된다. m' 파티션조차도 나머지가 0인 후보만 포함된다. 마지막으로, 홀수 분할 빈에는 분할 번호 1의 나머지 부분에 귀속되는 지명된 후보가 포함된다.Dataset D is divided into m non-overlapping partitions. This data partition does not change the physical location of data. Nonetheless, these data partitions are based on logical grouping. Initially, the total number of subgroups is equal to the value of m, kept secret, and known only to the data owner to make the partitioning approach secure and resilient to attacks. Finally, the subgroups are divided into two main partitioning bins called even and odd partitioning bins. Even the m' partition contains only candidates with a remainder of zero. Finally, the odd split bin contains the nominated candidates belonging to the remainder of split number 1.

임계값은 속성으로 제한되는 선택된 사용성에서 후보 속성을 선택하기 위하여 계산된다. 임계값은 디지털 서명을 마킹하기 위한 후보 속성을 선정하기 위하여 계산된다. 데이터에서 노이즈가 감소하고, 최종 사용자에게 높은 보안을 제공한다. 공격자가 지정된 속성값을 추측하기가 더 어려워진다. 더욱이, 적절한 임계값 사용의 중요한 장점은 원하는 데이터 왜곡을 최소화하고, 데이터의 신뢰성이 유지된다는 것이다. 데이터의 독창성에 영향을 미치지 않는 약간의 데이터 변경을 할 수 있다는 점에서 마이너 기능성이 있음이 고려된다. 후보 속성값이 임계값보다 큰 튜플만이 최종 하위 데이터 세트에 원래 하위 데이터 세트로 삽입되도록 선택된다. 이 분할은 물리적이 아닌 논리적으로 사용된다. 후보 속성 값이 임계값을 만족하면, 모든 튜플이 이 데이터베이스에 삽입된다.A threshold is computed to select a candidate attribute from the selected usability limited to the attribute. A threshold is calculated to select candidate attributes for marking a digital signature. Noise is reduced in the data, and high security is provided to the end user. This makes it more difficult for an attacker to guess the value of the specified property. Moreover, an important advantage of using an appropriate threshold is that desired data distortion is minimized and reliability of the data is maintained. It is considered to have minor functionality in that it allows minor data changes to be made that do not affect the originality of the data. Only tuples with candidate attribute values greater than the threshold are selected to be inserted into the final sub-data set as the original sub-data set. This division is used logically, not physically. If the candidate attribute values satisfy the threshold, all tuples are inserted into this database.

본 발명의 실시예에 따른 핑거프린팅 방식은 관계형 데이터베이스 지정 튜플의 숫자 속성에서 각 클라이언트에 대한 강력한 다중 비트 지문 문자열 식별자를 임베딩한다. 강력한 핑거프린팅 방식은 100% 디코딩 정확도로 불법 배포로부터 데이터베이스를 보호하고, 소유권 증명 및 광범위한 공격에 대한 탄력성을 목표로 합니다. 이때, 공격 후 핑거프린트 튜플은 하나만 남게 된다. 핑거프린팅은 각 구매자에 대해 고유한 비트 코드를 삽입하는데 사용되며, 이는 관계형 데이터에서 가장 작은 왜곡이나 노이즈를 생성한다. 데이터베이스 클라이언트는 약간의 노이즈를 견딜 수 있다는 가정이 있다. 핑거프린팅 데이터베이스는 여러 구매자에게 여러 사본을 제공한다.The fingerprinting scheme according to an embodiment of the present invention embeds a strong multi-bit fingerprint string identifier for each client in a numeric attribute of a relational database-specific tuple. Robust fingerprinting schemes aim to protect databases from illicit distribution with 100% decoding accuracy, proof-of-ownership and resilience to a wide range of attacks. At this time, after the attack, only one fingerprint tuple remains. Fingerprinting is used to insert a unique bit code for each buyer, which creates the least distortion or noise in the relational data. There is an assumption that database clients can tolerate some noise. The fingerprinting database provides multiple copies to multiple buyers.

지문 디코딩은 의심스러운 데이터에서 임베딩된 지문 비트

Figure pat00038
문자열을 디코딩하는데 사용된다. 데이터 소유자인 앨리스(Alice)가 일부 데이터 세트가 자신의 관계 데이터 세트
Figure pat00039
에서 불법적으로 복사, 재배포 또는 변조되었다고 비난할 때, 가능한 시나리오에서 지문 감지가 발생한다. 앨리스 또는 제3자는 지문 감지 알고리즘을 통해 의심스러운 데이터베이스의 소유권을 확인한다. 지문 감지 알고리즘의 지문 디코딩 효율성은 일반적으로, 작은 대역폭에 따라 다르다. 대역폭이 클수록 디코딩 정확도가 높아진다. 즉, 다중 공격에 대하여 더 많은 지문 기술이 필요하며, 그 반대의 경우도 마찬가지이다.Fingerprint decoding is the fingerprint bits embedded in the suspect data.
Figure pat00038
Used to decode a string. Alice, the data owner, wants some data sets to be her relational data sets.
Figure pat00039
Fingerprint detection occurs in a possible scenario when it is accused of being illegally copied, redistributed or tampered with. Alice or a third party verifies ownership of the suspect database through a fingerprint detection algorithm. The fingerprint decoding efficiency of a fingerprint detection algorithm is generally dependent on a small bandwidth. The larger the bandwidth, the higher the decoding accuracy. That is, more fingerprinting techniques are needed for multiple attacks and vice versa.

과반수 투표 절차가 수행되는데, 이는 광범위한 악성 공격에 대한 보안 및 디코딩 정확도의 향상을 목표로 한다.A majority voting procedure is performed, which aims to improve decoding accuracy and security against a wide range of malicious attacks.

강력한 핑거프린팅 방식은 불법 복제 감지, 소유권 증명 또는 저작권을 통해 디지털 콘텐츠를 보호하는 것을 목표로 한다. 본 발명의 실시예에 따른 핑거프린팅 방식이 수행되는 시스템의 구조는 도 5와 같이 나타낼 수 있다.Strong fingerprinting methods aim to protect digital content through piracy detection, proof of ownership, or copyright. The structure of a system in which a fingerprinting method according to an embodiment of the present invention is performed may be shown as shown in FIG. 5 .

도 5를 참조하면, 강력한 지문은 관계형 데이터베이스의 숫자 속성에 임베딩된 구매자 정보를 식별하고 검증한다. 디코딩 문자열을 임베딩 문자열의 배열과 일치시켜 악의적인 반역자를 운반한다. 지문으로 임베딩된 비트열은 적절한 시퀀스를 통해 생성된 의미있는 시퀀스이다. 의미있는 패턴은 이미지, 소유자 정보 또는 오디오 신호이다. 의미없는 시퀀스는 임의의 비트이거나 비밀 키 ks 및 암호화 해시 함수 MD5와 같은 일부 개인 속성을 사용하여 런타임 시 클라이언트 정보를 통해 계산될 수 있다. 이러한 무의미한 문자열 시퀀스는 강력하고, 원하는 지문의 속성을 강화한다. 의미없는 비트 문자열은 삽입, 삭제 및 업데이트 공격과 같은 광범위한 악의적인 공격에 대해 예측할 수 없고, 강력하다. 악의적인 공격의 주요 목적은 관계형 데이터베이스를 제거, 탐지 불가능, 추적 불가능, 변경하게 만드는 것이다. 디지털 콘텐츠에 지문이 임베딩될 때, 원본 콘텐츠에 약간의 노이즈 및 데이터 왜곡이 발생할 수 있다. 지문 비트를 임베딩하기 전 및 데이터베이스에 서명 임베딩 절차를 완료한 후에, 평균 및 표준편차를 사용하여 관계형 데이터베이스 계산의 전반적인 변화가 산출된다.Referring to Figure 5, a strong fingerprint identifies and verifies buyer information embedded in numeric attributes in a relational database. Convey the malicious traitor by matching the decoding string to the array of embedding strings. A bit string embedded as a fingerprint is a meaningful sequence generated through an appropriate sequence. A meaningful pattern is an image, owner information or audio signal. Meaningless sequences can be random bits or computed from client information at runtime using some private properties, such as the secret key k s and cryptographic hash function MD5. These nonsensical string sequences are powerful and reinforce the properties of the desired fingerprint. Meaningless bit strings are unpredictable and robust against a wide range of malicious attacks, such as insert, delete, and update attacks. The main purpose of a malicious attack is to destroy, make undetectable, untraceable, or alter relational databases. When a fingerprint is embedded in digital content, some noise and data distortion may occur in the original content. Before embedding the fingerprint bits and after completing the signature embedding procedure in the database, the mean and standard deviation are used to calculate the overall change in relational database calculations.

본 발명의 실시예에 따른 핑거프린팅 방식은 핑거프린팅 및 전반적인 데이터 왜곡을 임베딩하여 생성되는 노이즈를 최소화하는데 중점을 둔다. 관계형 데이터베이스는 데이터 왜곡을 유발하는 소량의 노이즈를 견딜 수 있다고 가정한다.The fingerprinting method according to an embodiment of the present invention focuses on minimizing noise generated by embedding fingerprinting and overall data distortion. Relational databases are assumed to be able to tolerate small amounts of noise that cause data distortion.

한편, 본 발명의 실시예에 따른 핑거프린팅 방식은 핑거프린트 비트를 관계형 데이터베이스의 숫자 속성에 임베딩함으로써, 발생하는 왜곡을 최소화할 수 있다. 기존 기술의 또 다른 단점은 원본 데이터의 선택된 속성의 원본 콘텐츠 값에 의존한다. 본 발명의 실시예에 따른 핑거프린팅 방식은 원본 데이터와 무관하고, 데이터 소유자 또는 데이터 보호 권한 기관만 알고 있는 일부 값을 포함하는 배열이 도입된다. 이 파일 관찰 크기는 원본 데이터베이스에 비해 매우 작다. 핑거프린팅 기술의 견고성과 관련된 또 다른 측면은 핑거프린팅을 마크하는데 사용할 수 있는 총 대역폭 사이즈이다. 더 큰 대역폭은 지문 문자열을 임베딩할 가능성과 공간이 더 많다는 것을 의미한다. 대역폭이 가장 작다는 것은 지문을 삽입할 수 있는 선택지가 제한적이라는 것을 의미하며, 공격자의 악의적인 공격에 대해 훨씬 더 강력하지 않다. 사용성 제약과 관계형 데이터베이스 대역폭의 사이즈를 증가시켜 높은 수준의 견고성이 달성될 수 있다.Meanwhile, the fingerprinting method according to an embodiment of the present invention can minimize distortion by embedding a fingerprint bit into a numeric attribute of a relational database. Another drawback of existing techniques is their reliance on the original content values of selected attributes of the original data. In the fingerprinting method according to an embodiment of the present invention, an array including some values that are independent of original data and known only to the data owner or data protection authority is introduced. This file observed size is very small compared to the original database. Another aspect related to the robustness of fingerprinting technology is the amount of total bandwidth available for marking fingerprints. Greater bandwidth means more possibilities and space to embed the fingerprint string. The smallest bandwidth means you have limited options for fingerprinting, and it's not much stronger against malicious attacks from attackers. A high level of robustness can be achieved by increasing the size of the usability constraints and relational database bandwidth.

도 6은 본 발명의 실시예에 따른 핑거프린팅 장치가 수행하는 클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 방법을 개략적으로 예시하여 나타낸 흐름도이다.6 is a flowchart schematically illustrating a fingerprinting method for storing and sharing data in a cloud performed by a fingerprinting device according to an embodiment of the present invention.

강력한 지문 알고리즘은 지문 비트를 데이터 세트에 임베딩하는데 사용된다. 지문 임베딩 알고리즘은 비밀키 ks 및 지문 비트

Figure pat00040
를 입력으로 받아 데이터 세트 D를 지문 데이터 세트 DFP로 변환한다. 워터마킹에 의한 수정(왜곡)은 사용성 제약 행렬
Figure pat00041
에 의하여 제한된다. 본 발명의 실시예에 따른 클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 방법은 결국 데이터 세트를 사용할 모든 가능한 타입의 어플리케이션에 대하여 한번만 정의된다. 이하, 도 6을 참조하여, 본 발명의 실시예에 따른 클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 방법에 대하여 설명하기로 한다.A strong fingerprint algorithm is used to embed the fingerprint bits into the data set. The fingerprint embedding algorithm uses a secret key k s and fingerprint bits
Figure pat00040
as input and converts the data set D into the fingerprint data set DFP. Modification (distortion) by watermarking is a usability constraint matrix
Figure pat00041
limited by The fingerprinting method for storing and sharing data in the cloud according to an embodiment of the present invention is defined only once for all possible types of applications that will eventually use the data set. Hereinafter, referring to FIG. 6 , a fingerprinting method for storing and sharing data in a cloud according to an embodiment of the present invention will be described.

S610 단계에서, 핑거프린팅 장치는, 관계형 데이터베이스에 저장된 관계형 데이터 세트를 미리 설정된 개수로 파티셔닝(partitioning)하여 데이터 파티션(Data Partition)을 생성한다.In step S610, the fingerprinting apparatus creates a data partition by partitioning the relational data set stored in the relational database into a preset number.

임베딩 프로세스를 초기화하기 위하여 우선, 관계형 데이터 세트를 여러 하위 그룹으로 나눈다. m이 데이터 소유자에게 알려진 개인 제약 조건 번호인 경우, 이러한 파티션은 겹치지 않으며, 분할이 논리적으로 수행된다. 물리적 데이터 위치는 유사하게 유지되며, 원본 데이터 세트의 형태에 영향을 주지 않는다. 이 데이터 세트는 m(예를 들어, m=100)개의 파티션으로 나뉘어

Figure pat00042
가 된다. 이 논리적 분할은 집합 이론의 기본 연산(예를 들어, 합집합, 교집합 및 공집합)을 수행한다. 각 파티션에 공통 요소가 없기 때문에, 다른 세트의 교집합이 비어 있는 것으로 관찰된다. 각 튜플은
Figure pat00043
로 하나의 파티션에만 속한다. 또한, 각 튜플은 각 파티션이 원본 데이터셋으로 소진되는 교집합의 속성이
Figure pat00044
로 만족된다. 이 논리적 데이터 파티션은 모든 각 하위 그룹이 최소한 하나의 튜플을 포함하는 속성을 가진다.
Figure pat00045
이므로, 데이터 파티션 그룹은 비어 있을 수 없다. 각 파티션의 여러 튜플이 동일할 필요는 없다. 데이터 파티션은 두 레벨의 파티션으로 완료된다. 데이터는 레벨 1에서 m개의 하위 카테고리로 데이터를 분류하도록 파티션된다. 그런 다음, 최종 파티션이 수행되고, 모든 하위 그룹은 m' = 0 및 m' = 1에 대하여 2개의 주요 카테고리로 분류된다. 관계형 데이터베이스에서, 모든 튜플의 기본키는 비밀키 ks 및 암호화 해시 함수와 연결된다. 비밀키는 개인 매개변수이며, 데이터 소유자만 알고 있다. 해시 함수 타입에 따라 16진수 문자열이 생성된다. 광범위한 보안을 제공하는 MD5(Message Digest 5) 해시 알고리즘을 이용하여 1a 28비트의 해시값이 생성된다. 16진수 값이 획득된 후, m의 메소드 값을 고려한다. m 값도 비밀로 유지된다. 모든 행을 m개의 하위 그룹으로 분류한다. 첫번째 레벨의 하위 그룹화를 완료한 후, 모든 하위 그룹 요소를 두 레벨의 추가 파티션으로 나눈다. 이러한 데이터 파티션을 수행하는 알고리즘은 하기 표와 같이 나타낼 수 있다.To initiate the embedding process, we first divide the relational data set into several subgroups. If m is a private constraint number known to the data owner, these partitions do not overlap and partitioning is logically performed. The physical data location remains similar and does not affect the shape of the original data set. This data set is divided into m (e.g. m=100) partitions.
Figure pat00042
becomes This logical division performs the basic operations of set theory (eg, union, intersection, and empty set). Since each partition has no elements in common, the intersection of the other sets is observed to be empty. each tuple is
Figure pat00043
belongs to only one partition. In addition, each tuple has the property of intersection where each partition is exhausted into the original dataset.
Figure pat00044
is satisfied with This logical data partition has an attribute where every subgroup contains at least one tuple.
Figure pat00045
, the data partition group cannot be empty. Multiple tuples in each partition need not be identical. Data partitioning is done with two levels of partitioning. The data is partitioned to classify the data into m subcategories at level 1. Then, a final partition is performed, and all subgroups are classified into two main categories for m' = 0 and m' = 1. In a relational database, the primary key of every tuple is associated with a secret key k s and a cryptographic hash function. The private key is a private parameter, known only to the owner of the data. A hexadecimal string is generated according to the hash function type. The 1a 28-bit hash value is generated using the MD5 (Message Digest 5) hash algorithm, which provides extensive security. After the hexadecimal value is obtained, consider the method value of m. The value of m is also kept secret. Classify all rows into m subgroups. After completing the first level of subgrouping, divide all subgroup elements into two levels of additional partitions. An algorithm for performing such data partitioning can be represented as shown in the table below.

Figure pat00046
Figure pat00046

S620 단계에서, 핑거프린팅 장치는, 생성된 데이터 파티션에서 서브셋 데이터를 선택한다.In step S620, the fingerprinting device selects subset data from the created data partition.

원본 데이터의 왜곡과 노이즈를 최소화하기 위하여, 선택된 튜플만 핑거프린팅을 위하여 지정된다. 속성 선택은 데이터 소유자가 정의하는 사용성 제약 조건을 기반으로 한다. 여기서, 사용성 제약 조건은 데이터 손실의 사용성을 제어하고, 판매자에 의하여 정의되고, 지문 임베딩에 사용 가능한 대역폭 내에서 식별하는데 사용된다. 여기서, 대역폭은 데이터가 위치하는 관계형 데이터베이스의 최대 용량이다. 핑거프린팅 알고리즘의 지문 디코딩 효율은 일반적으로, 이 대역폭에 따라 다르다. 대역폭이 클수록 디코딩 정확도가 높아진다. 즉, 지문 기술이 많을수록, 다중 공격에 대해 더 강력하고, 그 반대의 경우도 마찬가지이다. 데이터 수신자는 왜곡이 최소화된 이상없는 원본 데이터를 원한다. 판매자는 변경사항을 바인딩하기 위하여 사용성 제약 조건을 정의한다.In order to minimize distortion and noise of original data, only selected tuples are designated for fingerprinting. Attribute selection is based on usability constraints defined by data owners. Here, the usability constraint controls the usability of data loss, is defined by the vendor, and is used to identify within the available bandwidth for fingerprint embedding. Here, bandwidth is the maximum capacity of the relational database where the data resides. The fingerprint decoding efficiency of a fingerprinting algorithm generally depends on this bandwidth. The larger the bandwidth, the higher the decoding accuracy. That is, the more fingerprinting techniques, the stronger they are against multiple attacks and vice versa. Data receivers want ideal-free original data with minimized distortion. Vendors define usability constraints to bind changes.

정보를 보존하기 위하여, 판매자는 관계형 데이터베이스에서 사용성 제약 조건을 정의한다. 선택된 속성 제약 조건은 포함된 값을 기반으로 선택된다. 결과값은 제한된 속성값에 대해 증가 또는 감소 연산을 수행한다. 최종값의 평균 및 표준 편차는 변경되지 않는다. 핑거프린팅할 데이터를 선택하기 위한 속성 선택을 위하여, 하기 수학식을 이용하여 데이터 선택 임계값이 산출된다.To preserve information, vendors define usability constraints in relational databases. Selected attribute constraints are selected based on the included values. The resulting value performs an increment or decrement operation on limited attribute values. The mean and standard deviation of the final values are not changed. For attribute selection for selecting data to be fingerprinted, a data selection threshold is calculated using the following equation.

Figure pat00047
Figure pat00047

데이터 파티션

Figure pat00048
은 데이터 선택을 위한 입력으로 주어지고, 데이터베이스
Figure pat00049
는 결과 출력으로 주어진다. 데이터베이스
Figure pat00050
는 값이 임계값 제한을 충족하는 튜플만 포함한다. 지문 인코딩 프로세스의 경우, 속성 Ai가 임계값
Figure pat00051
을 초과하는 튜플만 데이터베이스
Figure pat00052
에 삽입된다.
Figure pat00053
에서 각 파티션 튜플에 대하여, 평균(
Figure pat00054
), 사용자에 의하여 선택된 일부 백분율 값(
Figure pat00055
), 표준 편차(
Figure pat00056
) 및 표준 편차의 백분율 값(
Figure pat00057
)이 있다. 백분율 값은 0에서 100 사이이며, 데이터 소유자에 의하여 정의된다. c는 0에서 1 사이의 값을 갖는 신뢰 계수이다. 표준 편차의 백분율 값
Figure pat00058
과 c는 비밀이 유지된다. 보안 매커니즘을 강화하면, 공격자는 지문이 삽입된 선택된 튜플을 추측하기 매우 어렵다. 이 값은 데이터 소유자에 의하여 임의로 정의된다. 두 개의 비밀 매개변수를 사용하는 목적은 표준 편차의 백분율 값
Figure pat00059
과 신뢰 계수 c의 두 매개변수 값을 모두 정확하게 추측할 수 없기 때문이다. 공격자가 임계값을 계산하는 것은 모든 면에서 불가능해 진다.
Figure pat00060
를 표준 편차의 백분율 값
Figure pat00061
과 곱하고, 결과 평균(
Figure pat00062
)을 신뢰 계수 c의 값과 곱한 값으로 나누어 임계값 계산이 수행된다. 하기 수학식을 통해 획득되는 임계값 및 임계값
Figure pat00063
보다 큰 모든 속성 값은 데이터베이스
Figure pat00064
에 저장된다.data partition
Figure pat00048
is given as an input for data selection, and
Figure pat00049
is given as the resulting output. database
Figure pat00050
contains only tuples whose values satisfy the threshold constraint. For the fingerprint encoding process, the property A i is the threshold
Figure pat00051
Only tuples that exceed the database
Figure pat00052
is inserted into
Figure pat00053
For each partition tuple in , the average (
Figure pat00054
), some percentage value selected by the user (
Figure pat00055
), Standard Deviation(
Figure pat00056
) and the percentage value of the standard deviation (
Figure pat00057
) is there. Percentage values range from 0 to 100 and are defined by the data owner. c is a confidence coefficient with a value between 0 and 1. Percentage value of standard deviation
Figure pat00058
and c are kept secret. By strengthening the security mechanism, it is very difficult for an attacker to guess the selected tuple that has been fingerprinted. This value is arbitrarily defined by the data owner. The purpose of using the two secret parameters is the percentage value of the standard deviation.
Figure pat00059
This is because both parameter values of , and the confidence coefficient, c, cannot be accurately guessed. It becomes impossible for an attacker to calculate the threshold in all respects.
Figure pat00060
the percentage value of the standard deviation
Figure pat00061
multiplied by , and the resulting average (
Figure pat00062
) by the value multiplied by the value of the confidence coefficient c, the threshold calculation is performed. Threshold value and threshold value obtained through the following equation
Figure pat00063
All attribute values greater than
Figure pat00064
is stored in

Figure pat00065
Figure pat00065

지문 임베딩은 데이터베이스

Figure pat00066
에서 선택된 튜플의 지정 속성에 대하여 수행되며, rAi는 선택된 튜플의 속성이다. 선택한 튜플의 지정된 속성은 Ai, 0에서 n-1의 튜플 및 속성 열의 속성 값으로 표시될 수 있다. 여기서, v는 하기 수학식과 같이, 속성
Figure pat00067
의 값에 적용된다.Fingerprint embedding is database
Figure pat00066
It is performed on the specified attribute of the tuple selected from , and rA i is the attribute of the selected tuple. The specified attribute of the selected tuple can be represented by A i , a tuple from 0 to n-1, and the attribute value of the attribute column. Here, v is a property as shown in the following equation
Figure pat00067
is applied to the value of

Figure pat00068
Figure pat00068

Figure pat00069
Figure pat00069

여기서, Ri는 선택된 튜플이다.where R i is the selected tuple.

이러한 데이터 선택을 수행하는 알고리즘은 하기 표와 같이 나타낼 수 있다.An algorithm for performing such data selection can be represented as shown in the table below.

Figure pat00070
Figure pat00070

S630 단계에서, 핑거프린팅 장치는, 선택된 서브셋 데이터에 대한 지문 비트를 생성한다.In step S630, the fingerprinting device generates fingerprint bits for the selected subset data.

이 단계에서는, 클라우드 환경에서 접근 요청이 제출될 때, 각 클라이언트에 대하여 F 지문 비트가 생성된다. 2진 지문 문자열은 IP 주소, MAC 주소

Figure pat00071
, 날짜-시간 스탬프 협정 세계시(UTC: Universal Time Coordinated)
Figure pat00072
, 로그인 아이디
Figure pat00073
및 구매자 아이디
Figure pat00074
를 기반으로 고객 표시 정보로부터 생성된다. 그런 다음, 지문 문자열 생성은 하기 수학식의 로잉 함수(lowing function)로 계산된다.In this step, F fingerprint bits are generated for each client when an access request is submitted in the cloud environment. Binary fingerprint string is IP address, MAC address
Figure pat00071
, date-time stamp Universal Time Coordinated (UTC)
Figure pat00072
, login ID
Figure pat00073
and buyer ID
Figure pat00074
It is generated from customer display information based on. Then, generation of the fingerprint string is calculated with a lowering function of the following equation.

Figure pat00075
Figure pat00075

여기서, 구매자 아이디

Figure pat00076
, IP MAC 주소, 날짜-시간 스탬프
Figure pat00077
, 비밀키 ks를 가지는 로그인 아이디
Figure pat00078
및 지문 비트
Figure pat00079
를 생성하는 MD5 해시 함수 사이에서 하기 수학식과 같은 연결 연산이 수행된다.Buyer ID here
Figure pat00076
, IP MAC address, date-time stamp
Figure pat00077
, login ID with secret key k s
Figure pat00078
and fingerprint bit
Figure pat00079
A concatenation operation such as the following equation is performed between the MD5 hash functions that generate .

Figure pat00080
Figure pat00080

이 지문 비트는 지문 인코딩 함수의 입력으로 주어진다. 지문 길이

Figure pat00081
은 MD5 해시 함수에 의하여 생성되는
Figure pat00082
값을 가지는 고정길이 128비트이다. These fingerprint bits are given as input to the fingerprint encoding function. fingerprint length
Figure pat00081
is generated by the MD5 hash function.
Figure pat00082
It is a fixed-length 128-bit value.

Figure pat00083
Figure pat00083

지문 생성 함수

Figure pat00084
는 16진 문자열을 2진 비트 문자열
Figure pat00085
로 변환한다.fingerprint generation function
Figure pat00084
converts a hexadecimal string to a binary bit string
Figure pat00085
convert to

Figure pat00086
Figure pat00086

그러나,

Figure pat00087
는 디코딩 지속을 위하여 데이터베이스
Figure pat00088
에서 모든 구매자 지문 코드워드 문자열
Figure pat00089
을 유지하는 것을 수반한다. 충돌 공격을 무력화하기 위하여 지문 코드 데이터베이스를 비밀로 유지함으로써, 보안 오버헤드에 이른다. 일부 보안 조치는 데이터베이스 데이터 접근 제어, 비밀번호 및 암호화를 보호하기 위하여 필수적이다. 보안 문제를 극복하기 위하여, 데이터 소유자는 암호화 해시 함수
Figure pat00090
를 이용하여 공개 및 비공개될 수 있는 판매자의 비밀키 ks 및 구매자의 일련번호
Figure pat00091
로부터 고유한 구매자 지문
Figure pat00092
를 생성한다. 함수
Figure pat00093
는 임의 사이즈 문자열의 데이터 S를 고정 사이즈 문자열
Figure pat00094
로 매핑하고, 해시 함수에 의하여 반환된 값을 해시라고 한다. 이러한 지문 생성을 수행하는 알고리즘은 하기 표와 같이 나타낼 수 있다.however,
Figure pat00087
is the database for decoding persistence
Figure pat00088
All buyer fingerprint codeword strings from
Figure pat00089
entails maintaining By keeping the database of fingerprint codes secret to defeat collision attacks, the security overhead comes into play. Some security measures are essential to protect database data access control, passwords and encryption. To overcome security issues, data owners use a cryptographic hash function
Figure pat00090
Seller's private key k s and buyer's serial number, which can be made public and private by using
Figure pat00091
unique buyer fingerprint from
Figure pat00092
generate function
Figure pat00093
converts the data S of an arbitrary size string into a fixed size string
Figure pat00094
, and the value returned by the hash function is called a hash. An algorithm for performing such fingerprint generation can be represented as shown in the table below.

Figure pat00095
Figure pat00095

S640 단계에서, 핑거프린팅 장치는, 생성된 지문 비트를 이용하여 지문 임베딩을 수행한다.In step S640, the fingerprinting device performs fingerprint embedding using the generated fingerprint bits.

본 발명의 실시예에 따른 핑거프린팅 방법은 다중 비트 알고리즘을 사용한다. 다중 비트는 각 클라이언트에 대하여, 지문의 길이가 0에서 L-1까지이고, 데이터베이스

Figure pat00096
의 지정된 속성의 선택된 튜플에 이 비트 문자열이 임베딩된다는 것을 의미한다. 단순화를 위하여, 데이터베이스
Figure pat00097
의 파티션 세트 Pi에 신호 속성
Figure pat00098
이 포함되어 있다고 가정한다. 본 발명의 실시예에 따른 핑거프린팅 방법은 관계형 데이터베이스의 지정된 튜플의 숫자 속성에 각 고객에 대한 강력한 다중 비트 지문 서명 식별자를 임베딩한다. 서명 임베딩의 경우, 지문 서명 문자열과 m 간에 XOR 연산이 수행된다. 지문 서명 문자열은 전술한 알고리즘 3을 통해 생성되며, m은 레벨 2의 논리 파티션 번호이다. 결과 비트가 계산되며, 결과는 부호 비트 중 하나이며, m 비트는 동일하다. 그렇지 않으면, 0이 된다. 이 단계는 지문 서명의 실제 길이인 L-1번 수행된다. 모든 집합 비트는 결합되어, 결과 어레이
Figure pat00099
에 저장된다. 이 어레이의 길이는 지문 서명 문자열과도 동일하다. 결과 배열은 각 구매자에 대한 비트 문자열을 보존하고, 이 배열은 데이터 소유자 또는 저작권 모니터링 기관에 의하여 유지된다.A fingerprinting method according to an embodiment of the present invention uses a multi-bit algorithm. Multiple bits are for each client, the length of the fingerprint is from 0 to L-1, and the database
Figure pat00096
Indicates that this bit string is embedded in the selected tuple of the specified attribute of . For simplicity, the database
Figure pat00097
A signal attribute to the partition set P i of
Figure pat00098
Assume that it contains A fingerprinting method according to an embodiment of the present invention embeds a strong multi-bit fingerprint signature identifier for each customer in a numeric attribute of a designated tuple of a relational database. For signature embedding, an XOR operation is performed between the fingerprint signature string and m. The fingerprint signature string is generated through Algorithm 3 described above, and m is a level 2 logical partition number. The result bits are computed, the result is one of the sign bits, m bits are equal. otherwise, it is 0. This step is performed L-1 times, which is the actual length of the fingerprint signature. All set bits are combined, resulting in an array
Figure pat00099
is stored in The length of this array is also the same as the fingerprint signature string. The resulting array holds a string of bits for each purchaser, and this array is maintained by the data owner or copyright monitoring authority.

Figure pat00100
Figure pat00100

일반적인 인코딩 규칙은 하기 수학식으로 정의된다.A general encoding rule is defined by the following equation.

Figure pat00101
Figure pat00101

여기서, fi는 원래의 계수 ui와 동일한 지문 계수를 나타내고, vi는 지문 길이를 나타내고, fbi는 지문 서명 부분을 나타낸다. 핑거프린팅 절차 동안 만들어지는 총 데이터 왜곡은 하기 수학식으로 나타낼 수 있다.Here, f i denotes the same fingerprint coefficient as the original coefficient u i , v i denotes the fingerprint length, and fb i denotes the fingerprint signature part. The total data distortion created during the fingerprinting procedure can be expressed by the following equation.

Figure pat00102
Figure pat00102

결과 배열이 다중 비트 지문 임베딩을 위하여 지정된 속성의 최하위 비트(LSB)와 동일하다고 가정한다. 이 경우, LSB

Figure pat00103
는 그대로 유지되고, 그렇지 않으면 뒤집는다. 인코딩 후 LSB를 제거하고, 지문 서명 문자열의 나머지 비트를 다시 확인한다. 왼쪽이 0이면 임베딩을 중단한다. 이 단계를 L-1회 반복하고, 속성 값을 업데이트한다. 다중 비트 지문 서명 길이는 0에서 L-1이고 알고리즘 2를 사용하는 실시간 시나리오에서 계산된 공모없는 고정 길이 서명 문자열이다. 비트 m은 선택한 속성의 기본키를 기반으로 지정된 속성에 대하여 생성되므로, 전체 지문 서명에 대하여 동일하게 유지된다. 선택된 튜플의 지정된 모든 속성에 동일한 지문 서명이 적용된다. 모든 데이터 파티션 Pi에 대하여 동일한 적용 절차를 반복한다. 공격자가 핑거프린팅된 속성 값을 성공적으로 삭제하거나 업데이트하고, 핑거프린팅된 속성을 하나만 남길 경우, 보호 수준이 향상된다. 본 발명의 실시예에 따른 핑거프린팅 방법은 100%의 디코딩 정확도를 제공할 수 있다. 때때로, 데이터 통계에 이상이 포함되지 않는 것이 실생활에서 매우 중요하다. 또한, 평균 및 표준 편차 결과와 같은 통계가 지문 서명 임베딩 전후에 동일하거나 대략적으로 같아야 하는 민감한 데이터가 필요할 수 있다.Assume that the resulting array is equal to the least significant bit (LSB) of the attribute specified for multi-bit fingerprint embedding. In this case, LSB
Figure pat00103
is kept as it is, otherwise reversed. After encoding, the LSB is removed, and the remaining bits of the fingerprint signature string are checked again. If the left side is 0, the embedding is stopped. Repeat this step L-1 times and update the attribute value. The multi-bit fingerprint signature length is 0 to L-1 and is a collusion-free, fixed-length signature string calculated in a real-time scenario using Algorithm 2. Since bit m is generated for the designated attribute based on the primary key of the selected attribute, it remains the same for the entire fingerprint signature. The same fingerprint signature is applied to all specified attributes of the selected tuple. The same application procedure is repeated for all data partitions P i . The level of protection is improved if an attacker successfully deletes or updates the fingerprinted attribute value, leaving only one fingerprinted attribute. The fingerprinting method according to an embodiment of the present invention can provide 100% decoding accuracy. Sometimes, it is very important in real life that data statistics do not include anomalies. Additionally, sensitive data may require statistics such as average and standard deviation results to be the same or approximately the same before and after fingerprint signature embedding.

Figure pat00104
Figure pat00104

이러한 지문 임베딩을 수행하는 알고리즘은 하기 표와 같이 나타낼 수 있다.An algorithm for performing such fingerprint embedding can be represented as shown in the table below.

Figure pat00105
Figure pat00105

S650 단계에서, 핑거프린팅 장치는, 공격을 받은 것으로 판단된 관계형 데이터베이스에 저장된 관계형 데이터 세트에 대하여 지문 디코딩을 수행한다.In step S650, the fingerprinting device performs fingerprint decoding on the relational data set stored in the relational database determined to have been attacked.

지문 디코딩은 불법적으로 복사된 의심스러운 데이터 세트에서 임베딩된 지문 비트 문자열을 디코딩한다. 데이터 파티션은 지문 인코딩 단계에서와 같이, 데이터 파티션 알고리즘을 생성하기 위하여 지문 인코딩을 수행하는 것과 동일한 단계를 이용하여 생성된다.Fingerprint decoding decodes the fingerprint bit string embedded in the illegally copied suspicious data set. The data partition is created using the same steps as performing fingerprint encoding to create the data partition algorithm, as in the fingerprint encoding step.

지문 디코딩은 보안 요구사항에 따라 공개 또는 비공개가 될 수 있다. 블라인드 디코딩 알고리즘은 임베딩된 지문 원본 데이터가 필요하지 않다. 마크된 속성과 튜플이 식별되고, 지문 비트를 디코딩한다. 지문 디코딩 단계는 반역자를 식별하기 위하여 의심스러운 데이터베이스로부터 지문 문자열을 검출한다. 검출을 위하여, 디코딩 프로세스를 시작하기 위하여, 동일한 처리절차 및 공식이 수행된다. 이 절차는 임베딩 단계, 논리적 데이터 파티셔닝, 임계값 계산, 지정 속성 선택, m 양방향 파티션의 값의 계산, 결과 어레이로부터의 문자열 선택 및 결과 어레이

Figure pat00106
의 길이의 반복과 동일하다. 지문 비트는 길이 0에서 L-1로 동일하고, 이 단계는 L번 반복된다. 결과 비트와 m비트가 동일하고, 생성된 지문 비트가 속성 값의 LSB와 동일하고 가정한다. 이 경우, 지정된 속성의 가장 중요하지 않은 값은 변화가 없다. 그렇지 않으면, 지정된 속성의 LSB를 뒤집는다. 어레이
Figure pat00107
에서 지문 비트
Figure pat00108
를 저장한다. 여기서,
Figure pat00109
값이 0일 때, 0의 숫자를 1씩 증가시킨다.Fingerprint decoding can be public or private depending on security requirements. The blind decoding algorithm does not require embedded original fingerprint data. Marked attributes and tuples are identified, and fingerprint bits are decoded. The fingerprint decoding step detects the fingerprint string from the suspect database to identify the traitor. For detection, the same procedures and formulas are performed to initiate the decoding process. This procedure consists of an embedding step, logical data partitioning, threshold computation, selection of specified attributes, computation of values in m bidirectional partitions, selection of strings from result array, and result array.
Figure pat00106
equal to the repetition of the length of Fingerprint bits are equal in length 0 to L-1, and this step is repeated L times. It is assumed that the result bits and m bits are the same, and the generated fingerprint bits are the same as the LSB of the attribute value. In this case, the least significant value of the specified attribute remains unchanged. Otherwise, reverse the LSB of the specified attribute. array
Figure pat00107
fingerprint bits from
Figure pat00108
Save the here,
Figure pat00109
When the value is 0, the number of 0 is incremented by 1.

최종 임베딩된 지문 정보를 적절하고 효율적으로 디코딩하기 위하여, 다수결 투표 메커니즘이 수행된다. 광범위한 악의적인 공격에 대하여 더 나은 보안 및 디코딩 정확도를 만드는 것을 목표로 한다. 결국, 다수결 투표가 수행되고, 어레이

Figure pat00110
에서 0의 수가 1보다 크다는 것이 확인된 다음,
Figure pat00111
에 0과 동일한 값을 설정하고, 그렇지 않으면, 1로 설정한다. 감지된 지문 문자열을 저장된 지문과 일치시키고, 반역자 정보, 유죄 사용자를 반환하고, 데이터베이스의 불법 복사본을 배포한다. 지문 디코딩은 의심스러운 데이터로부터 임베딩된 지문 비트 문자열을 디코딩하는데 사용된다. 데이터 소유자가 자신의 관계 데이터 R에서, 일부 데이터 세트가 불법적으로 복사, 재배포 또는 변조되었다는 혐의를 받았을 때, 가능한 시나리오에 따라 지문 검출이 발생한다. 핑거프린팅 알고리즘의 지문 디코딩 효율은 일반적으로, 대역폭에 따라 달라진다. 대역폭이 클수록, 디코딩 정확도가 높아진다. 즉, 지문 기술이 많을수록, 다중 공격에 대하여 더 강력해진다. 이러한 지문 디코딩을 수행하는 알고리즘은 하기 표와 같이 나타낼 수 있다.To properly and efficiently decode the final embedded fingerprint information, a majority voting mechanism is performed. It aims to create better security and decoding accuracy against a wide range of malicious attacks. Eventually, a majority vote is performed and the array
Figure pat00110
After confirming that the number of 0 is greater than 1 in ,
Figure pat00111
set to a value equal to 0, otherwise set to 1. It matches the detected fingerprint string with the stored fingerprint, returns traitor information, guilty users, and distributes illicit copies of the database. Fingerprint decoding is used to decode a fingerprint bit string embedded from questionable data. When a data owner suspects that some data sets have been illegally copied, redistributed or tampered with in his relational data R, fingerprint detection occurs according to a possible scenario. The fingerprint decoding efficiency of a fingerprinting algorithm generally depends on bandwidth. The larger the bandwidth, the higher the decoding accuracy. That is, the more fingerprint techniques, the more powerful it is against multiple attacks. An algorithm for performing such fingerprint decoding can be represented as shown in the table below.

Figure pat00112
Figure pat00112

도 7은 본 발명의 실시예에 따른 클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 장치의 구성을 개략적으로 예시하여 나타낸 도면이다.7 is a diagram schematically illustrating the configuration of a fingerprinting device for storing and sharing data in a cloud according to an embodiment of the present invention.

도 7을 참조하면, 본 발명의 실시예에 따른 클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 장치는 프로세서(10), 메모리(20), 통신부(30) 및 인터페이스부(40)를 포함한다.Referring to FIG. 7 , a fingerprinting device for storing and sharing data in a cloud according to an embodiment of the present invention includes a processor 10, a memory 20, a communication unit 30, and an interface unit 40.

프로세서(10)는 메모리(20)에 저장된 처리 명령어를 실행시키는 CPU 또는 반도체 소자일 수 있다.The processor 10 may be a CPU or a semiconductor device that executes processing instructions stored in the memory 20 .

메모리(20)는 다양한 유형의 휘발성 또는 비휘발성 기억 매체를 포함할 수 있다. 예를 들어, 메모리(20)는 ROM, RAM 등을 포함할 수 있다.Memory 20 may include various types of volatile or non-volatile storage media. For example, memory 20 may include ROM, RAM, and the like.

예를 들어, 메모리(20)는 본 발명의 실시예에 따른 클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 방법을 수행하는 명령어들을 저장할 수 있다.For example, the memory 20 may store instructions for performing a fingerprinting method for storing and sharing data in a cloud according to an embodiment of the present invention.

통신부(30)는 통신망을 통해 다른 장치들과 데이터를 송수신하기 위한 수단이다.The communication unit 30 is a means for transmitting and receiving data with other devices through a communication network.

인터페이스부(40)는 네트워크에 접속하기 위한 네트워크 인터페이스 및 사용자 인터페이스를 포함할 수 있다.The interface unit 40 may include a network interface and a user interface for accessing a network.

한편, 전술된 실시예의 구성 요소는 프로세스적인 관점에서 용이하게 파악될 수 있다. 즉, 각각의 구성 요소는 각각의 프로세스로 파악될 수 있다. 또한 전술된 실시예의 프로세스는 장치의 구성 요소 관점에서 용이하게 파악될 수 있다.On the other hand, the components of the above-described embodiment can be easily grasped from a process point of view. That is, each component can be identified as each process. In addition, the process of the above-described embodiment can be easily grasped from the viewpoint of components of the device.

또한 앞서 설명한 기술적 내용들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예들을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 하드웨어 장치는 실시예들의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.In addition, the technical contents described above may be implemented in the form of program instructions that 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, etc. alone or in combination. Program commands recorded on the medium may be specially designed and configured for the embodiments or may be known and usable to those skilled in computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. - includes hardware devices specially configured to store and execute program instructions, such as magneto-optical media, and ROM, RAM, flash memory, and the like. Examples of program instructions include high-level language codes that can be executed by a computer using an interpreter, as well as machine language codes such as those produced by a compiler. A hardware device may be configured to act as one or more software modules to perform the operations of the embodiments and vice versa.

상기한 본 발명의 실시예는 예시의 목적을 위해 개시된 것이고, 본 발명에 대한 통상의 지식을 가지는 당업자라면 본 발명의 사상과 범위 안에서 다양한 수정, 변경, 부가가 가능할 것이며, 이러한 수정, 변경 및 부가는 하기의 특허청구범위에 속하는 것으로 보아야 할 것이다.The embodiments of the present invention described above have been disclosed for illustrative purposes, and those skilled in the art having ordinary knowledge of the present invention will be able to make various modifications, changes, and additions within the spirit and scope of the present invention, and such modifications, changes, and additions will be considered to fall within the scope of the following claims.

Claims (7)

핑거프린팅 장치가 수행하는 클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 방법에 있어서,
관계형 데이터베이스에 저장된 관계형 데이터 세트를 미리 설정된 개수로 파티셔닝(partitioning)하여 데이터 파티션(Data Partition)을 생성하는 단계;
상기 생성된 데이터 파티션에서 서브셋 데이터를 선택하는 단계;
상기 선택된 서브셋 데이터에 대한 지문 비트를 생성하는 단계;
상기 생성된 지문 비트를 이용하여 지문 임베딩을 수행하는 단계; 및
공격을 받은 것으로 판단된 관계형 데이터베이스에 저장된 관계형 데이터 세트에 대하여 지문 디코딩을 수행하는 단계를 포함하는 클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 방법.
In the fingerprinting method for storing and sharing data in the cloud performed by a fingerprinting device,
Partitioning a relational data set stored in a relational database into a preset number to create a data partition;
selecting subset data from the generated data partition;
generating fingerprint bits for the selected subset data;
performing fingerprint embedding using the generated fingerprint bits; and
A fingerprinting method for storing and sharing data in the cloud, comprising performing fingerprint decoding on a relational data set stored in a relational database determined to be attacked.
제1항에 있어서,
상기 서브셋 데이터를 선택하는 단계는,
하기 수학식을 이용하여 상기 데이터 파티션의 선택 임계값(
Figure pat00113
)을 산출하고, 상기 산출된 선택 임계값을 이용하여 상기 서브셋 데이터를 선택하는 것을 특징으로 하는 클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 방법.
Figure pat00114

여기서,
Figure pat00115
는 표준편차이고,
Figure pat00116
는 표준 편차의 백분율 값이고,
Figure pat00117
는 평균이고, c는 미리 설정된 신뢰 계수임
According to claim 1,
In the step of selecting the subset data,
The selection threshold of the data partition using the following equation (
Figure pat00113
), and selecting the subset data using the calculated selection threshold.
Figure pat00114

here,
Figure pat00115
is the standard deviation,
Figure pat00116
is the percentage value of the standard deviation,
Figure pat00117
is the mean, and c is the preset confidence coefficient
제1항에 있어서,
상기 지문 비트를 생성하는 단계는,
IP 주소, MAC 주소
Figure pat00118
, 날짜-시간 스탬프 협정 세계시(UTC: Universal Time Coordinated)
Figure pat00119
, 로그인 아이디
Figure pat00120
및 구매자 아이디
Figure pat00121
를 이용하여 상기 지문 비트를 생성하는 것을 특징으로 하는 클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 방법.
According to claim 1,
Generating the fingerprint bit,
IP address, MAC address
Figure pat00118
, date-time stamp Universal Time Coordinated (UTC)
Figure pat00119
, login ID
Figure pat00120
and buyer ID
Figure pat00121
Fingerprinting method for storing and sharing data in the cloud, characterized in that for generating the fingerprint bit using.
제1항에 있어서,
상기 지문 비트를 생성하는 단계는,
MD5(Message Digest 5) 해시 함수를 이용하여 16진 문자열을 생성하고, 상기 생성된 16진 문자열을 2진 비트 문자열로 변환하여 상기 지문 비트를 생성하는 것을 특징으로 하는 클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 방법.
According to claim 1,
Generating the fingerprint bit,
For data storage and sharing in the cloud, characterized in that a hexadecimal string is generated using a Message Digest 5 (MD5) hash function, and the fingerprint bit is generated by converting the generated hexadecimal string into a binary bit string. Fingerprinting method.
제1항에 있어서,
상기 지문 임베딩을 수행하는 단계는,
하기 수학식의 인코딩 규칙을 이용하여 상기 지문 임베딩을 수행하는 것을 특징으로 하는 클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 방법.
Figure pat00122

여기서, fi는 원래의 계수 ui와 동일한 지문 계수를 나타내고, vi는 지문 길이를 나타내고, fbi는 지문 서명 부분을 나타냄
According to claim 1,
The step of performing the fingerprint embedding,
Fingerprinting method for storing and sharing data in the cloud, characterized in that the fingerprint embedding is performed using the encoding rule of the following equation.
Figure pat00122

Here, f i denotes the same fingerprint coefficient as the original coefficient u i , v i denotes the fingerprint length, and fb i denotes the fingerprint signature part.
제1항에 있어서,
상기 지문 디코딩을 수행하는 단계는,
상기 공격을 받은 것으로 판단된 관계형 데이터베이스에 대하여, 상기 데이터 파티션을 생성하는 단계, 상기 서브셋 데이터를 선택하는 단계, 상기 지문 비트를 생성하는 단계 및 상기 지문 임베딩을 수행하는 단계를 적용하여 수행되는 것을 특징으로 하는 클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 방법.
According to claim 1,
The step of performing the fingerprint decoding,
Characterized in that the step of generating the data partition, the step of selecting the subset data, the step of generating the fingerprint bit, and the step of performing the fingerprint embedding are applied to the relational database determined to have been attacked. A fingerprinting method for storing and sharing data in the cloud.
클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 장치에 있어서,
명령어를 저장하는 메모리; 및
상기 명령어를 실행하는 프로세서를 포함하되,
상기 명령어는,
관계형 데이터베이스에 저장된 관계형 데이터 세트를 미리 설정된 개수로 파티셔닝(partitioning)하여 데이터 파티션(Data Partition)을 생성하는 단계;
상기 생성된 데이터 파티션에서 서브셋 데이터를 선택하는 단계;
상기 선택된 서브셋 데이터에 대한 지문 비트를 생성하는 단계;
상기 생성된 지문 비트를 이용하여 지문 임베딩을 수행하는 단계; 및
공격을 받은 것으로 판단된 관계형 데이터베이스에 저장된 관계형 데이터 세트에 대하여 지문 디코딩을 수행하는 단계를 포함하는 핑거프린팅 방법을 수행하는 것을 특징으로 하는 클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 장치.
In the fingerprinting device for storing and sharing data in the cloud,
memory for storing instructions; and
Including a processor that executes the instructions,
The command is
Partitioning a relational data set stored in a relational database into a preset number to create a data partition;
selecting subset data from the generated data partition;
generating fingerprint bits for the selected subset data;
performing fingerprint embedding using the generated fingerprint bit; and
A fingerprinting device for storing and sharing data in the cloud, characterized in that performing a fingerprinting method comprising performing fingerprint decoding on a relational data set stored in a relational database determined to be attacked.
KR1020210192665A 2021-12-30 2021-12-30 Fingerprinting apparatus and method for storing and sharing data in the cloud KR102578606B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210192665A KR102578606B1 (en) 2021-12-30 2021-12-30 Fingerprinting apparatus and method for storing and sharing data in the cloud

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210192665A KR102578606B1 (en) 2021-12-30 2021-12-30 Fingerprinting apparatus and method for storing and sharing data in the cloud

Publications (2)

Publication Number Publication Date
KR20230102488A true KR20230102488A (en) 2023-07-07
KR102578606B1 KR102578606B1 (en) 2023-09-14

Family

ID=87154274

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210192665A KR102578606B1 (en) 2021-12-30 2021-12-30 Fingerprinting apparatus and method for storing and sharing data in the cloud

Country Status (1)

Country Link
KR (1) KR102578606B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101496854B1 (en) 2013-03-04 2015-03-02 황선철 Digital fingerprinting method
KR20150067643A (en) * 2013-12-10 2015-06-18 한국전자통신연구원 Method and apparatus for sharing file in cloud storage service

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101496854B1 (en) 2013-03-04 2015-03-02 황선철 Digital fingerprinting method
KR20150067643A (en) * 2013-12-10 2015-06-18 한국전자통신연구원 Method and apparatus for sharing file in cloud storage service

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
‘DB 파티셔닝이란’, 네이버블로그, 2021.03.03. *
박지선 외 1인, ‘클라우드 스토리지에서 안전한 중복 제거 기법들에 대한 보안 취약점 분석’, Journal of Korea Multimedia Society, Vol.21, No.8, 2018.08. pp. 909-916. *
정병호 외 2인, ‘무선 핑거프린팅 기술 및 보안응용’, 전자통신동향분석 제29권 제4호, 2014.08. *

Also Published As

Publication number Publication date
KR102578606B1 (en) 2023-09-14

Similar Documents

Publication Publication Date Title
US11366878B2 (en) Method and apparatus for delivering encoded content
Li et al. Fingerprinting relational databases: Schemes and specialties
US9607131B2 (en) Secure and efficient content screening in a networked environment
US6000030A (en) Software fingerprinting and branding
Guo et al. A fragile watermarking scheme for detecting malicious modifications of database relations
US6978370B1 (en) Method and system for copy-prevention of digital copyright works
US7647640B2 (en) System for binding secrets to a computer system having tolerance for hardware changes
Li et al. Constructing a virtual primary key for fingerprinting relational data
US20030191942A1 (en) Integrity ordainment and ascertainment of computer-executable instructions
US20090187772A1 (en) Tamper evidence per device protected identity
US7643637B2 (en) Efficient code constructions via cryptographic assumptions
Camara et al. Distortion-free watermarking approach for relational database integrity checking
JPH0816104A (en) Method and device for verifying information security with dispersed collator
US20080301456A1 (en) Efficient Secure Forensic Watermarking
JP4025283B2 (en) Code embedding method, identification information restoring method and apparatus
Niyitegeka et al. Dynamic watermarking-based integrity protection of homomorphically encrypted databases–application to outsourced genetic data
KR102578606B1 (en) Fingerprinting apparatus and method for storing and sharing data in the cloud
Khanduja et al. Watermarking Categorical Data: Algorithm and Robustness Analysis.
Lee Multipurpose protection for numeric data with capabilities of self-authentication and ownership declaration
JP2007158984A (en) Electronic document authenticity assurance method, and electronic document disclosure system
Mazhar et al. ‘Survey on relational database watermarking employing evolutionary methods
Alfagi et al. Survey on relational database watermarking techniques
Lin et al. Approach of tamper detection for sensitive data based on negotiable hash algorithm
Li et al. A multiple-bits watermark for relational data
Dwork Copyright? Protection?

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant