KR102578606B1 - 클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 장치 및 방법 - Google Patents
클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 장치 및 방법 Download PDFInfo
- Publication number
- KR102578606B1 KR102578606B1 KR1020210192665A KR20210192665A KR102578606B1 KR 102578606 B1 KR102578606 B1 KR 102578606B1 KR 1020210192665 A KR1020210192665 A KR 1020210192665A KR 20210192665 A KR20210192665 A KR 20210192665A KR 102578606 B1 KR102578606 B1 KR 102578606B1
- Authority
- KR
- South Korea
- Prior art keywords
- fingerprint
- data
- cloud
- fingerprinting
- sharing
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 238000005192 partition Methods 0.000 claims abstract description 44
- 238000013500 data storage Methods 0.000 claims abstract description 23
- 238000000638 solvent extraction Methods 0.000 claims abstract description 11
- 230000006870 function Effects 0.000 claims description 17
- 238000010586 diagram Methods 0.000 description 13
- 230000004048 modification Effects 0.000 description 8
- 238000012986 modification Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 238000001514 detection method Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000012217 deletion Methods 0.000 description 5
- 230000037430 deletion Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000003780 insertion Methods 0.000 description 3
- 230000037431 insertion Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000007792 addition Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 230000004888 barrier function Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000008450 motivation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000000243 solution Substances 0.000 description 1
- 238000005728 strengthening Methods 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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/6227—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/16—Program or content traceability, e.g. by watermarking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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/6245—Protecting personal data, e.g. for financial or medical purposes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Data Mining & Analysis (AREA)
- Storage Device Security (AREA)
Abstract
클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 장치 및 방법이 개시된다. 클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 방법은, 관계형 데이터베이스에 저장된 관계형 데이터 세트를 미리 설정된 개수로 파티셔닝(partitioning)하여 데이터 파티션(Data Partition)을 생성하는 단계, 생성된 데이터 파티션에서 서브셋 데이터를 선택하는 단계, 선택된 서브셋 데이터에 대한 지문 비트를 생성하는 단계, 생성된 지문 비트를 이용하여 지문 임베딩을 수행하는 단계 및 공격을 받은 것으로 판단된 관계형 데이터베이스에 저장된 관계형 데이터 세트에 대하여 지문 디코딩을 수행하는 단계를 포함한다.
Description
본 발명은 클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 장치 및 방법에 관한 것이다.
정보 시스템에서 디지털 데이터의 성장과 함께 주요한 지식정보의 유출 방지, 소유권 보호, 보안 및 개인 정보 보호라는 과제가 중요하게 대두되고 있으며, 클라우드 컴퓨팅의 출현으로 공유 및 자동화 환경에서 다양한 데이터를 온디맨드 서비스로 사용하는 것이 현실이 되었다. 디지털 핑거프린팅 기술은 클라우드를 통한 악의적인 반역자 식별 및 불법 배포로부터 디지털 자산의 저작권 및 개인 정보를 보호하는 효과적인 솔루션으로 사용되고 있으며, 클라우드를 통해 유포된 멀티미디어 콘텐츠의 무단 배포 및 사용자를 추적하는 용도로도 많이 사용된다. 따라서, 디지털 핑거프린팅 기술은 클라우드에 보안 데이터를 임베딩하거나, 데이터베이스 등의 데이터 저장소를 보호하는데 필수적인 기술로 인식되고 있다.
지문은 관계형 데이터베이스의 숫자 속성에 임베딩된 정보를 식별하고 검증한다. 또한, 지문은 디코딩 문자열과 임베딩 문자열의 매칭을 통해 악의적인 반역자(guilty traitor)를 운반한다. 일반적으로, 지문으로 임베디드된 비트 문자열은 이미지, 오디오 신호 등과 같은 의미 있는 시퀀스이다. 의미가 없는 시퀀스는 임의의 비트이거나 비밀 키 및 암호화 해시 함수와 같은 일부 개인 속성을 사용하여 런타임시 클라이언트 정보를 통해 계산되는 형태를 말하는데, 이러한 무의미한 문자열 시퀀스는 삽입, 삭제, 업데이트 공격과 같은 광범위한 악의적인 공격에 대해 강건한 특징을 지닌다. 악의적인 공격의 주요 목적은 관계형 데이터베이스를 제거, 탐지 불가능, 추적 불가능하게 만드는 것이다. 디지털 콘텐츠에 지문이 삽입된 경우, 원본 콘텐츠에 약간의 노이즈 및 데이터 왜곡이 발생할 수 있다.
본 발명은 클라우드 환경에서 수치형 속성 보호를 통해 디지털 프라이버시를 관리하며, 이를 통해 보안 데이터를 클라우드에 임베딩하고, 불법 배포로부터 디지털 자산의 저작권 및 개인정보를 보호하고, 클라우드에서 악의적인 반역자를 식별하여 클라우드 내의 관계형 데이터베이스를 보호하는 클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 장치 및 방법을 제공하기 위한 것이다.
본 발명의 일 측면에 따르면, 핑거프린팅 장치가 수행하는 클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 방법이 개시된다.
본 발명의 실시예에 따른 클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 방법은, 관계형 데이터베이스에 저장된 관계형 데이터 세트를 미리 설정된 개수로 파티셔닝(partitioning)하여 데이터 파티션(Data Partition)을 생성하는 단계, 상기 생성된 데이터 파티션에서 서브셋 데이터를 선택하는 단계, 상기 선택된 서브셋 데이터에 대한 지문 비트를 생성하는 단계, 상기 생성된 지문 비트를 이용하여 지문 임베딩을 수행하는 단계 및 공격을 받은 것으로 판단된 관계형 데이터베이스에 저장된 관계형 데이터 세트에 대하여 지문 디코딩을 수행하는 단계를 포함한다.
상기 서브셋 데이터를 선택하는 단계는, 하기 수학식을 이용하여 상기 데이터 파티션의 선택 임계값()을 산출하고, 상기 산출된 선택 임계값을 이용하여 상기 서브셋 데이터를 선택한다.
여기서, 는 표준편차이고, 는 표준 편차의 백분율 값이고, 는 평균이고, c는 미리 설정된 신뢰 계수이다.
상기 지문 비트를 생성하는 단계는, IP 주소, MAC 주소 , 날짜-시간 스탬프 협정 세계시(UTC: Universal Time Coordinated) , 로그인 아이디 및 구매자 아이디 를 이용하여 상기 지문 비트를 생성한다.
상기 지문 비트를 생성하는 단계는, MD5(Message Digest 5) 해시 함수를 이용하여 16진 문자열을 생성하고, 상기 생성된 16진 문자열을 2진 비트 문자열로 변환하여 상기 지문 비트를 생성한다.
상기 지문 임베딩을 수행하는 단계는, 하기 수학식의 인코딩 규칙을 이용하여 상기 지문 임베딩을 수행한다.
여기서, fi는 원래의 계수 ui와 동일한 지문 계수를 나타내고, vi는 지문 길이를 나타내고, fbi는 지문 서명 부분을 나타낸다.
상기 지문 디코딩을 수행하는 단계는, 상기 공격을 받은 것으로 판단된 관계형 데이터베이스에 대하여, 상기 데이터 파티션을 생성하는 단계, 상기 서브셋 데이터를 선택하는 단계, 상기 지문 비트를 생성하는 단계 및 상기 지문 임베딩을 수행하는 단계를 적용하여 수행된다.
본 발명의 다른 측면에 따르면, 클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 장치가 개시된다.
본 발명의 실시예에 따른 클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 장치는, 명령어를 저장하는 메모리 및 상기 명령어를 실행하는 프로세서를 포함하되, 상기 명령어는, 관계형 데이터베이스에 저장된 관계형 데이터 세트를 미리 설정된 개수로 파티셔닝(partitioning)하여 데이터 파티션(Data Partition)을 생성하는 단계, 상기 생성된 데이터 파티션에서 서브셋 데이터를 선택하는 단계, 상기 선택된 서브셋 데이터에 대한 지문 비트를 생성하는 단계, 상기 생성된 지문 비트를 이용하여 지문 임베딩을 수행하는 단계 및 공격을 받은 것으로 판단된 관계형 데이터베이스에 저장된 관계형 데이터 세트에 대하여 지문 디코딩을 수행하는 단계를 포함하는 핑거프린팅 방법을 수행한다.
본 발명의 실시예에 따른 클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 장치 및 방법은, 지문 비트의 숫자 속성을 관계형 데이터베이스 숫자 속성에 임베딩하여 발생하는 왜곡을 최소화하고, 반역자 공격 및 지정된 데이터베이스의 지문 해독을 사용하여 반역자를 식별하는 것이 가능하고, 클라우드 환경에서 사용자 인증을 지정하기 위해 데이터 소유자에게만 알려진 보안 및 개인 매개변수가 사용된 서명 생성이 가능하고, 담합 공격, 소유권에 대한 거짓 주장, 삽입 공격, 삭제 공격, 수정, 무차별 대입(Brute Force) 공격의 다양한 시나리오의 공격으로부터 클라우드의 데이터베이스를 보호할 수 있다.
도 1은 본 발명의 실시예에 따른 보안 모델의 개요를 나타낸 도면.
도 2는 본 발명의 실시예에 따른 클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 방법에 대한 순차적 워크플로우를 나타낸 흐름도.
도 3은 본 발명의 실시예에 따른 보안 모델을 나타낸 도면.
도 4는 지문 비트 생성을 위한 프레임워크를 예시하여 나타낸 도면.
도 5는 본 발명의 실시예에 따른 클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 방법을 수행하기 위한 시스템 구조를 개략적으로 예시하여 나타낸 도면.
도 6은 본 발명의 실시예에 따른 핑거프린팅 장치가 수행하는 클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 방법을 개략적으로 예시하여 나타낸 흐름도.
도 7은 본 발명의 실시예에 따른 클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 장치의 구성을 개략적으로 예시하여 나타낸 도면.
도 2는 본 발명의 실시예에 따른 클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 방법에 대한 순차적 워크플로우를 나타낸 흐름도.
도 3은 본 발명의 실시예에 따른 보안 모델을 나타낸 도면.
도 4는 지문 비트 생성을 위한 프레임워크를 예시하여 나타낸 도면.
도 5는 본 발명의 실시예에 따른 클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 방법을 수행하기 위한 시스템 구조를 개략적으로 예시하여 나타낸 도면.
도 6은 본 발명의 실시예에 따른 핑거프린팅 장치가 수행하는 클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 방법을 개략적으로 예시하여 나타낸 흐름도.
도 7은 본 발명의 실시예에 따른 클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 장치의 구성을 개략적으로 예시하여 나타낸 도면.
본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "구성된다" 또는 "포함한다" 등의 용어는 명세서상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
이하, 본 발명의 다양한 실시예들을 첨부된 도면을 참조하여 상술하겠다.
도 1은 본 발명의 실시예에 따른 보안 모델의 개요를 나타낸 도면이고, 도 2는 본 발명의 실시예에 따른 클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 방법에 대한 순차적 워크플로우를 나타낸 흐름도이고, 도 3은 본 발명의 실시예에 따른 보안 모델을 나타낸 도면이고, 도 4는 지문 비트 생성을 위한 프레임워크를 예시하여 나타낸 도면이고, 도 5는 본 발명의 실시예에 따른 클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 방법을 수행하기 위한 시스템 구조를 개략적으로 예시하여 나타낸 도면이다. 이하, 도 1 내지 도 5를 참조하여, 본 발명의 실시예에 따른 클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 방법의 개념에 대하여 전반적으로 설명하기로 한다.
스키마(scheme) 데이터 측면에서, 로 표현되는 관계형 데이터베이스가 고려된다. 여기서, PK는 기본키(primary key)를 나타내고, 속성(기본키가 없는 경우, 속성이 추가되어 고유 속성 역할을 하고, 새로운 튜플(tuple)의 증가에 따라 자동증가) 및 Ai(i=0, …, n-1)는 핑거프린팅을 위하여 필요한 후보로 지명된 숫자 속성이다. 에 n개의 튜플이 있다고 가정하면, 그 중 1/r은 지문 의 인코딩에 사용된다. 여기서, r은 하기에 주어진 임계값 공식을 통해 계산되는 사용자 정의 매개변수이다. 강력한 워터마킹 방식은 데이터에 작은 왜곡을 불가피하게 도입하므로, 각 속성값은 로 표시되는 LSB(least significant bit)의 수정이 허용될 수 있다고 가정한다. 본 명세서에 개시된 모든 매개변수는 하기 표 1과 같이 나타낼 수 있다.
도 1을 참조하면, 도 1에 도시된 블록 다이어그램은 핑거프린팅 기술의 모든 핵심 구성 요소를 요약한 것이다. 는 상수이고, 속성값에 대하여 독립적으로 사용된다. 그러므로, 이는 속성값의 이진 자릿수에 따라 달라진다.
도 2를 참조하면, 도 2는 관계형 데이터베이스에 임베딩된 지문 서명이 생성되는 스키마의 순차적 작업흐름을 보여준다. 본 발명의 실시예에 따른 핑거프린팅 방식은 클라우드의 관계형 데이터베이스뿐만 아니라 독립 실행형 시스템의 관계형 데이터베이스에서도 사용된다. 반역자 공격 및 주어진 데이터베이스의 지문 디코딩은 반역자를 식별하는데 사용된다. 이 블록 다이어그램은 인코딩, 디코딩 및 반역자 공격의 핑거프린팅 시퀀스의 모든 핵심 구성 요소를 요약한다.
클라우드 컴퓨팅은 자동화된 공유 환경이며, 제한된 콘텐츠를 높은 신뢰성으로 획득할 수 있는 안전한 입구를 제공한다. 개인 콘텐츠는 디지털 정보의 불법 복제의 배포를 방지하는 안전한 구매를 위하여 원하는 디지털 정보에 접근할 수 있는 정품 정보를 포함한다. 예를 들어, 학생의 성적표, 복권에 대한 쿠폰 번호, 판매 이익, 소득세 정보, 환자 병력 등의 제한된 콘텐츠는 data-as-a-service라 불리우는 보안 및 지불 장벽을 성공적으로 통과한 사용자를 위하여 사용된다. 더욱이, data as a service는 데이터 사용자와 데이터 제공자 모두에게 온디맨드(on-demand) 및 지원을 제공한다. Microsoft Azure, Infochimps, Amazon, Oracle은 연중무휴 24시간 사용 가능하고 지속 가능함을 통해 저렴한 비용으로 고객을 지원하는 가장 유명한 서비스 제공자로 분류된다. 모든 서비스 제공자는 개인 콘텐츠를 획득하려는 도움이 필요한 사용자에게 접근을 제공하기 위하여 거래약관을 가지고 있다.
도 3을 참조하면, 본 발명의 실시예에 따른 보안 모델은 스레드(thread) 및 반역자 식별을 가진다.
지문 및 워터마크는 마크된 데이터베이스로부터 빠르게 파괴되거나 제거될 수 있다. 말로리(Mallory)가 클라우드 환경에서 스레드에서 수행할 수 있는 일반적인 공격 중 일부가 도 3에 도시되어 있다. 말로리는 삽입, 삭제, 수정 및 공모 공격과 같은 다양한 공격 벡터를 가지고 있다. 말로리는 여러 사본을 획득하여 거짓 소유권 주장 공격 및 무차별 대입 공격(brute-force attacks)과 비교한다. 이러한 공격이 핑거프린팅된 데이터베이스에 적용될 때, 공격은 핑거프린팅된 데이터베이스를 취약한 데이터베이스로 변환시킨다. 그런 다음, 말로리는 이 데이터베이스가 자신의 데이터베이스라는 주장을 시도한다. 그 후에, 이 취약한 데이터베이스는 공격자 채널에 전달되고, 임베딩된 지문이 디코딩되고, 과반수 투표에 적용된다. 최종적으로, 악의적인 반역자(guilty traitor)가 식별된다.
공모 공격에서, 말로리는 핑거프린팅된 관계형 데이터베이스의 다양한 사본에 접근하여, 사본들의 차이점을 비교하고, 모든 서명값을 제거할 수 있다. 공격자는 혼합 및 일치 또는 다수결의 전략을 적용하여 지문 신호를 폭발시킨다. 이 공격은 지문에만 해당된다. 다른 모든 공격은 워터마크 및 지문과 관련된다. 선택된 행에 지문이 임베딩된 후에 일부 값이 변경되지 않기 때문에, 본 발명의 실시예에 따른 핑거프린팅 방식은 혼합 및 일치에 의존한다. 말로리는 이 행을 건너 뛰고, 공모 공격을 수행할 수 없다. 본 발명의 실시예에 따른 핑거프린팅 방식은 데이터 품질을 잃지 않고, 공모 공격을 극복한다.
거짓 소유권 주장 공격에서, 반역자는 소유자가 거짓 증거를 불법 복제한다고 주장하기 위하여 가짜 증거를 제공하려고 한다. 말로리는 새로운 지문 및 워터마크 서명을 추가하고, 이러한 종류의 공격에서 잘못된 소유권을 주장하려고 시도한다. 거짓 공격은 공격자가 핑거프린팅된 비트값을 무작위로 변경하고, 값이 성공적으로 추정되고 있음을 발견할 때, 발생한다. 본 발명의 실시예에 따른 핑거프린팅 방식은 선택된 튜플에 지문이 적용되기 때문에, 이러한 타입의 스레드에 대해서도 탄력적이다. 이러한 튜플의 선택은 계산된 공식으로 이루어질 수 있다. 말로리는 소유권을 주장하기 위하여 데이터베이스에 가짜 지문을 추가한다. 그러나, 스레드 모델에서 이 데이터베이스를 전달하고, 취약한 데이터베이스로부터 지문을 디코딩할 때, 도난이 식별될 수 있다.
삽입 및 추가 공격에서, 공격자는 삽입된 서명이 방해를 받는다고 가정하고, 데이터 세트에 추가 튜플을 추가하여 동기화 오류를 발생시킨다. 더욱이, 말로리는 데이터 품질 및 상태의 저하를 고려한다. 그러나, 관계형 데이터베이스에서 임베딩된 지문값은 변경되지 않는다. 100% 디코딩 정확도로 지문이 디코딩되고, 반역자가 빠르게 식별될 수 있다.
삭제 공격에서, 우선, 말로리는 관계형 데이터베이스에서 데이터의 서브셋을 삭제하는 것을 목표로 한다. 그런 다음, 데이터 품질 및 조건을 파괴하기 위하여 임베딩된 데이터로부터 지문을 제거하려고 시도한다. 위협 계층에서 취약한 데이터베이스를 전달할 때, 말로리가 데이터 서브셋의 95%를 제거하면, 디코딩에서 반역자가 식별된다. 그러나, 본 발명의 실시예에 따른 핑거프린팅 방식은 95% 기록 삭제 공격에도 여전히 강력한다.
수정 공격에서, 일부 관계형 데이터베이스 처리는 핑거프린팅 및 워커마크된 데이터에 대해 의도하지 않게 수행된다. 그래서, 말로리는 워터마크 문자열을 완전히 또는 부분적으로 파괴할 수 있는 삭제, 삽입, 교대로 일부 마크된 데이터를 추가한다. 본 발명의 실시예에 따른 핑거프린팅 방식에서, 비밀 매개변수가 있는 보안키는 정적 매개변수 및 동적 매개변수의 조합을 생성한다. 이러한 매개변수는 IP/MAC 주소, 협정 세계시(UTC: Universal Time Coordinated), 로그인 아이디 및 구매자 아이디이다. 또한, 이러한 매개변수는 실생활에서 다양한 시나리오를 생성한다. 그래서, 말로리는 비밀키를 추측하지 않고, 지문이 임베딩된 정확한 튜플을 찾는다. 그러나, 본 발명의 실시예에 따른 핑거프린팅 방식은 모든 종류의 수정 및 핑거프린팅된 데이터의 최대 95%의 업데이트에 대하여 탄력적이다.
무차별 대입 공격(brute-force attacks)에서, 말로리는 보안 서명을 추측하고, 비밀키와 같은 비밀 매개변수에 대하여 생각하기 위하여 가능한 모든 조합을 시도한다. 비밀 매개변수의 사이즈가 충분히 길다고 가정하여 공격을 방지한다. 비밀키 생성을 위하여, 매개변수의 정적 및 동적 조합은 사용되고 실시간 생성된다. 사용자가 지문을 생성하기 위하여 로그인할 때마다 상황에 따라 일부 매개변수가 변경된다. 사용자가 지문을 생성하는 동안 8가지의 실시간 상황이 발생할 수 있다. 이러한 매개변수는 사용자의 IP 주소, 시스템의 MAC 주소, 협정 세계시, 구매 요청 시 생성된 구매자 아이디 및 클라우드의 모든 사용자에 대하여 고유한 로그인 아이디이다. 고객이 데이터세트 접근 요청을 생성할 때, 사용자별 매개변수를 이용하여 고유한 지문 문자열을 생성한다. 각 고객에 대한 문자열로 수정된 35비트 고유 식별 서명이 획득된다. 본 발명의 실시예에 따른 핑거프린팅 방식을 통한 서명 생성은 공격자가 기존 서명을 생성하고 해독할 없는 기능을 가지고 있다. 34,359,738,368 조합의 가능성이 있는 35비트 문자열 길이가 있다. 말로리가 정확한 비트를 추측하거나 무차별 대입 공격을 실행하는데 너무 많은 시간이 걸린다. 견고성에 대한 또 다른 강력한 동기는 전체 서명 문자열을 지정된 각 속성에 포함한다는 것이다.
사용자 인증을 명시하는 여러 매개변수를 사용하여 서명 생성을 위한 클라우드 환경의 실시간 사용에 대하여 다양한 시나리오가 관찰된다. 이 매개변수는 일부의 개인 및 공용 매개변수를 포함한다. 개인 매개변수는 합법적인 사용자만 있고, 공용 매개변수는 클라우드 환경의 로그인 계정에 대한 이메일 주소와 같이, 다른 사용자가 알고 있는 정보로 간주된다. 로그인 계정 비밀번호, IP/MAC 주소 , UTC 및 구매자 아이디 또는 주문 아이디 가 할당되어, 성공적으로 주문된다. 데이터 소유자만 알고 있는 보안 및 개인 매개변수가 사용된다. 16진수 보안키 ks와 암호화 해시 함수 이다. 도 4를 참조하면, 도 4는 지문 비트 생성을 위한 프레임워크를 나타낸다.
하기 표 2는 지문 생성을 위한 매개변수 변화를 나열한 것이다.
표 2와 같이, 지문 생성에는 다양한 매개변수가 참여한다. 5개의 매개변수는 클라우드 사용자에게 직접 속한다. 이러한 매개변수는 두 개의 필수 상태를 가지고 있는데, 고유한 또는 기능이 다른 이다.
시나리오 1: 클라이언트가 고유한 구매자 아이디를 사용하는 경우, 동일한 IP 및 MAC 주소를 사용하지만, 다른 시간에 로그인하고, 로그인 아이디를 사용하면, 다음과 같이 형성될 수 있다.
시나리오 2: 사용자는 고유한 MAC 및 시스템의 고정 IP 주소 를 사용하여 고유한 클라우드 로그인 계정 를 통해 클라우드 환경에 접속한 다음, 이 클라우드에서 특정 정보(데이터베이스)를 가져오도록 주문할 수 있다. 개별 구매자 아이디 는 데이터베이스를 확보하기 위해 사용하여 생성된 각 요청에 대하여 할당된다. 이 시나리오는 다음과 같이 나타낼 수 있다.
시나리오 3: IP/MAC 주소는 다르지만, 로그인 시간과 아이디는 동일한 구매자 아이디가 있으며, 이는 다음과 같은 시나리오로 나타낼 수 있다.
시나리오 4: 일부 구매자 아이디는 IP/MAC 주소 및 로그인 아이디가 다르지만, 기간은 다양하며, 이는 다음과 같은 시나리오로 나타낼 수 있다.
시니라오 5: 다른 IP/MAC 주소 및 로그인 아이디로 열리지만, 동시에 로그인하는 구매자 아이디가 있으며, 이는 다음과 같은 시나리오로 나타낼 수 있다.
시나리오 6: IP/MAC 주소, 로그인 아이디, 로그인 시간이 다른 구매자 아이디가 있으며, 이는 다음과 같은 시나리오로 나타낼 수 있다.
시나리오 7: IP/MAC 주소, 로그인 아이디, 로그인 시간이 동일한 구매자 아이디가 있으며, 이는 다음과 같은 시나리오로 나타낼 수 있다.
시나리오 8: 일부 구매자 아이디는 IP/MAC 주소 및 로그인 시간이 동일하지만, 로그인 아이디가 다르며, 이는 다음과 같은 시나리오로 나타낼 수 있다.
데이터세트 D는 m 비중첩 파티션으로 나뉜다. 이 데이터 파티션은 데이터의 물리적 위치를 변경하지 않는다. 그럼에도 불구하고, 이 데이터 파티션은 논리적 그룹화를 기반으로 한다. 처음에, 하위 그룹의 총 수는 m 값과 동일하고, 비밀로 유지되고, 파티션 접근 방식을 공격에 안전하고 탄력적으로 만들기 위해 데이터 소유자만 알 수 있다. 마지막으로, 하위 그룹은 짝수 및 홀수 분할 빈(bin)이라 불리우는 두 개의 주요 분할 빈으로 분류된다. m' 파티션조차도 나머지가 0인 후보만 포함된다. 마지막으로, 홀수 분할 빈에는 분할 번호 1의 나머지 부분에 귀속되는 지명된 후보가 포함된다.
임계값은 속성으로 제한되는 선택된 사용성에서 후보 속성을 선택하기 위하여 계산된다. 임계값은 디지털 서명을 마킹하기 위한 후보 속성을 선정하기 위하여 계산된다. 데이터에서 노이즈가 감소하고, 최종 사용자에게 높은 보안을 제공한다. 공격자가 지정된 속성값을 추측하기가 더 어려워진다. 더욱이, 적절한 임계값 사용의 중요한 장점은 원하는 데이터 왜곡을 최소화하고, 데이터의 신뢰성이 유지된다는 것이다. 데이터의 독창성에 영향을 미치지 않는 약간의 데이터 변경을 할 수 있다는 점에서 마이너 기능성이 있음이 고려된다. 후보 속성값이 임계값보다 큰 튜플만이 최종 하위 데이터 세트에 원래 하위 데이터 세트로 삽입되도록 선택된다. 이 분할은 물리적이 아닌 논리적으로 사용된다. 후보 속성 값이 임계값을 만족하면, 모든 튜플이 이 데이터베이스에 삽입된다.
본 발명의 실시예에 따른 핑거프린팅 방식은 관계형 데이터베이스 지정 튜플의 숫자 속성에서 각 클라이언트에 대한 강력한 다중 비트 지문 문자열 식별자를 임베딩한다. 강력한 핑거프린팅 방식은 100% 디코딩 정확도로 불법 배포로부터 데이터베이스를 보호하고, 소유권 증명 및 광범위한 공격에 대한 탄력성을 목표로 합니다. 이때, 공격 후 핑거프린트 튜플은 하나만 남게 된다. 핑거프린팅은 각 구매자에 대해 고유한 비트 코드를 삽입하는데 사용되며, 이는 관계형 데이터에서 가장 작은 왜곡이나 노이즈를 생성한다. 데이터베이스 클라이언트는 약간의 노이즈를 견딜 수 있다는 가정이 있다. 핑거프린팅 데이터베이스는 여러 구매자에게 여러 사본을 제공한다.
지문 디코딩은 의심스러운 데이터에서 임베딩된 지문 비트 문자열을 디코딩하는데 사용된다. 데이터 소유자인 앨리스(Alice)가 일부 데이터 세트가 자신의 관계 데이터 세트 에서 불법적으로 복사, 재배포 또는 변조되었다고 비난할 때, 가능한 시나리오에서 지문 감지가 발생한다. 앨리스 또는 제3자는 지문 감지 알고리즘을 통해 의심스러운 데이터베이스의 소유권을 확인한다. 지문 감지 알고리즘의 지문 디코딩 효율성은 일반적으로, 작은 대역폭에 따라 다르다. 대역폭이 클수록 디코딩 정확도가 높아진다. 즉, 다중 공격에 대하여 더 많은 지문 기술이 필요하며, 그 반대의 경우도 마찬가지이다.
과반수 투표 절차가 수행되는데, 이는 광범위한 악성 공격에 대한 보안 및 디코딩 정확도의 향상을 목표로 한다.
강력한 핑거프린팅 방식은 불법 복제 감지, 소유권 증명 또는 저작권을 통해 디지털 콘텐츠를 보호하는 것을 목표로 한다. 본 발명의 실시예에 따른 핑거프린팅 방식이 수행되는 시스템의 구조는 도 5와 같이 나타낼 수 있다.
도 5를 참조하면, 강력한 지문은 관계형 데이터베이스의 숫자 속성에 임베딩된 구매자 정보를 식별하고 검증한다. 디코딩 문자열을 임베딩 문자열의 배열과 일치시켜 악의적인 반역자를 운반한다. 지문으로 임베딩된 비트열은 적절한 시퀀스를 통해 생성된 의미있는 시퀀스이다. 의미있는 패턴은 이미지, 소유자 정보 또는 오디오 신호이다. 의미없는 시퀀스는 임의의 비트이거나 비밀 키 ks 및 암호화 해시 함수 MD5와 같은 일부 개인 속성을 사용하여 런타임 시 클라이언트 정보를 통해 계산될 수 있다. 이러한 무의미한 문자열 시퀀스는 강력하고, 원하는 지문의 속성을 강화한다. 의미없는 비트 문자열은 삽입, 삭제 및 업데이트 공격과 같은 광범위한 악의적인 공격에 대해 예측할 수 없고, 강력하다. 악의적인 공격의 주요 목적은 관계형 데이터베이스를 제거, 탐지 불가능, 추적 불가능, 변경하게 만드는 것이다. 디지털 콘텐츠에 지문이 임베딩될 때, 원본 콘텐츠에 약간의 노이즈 및 데이터 왜곡이 발생할 수 있다. 지문 비트를 임베딩하기 전 및 데이터베이스에 서명 임베딩 절차를 완료한 후에, 평균 및 표준편차를 사용하여 관계형 데이터베이스 계산의 전반적인 변화가 산출된다.
본 발명의 실시예에 따른 핑거프린팅 방식은 핑거프린팅 및 전반적인 데이터 왜곡을 임베딩하여 생성되는 노이즈를 최소화하는데 중점을 둔다. 관계형 데이터베이스는 데이터 왜곡을 유발하는 소량의 노이즈를 견딜 수 있다고 가정한다.
한편, 본 발명의 실시예에 따른 핑거프린팅 방식은 핑거프린트 비트를 관계형 데이터베이스의 숫자 속성에 임베딩함으로써, 발생하는 왜곡을 최소화할 수 있다. 기존 기술의 또 다른 단점은 원본 데이터의 선택된 속성의 원본 콘텐츠 값에 의존한다. 본 발명의 실시예에 따른 핑거프린팅 방식은 원본 데이터와 무관하고, 데이터 소유자 또는 데이터 보호 권한 기관만 알고 있는 일부 값을 포함하는 배열이 도입된다. 이 파일 관찰 크기는 원본 데이터베이스에 비해 매우 작다. 핑거프린팅 기술의 견고성과 관련된 또 다른 측면은 핑거프린팅을 마크하는데 사용할 수 있는 총 대역폭 사이즈이다. 더 큰 대역폭은 지문 문자열을 임베딩할 가능성과 공간이 더 많다는 것을 의미한다. 대역폭이 가장 작다는 것은 지문을 삽입할 수 있는 선택지가 제한적이라는 것을 의미하며, 공격자의 악의적인 공격에 대해 훨씬 더 강력하지 않다. 사용성 제약과 관계형 데이터베이스 대역폭의 사이즈를 증가시켜 높은 수준의 견고성이 달성될 수 있다.
도 6은 본 발명의 실시예에 따른 핑거프린팅 장치가 수행하는 클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 방법을 개략적으로 예시하여 나타낸 흐름도이다.
강력한 지문 알고리즘은 지문 비트를 데이터 세트에 임베딩하는데 사용된다. 지문 임베딩 알고리즘은 비밀키 ks 및 지문 비트 를 입력으로 받아 데이터 세트 D를 지문 데이터 세트 DFP로 변환한다. 워터마킹에 의한 수정(왜곡)은 사용성 제약 행렬 에 의하여 제한된다. 본 발명의 실시예에 따른 클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 방법은 결국 데이터 세트를 사용할 모든 가능한 타입의 어플리케이션에 대하여 한번만 정의된다. 이하, 도 6을 참조하여, 본 발명의 실시예에 따른 클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 방법에 대하여 설명하기로 한다.
S610 단계에서, 핑거프린팅 장치는, 관계형 데이터베이스에 저장된 관계형 데이터 세트를 미리 설정된 개수로 파티셔닝(partitioning)하여 데이터 파티션(Data Partition)을 생성한다.
임베딩 프로세스를 초기화하기 위하여 우선, 관계형 데이터 세트를 여러 하위 그룹으로 나눈다. m이 데이터 소유자에게 알려진 개인 제약 조건 번호인 경우, 이러한 파티션은 겹치지 않으며, 분할이 논리적으로 수행된다. 물리적 데이터 위치는 유사하게 유지되며, 원본 데이터 세트의 형태에 영향을 주지 않는다. 이 데이터 세트는 m(예를 들어, m=100)개의 파티션으로 나뉘어 가 된다. 이 논리적 분할은 집합 이론의 기본 연산(예를 들어, 합집합, 교집합 및 공집합)을 수행한다. 각 파티션에 공통 요소가 없기 때문에, 다른 세트의 교집합이 비어 있는 것으로 관찰된다. 각 튜플은 로 하나의 파티션에만 속한다. 또한, 각 튜플은 각 파티션이 원본 데이터셋으로 소진되는 교집합의 속성이 로 만족된다. 이 논리적 데이터 파티션은 모든 각 하위 그룹이 최소한 하나의 튜플을 포함하는 속성을 가진다. 이므로, 데이터 파티션 그룹은 비어 있을 수 없다. 각 파티션의 여러 튜플이 동일할 필요는 없다. 데이터 파티션은 두 레벨의 파티션으로 완료된다. 데이터는 레벨 1에서 m개의 하위 카테고리로 데이터를 분류하도록 파티션된다. 그런 다음, 최종 파티션이 수행되고, 모든 하위 그룹은 m' = 0 및 m' = 1에 대하여 2개의 주요 카테고리로 분류된다. 관계형 데이터베이스에서, 모든 튜플의 기본키는 비밀키 ks 및 암호화 해시 함수와 연결된다. 비밀키는 개인 매개변수이며, 데이터 소유자만 알고 있다. 해시 함수 타입에 따라 16진수 문자열이 생성된다. 광범위한 보안을 제공하는 MD5(Message Digest 5) 해시 알고리즘을 이용하여 1a 28비트의 해시값이 생성된다. 16진수 값이 획득된 후, m의 메소드 값을 고려한다. m 값도 비밀로 유지된다. 모든 행을 m개의 하위 그룹으로 분류한다. 첫번째 레벨의 하위 그룹화를 완료한 후, 모든 하위 그룹 요소를 두 레벨의 추가 파티션으로 나눈다. 이러한 데이터 파티션을 수행하는 알고리즘은 하기 표와 같이 나타낼 수 있다.
S620 단계에서, 핑거프린팅 장치는, 생성된 데이터 파티션에서 서브셋 데이터를 선택한다.
원본 데이터의 왜곡과 노이즈를 최소화하기 위하여, 선택된 튜플만 핑거프린팅을 위하여 지정된다. 속성 선택은 데이터 소유자가 정의하는 사용성 제약 조건을 기반으로 한다. 여기서, 사용성 제약 조건은 데이터 손실의 사용성을 제어하고, 판매자에 의하여 정의되고, 지문 임베딩에 사용 가능한 대역폭 내에서 식별하는데 사용된다. 여기서, 대역폭은 데이터가 위치하는 관계형 데이터베이스의 최대 용량이다. 핑거프린팅 알고리즘의 지문 디코딩 효율은 일반적으로, 이 대역폭에 따라 다르다. 대역폭이 클수록 디코딩 정확도가 높아진다. 즉, 지문 기술이 많을수록, 다중 공격에 대해 더 강력하고, 그 반대의 경우도 마찬가지이다. 데이터 수신자는 왜곡이 최소화된 이상없는 원본 데이터를 원한다. 판매자는 변경사항을 바인딩하기 위하여 사용성 제약 조건을 정의한다.
정보를 보존하기 위하여, 판매자는 관계형 데이터베이스에서 사용성 제약 조건을 정의한다. 선택된 속성 제약 조건은 포함된 값을 기반으로 선택된다. 결과값은 제한된 속성값에 대해 증가 또는 감소 연산을 수행한다. 최종값의 평균 및 표준 편차는 변경되지 않는다. 핑거프린팅할 데이터를 선택하기 위한 속성 선택을 위하여, 하기 수학식을 이용하여 데이터 선택 임계값이 산출된다.
데이터 파티션 은 데이터 선택을 위한 입력으로 주어지고, 데이터베이스 는 결과 출력으로 주어진다. 데이터베이스 는 값이 임계값 제한을 충족하는 튜플만 포함한다. 지문 인코딩 프로세스의 경우, 속성 Ai가 임계값 을 초과하는 튜플만 데이터베이스 에 삽입된다. 에서 각 파티션 튜플에 대하여, 평균(), 사용자에 의하여 선택된 일부 백분율 값(), 표준 편차() 및 표준 편차의 백분율 값()이 있다. 백분율 값은 0에서 100 사이이며, 데이터 소유자에 의하여 정의된다. c는 0에서 1 사이의 값을 갖는 신뢰 계수이다. 표준 편차의 백분율 값 과 c는 비밀이 유지된다. 보안 매커니즘을 강화하면, 공격자는 지문이 삽입된 선택된 튜플을 추측하기 매우 어렵다. 이 값은 데이터 소유자에 의하여 임의로 정의된다. 두 개의 비밀 매개변수를 사용하는 목적은 표준 편차의 백분율 값 과 신뢰 계수 c의 두 매개변수 값을 모두 정확하게 추측할 수 없기 때문이다. 공격자가 임계값을 계산하는 것은 모든 면에서 불가능해 진다. 를 표준 편차의 백분율 값 과 곱하고, 결과 평균()을 신뢰 계수 c의 값과 곱한 값으로 나누어 임계값 계산이 수행된다. 하기 수학식을 통해 획득되는 임계값 및 임계값 보다 큰 모든 속성 값은 데이터베이스 에 저장된다.
지문 임베딩은 데이터베이스 에서 선택된 튜플의 지정 속성에 대하여 수행되며, rAi는 선택된 튜플의 속성이다. 선택한 튜플의 지정된 속성은 Ai, 0에서 n-1의 튜플 및 속성 열의 속성 값으로 표시될 수 있다. 여기서, v는 하기 수학식과 같이, 속성 의 값에 적용된다.
여기서, Ri는 선택된 튜플이다.
이러한 데이터 선택을 수행하는 알고리즘은 하기 표와 같이 나타낼 수 있다.
S630 단계에서, 핑거프린팅 장치는, 선택된 서브셋 데이터에 대한 지문 비트를 생성한다.
이 단계에서는, 클라우드 환경에서 접근 요청이 제출될 때, 각 클라이언트에 대하여 F 지문 비트가 생성된다. 2진 지문 문자열은 IP 주소, MAC 주소 , 날짜-시간 스탬프 협정 세계시(UTC: Universal Time Coordinated) , 로그인 아이디 및 구매자 아이디 를 기반으로 고객 표시 정보로부터 생성된다. 그런 다음, 지문 문자열 생성은 하기 수학식의 로잉 함수(lowing function)로 계산된다.
여기서, 구매자 아이디 , IP MAC 주소, 날짜-시간 스탬프 , 비밀키 ks를 가지는 로그인 아이디 및 지문 비트 를 생성하는 MD5 해시 함수 사이에서 하기 수학식과 같은 연결 연산이 수행된다.
이 지문 비트는 지문 인코딩 함수의 입력으로 주어진다. 지문 길이 은 MD5 해시 함수에 의하여 생성되는 값을 가지는 고정길이 128비트이다.
지문 생성 함수 는 16진 문자열을 2진 비트 문자열 로 변환한다.
그러나, 는 디코딩 지속을 위하여 데이터베이스 에서 모든 구매자 지문 코드워드 문자열 을 유지하는 것을 수반한다. 충돌 공격을 무력화하기 위하여 지문 코드 데이터베이스를 비밀로 유지함으로써, 보안 오버헤드에 이른다. 일부 보안 조치는 데이터베이스 데이터 접근 제어, 비밀번호 및 암호화를 보호하기 위하여 필수적이다. 보안 문제를 극복하기 위하여, 데이터 소유자는 암호화 해시 함수 를 이용하여 공개 및 비공개될 수 있는 판매자의 비밀키 ks 및 구매자의 일련번호 로부터 고유한 구매자 지문 를 생성한다. 함수 는 임의 사이즈 문자열의 데이터 S를 고정 사이즈 문자열 로 매핑하고, 해시 함수에 의하여 반환된 값을 해시라고 한다. 이러한 지문 생성을 수행하는 알고리즘은 하기 표와 같이 나타낼 수 있다.
S640 단계에서, 핑거프린팅 장치는, 생성된 지문 비트를 이용하여 지문 임베딩을 수행한다.
본 발명의 실시예에 따른 핑거프린팅 방법은 다중 비트 알고리즘을 사용한다. 다중 비트는 각 클라이언트에 대하여, 지문의 길이가 0에서 L-1까지이고, 데이터베이스 의 지정된 속성의 선택된 튜플에 이 비트 문자열이 임베딩된다는 것을 의미한다. 단순화를 위하여, 데이터베이스 의 파티션 세트 Pi에 신호 속성 이 포함되어 있다고 가정한다. 본 발명의 실시예에 따른 핑거프린팅 방법은 관계형 데이터베이스의 지정된 튜플의 숫자 속성에 각 고객에 대한 강력한 다중 비트 지문 서명 식별자를 임베딩한다. 서명 임베딩의 경우, 지문 서명 문자열과 m 간에 XOR 연산이 수행된다. 지문 서명 문자열은 전술한 알고리즘 3을 통해 생성되며, m은 레벨 2의 논리 파티션 번호이다. 결과 비트가 계산되며, 결과는 부호 비트 중 하나이며, m 비트는 동일하다. 그렇지 않으면, 0이 된다. 이 단계는 지문 서명의 실제 길이인 L-1번 수행된다. 모든 집합 비트는 결합되어, 결과 어레이 에 저장된다. 이 어레이의 길이는 지문 서명 문자열과도 동일하다. 결과 배열은 각 구매자에 대한 비트 문자열을 보존하고, 이 배열은 데이터 소유자 또는 저작권 모니터링 기관에 의하여 유지된다.
일반적인 인코딩 규칙은 하기 수학식으로 정의된다.
여기서, fi는 원래의 계수 ui와 동일한 지문 계수를 나타내고, vi는 지문 길이를 나타내고, fbi는 지문 서명 부분을 나타낸다. 핑거프린팅 절차 동안 만들어지는 총 데이터 왜곡은 하기 수학식으로 나타낼 수 있다.
결과 배열이 다중 비트 지문 임베딩을 위하여 지정된 속성의 최하위 비트(LSB)와 동일하다고 가정한다. 이 경우, LSB 는 그대로 유지되고, 그렇지 않으면 뒤집는다. 인코딩 후 LSB를 제거하고, 지문 서명 문자열의 나머지 비트를 다시 확인한다. 왼쪽이 0이면 임베딩을 중단한다. 이 단계를 L-1회 반복하고, 속성 값을 업데이트한다. 다중 비트 지문 서명 길이는 0에서 L-1이고 알고리즘 2를 사용하는 실시간 시나리오에서 계산된 공모없는 고정 길이 서명 문자열이다. 비트 m은 선택한 속성의 기본키를 기반으로 지정된 속성에 대하여 생성되므로, 전체 지문 서명에 대하여 동일하게 유지된다. 선택된 튜플의 지정된 모든 속성에 동일한 지문 서명이 적용된다. 모든 데이터 파티션 Pi에 대하여 동일한 적용 절차를 반복한다. 공격자가 핑거프린팅된 속성 값을 성공적으로 삭제하거나 업데이트하고, 핑거프린팅된 속성을 하나만 남길 경우, 보호 수준이 향상된다. 본 발명의 실시예에 따른 핑거프린팅 방법은 100%의 디코딩 정확도를 제공할 수 있다. 때때로, 데이터 통계에 이상이 포함되지 않는 것이 실생활에서 매우 중요하다. 또한, 평균 및 표준 편차 결과와 같은 통계가 지문 서명 임베딩 전후에 동일하거나 대략적으로 같아야 하는 민감한 데이터가 필요할 수 있다.
이러한 지문 임베딩을 수행하는 알고리즘은 하기 표와 같이 나타낼 수 있다.
S650 단계에서, 핑거프린팅 장치는, 공격을 받은 것으로 판단된 관계형 데이터베이스에 저장된 관계형 데이터 세트에 대하여 지문 디코딩을 수행한다.
지문 디코딩은 불법적으로 복사된 의심스러운 데이터 세트에서 임베딩된 지문 비트 문자열을 디코딩한다. 데이터 파티션은 지문 인코딩 단계에서와 같이, 데이터 파티션 알고리즘을 생성하기 위하여 지문 인코딩을 수행하는 것과 동일한 단계를 이용하여 생성된다.
지문 디코딩은 보안 요구사항에 따라 공개 또는 비공개가 될 수 있다. 블라인드 디코딩 알고리즘은 임베딩된 지문 원본 데이터가 필요하지 않다. 마크된 속성과 튜플이 식별되고, 지문 비트를 디코딩한다. 지문 디코딩 단계는 반역자를 식별하기 위하여 의심스러운 데이터베이스로부터 지문 문자열을 검출한다. 검출을 위하여, 디코딩 프로세스를 시작하기 위하여, 동일한 처리절차 및 공식이 수행된다. 이 절차는 임베딩 단계, 논리적 데이터 파티셔닝, 임계값 계산, 지정 속성 선택, m 양방향 파티션의 값의 계산, 결과 어레이로부터의 문자열 선택 및 결과 어레이 의 길이의 반복과 동일하다. 지문 비트는 길이 0에서 L-1로 동일하고, 이 단계는 L번 반복된다. 결과 비트와 m비트가 동일하고, 생성된 지문 비트가 속성 값의 LSB와 동일하고 가정한다. 이 경우, 지정된 속성의 가장 중요하지 않은 값은 변화가 없다. 그렇지 않으면, 지정된 속성의 LSB를 뒤집는다. 어레이 에서 지문 비트 를 저장한다. 여기서, 값이 0일 때, 0의 숫자를 1씩 증가시킨다.
최종 임베딩된 지문 정보를 적절하고 효율적으로 디코딩하기 위하여, 다수결 투표 메커니즘이 수행된다. 광범위한 악의적인 공격에 대하여 더 나은 보안 및 디코딩 정확도를 만드는 것을 목표로 한다. 결국, 다수결 투표가 수행되고, 어레이 에서 0의 수가 1보다 크다는 것이 확인된 다음, 에 0과 동일한 값을 설정하고, 그렇지 않으면, 1로 설정한다. 감지된 지문 문자열을 저장된 지문과 일치시키고, 반역자 정보, 유죄 사용자를 반환하고, 데이터베이스의 불법 복사본을 배포한다. 지문 디코딩은 의심스러운 데이터로부터 임베딩된 지문 비트 문자열을 디코딩하는데 사용된다. 데이터 소유자가 자신의 관계 데이터 R에서, 일부 데이터 세트가 불법적으로 복사, 재배포 또는 변조되었다는 혐의를 받았을 때, 가능한 시나리오에 따라 지문 검출이 발생한다. 핑거프린팅 알고리즘의 지문 디코딩 효율은 일반적으로, 대역폭에 따라 달라진다. 대역폭이 클수록, 디코딩 정확도가 높아진다. 즉, 지문 기술이 많을수록, 다중 공격에 대하여 더 강력해진다. 이러한 지문 디코딩을 수행하는 알고리즘은 하기 표와 같이 나타낼 수 있다.
도 7은 본 발명의 실시예에 따른 클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 장치의 구성을 개략적으로 예시하여 나타낸 도면이다.
도 7을 참조하면, 본 발명의 실시예에 따른 클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 장치는 프로세서(10), 메모리(20), 통신부(30) 및 인터페이스부(40)를 포함한다.
프로세서(10)는 메모리(20)에 저장된 처리 명령어를 실행시키는 CPU 또는 반도체 소자일 수 있다.
메모리(20)는 다양한 유형의 휘발성 또는 비휘발성 기억 매체를 포함할 수 있다. 예를 들어, 메모리(20)는 ROM, RAM 등을 포함할 수 있다.
예를 들어, 메모리(20)는 본 발명의 실시예에 따른 클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 방법을 수행하는 명령어들을 저장할 수 있다.
통신부(30)는 통신망을 통해 다른 장치들과 데이터를 송수신하기 위한 수단이다.
인터페이스부(40)는 네트워크에 접속하기 위한 네트워크 인터페이스 및 사용자 인터페이스를 포함할 수 있다.
한편, 전술된 실시예의 구성 요소는 프로세스적인 관점에서 용이하게 파악될 수 있다. 즉, 각각의 구성 요소는 각각의 프로세스로 파악될 수 있다. 또한 전술된 실시예의 프로세스는 장치의 구성 요소 관점에서 용이하게 파악될 수 있다.
또한 앞서 설명한 기술적 내용들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예들을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 하드웨어 장치는 실시예들의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
상기한 본 발명의 실시예는 예시의 목적을 위해 개시된 것이고, 본 발명에 대한 통상의 지식을 가지는 당업자라면 본 발명의 사상과 범위 안에서 다양한 수정, 변경, 부가가 가능할 것이며, 이러한 수정, 변경 및 부가는 하기의 특허청구범위에 속하는 것으로 보아야 할 것이다.
Claims (7)
- 핑거프린팅 장치가 수행하는 클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 방법에 있어서,
관계형 데이터베이스에 저장된 관계형 데이터 세트를 미리 설정된 개수로 파티셔닝(partitioning)하여 데이터 파티션(Data Partition)을 생성하는 단계;
상기 생성된 데이터 파티션에서 서브셋 데이터를 선택하는 단계;
상기 선택된 서브셋 데이터에 대한 지문 비트를 생성하는 단계;
상기 생성된 지문 비트를 이용하여 지문 임베딩을 수행하는 단계; 및
공격을 받은 것으로 판단된 관계형 데이터베이스에 저장된 관계형 데이터 세트에 대하여 지문 디코딩을 수행하는 단계를 포함하되,
상기 서브셋 데이터를 선택하는 단계는,
하기 수학식을 이용하여 상기 데이터 파티션의 선택 임계값()을 산출하고, 상기 산출된 선택 임계값을 이용하여 상기 서브셋 데이터를 선택하는 것을 특징으로 하는 클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 방법.
여기서, 는 표준편차이고, 는 표준 편차의 백분율 값이고, 는 평균이고, c는 미리 설정된 신뢰 계수임
- 삭제
- 제1항에 있어서,
상기 지문 비트를 생성하는 단계는,
IP 주소, MAC 주소 , 날짜-시간 스탬프 협정 세계시(UTC: Universal Time Coordinated) , 로그인 아이디 및 구매자 아이디 를 이용하여 상기 지문 비트를 생성하는 것을 특징으로 하는 클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 방법.
- 제1항에 있어서,
상기 지문 비트를 생성하는 단계는,
MD5(Message Digest 5) 해시 함수를 이용하여 16진 문자열을 생성하고, 상기 생성된 16진 문자열을 2진 비트 문자열로 변환하여 상기 지문 비트를 생성하는 것을 특징으로 하는 클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 방법.
- 제1항에 있어서,
상기 지문 임베딩을 수행하는 단계는,
하기 수학식의 인코딩 규칙을 이용하여 상기 지문 임베딩을 수행하는 것을 특징으로 하는 클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 방법.
여기서, fi는 원래의 계수 ui와 동일한 지문 계수를 나타내고, vi는 지문 길이를 나타내고, fbi는 지문 서명 부분을 나타냄
- 제1항에 있어서,
상기 지문 디코딩을 수행하는 단계는,
상기 공격을 받은 것으로 판단된 관계형 데이터베이스에 대하여, 상기 데이터 파티션을 생성하는 단계, 상기 서브셋 데이터를 선택하는 단계, 상기 지문 비트를 생성하는 단계 및 상기 지문 임베딩을 수행하는 단계를 적용하여 수행되는 것을 특징으로 하는 클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 방법.
- 클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 장치에 있어서,
명령어를 저장하는 메모리; 및
상기 명령어를 실행하는 프로세서를 포함하되,
상기 명령어는,
관계형 데이터베이스에 저장된 관계형 데이터 세트를 미리 설정된 개수로 파티셔닝(partitioning)하여 데이터 파티션(Data Partition)을 생성하는 단계;
상기 생성된 데이터 파티션에서 서브셋 데이터를 선택하는 단계;
상기 선택된 서브셋 데이터에 대한 지문 비트를 생성하는 단계;
상기 생성된 지문 비트를 이용하여 지문 임베딩을 수행하는 단계; 및
공격을 받은 것으로 판단된 관계형 데이터베이스에 저장된 관계형 데이터 세트에 대하여 지문 디코딩을 수행하는 단계를 포함하는 핑거프린팅 방법을 수행하고,
상기 서브셋 데이터를 선택하는 단계는,
하기 수학식을 이용하여 상기 데이터 파티션의 선택 임계값()을 산출하고, 상기 산출된 선택 임계값을 이용하여 상기 서브셋 데이터를 선택하는 것을 특징으로 하는 클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 장치.
여기서, 는 표준편차이고, 는 표준 편차의 백분율 값이고, 는 평균이고, c는 미리 설정된 신뢰 계수임
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210192665A KR102578606B1 (ko) | 2021-12-30 | 2021-12-30 | 클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 장치 및 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210192665A KR102578606B1 (ko) | 2021-12-30 | 2021-12-30 | 클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 장치 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20230102488A KR20230102488A (ko) | 2023-07-07 |
KR102578606B1 true KR102578606B1 (ko) | 2023-09-14 |
Family
ID=87154274
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210192665A KR102578606B1 (ko) | 2021-12-30 | 2021-12-30 | 클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 장치 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102578606B1 (ko) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101496854B1 (ko) | 2013-03-04 | 2015-03-02 | 황선철 | 디지털 핑거프린팅 방법 |
KR101735093B1 (ko) * | 2013-12-10 | 2017-05-12 | 한국전자통신연구원 | 클라우드 스토리지 서비스에서 파일 공유 방법 및 그 장치 |
-
2021
- 2021-12-30 KR KR1020210192665A patent/KR102578606B1/ko active IP Right Grant
Non-Patent Citations (2)
Title |
---|
박지선 외 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 |
---|---|
KR20230102488A (ko) | 2023-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11366878B2 (en) | Method and apparatus for delivering encoded content | |
Li et al. | Fingerprinting relational databases: Schemes and specialties | |
Guo et al. | A fragile watermarking scheme for detecting malicious modifications of database relations | |
US9607131B2 (en) | Secure and efficient content screening in a networked environment | |
Li et al. | Constructing a virtual primary key for fingerprinting relational data | |
Camara et al. | Distortion‐Free Watermarking Approach for Relational Database Integrity Checking | |
JP2004088598A (ja) | 電子透かし埋め込み装置、電子透かし解析装置、電子透かし埋め込み方法、電子透かし解析方法及びプログラム | |
JPH0816104A (ja) | 分散化した照合子による情報保全検証方法及び装置 | |
CN101894238A (zh) | 基于双重认证的word文档电子印章系统及方法 | |
US7643637B2 (en) | Efficient code constructions via cryptographic assumptions | |
US20080301456A1 (en) | Efficient Secure Forensic Watermarking | |
KR101036701B1 (ko) | 하드웨어 변경의 허용 범위를 갖는 컴퓨터 시스템에 비밀을 연계시키는 시스템 | |
CN110188545B (zh) | 一种基于链式数据库的数据加密方法及装置 | |
US7571490B2 (en) | Method and apparatus for protecting data from unauthorized modification | |
Iftikhar et al. | A survey on reversible watermarking techniques for relational databases | |
Hamadou et al. | Reversible fragile watermarking scheme for relational database based on prediction‐error expansion | |
Niyitegeka et al. | Dynamic watermarking-based integrity protection of homomorphically encrypted databases–application to outsourced genetic data | |
Khanduja et al. | A generic watermarking model for object relational databases | |
KR102578606B1 (ko) | 클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 장치 및 방법 | |
Lee | Multipurpose protection for numeric data with capabilities of self-authentication and ownership declaration | |
Khanduja et al. | Watermarking Categorical Data: Algorithm and Robustness Analysis. | |
JP2007158984A (ja) | 電子文書の真正性保証方法および電子文書の公開システム | |
Alfagi et al. | Survey on relational database watermarking techniques | |
Mazhar et al. | ‘Survey on relational database watermarking employing evolutionary methods | |
Lin et al. | Approach of tamper detection for sensitive data based on negotiable hash algorithm |
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 |