KR20040105871A - 워터마킹 컴퓨터, 방법, 컴퓨터 프로그램과 워터마크 측정컴퓨터, 방법, 컴퓨터 프로그램 및 데이터 저장부 - Google Patents

워터마킹 컴퓨터, 방법, 컴퓨터 프로그램과 워터마크 측정컴퓨터, 방법, 컴퓨터 프로그램 및 데이터 저장부 Download PDF

Info

Publication number
KR20040105871A
KR20040105871A KR10-2004-7016421A KR20047016421A KR20040105871A KR 20040105871 A KR20040105871 A KR 20040105871A KR 20047016421 A KR20047016421 A KR 20047016421A KR 20040105871 A KR20040105871 A KR 20040105871A
Authority
KR
South Korea
Prior art keywords
marked
watermark
attribute
bit
tuple
Prior art date
Application number
KR10-2004-7016421A
Other languages
English (en)
Other versions
KR100602339B1 (ko
Inventor
아그라월라케쉬
키어난제랄드조지
Original Assignee
인터내셔널 비지네스 머신즈 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인터내셔널 비지네스 머신즈 코포레이션 filed Critical 인터내셔널 비지네스 머신즈 코포레이션
Publication of KR20040105871A publication Critical patent/KR20040105871A/ko
Application granted granted Critical
Publication of KR100602339B1 publication Critical patent/KR100602339B1/ko

Links

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/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • 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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Technology Law (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Biology (AREA)
  • Storage Device Security (AREA)
  • Editing Of Facsimile Originals (AREA)

Abstract

비밀 정보를 사용해서 비트 패턴을 설정함으로써 보안을 강화하는 방법 및 시스템이 개시되며, 이 패턴은 비밀 정보만을 사용해서 데이터베이스의 카피(인증된 것이나 인증되지 않은 것)에서 검출될 수 있는 워터마크를 설정한다.

Description

워터마킹 컴퓨터, 방법, 컴퓨터 프로그램과 워터마크 측정 컴퓨터, 방법, 컴퓨터 프로그램 및 데이터 저장부{SYSTEM AND METHOD FOR DIGITAL WATERMARKING OF DATA REPOSITORY}
소프트웨어, 이미지, 비디오, 오디오 텍스트와 같은 디지털 자산의 침해는 오랫동안 이들 자산의 소유자의 관심 대상이였다. 이들 디지털 자산의 보호는 일반적으로 데이터에 디지털 워터마크를 삽입하는 방법에 기초한다. 워터마킹 소프트웨어는 워터마킹되는 대상에 약간의 에러를 도입한다. 이러한 의도적인 에러는 마크라 불리며, 모든 마크가 모여서 워터마크를 이룬다. 마크는 데이터의 유용성에 큰 해를 가하지 말아야 하며, 데이터의 사용을 저해하는 일없이 악의적인 유저가 데이터를 파괴할 수 없도록 배치되어야 한다. 따라서, 워터마킹은 복사를 차단하는 것이 아니라, 재분배된 사본의 원래의 소유권을 설정하는 수단을 제공함으로써 불법 복제를 방지한다.
"방화벽 뒤 데이터 프로세싱(behind-the-firewalls data processing)"을 벗어난 애플리케이션에서의 데이터베이스의 사용량의 증가는 워터마킹 데이터베이스와 유사한 요구를 하고 있다. 예컨대, 반도체 산업에서, 반도체 분야의 파라메트릭 데이터는 Aspect, IHS 및 IC Master의 3개 기업에 의해 주로 제공된다. 이들은 모두 많은 사람을 고용해서 수동으로 데이터시트로부터 부분 사양을 추출해서 파라메트릭 데이터베이스를 만들고 있다. 이들은 이들 데이터베이스를 설계 기술자에게 고가로 사용하게 하고 있다. Acxiom과 같은 기업은 많은 소비자의 집합과 비지니스 데이터를 수집했다. 생명 과학 분야에서, Celera같은 기업의 주요 자산은 생명 과학 정보의 데이터베이스이다. 인터넷의 발달로 인해서, 이들 데이터의 제공자들은 유저가 데이터베이스를 원격으로 검색해서 액세스할 수 있는 서비스(e-유틸리티 또는 웹 서비스라 불림)를 제공해야 한다고 강하게 압박받고 있다. 이러한 추세가 최종 유저에게는 유익한 것이지만, 데이터 제공자를 데이터 절취의 위험에 노출시키고 있다.
데이터베이스 분야에서, 워터마킹은 워터마킹 멀티미디어 데이터용 기술에 반드시 존재할 필요가 없는 도전 과제를 요구하고 있고, 이들 대부분은 스틸 사진용으로 초기에 개발되었으며, 비디오 및 오디오 소스까지 확대된 것이다. 두 애플리케이션 사이의 차이는 다음과 같다.
1. 멀티미디어 객체는 상당한 여분을 가진 많은 수의 비트로 이루어진다. 따라서, 워터마크는 이를 감출 많은 커버를 갖고 있다. 한편 데이터베이스 릴레이션은 각각이 별도의 객체를 나타내는 튜플들(tuples)로 이루어진다. 워터마크가 이들 개개의 객체에 확산되어야 한다.
2. 다양한 멀티미디어 객체의 조각의 상대적인 공간/시간적인 위치는 전형적으로 변하지 않는다. 반면에 동일 릴레이션의 튜플이 하나의 세트를 이루고, 이들 사이에 내포되는 순서는 존재하지 않는다.
3. 멀티미디어 객체의 일부는 그 안에서 지각 변화(perceptual change)를 야기시키지 않고는 임의로 드롭되거나 대치될 수 없다. 그러나, 릴레이션의 절취는 일부 튜플을 간단하게 드롭시킬 수 있고, 이들을 다른 릴레이션으로부터의 튜플로 대치할 수도 있다.
이러한 차이로 인해서, 멀티미디어 데이터용으로 개발된 기술은 릴레이션을 워터마킹하는데 직접 사용될 수 없다. 유사하게, 정형화된 텍스트의 공간 특성을 이용하는 텍스트용 워터마킹 기술이 데이터베이스에 용이하게 적용될 수 없다. 또한, 컴퓨터 프로그램의 인스트럭션이 프로그램의 의미(semantic)를 바꾸지 않고 재배치될 수 있기 때문에, 워터마킹 소프트웨어 기술은 성공을 제한한다. 그러나 이러한 재순서화는 워터마크를 손상시킬 수 있다.
본 발명은 데이터 저장부 보안에 관한 것이다.
본 발명의 바람직한 실시예가 다음 도면을 단지 예로서 참조하면서 설명될 것이다.
도 1은 본 발명의 바람직한 실시예에 따른 시스템을 도시하는 개략도,
도 2는 본 발명의 바람직한 실시예에 따른 데이터베이스 내의 워터마크를 설정하는 로직의 흐름도,
도 3은 본 발명의 바람직한 실시예에 따라 워터마크가 테스트 데이터 구조에 존재하는지 판정하는 로직의 흐름도.
따라서, 본 발명은 튜플을 가진 데이터 저장부를 워터마킹하는 컴퓨터를 제공하되, 각각의 튜플은 하나 이상의 속성과 관련되며, 각각의 속성은 하나 이상의 비트 위치를 갖고 있고, 적어도 일부 비트 위치는 비트 값을 갖고 있으며, 이 컴퓨터는 개인 정보에 기초해서 적어도 일부 튜플의 적어도 하나의 속성에 대한 적어도 하나의 비트 위치의 워터마크 값을 설정해서, 워터마크를 설정하는 단계를 포함하는 방법을 수행하는 적어도 하나의 프로세서를 갖고 있다.
본 발명은 절취된 데이터의 카피를 식별하는데 바람직하게 사용될 수 있다.
워터마킹될 수 있는 데이터베이스 릴레이션이 자신의 일부 값의 변화가 애플리케이션에 영향을 미치지 않는 속성을 갖는 것이 바람직하다. 성능을 저하시키지 않으면서도 소량의 에러만을 허용할 수 있는 실제 세계의 데이터세트가 존재한다. 예컨대, 일기 예보 모델을 만들 때 사용되는 ACARS 기상 데이터는 각각 1.8m/s 및 0.5C 내에서 추정되는 풍향 및 온도를 갖는다. 바람직한 실시예에 따른 본 발명은 워터마킹에 의해 도입되는 에러가 그 데이터의 측정 허용범위 내에서 용이하게 구현될 수 있다는 것을 인식한다. 다른 실시예에서, 데이터 마이닝 기술(data mining techniques)을 사용해서 분석되는 실험적으로 획득된 유전자 표현 데이터 세트를 가정한다. 다시, 바람직한 실시예에 따른 본 발명은 데이터 집합 및 분석 기술의 특성이 일부 데이터 값의 변화가 결과에 영향을 미치지 않을 것이라는 사실을 인식한다. 유사하게, 소비재 제조 회사의 고객 분류 결과는 보조 데이터의 외부 제공자가 일부 거래로부터 소정량을 더하거나 빼더라도 영향을 받지 않을 것이다. 마지막으로, 위에 설명된 반도체 분야의 파라메트릭 데이터를 고려한다. 많은 파라미터에서, 워터마킹에 의해 도입된 에러는 측정 허용 범위 내에 들도록 만들어질 수 있다.
데이터 저장부는 예컨대 파일 시스템, 데이터베이스 또는 다른 기록 저장부가 될 수 있다. 컴퓨터는 바람직하게는 개인 정보에 기초한 튜플 중 일부의 속성의 비트 위치에 대해 워터마크 값을 설정해서 워터마크를 정의하는 비트 패턴을 설정한다.
바람직한 실시예에서, 수치 속성의 비트 위치만이 워터마크의 일부가 될 수 있다. 워터마크 값은 바람직하게는 적어도 하나의 개인 정보의 단방향 해시 함수(one-way hash function)에 부분적으로 기초해서 설정된다.
바람직한 실시예에 따라서, 컴퓨터는 워터마킹된 데이터베이스로부터 카피되었다고 예상되는 테스트 데이터베이스가 사실상 워터마크를 포함하는지 판단할 수 있다. 개인 정보를 사용해서, 컴퓨터는 워터마크가 테스트 데이터 구조에 미리 정해진 확률 내에서 존재하는 지 판정하는 것이 바람직하다.
바람직하게는, 튜플을 가진 테스트 데이터 저장부에 워터마크가 존재하는지 판정하는 다목적 컴퓨터가 제공된다. 개인 정보는 워터마크에 테스트 데이터 구조가 존재하는지 판정하는 데 사용된다.
일 실시예에서, 마킹될 튜플, 하나의 튜플 내에서 마킹될 속성, 하나의 속성 내에 마킹될 비트 위치 및 특정 비트 워터마크 값 중 적어도 하나가 개인 정보에 기초해서 측정된다.
일 실시예에서, 마킹될 튜플, 하나의 튜플 내에서 마킹될 속성, 하나의 속성 내에 마킹될 비트 위치 및 특정 비트 워터마크 값 중 적어도 2개가 개인 정보에 기초해서 측정된다.
일 실시예에서, 마킹될 튜플, 하나의 튜플 내에서 마킹될 속성, 하나의 속성 내에 마킹될 비트 위치 및 특정 비트 워터마크 값 모두가 개인 정보에 기초해서 측정된다.
바람직하게는 수치 속성 내의 비트 위치만이 워터마크의 일부가 될 수 있다.
바람직하게는 워터마크 값은 적어도 하나의 개인 정보의 단방향 해시 함수에 기초해서 설정된다.
바람직하게는 테스트 데이터 구조를 수신하고, 개인 정보를 적어도 부분적으로 사용해서 이 테스트 데이터 구조에 워터마크가 존재하는지 판정한다.
바람직하게는, 미리 정해진 확률 내에서 테스트 데이터 구조에 워터마크가 존재하는지 판정한다.
일 실시예에서, 마킹될 튜플, 하나의 튜플 내에서 마킹될 속성, 하나의 속성 내에서 마킹될 비트 위치 및 특정 비트 워터마크 값 중 적어도 하나가 개인 정보에 기초해서 측정된다.
일 측면에 따라서, 본 발명은 튜플을 가진 데이터 저장부에 워터마크가 존재하는지 판정하는 컴퓨터를 제공하되, 각각의 튜플은 하나 이상의 속성과 관련되며, 각각의 속성은 하나 이상의 비트 위치를 갖고 있고, 적어도 일부 비트 위치는 비트 값을 갖고 있으며, 이 컴퓨터는 테스트 데이터 구조를 수신해서, 개인 정보를 적어도 부분적으로 사용해서 테스트 데이터 구조에 워터마크가 존재하는 지 판정하는 단계를 포함하는 방법을 수행하는 적어도 하나의 프로세서를 갖고 있다.
바람직하게는, 미리 정해진 확률 내에서 테스트 데이터 구조에 워터마크가 존재하는지 판정하는 것이 바람직하다.
바람직하게는, 테스트 데이터 구조를 획득한 데이터 저장부에 대해서, 워터마크 값이 개인 정보에 기초해서 적어도 일부 튜플의 일부 속성에 대한 적어도 일부 비트 위치에 대해 설정된다.
바람직한 실시예에 따라서, 디지털 처리 장치에 의해 판독가능한 컴퓨터 프로그램 저장 장치 및 데이터 저장부의 보안을 강화하기 위해 디지털 처리 장치에 의해 수행가능한 인스트럭션을 포함하는 프로그램 저장 장치 상의 프로그램이 제공되며, 이 프로그램은 개인 정보에 기초해서 복수의 마킹될 튜플을 결정하는 수단과, 각각의 마킹될 튜플 내의 적어도 하나의 마킹될 속성을 결정하는 수단과, 각각의 마킹될 속성 내에서 적어도 하나의 마킹될 비트를 결정하는 수단과, 마킹될 적어도 하나의 널이 아닌(non null) 비트의 워터마크 값을 설정해서, 워터마크를 설정하는 수단을 포함한다.
바람직한 실시예에 따라서, 데이터 저장부의 보안을 강화하는 방법이 제공되며, 비밀 정보를 사용해서 데이터 저장부 전체의 비트 값의 패턴을 설정하는 단계를 포함한다.
바람직한 실시예에서, 마킹될 데이터 저장부 내의 복수의 튜플이 개인 정보에 기초해서 결정된다.
바람직한 실시예에서, 각각의 마킹될 튜플 내에서 적어도 하나의 마킹될 속성이 결정된다.
바람직하게는, 각각의 마킹될 속성 내에서 적어도 하나의 마킹될 비트가 결정된다.
바람직하게는, 적어도 하나의 마킹될 각각의 널이 아닌 비트의 워터마크 값이 설정되어서 워터마크를 설정한다.
바람직한 실시예에 따라서, 디지털 처리 장치에 의해 판독가능한 컴퓨터 프로그램 저장 장치 및 디지털 처리 장치에 의해 수행가능한 인스트럭션을 포함하는 프로그램 저장 장치 상의 프로그램이 제공되며, 이 프로그램은 튜플을 가진 테스트 데이터 구조를 수신하는 수단과, 각각의 튜플에 대해서 이 튜플이 개인 정보에 기초해서 마킹되어야 했는 지 판정하고, 마킹되어야 했던 각각의 튜플 내의 적어도 하나의 속성에 대해서 그 속성이 마킹되어야 했는 지 판정하는 수단과, 마킹되어야 했던 각각의 속성 내의 적어도 하나의 비트에 대해서 그 비트가 마킹되어야 했는지 판정하는 수단과, 마킹되어야 했던 각각의 비트에 대해서 워터마크 값을 측정해서 테스트 데이터 구조가 워터마크를 포함하는지 판정하는 수단을 포함한다.
바람직하게는, 수치 속성에 있는 비트 위치만이 워터마크의 테스트되는 부분이다.
바람직하게는, 정정 비트 값의 카운트를 유지하고, 이 카운트에 기초해서 워터마크가 테스트 데이터 구조에 존재하는지 판정할 수 있다.
바람직하게는, 워터마크 값이 적어도 하나의 개인 정보의 단방향 해시 함수에 기초해서 적어도 부분적으로 판정된다.
바람직한 실시예에 따라서, 비밀 정보를 사용해서 값의 패턴이 테스트 데이터 구조에 존재하는지 판정하는 단계를 포함하는 방법이 제공된다.
바람직하게는 테스트 데이터 구조 내의 각각의 튜플에 대해서, 그 튜플이 개인 정보에 기초해서 마킹되어야 했는지 판정한다.
바람직하게는, 각각의 마킹되어야 했던 튜플 내의 적어도 하나의 속성에 대해서, 그 속성이 마킹되어야 했는지 판정한다.
바람직하게는, 각각의 마킹되어야 했던 속성 내의 적어도 하나의 비트에 대해서, 그 비트가 마킹되어야 했는지 판정한다.
바람직하게는 마킹되어야 했던 각각의 비트의 워터마크 값이 측정되어서 테스트 데이터 구조가 워터마크를 포함하는지 판정한다.
일 실시예에서, 적어도 일부 속성은 주요 키를 갖고 있고, 속성의 주요 키가 워터마크 값을 설정하는 데 사용된다.
일 실시예에서, 적어도 제 1 속성은 주요 키를 갖고 있지 않으며, 제 1 속성의 비트의 파티션이 워터마크 값을 설정하는 데 사용된다.
일 실시예에서, 적어도 일부 속성은 주요 키를 갖고 있으며, 속성의 주요 키는 비트 값을 설정하는 데 사용된다.
일 측면에 따라서, 본 발명은 튜플을 가진 데이터 저장부를 워터마킹하는 방법을 제공하되, 각각의 튜플은 하나 이상의 속성과 관련되며, 각각의 속성은 하나 이상의 비트 위치를 갖고 있고, 적어도 일부 비트 위치는 비트 값을 갖고 있으며, 이 방법은 개인 정보에 기초해서 적어도 일부 튜플의 적어도 하나의 속성에 대한 적어도 하나의 비트 위치의 워터마크 값을 설정해서 워터마크를 설정하는 단계를 포함한다.
다른 측면에 따라서, 튜플을 가진 데이터 저장부에 워터마크가 존재하는지 판정하는 컴퓨터 프로그램을 제공하되, 각각의 튜플은 하나 이상의 속성과 관련되며, 각각의 속성은 하나 이상의 비트 위치를 갖고 있고, 적어도 일부 비트 위치는비트 값을 갖고 있으며, 이 컴퓨터 프로그램은 컴퓨터 상에서 수행될 때, 테스트 데이터 구조를 수신해서, 개인 정보를 적어도 부분적으로 사용해서 테스트 데이터 구조에 워터마크가 존재하는 지 판정하는 단계를 수행하는 프로그램 코드 수단을 포함한다.
또 다른 측면에 따라서, 튜플을 가진 데이터 저장부에 워터마크가 존재하는지 판정하는 방법을 제공하되, 각각의 튜플은 하나 이상의 속성과 관련되며, 각각의 속성은 하나 이상의 비트 위치를 갖고 있고, 적어도 일부 비트 위치는 비트 값을 갖고 있으며, 이 방법은 테스트 데이터 구조를 수신해서, 개인 정보를 적어도 부분적으로 사용해서 테스트 데이터 구조에 워터마크가 존재하는 지 판정하는 단계를 포함한다.
다른 측면에 따라서, 튜플을 가진 데이터 저장부를 워터마킹하는 컴퓨터 프로그램을 제공하되, 각각의 튜플은 하나 이상의 속성과 관련되며, 각각의 속성은 하나 이상의 비트 위치를 갖고 있고, 적어도 일부 비트 위치는 비트 값을 갖고 있으며, 이 컴퓨터 프로그램은 컴퓨터 상에서 수행될 때 개인 정보에 기초해서 적어도 일부 튜플의 적어도 하나의 속성에 대한 적어도 하나의 비트 위치의 워터마크 값을 설정해서 워터마크를 설정하는 단계를 수행하는 프로그램 코드 수단을 포함한다.
다른 측면에 따라서, 각각 적어도 하나의 속성을 구비한 복수의 튜플을 포함한 데이터 저장부가 제공되며, 각각의 튜플을 적어도 하나의 속성을 포함하고, 각각의 속성은 하나의 값을 구비한 적어도 하나의 비트를 구비하고, 비트 사이의 값패턴은 보안 정보에 기초해서 설정된다.
우선 도 1을 참조하면, 전체적으로 참조 번호 (10)으로 표시된 시스템이 도시된다. 도시된 바와 같이, 시스템(10)은 파일 시스템과 같은 데이터 구조체 또는 저장부를 액세스하는 컴퓨터(12) 혹은 도 1에 도시된 실시예에서는 관련 데이터베이스(14)를 포함한다. 따라서, 컴퓨터(12)는 관련 데이터베이스 관리 시스템을 호스트할 수 있다. 워터마크 애플리케이션(16)은 컴퓨터(12)에서 수행되어서 도 2 및 도 3에 도시된 로직을 수행할 수 있다.
예시적이지만 한정적이지는 않은 실시예에서, 워터마크 애플리케이션(16)은JavaTM로 기록된 유저 정의 함수가 될 수 있다. 컴퓨터(12)는 JavaTM데이터베이스 접속(JDBCTM접속)을 사용해서 DB2 유니버설 데이터베이스TM(UDB) 버전 7을 수행하는 WindowsNT버젼 4.00 워크 스테이션이 될 수 있다. 다른 타입의 데이터베이스는 물론 메인 프레임 컴퓨터, 랩톱, 데스크톱, 노트북 컴퓨터를 한정없이 포함하는 다른 타입의 컴퓨터가 사용될 수 있다(Java, 모든 Java 기반 언어 및 JDBC는 미국 및 기타 국가에서 선 마이크로시스템의 상표이고, WindowsNT는 미국 및 기타 국가에서 마이크로소프트사의 등록 상표이며, DB2 유니버설 데이터베이스는 미국 및 기타 국가에서 IBM사의 상표임).
설명을 위해서, 도 1은 데이터 저장부(예컨대, 데이터베이스(14))가 튜플(18)을 포함하고 있고, 각각의 튜플(18)은 하나 이상의 속성(20)을 포함하는 것으로 도시하고 있다. 또한, 각각의 속성(20)은 하나 이상의 데이터 비트(22)를 포함할 수 있으며, 각각의 비트(22)는 예컨대 "0" 또는 "1"(혹은 어떤 경우에는 널)인 값(24)을 갖는다. 바람직한 실시예에서, 비트 값의 패턴 혹은 바람직하게는 데이터베이스 속성 값과 같은 패턴은 비밀 정보를 액세스하는 것을 제외하고는 검출될 수 없는 비밀정보를 사용해서 설정된다.
본 아키텍쳐의 위의 개념을 상정하면, 본 로직이 이하 설명되는 흐름도에 따라서 도 1에 도시된 아키텍쳐에서 수행된다는 것이 이해될 것이다. 흐름도는 컴퓨터 프로그램 소프트웨어로 실시되는 바람직한 실시예의 로직의 구조를 도시하고 있다. 당업자는 본 발명에 따라 기능하는 컴퓨터 프로그램 코드 소자 또는 전자 논리 회로와 같은 논리 소자의 구조를 도시한다는 것을 이해할 것이다. 바람직하게는, 머신 구성 요소를 통해서, 논리 소자가 디지털 처리 장치(즉, 컴퓨터)로 하여금 도시된 바에 대응하는 기능 단계의 시퀀스를 수행하게 하게 지시하는 형태가 될 수 있다.
즉, 로직은 일련의 컴퓨터 실행가능 인스트럭션으로 프로세서에 의해 수행되는 컴퓨터 프로그램에 의해 구현될 수 있다. 이들 인스트럭션은 예컨대 RAM 또는 하드 드라이브 또는 광 드라이브에 존재할 수 있으며, 인스트럭션은 자기 테이프, 전자 ROM 또는 다른 적절한 데이터 저장 장치에 저장될 수 있다. 본 발명의 도시된 실시예에서, 컴퓨터 실행가능 인스트럭션은 Java 또는 컴파일된 C++호환성 코드의 라인이 될 수 있다.
도 2를 참조하면, 데이터베이스(14)의 워터마크를 설정하는 로직을 볼 수 있다. 블록(26)에서 개시해서 루프 개인 정보가 사용되는 데이터베이스(14) 내의 각각의 튜플(18)에 실행 루프가 들어간다. 바람직한 개인 정보는 공공 키-개인 키 쌍의 개인키와 같은 "키"가 될 수 있지만, 비밀 번호의 열과 같은 임의의 개인 정보가 사용될 수도 있다.
도 2를 더 잘 이해하기 위해서, 다음 정의가 우선 제공된다.
데이터베이스(14)는 그 방식이 R(P, A0,...AV-1)인 데이터베이스 릴레이션(R)이 될 수 있으며, 여기서 P는 주요 키 속성이다. 설명을 위해서 모든 v개의 속성(A0,...AV-1)이 마킹될 후보라고 가정한다. 즉, 데이터베이스(14)는 ŋ개의 튜플을 갖고 있으며, v는 마킹에 사용될 수 있는 릴레이션의 속성의 갯수이고,는 속성에서 마킹에 이용가능한 최소 유효 비트의 수이다. 또한 1/는 마킹될 튜플의 대략의 분수를 나타내고, ω는 도 2의 로직 이후에 마킹되는 튜플의 수를 나타내며, α는 도 3을 참조로 이하 설명되는 바와 같이, 테스트 데이터 구조에 워터마크가 존재하는지 여부를 판정하기 위한 테스트의 유효 레벨을 나타내고, τ는 도 3에서 더 설명되는 바와 같이 워터마크의 존재를 나타내는 데 필요한 정확하게 마킹된 튜플의 최소 수를 나타낸다. 바람직하게는, 모든 마킹 후보 속성이 수치 속성이며, 그 값은 모든 속성에 대한개의 최소 유효 비트의 변화를 알 수 없을 정도이다. 기호, r.Ai는 튜플 r∈R에서 속성 Ai의 값으로, 사용가능한 속성의 세트이다.
이에 더해서, 특정 함수의 설명이 제공된다. 현재 제공되는 한정적이지는 않은 구현이 임의의 길이의 입력 메시지 M로 동작하도록 단방향 해시를 사용하고, H는 고정된 길이의 해시 값(h)을, 즉 h=H(M)을 리턴한다. 바람직한 해시 함수는 i) M이 주어진 면 h를 계산하기 쉽고, ii) h가 주어지면, H(M)=h인 M을 계산하는 것이 어렵고, iii) M이 주어지면 H(M)=H(M')인 다른 메시지 M'을 찾는 것이 어렵다는 추가적인 특성을 갖는다. 메시지 다이제스트(5) 및 SHA는 H의 2개의 좋은 선택이다.
메시지 인증 코드(MAC)는 키에 의존하는 단방향 해시 함수이다. F가 튜플 r의 주요 키 속성 r.P의 값을 랜덤화하는 MAC이라고 가정하면, 넓은 범위의 정수를리턴한다. F는 데이터베이스(14)의 소유자에게만 알려진 개인 키 k를 사용해서 살포될 수 있다. 바람직한 실시예에서, 다음 보안 MAC이 사용될 수 있다.
F(r.P)=H(KH(Kr.P))이고, 여기서는 접합성(concatenation)을 나타낸다.
이 정의를 상정하면서 도 2의 설명이 완료될 수 있다. 로직은 판정 블록(28)으로 가서, 바람직한 한정적이지는 않은 실시예에 따라 시험중인 튜플이 다음과 같이 마킹되어야 한다. 튜플은 F(r.P) mod가 0이라면 마킹되는 것으로 지정된다. 비밀 정보 K를 알고있는 유저만이 어떤 튜플이 마킹되는 것인고, 따라서 어떤 튜플이 마킹되었는지 쉽게 알 수 있다는 것을 이해할 것이다.
마킹용 테스트가 판정 블록(28)을 만족시키지 않는다면, 방법은 다음 튜플을 획득하도록 되돌아간다. 그렇지 않으면, 튜플이 마킹되는 경우 로직은 블록(30)으로 돌아가서 튜플의 어느 속성이 마킹될지 결정한다. 이를 위해서, 한가지 바람직한 한정적이지는 않은 실시예에서는, i번째 속성이 마킹용으로 선택되고, 여기서 속성 인덱스 i=F(r.P) mod v이다. 블록(32)을 가서, 선택된 속성에 대해서, 어떤 비트(s)가 마킹될 것이지 판정된다. 이를 위해서 한가지 바람직한 한정적이지는 않은 실시예에서, j번째 속성의 비트가 마킹용으로 선택되고, 여기서 비트 인덱스 j=F(r.P) mod이다. 마킹용으로 연속최소 유효 비트를 사용할 필요는 없다. 예컨대, 비트 값의 분포가 불규칙한(skew) 이들 비트 위치는 필요에 따라 제외될 수 있다.
블록(34)에서 해시 함수가 사용되어서 선택된 비트의 값을 측정한다. 이 값은 "워터마크 값"이라고 불린다. 바람직한 한정적이지는 않은 실시예에서, H(Kpk)가 짝수인 경우에 j번째 최소 유효 비트의 값은 "0"으로 설정되고, 홀수인 경우에는 "1"로 설정되며, 여기서 "pk"는 속성의 주요 키이다.
다음 유사 코드(pseudocode)는 위의 로직의 예이다. 유사 코드는 가장 계산 효율적인 형태가 아닌 본 개시물을 간략화하는 형태로 기록되어 있다.
이를 고려하면, 마킹은 속성의 값 중 일부를 증가시키고, 일부는 감소시키며, 일부는 변함없이 남겨둔다는 것을 이해할 것이다. 데이터베이스는 통상적으로 속성이 널 값을 가정하는 것을 가능하게 한다. 튜플을 마킹하는 동안 널 속성 값이 나타나면, 이 널값에는 마킹을 인가하지 않고 이를 그대로 남겨두는 것이 바람직하다. 어떤 경우에는, 한가지 한정되지 않은 실시예에서, 블록(36)에서 워터마크 값이 SQL 업데이트 함수를 사용해서 비트에 삽입될 수 있다. 이후에 로직은 다음 튜플을 패치하고, 루프는 판정 블록(28)을 돌아간다.
한가지 한정되지 않은 실시예에서, 튜플이 마킹될지 여부가 그 주요 키 속성에 따라 달라진다. 결론적으로, 튜플은 어떤 다른 튜플의 마킹을 실시하지 않고도 삽입될 수 있다. 유사하게, 튜플이 간단하게 검출될 수 있다. 튜플의 주요 키 속성을 업데이트할 때, 데이터베이스에 튜플을 저장하기 전에 마킹이 다시 계산될 수 있다. 비주요 키 속성을 업데이트할 때, 알고리즘이 이 속성을 마킹용으로 선택하지 않으면 아무것도 행해질 필요가 없다. 반면에, 그 속성이 마킹 후보라면, 데이터베이스에 저장하기 전에 마크가 속성 값에 인가될 수 있는 것이 바람직하다.
이는 릴레이션에 워터마킹될 주요 키가 존재하지 않는 경우가 될 수 있다. 이 경우, 릴레이션(R)이 하나의 수치 속성(A)으로 이루어진다고 가정하면, 속성(A)의 비트는 2개의 그룹으로 나누어진다. 값 r.A의 "X" 비트는 튜플 "r"의 "주요키 대치용"으로 사용되고, 나머지비트는 마킹용으로 사용된다. 릴레이션이 하나 이상의 속성을 갖고 있다면, 이들 중 하나가 대치용으로 사용될 수 있고, 나머지가 마킹용으로 사용될 수 있다. 최소 복제를 가진 속성이 주요 키 대치의 역할을 하도록 선택된다. 대치는 하나 이상의 속성으로 분산되어서 복제를 감소시킬 수 있다.
도 3을 참조하면, 모든 데이터베이스 혹은 일부와 같은 테스트 데이터 구조가 카피되었는지 역부가 판정될 수 있는 로직이 도시되어 있다. 이 로직은 이하 가능한 것으로(probabilistic), 다음과 같이 입증될 것이다.
블록(38)에서 시작해서, 실행 루프는 테스트 데이터 구조의 각각의 튜플에 들어가며, 개인 정보(K)를 사용할 수 있다. 판정 블록(40)에서, 시험중인 튜플이 인증된 워터마킹의 일부로 마킹되었는지 판정된다. 이를 위해서, 바람직한 한정적이지는 않은 실시예에서, F(r.P) mod는 0인지 판정된다. 0이면, 튜플은 도 2의 알고리즘에 따라 처리되어서 마킹되어야 한다. 마킹용 테스트가 판정 블록(38)을 만족시키지 않는다면, 방법은 다음 튜플로 돌아간다.
0이 아니라면, 튜플이 마킹되었어야 하는 경우, 로직은 블록(42)으로 가서 튜플의 어느 속성이 마킹되었는지 판정해서 도 2의 워터마킹이 수행된다. 이를 위해서, 바람직한 한정적이지는 않은 실시예에서, i번째 속성이 마킹용으로 선택되도록 지정되며, 여기서 속성 인덱스 i=F(r.P) mod v이다. 또한, j번째 비트가 마킹용으로 선택되도록 지정되며, 여기서 비트 인덱스 j=F(r.P) mod이다.
판정 블록(44)으로 가서, 블록(42)에서 선택된 비트의 실제 값이 그 값이 가지고 있어야 했던 값과 비교되며, 데이터 구조는 개인 정보 K와 워터마킹된다. 일치된다면, 블록(46)에서 카운트가 증가된다. 판정 블록(48)에서 마지막 튜플이 테스트되었는지 판정된다. 테스트되지 않았다면, 로직은 판정 블록(40)으로 돌아가서 다음 튜플을 검색한다. 테스트되었다면, 로직은 판정 블록(50)으로 가서 카운트가 임계값을 초과하는 지 판정한다. 초과하지 않는다면, 블록(52)에서 "워터마크 찾을 수 없음"이 리턴된다. 초과한다면, 블록(54)에서 "워터마크 발견(절취 의심)"이 리턴된다.
다음 유사 코드(pseudocode)는 워터마크 검출 로직의 한정적이지는 않은 실시예이다.
도 3의 검출 로직은 유저 정의 집합 함수(a user-defined aggregate function)를 사용해서 수행될 수 있으며, 워터마크가 발견되며 검출 함수는 "1"을 리턴하고, 그렇지 않으면 "0"을 리턴한다.
위의 유사 코드에서, 라인 8에서 사용되는 임계값 서브루틴은 다음과 같이 정의될 수 있다. 도 3의 로직이 "의심스러운" (테스트) 데이터베이스로부터 ω개의 튜플을 테스트하는 것으로 가정한다. 이들 테스트는 특정 비트 위치에서 로직이 검색값을 성공적으로 찾을 확률이 1/2인 베루누이 시행(Bernoulli trials)이 될 수 있다. 라인 8의 서브 루틴은 ω번의 시행에서 최소 τ번의 성공이 정확한 결과를 리턴할 확률이 α미만인 최소값 τ을 리턴한다. α의 크기가 시스템의 잘못된 히트(false hit)의 가능성을 결정하며, α가 낮을수록, 순수 테스트 데이터베이스를 워터마크를 가진 것으로 잘못 인식할 확률은 더 낮다.
도 3의 로직에서, 마킹된 튜플 속성은 생략되며, 그 튜플을 무시된다. 유사하게, 속성이 마킹되어야 했지만 널값을 갖고 있는 튜플이 발견되면, 튜플은 무시된다. 어떤 경우든, 매치 카운트(matchcount)와 토털 카운트(totalcount)의 값은 영향을 받지 않는다.
원래의 데이터 또는 워터마크에 액세스해서 판정에 도달할 필요없이 데이터로부터 정보의 비트를 간단하게 추출한다는 점에서, 검출 알고리즘은 맹목적(blind)이라는 것이 이해될 것이다. 릴레이션이 주기적으로 업데이트되기 때문에, 이는 데이터베이스 릴레이션에 중요하다. 맹목적인 검출없이, 각각의 릴레이션의 버젼이 유지될 필요가 있으며, 이는 원래의 버젼이 워터마크를 검출하는데 필요하기 때문이다.
특정 한정적이지는 않은 실시예에서, 위에 설명된 바와 같이 워터마크는 R의 튜플을 우선 검색함으로써 삽입될 수 있으며, 속성 P, A은 선택 리스트에 명시된다. 선택 상황은 데이터 엔진이 선택된 "r"의 튜플이 업데이트될 것이라는 것을 알도록 하는 추가 조항 "A의 업데이트용"을 포함할 수 있다. 페치된 각각의 튜플 "r"에 대해서, 워터마킹 알고리즘은 "r"가 갭에 들지(fall into a gap) 않아서, r.A의 값에 변화가 필요하다고 판정하면, 업데이트 상황은 r.A를 마킹하도록 발행될 수 있다. 업데이트 상황은 데이터베이스 엔진지 업데이트될 튜플이 r이라는 것을 알게 하는 "커서의 흐름" 조항을 가질 수 있다.
위에 설명된 바와 같이, 워터마크 검출은 선택 상황을 사용해서 의심 데이터베이스 릴레이션 S의 튜플을 페치함으로써 수행되며, 속성 P, A가 선택 리스트에 있다는 것을 나타낸다. 결과 튜플 "s"이 갭에 들지 않는다면, 카운트 "토털 카운트"가 증가된다. "s"가 마크를 포함하면, 카운터 "매치 카운트"도 증가된다. 모든 튜플이 처리되면, 검출 알고리즘은 "토털 카운트"에서 "매치 카운트" 마크를 찾을 확률이 유효 레벨 내에 있는지 판단한다. 유효 레벨 내에 있다면, 워터 마크가 검출된다.
데이터 에러가 어느 정도 허용되는지에 따라서, 용어 "갭"은 악의적인 카피자가 워터마크를 삭제하려고 시도하는 동안 큰 에러를 범하게 하도록 선택되며, 이 카피자의 데이터를 무용화시킨다. 갭은 마킹된 튜플의 수를 결정하는 제어 파라미터로, 여기서 ωŋ/이다.를 절충해서, 속성의 값에 도입된 에러의 크기를 결정한다. 즉, 튜플이 적게 마킹되었다면, 마킹된 속성의 값에 대해 만들어질 수 있는 변화의 크기가 더 커진다. 또한 악의적인 카피자가 값이 너무 커서 큰 에러가 나올 것이라고 예상하도록를 선택하며, 반면에 이 값을 과소 평가하면, 워터마크 제거에 성공할 확률이 감소한다. 유사하게 v도 악의적인 카피자에 의한 공격을 저지하도록 설정된다.
요컨대, α의 값을 감소시킴으로써, 잘못된 히트의 확률을 감소시키지만, 카피된, 가능하게는 변경된 데이터베이스의 워터마크가 손실될 가능성을 증가시킨다.의 값을 감소시키는 것은 시스템의 공격에 대한 견고성(robustness)을 증가시키지만, 워터마킹된 데이터 내의 데이터 에러를 증가시킨다. v 및의 값을 증가시키는 것은 견고성을 증가시키지만,의 경우에는 데이터 내의 에러값을 증가시킨다.

Claims (18)

  1. 튜플을 가진 데이터 저장부를 워터마킹하는 컴퓨터에 있어서 - 상기 튜플은 각각 하나 이상의 속성과 관련되며, 상기 속성은 각각 하나 이상의 비트 위치를 갖고 있고, 상기 비트 위치 중 적어도 일부는 비트 값을 갖고 있음 - ,
    개인 정보(private information)에 기초해서 상기 튜플 중 적어도 일부의 적어도 하나의 속성에 대한 적어도 하나의 비트 위치의 워터마크 값을 설정해서, 워터마크를 설정하는 단계를 포함하는 방법을 수행하는 적어도 하나의 프로세서를 갖고 있는
    워터마킹 컴퓨터.
  2. 제 1 항에 있어서,
    마킹될 튜플, 하나의 튜플 내의 마킹될 속성, 하나의 속성 내의 마킹될 비트 위치 및 특정 비트 워터마크 값 중 적어도 하나, 적어도 2개 혹은 모두가 상기 개인 정보에 기초해서 측정되는
    워터마킹 컴퓨터.
  3. 제 1 항에 있어서,
    수치 속성 내의 비트 위치만이 상기 워터마크의 일부인
    워터마킹 컴퓨터.
  4. 제 1 항에 있어서,
    상기 워터마크 값은 적어도 하나의 상기 개인 정보의 단방향 해시 함수(one-way hash function)에 기초해서 적어도 부분적으로 설정되는
    워터마킹 컴퓨터.
  5. 튜플을 가진 데이터 저장부에 워터마크가 존재하는 지 판단하는 컴퓨터에 있어서 - 상기 튜플은 각각 하나 이상의 속성과 관련되며, 상기 속성은 각각 하나 이상의 비트 위치를 갖고 있고, 상기 비트 위치 중 적어도 일부는 비트 값을 갖고 있음 - ,
    테스트 데이터 구조를 수신하는 단계와,
    개인 정보를 적어도 부분적으로 사용해서 상기 테스트 데이터 구조에 상기 워터마크가 존재하는지 판정하는 단계
    를 포함하는 방법을 수행하는 적어도 하나의 프로세서를 포함하는
    컴퓨터.
  6. 제 5 항에 있어서,
    상기 판정 단계는 상기 워터마크가 미리 결정된 확률 내에서 상기 테스트 데이터 구조 내에 존재하는 지 판정함으로써 수행되는
    컴퓨터.
  7. 튜플을 가진 데이터 저장부를 워터마킹하는 컴퓨터 프로그램에 있어서 - 상기 튜플은 각각 하나 이상의 속성과 관련되며, 상기 속성은 각각 하나 이상의 비트 위치를 갖고 있고, 상기 비트 위치 중 적어도 일부는 비트 값을 갖고 있음 - ,
    컴퓨터 상에서 수행될 때, 개인 정보에 기초해서 상기 튜플 중 적어도 일부의 적어도 하나의 속성에 대한 적어도 하나의 비트 위치의 워터마크 값을 설정해서, 워터마크를 설정하는 단계를 수행하는 프로그램 코드 수단을 포함하는
    컴퓨터 프로그램.
  8. 제 7 항에 있어서,
    상기 워터마크 값 설정 단계는
    개인 정보에 기초해서 복수의 마킹될 튜플을 판정하는 단계와,
    각각의 마킹될 튜플 내의 적어도 하나의 마킹될 속성을 판정하는 단계와,
    각각의 마킹될 속성 내에서 적어도 하나의 마킹될 비트를 판정하는 단계와,
    마킹될 적어도 하나의 널이 아닌(non null) 비트 각각의 워터마크 값을 설정해서 상기 워터마크를 설정하는 단계를 포함하는
    컴퓨터 프로그램.
  9. 튜플을 가진 데이터 저장부를 워터마킹하는 방법에 있어서 - 상기 튜플은 각각 하나 이상의 속성과 관련되며, 상기 속성은 각각 하나 이상의 비트 위치를 갖고 있고, 상기 비트 위치 중 적어도 일부는 비트 값을 갖고 있음 - ,
    개인 정보에 기초해서 상기 튜플 중 적어도 일부의 적어도 하나의 속성에 대한 적어도 하나의 비트 위치의 워터마크 값을 설정해서, 워터마크를 설정하는 단계를 포함하는
    방법.
  10. 제 9 항에 있어서,
    상기 워터마크 값 설정 단계는
    개인 정보에 기초해서 마킹될 상기 데이터 저장부 내의 복수의 튜플을 판정하는 단계와,
    각각의 마킹될 튜플 내의 적어도 하나의 마킹될 속성을 판정하는 단계와,
    각각의 마킹될 속성 내의 적어도 하나의 마킹될 비트를 판정하는 단계와,
    마킹될 적어도 하나의 널이 아닌(non null) 비트 각각의 워터마크 값을 설정해서 상기 워터마크를 설정하는 단계를 포함하는
    방법.
  11. 튜플을 가진 데이터 저장부에 워터마크가 존재하는 지 판단하는 컴퓨터 프로그램에 있어서 - 상기 튜플은 각각 하나 이상의 속성과 관련되며, 상기 속성은 각각 하나 이상의 비트 위치를 갖고 있고, 상기 비트 위치 중 적어도 일부는 비트 값을 갖고 있음 - ,
    컴퓨터 상에서 수행될 때,
    테스트 데이터 구조를 수신하는 단계와,
    개인 정보를 적어도 부분적으로 사용해서 상기 테스트 데이터 구조에 상기 워터마크가 존재하는지 판정하는 단계
    를 수행하는 프로그램 코드 수단을 포함하는
    컴퓨터 프로그램.
  12. 제 11 항에 있어서,
    상기 수신 단계는 튜플을 가진 테스트 데이터 구조를 수신하는 단계를 포함하고,
    상기 판정 단계는
    각각의 튜플에 대해서 상기 튜플이 개인 정보에 기초해서 마킹되어야 했는 지 판정하는 단계와,
    마킹되어야 했던 각각의 튜플 내의 적어도 하나의 속성에 대해서 상기 속성이 마킹되어야 했는 지 판정하는 단계와,
    마킹되어야 했던 각각의 속성 내의 적어도 하나의 비트에 대해서 상기 비트가 마킹되어야 했는 지 판정하는 단계와,
    마킹되어야 했던 각각의 비트에 대해서 워터마크 값을 측정해서 상기 테스트 데이터 구조가 워터마크를 포함하는지 판정하는 단계
    를 포함하는 컴퓨터 프로그램.
  13. 제 12 항에 있어서,
    컴퓨터 상에서 수행될 때,
    정정 비트 값의 카운트를 유지하는 단계와,
    상기 카운트에 기초해서 상기 워터마크가 상기 테스트 데이터 구조에 존재하는지 판정하는 단계를 수행하는 프로그램 코드 수단을 더 포함하는
    컴퓨터 프로그램.
  14. 튜플을 가진 데이터 저장부에 워터마크가 존재하는 지 판단하는 방법에 있어서 - 상기 튜플은 각각 하나 이상의 속성과 관련되며, 상기 속성은 각각 하나 이상의 비트 위치를 갖고 있고, 상기 비트 위치 중 적어도 일부는 비트 값을 갖고 있음 - ,
    컴퓨터 상에서 수행될 때,
    테스트 데이터 구조를 수신하는 단계와,
    개인 정보를 적어도 부분적으로 사용해서 상기 테스트 데이터 구조에 상기 워터마크가 존재하는지 판정하는 단계
    를 포함하는 방법.
  15. 제 14 항에 있어서,
    상기 판정 단계는
    상기 테스트 데이터 구조 내의 각각의 튜플에 대해서 상기 튜플이 개인 정보에 기초해서 마킹되어야 했는 지 판정하는 단계와,
    마킹되어야 했던 각각의 튜플 내의 적어도 하나의 속성에 대해서 상기 속성이 마킹되어야 했는 지 판정하는 단계와,
    마킹되어야 했던 각각의 속성 내의 적어도 하나의 비트에 대해서 상기 비트가 마킹되어야 했는 지 판정하는 단계와,
    마킹되어야 했던 각각의 비트에 대해서 워터마크 값을 측정해서 상기 테스트 데이터 구조가 워터마크를 포함하는지 판정하는 단계
    를 포함하는 방법.
  16. 각각 적어도 하나의 속성을 가진 복수의 튜플 - 상기 속성 각각은 비트 값을 가진 적어도 하나의 비트를 구비함 - 를 포함하되,
    상기 비트 사이의 값 패턴은 비밀 정보에 기초해서 설정되는
    데이터 저장부.
  17. 제 16 항에 있어서,
    적어도 일부 속성은 주요 키를 갖고 있고,
    하나의 속성의 상기 주요 키는 워터마크 값을 설정하는 데 사용되는
    데이터 저장부.
  18. 제 16 항에 있어서,
    적어도 제 1 속성은 주요 키를 갖고 있지 않고,
    상기 제 1 속성 내의 비트의 파티션이 사용되어서 워터마크 값을 설정하는
    데이터 저장부.
KR1020047016421A 2002-05-15 2003-05-14 워터마킹 컴퓨터 및 방법과, 워터마크의 존재 판단 컴퓨터 및 방법과, 데이터 저장부와, 컴퓨터 판독 가능 기록 매체 KR100602339B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/147,741 2002-05-15
US10/147,741 US7752446B2 (en) 2002-05-15 2002-05-15 System and method for digital watermarking of data repository
PCT/GB2003/002065 WO2003098406A2 (en) 2002-05-15 2003-05-14 System and method for digital watermarking of data repository

Publications (2)

Publication Number Publication Date
KR20040105871A true KR20040105871A (ko) 2004-12-16
KR100602339B1 KR100602339B1 (ko) 2006-07-18

Family

ID=29419095

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020047016421A KR100602339B1 (ko) 2002-05-15 2003-05-14 워터마킹 컴퓨터 및 방법과, 워터마크의 존재 판단 컴퓨터 및 방법과, 데이터 저장부와, 컴퓨터 판독 가능 기록 매체

Country Status (13)

Country Link
US (1) US7752446B2 (ko)
EP (1) EP1506467B1 (ko)
JP (1) JP4726482B2 (ko)
KR (1) KR100602339B1 (ko)
CN (1) CN1304914C (ko)
AT (1) ATE336037T1 (ko)
AU (1) AU2003227934A1 (ko)
BR (1) BR0310002A (ko)
CA (1) CA2483992A1 (ko)
DE (1) DE60307454T2 (ko)
ES (1) ES2268361T3 (ko)
IL (2) IL164721A0 (ko)
WO (1) WO2003098406A2 (ko)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4370800B2 (ja) * 2003-04-21 2009-11-25 ヤマハ株式会社 音楽コンテンツ利用装置及びプログラム
CN100437560C (zh) * 2003-12-12 2008-11-26 中国人民解放军总参谋部第六十一研究所 一种向关系数据库嵌入和提取数字水印的方法
US7539870B2 (en) * 2004-02-10 2009-05-26 Microsoft Corporation Media watermarking by biasing randomized statistics
US8473451B1 (en) 2004-07-30 2013-06-25 At&T Intellectual Property I, L.P. Preserving privacy in natural language databases
US8234638B2 (en) * 2004-12-28 2012-07-31 Hercules Software, Llc Creating a relatively unique environment for computing platforms
CN100369039C (zh) * 2005-06-15 2008-02-13 武汉大学 一种用数字水印技术保护数据库数据版权的方法及其应用
US7877398B2 (en) 2007-11-19 2011-01-25 International Business Machines Corporation Masking related sensitive data in groups
US9990478B2 (en) 2012-11-30 2018-06-05 The Nielsen Company (Us), Llc Methods, apparatus, and articles of manufacture to encode auxiliary data into relational database keys and methods, apparatus, and articles of manufacture to obtain encoded data from relational database keys
US9087459B2 (en) 2012-11-30 2015-07-21 The Nielsen Company (Us), Llc Methods, apparatus, and articles of manufacture to encode auxilary data into text data and methods, apparatus, and articles of manufacture to obtain encoded data from text data
US9042554B2 (en) 2012-11-30 2015-05-26 The Nielsen Company (Us), Llc Methods, apparatus, and articles of manufacture to encode auxilary data into text data and methods, apparatus, and articles of manufacture to obtain encoded data from text data
US20140157440A1 (en) * 2012-11-30 2014-06-05 Nikolay Georgiev Methods, apparatus, and articles of manufacture to encode auxiliary data into numeric data and methods, apparatus, and articles of manufacture to obtain encoded data from numeric data
US20140365230A1 (en) * 2013-06-11 2014-12-11 Thomson Licensing Method and apparatus for maximizing a limited set of identifiers for audio watermarking
US9948655B1 (en) * 2016-04-15 2018-04-17 AtScale, Inc. Data access authorization for dynamically generated database structures
CN108614961B (zh) * 2017-12-21 2020-09-04 神龙汽车有限公司 一种数据库数字水印嵌入和保护方法
CN111125750B (zh) * 2019-11-25 2021-02-26 中国科学院信息工程研究所 一种基于双层椭圆模型的数据库水印嵌入、检测方法及系统
CN111177786A (zh) * 2020-01-02 2020-05-19 合肥工业大学 基于随机响应机制本地差分隐私的数据库水印系统
US11216581B1 (en) * 2021-04-30 2022-01-04 Snowflake Inc. Secure document sharing in a database system

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69636084T2 (de) * 1995-09-28 2006-09-14 Nec Corp. Verfahren und Vorrichtung zum Einfügen eines Spreizspektrumwasserzeichens in Multimediadaten
US7107451B2 (en) * 1996-07-02 2006-09-12 Wistaria Trading, Inc. Optimization methods for the insertion, protection, and detection of digital watermarks in digital data
US6031914A (en) * 1996-08-30 2000-02-29 Regents Of The University Of Minnesota Method and apparatus for embedding data, including watermarks, in human perceptible images
US6061793A (en) * 1996-08-30 2000-05-09 Regents Of The University Of Minnesota Method and apparatus for embedding data, including watermarks, in human perceptible sounds
US6282299B1 (en) * 1996-08-30 2001-08-28 Regents Of The University Of Minnesota Method and apparatus for video watermarking using perceptual masks
US5915027A (en) * 1996-11-05 1999-06-22 Nec Research Institute Digital watermarking
CA2329315A1 (en) 1998-04-21 1999-10-28 Solana Technology Development Corporation Multimedia adaptive scrambling system (mass)
US6330673B1 (en) * 1998-10-14 2001-12-11 Liquid Audio, Inc. Determination of a best offset to detect an embedded pattern
US6320965B1 (en) * 1998-10-14 2001-11-20 Liquid Audio, Inc. Secure watermark method and apparatus for digital signals
JP2000209097A (ja) 1999-01-14 2000-07-28 Sony Corp 信号処理装置とその方法、信号記録装置、信号再生装置および記録媒体
US6813368B1 (en) * 1999-12-15 2004-11-02 Lucent Technologies Inc. Methods and apparatus for watermarking maps and other structured data
US6865676B1 (en) * 2000-03-28 2005-03-08 Koninklijke Philips Electronics N.V. Protecting content from illicit reproduction by proof of existence of a complete data set via a linked list
US7228425B1 (en) 2000-02-07 2007-06-05 Koninklijke Philips Electronics N. V. Protecting content from illicit reproduction by proof of existence of a complete data set via self-referencing sections
JP4649760B2 (ja) * 2000-05-31 2011-03-16 ソニー株式会社 コンテンツ・コピー管理システム及び方法、情報処理装置及び方法、並びに、記憶媒体
US20010054144A1 (en) * 2000-06-16 2001-12-20 Michael Epstein Confirming the existence of a complete data set under multiple control scenarios
AU2001279725A1 (en) * 2000-07-21 2002-02-05 Koninklijke Philips Electronics N.V. Multimedia monitoring by combining watermarking and characteristic signature of signal
US7616776B2 (en) * 2005-04-26 2009-11-10 Verance Corproation Methods and apparatus for enhancing the robustness of watermark extraction from digital host content
US7369677B2 (en) * 2005-04-26 2008-05-06 Verance Corporation System reactions to the detection of embedded watermarks in a digital host content
US20060239501A1 (en) * 2005-04-26 2006-10-26 Verance Corporation Security enhancements of digital watermarks for multi-media content
US7720250B2 (en) * 2005-05-23 2010-05-18 George Mason University Method and apparatus for watermarking stream data

Also Published As

Publication number Publication date
WO2003098406A2 (en) 2003-11-27
CA2483992A1 (en) 2003-11-27
IL164721A0 (en) 2005-12-18
WO2003098406A3 (en) 2004-03-18
AU2003227934A1 (en) 2003-12-02
EP1506467A2 (en) 2005-02-16
JP2005531828A (ja) 2005-10-20
IL164721A (en) 2010-06-16
ES2268361T3 (es) 2007-03-16
BR0310002A (pt) 2005-02-15
CN1304914C (zh) 2007-03-14
US7752446B2 (en) 2010-07-06
JP4726482B2 (ja) 2011-07-20
CN1647008A (zh) 2005-07-27
DE60307454T2 (de) 2007-08-16
EP1506467B1 (en) 2006-08-09
ATE336037T1 (de) 2006-09-15
US20030217272A1 (en) 2003-11-20
DE60307454D1 (de) 2006-09-21
KR100602339B1 (ko) 2006-07-18

Similar Documents

Publication Publication Date Title
KR100602339B1 (ko) 워터마킹 컴퓨터 및 방법과, 워터마크의 존재 판단 컴퓨터 및 방법과, 데이터 저장부와, 컴퓨터 판독 가능 기록 매체
Iftikhar et al. RRW—A robust and reversible watermarking technique for relational data
Agrawal et al. Watermarking relational databases
Farfoura et al. A novel blind reversible method for watermarking relational databases
US7894630B2 (en) Tamper-resistant text stream watermarking
Kahng et al. Copy detection for intellectual property protection of VLSI designs
Melkundi et al. A robust technique for relational database watermarking and verification
CN109416625A (zh) 在数据库表、文本文件和数据馈送中对文本进行加盐
Martínez et al. On watermarking for collaborative model-driven engineering
Hu et al. An image based algorithm for watermarking relational databases
Khanduja et al. A generic watermarking model for object relational databases
Chai et al. A robust and reversible watermarking technique for relational dataset based on clustering
Sun et al. Multiple watermarking relational databases using image
Olliaro et al. Empirical analysis of the impact of queries on watermarked relational databases
US20210271756A1 (en) System and method for detecting leaked documents on a computer network
Yuan et al. Verify a valid message in single tuple: A watermarking technique for relational database
Kumar et al. Content characteristics based robust watermarking for relational database: a new approach to database security
Murugan et al. A robust watermarking technique for copyright protection for relational databases
Contreras et al. Protection of relational databases by means of watermarking: recent advances and challenges
Hu et al. Garwm: towards a generalized and adaptive watermark scheme for relational data
US20230077317A1 (en) Method and system for masking personally identifiable information (pii) using neural style transfer
US20230034741A1 (en) Token frequency based data matching
Chathuranga Watermarking technology for copyright protection of relational databases
Lan et al. Reversible fragile watermarking for fine-grained tamper localization in spatial data
Huang et al. Geo-WDBMS: an improved DBMS with the function of watermarking geographical data

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120627

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20130627

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee