KR20060090165A - 결정적 자연 데이터 치환에 의해 데이터 구조를어퍼스케이팅하기 위한 방법 및 시스템 - Google Patents

결정적 자연 데이터 치환에 의해 데이터 구조를어퍼스케이팅하기 위한 방법 및 시스템 Download PDF

Info

Publication number
KR20060090165A
KR20060090165A KR1020060000079A KR20060000079A KR20060090165A KR 20060090165 A KR20060090165 A KR 20060090165A KR 1020060000079 A KR1020060000079 A KR 1020060000079A KR 20060000079 A KR20060000079 A KR 20060000079A KR 20060090165 A KR20060090165 A KR 20060090165A
Authority
KR
South Korea
Prior art keywords
data
data structure
value
string
values
Prior art date
Application number
KR1020060000079A
Other languages
English (en)
Other versions
KR101213916B1 (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 KR20060090165A publication Critical patent/KR20060090165A/ko
Application granted granted Critical
Publication of KR101213916B1 publication Critical patent/KR101213916B1/ko

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/6245Protecting personal data, e.g. for financial or medical purposes
    • CCHEMISTRY; METALLURGY
    • C02TREATMENT OF WATER, WASTE WATER, SEWAGE, OR SLUDGE
    • C02FTREATMENT OF WATER, WASTE WATER, SEWAGE, OR SLUDGE
    • C02F3/00Biological treatment of water, waste water, or sewage
    • C02F3/02Aerobic processes
    • C02F3/12Activated sludge processes
    • C02F3/1236Particular type of activated sludge installations
    • C02F3/1268Membrane bioreactor systems
    • CCHEMISTRY; METALLURGY
    • C02TREATMENT OF WATER, WASTE WATER, SEWAGE, OR SLUDGE
    • C02FTREATMENT OF WATER, WASTE WATER, SEWAGE, OR SLUDGE
    • C02F3/00Biological treatment of water, waste water, or sewage
    • C02F3/02Aerobic processes
    • C02F3/10Packings; Fillings; Grids
    • C02F3/103Textile-type packing
    • CCHEMISTRY; METALLURGY
    • C02TREATMENT OF WATER, WASTE WATER, SEWAGE, OR SLUDGE
    • C02FTREATMENT OF WATER, WASTE WATER, SEWAGE, OR SLUDGE
    • C02F3/00Biological treatment of water, waste water, or sewage
    • C02F3/02Aerobic processes
    • C02F3/10Packings; Fillings; Grids
    • C02F3/109Characterized by the shape
    • CCHEMISTRY; METALLURGY
    • C02TREATMENT OF WATER, WASTE WATER, SEWAGE, OR SLUDGE
    • C02FTREATMENT OF WATER, WASTE WATER, SEWAGE, OR SLUDGE
    • C02F3/00Biological treatment of water, waste water, or sewage
    • C02F3/02Aerobic processes
    • C02F3/12Activated sludge processes
    • C02F3/20Activated sludge processes using diffusers
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface

Landscapes

  • Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Water Supply & Treatment (AREA)
  • Hydrology & Water Resources (AREA)
  • Microbiology (AREA)
  • Environmental & Geological Engineering (AREA)
  • Theoretical Computer Science (AREA)
  • Chemical & Material Sciences (AREA)
  • Organic Chemistry (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Medical Informatics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Testing Of Engines (AREA)
  • Radar Systems Or Details Thereof (AREA)

Abstract

어퍼스케이팅된 데이터 구조로부터 데이터 구조를 생성하기 위한 방법 및 시스템이 제공된다. 우선, 시스템은 어퍼스케이션이 요구되는 제1 데이터 구조상에서 동작하고, 제1 데이터 구조의 부분에 기초하여 데이터 스트링을 생성한다. 다음에, 데이터 스트링에 기초하여, 제2 데이터 구조가 제3 데이터 구조로부터 결정적으로 생성되고, 제2 데이터 구조는 제2 데이터 구조를 교체한다.
데이터 구조, 기밀 데이터, 어퍼스케이션, 전자 상거래, 인터넷

Description

결정적 자연 데이터 치환에 의해 데이터 구조를 어퍼스케이팅하기 위한 방법 및 시스템{METHOD AND SYSTEM FOR OBFUSCATING DATA STRUCTURES BY DETERMINISTIC NATURAL DATA SUBSTITUTION}
본 발명의 실시예는 그 전체가 여기서 참조용으로 결합된 부가 도면을 참조하여 이하 자세히 설명된다.
도 1a는 예시적 주문 프로세스를 도시하는 시스템도.
도 1b는 데이터 구조를 어퍼스케이팅 하기 위한 방법에 대한 일 실시예의 개관을 도시하는 순서도.
도 2는 데이터 스트링을 생성하기 위한 프로세스에 대한 일 실시예를 더 자세히 도시하는 순서도.
도 3은 예시적 데이터 스트링.
도 4는 어퍼스케이팅이 요구되는 예시적 데이터 구조.
도 5는 데이터 구조를 어퍼스케이팅하기 위한 프로세스의 일 실시예를 더 자세히 도시한 순서도.
도 6은 도 4의 데이터 구조로부터 도출되는 예시적으로 어퍼스케이팅된 데이터 구조.
도 7은 데이터 구조를 어퍼스케이팅하기 위한 프로세스의 다른 실시예를 더 자세히 도시하는 순서도.
도 8은 가중값이 할당될 수 있는 다양한 데이터 필드 유형을 도시하는 도면.
<도면의 주요 부분에 대한 부호의 설명>
14 : 고객 주문 수신
18 : 송장 생성
12B : 가용 주식 데이터 구조
810 : 성별
812 : 나이
814 : 가중값
본 발명의 실시예는 데이터 구조 어퍼스케이션(obfuscation) 분야에 관한 것이다. 특히, 제한적이 아닌 것으로, 본 발명의 실시예는 데이터 구조내의 데이터 값을, 데이터 구조내의 데이터 값의 분배(distribution)를 반영하는 결정적으로 생성된 의사-랜덤(pseudo-random) 데이터 값으로 교체하기 위한 새롭고 유용한 방법 및 시스템을 제공한다.
다수의 회사들은 고객 또는 종업원 정보를 포함하는 데이터베이스를 유지한다. 이 정보는 이름, 주소, 전화 번호, 사회 보장 번호(social security number), 회사명, 봉급, 및 구매 이력을 포함할 수 있다. 예컨대, 인터넷 판매 회사는 이 름, 전화 번호, 지불 방법, 및 고객의 구매 이력을 포함하는 고객 데이터베이스를 가질 수 있다. 다른 예에서, 경리 부서는 그 종업원에 대한 봉급 정보를 가질 수 있다. 지불 방법, 사회 보장 번호, 및 봉급과 같은 이러한 정보의 어떤 민감한 특성으로 인해, 액세스는 전형적으로 회사내의 비교적 적은 그룹으로 제한된다.
소프트웨어 애플리케이션에서 통상적인 것과 같이, 컴퓨터 프로그래머에 의해 오류가 수정될 필요가 있는 문제가 발생할 수 있다. 민감한 정보를 갖는 데이터베이스상에서 동작하는 소프트웨어 애플리케이션에서 문제가 발생할 때, 프로그래머는 이러한 문제를 해결하기 위해 민감한 데이터베이스에 액세스할 필요가 있게 된다. 이것은 통상적으로 이러한 정보에 액세스할 수 없는 사람들에 의해 민감한 정보가 보여질 수 있게 되는 것이다. 경리부의 경우에, 봉급 정보의 분배는 봉급 불균형에 대해 회사내에서 내부 문제를 유발할 수 있다. 인터넷 판매의 경우에, 지불 방법 및 사회 보장 번호와 같은 다른 개인 정보의 분배는 신원 도용을 초래할 수 있다. 그러나, 소프트웨어 애플리케이션의 오동작을 효과적으로 해결하기 위해서, 프로그래머는 실제 데이터, 및, 특히, 실제 데이터 분배(지리적 분배, 이름 분배 등)에 액세스할 필요가 있다.
랜덤 데이터 치환을 통해 데이터베이스를 어퍼스케이팅하고, 이에 따라 테스트 데이터베이스를 생성하는 것이 본 기술분야에 알려져 있다. 그러나, 랜덤 데이터 치환은 자연 데이터베이스(natural database)에서 발견되는 실제 데이터 분배를 생성하지 않는다. 방법 및 시스템은, 실제 데이터베이스에서 발견되는 분배를 반영하는 데이터 분배로서 테스트 데이터베이스를 생성하기 위해 데이터베이스의 적 어도 일부를 어퍼스케이팅 할 필요가 있다.
본 발명의 실시예는 결정적 자연 데이터 치환에 의한 교체를 통해 데이터를 어퍼스케이팅하기 위한 방법을 제공한다. 또한, 본 발명의 실시예는, 기밀(confidential) 데이터를 자연스럽게 보이는(natural-looking) 데이터로 결정적으로 교체하는 것을 포함하지만 이에 한정되지 않는 기술분야에서 몇몇 실용적 애플리케이션을 가질 수 있다. 데이터의 분배의 측면에서 원본(original) 데이터에서 발견되는 패턴을 데이터가 반영하지만, 원본 기밀 데이터는 포함하지 않는다.
일 실시예에서, 데이터를 어퍼스케이팅하기 위한 방법이 제공된다. 이 방법은 어퍼스케이션이 요구되는 제1 데이터 구조상에서 동작하고, 제1 데이터 구조의 일부에 기초하여 데이터 스트링(string)을 생성하는 것을 포함한다. 데이터 스트링에 기초하여, 제2 데이터 구조는 제3 데이터 구조로부터 결정적으로 생성되고, 제2 데이터 구조는 제1 데이터 구조를 교체한다.
다른 실시예에서, 테스트 데이터 구조를 구성하기 위한 방법이 제공된다. 이 방법은, 그 각각의 데이터 필드가 몇몇 데이터의 행을 포함하는 몇몇 유형의 데이터 필드를 갖는 소스 데이터 구조상에서 동작하고, 각각의 데이터의 행에 대한 식별자를 결정하는 것을 포함한다. 다음에, 데이터의 각 행에 대하여 본 방법은 식별자에 기초하여 데이터 스트링을 생성하고, 데이터 스트링의 일부를 기준 데이터 구조내의 값으로 매핑하고, 테스트 데이터 구조를 기준 데이터 구조내의 매핑된 값으로 파퓰레이팅(populate)한다.
다른 실시예에서, 통합(synthetic) 데이터 구조를 생성하는 방법을 수행하기 위한 컴퓨터-이용가능 명령을 갖는 컴퓨터-판독가능 매체가 제공된다. 이 방법은 먼저 기준 데이터 구조 및 소스 데이터 구조를 제공하는 것을 포함하고, 여기서 각각의 데이터 구조는 몇몇 데이터 필드 유형을 갖고, 각각의 데이터 필드 유형은 데이터 값의 행을 포함한다. 다음에, 이 방법은 미리 정해진 패턴에 따라 소스 데이터 구조내의 데이터 값의 각 행에 대하여 가중값을 할당하고, 소스 데이터 구조의 데이터 값의 각 행에 대한 각각의 데이터 스트링을 도출하는 것을 포함한다. 소스 데이터 구조내의 데이터 값의 각 행에 대하여, 소스 데이터 구조내의 데이터 값의 행의 각 데이터 값은 가중값, 각각의 데이터 스트링, 및 데이터 필드 유형에 기초하는 기준 데이터 구조내의 데이터 값의 행내에서의 데이터 값으로 매핑된다. 최종적으로, 통합 데이터 구조는 기준 데이터 구조의 매핑된 데이터 값으로 파퓰레이팅된다.
부가적인 특징이 이하 더 자세히 기술된다.
본 발명의 실시예는, 제1 데이터 구조내의 데이터값의 각 행에 대한 고유한 데이터 스트링을 결정적으로 생성하여 제1 데이터 구조내의 데이터값을 어퍼스케이팅하고, 제1 데이터 구조의 행내의 각각의 데이터값을 기준 데이터 구조내의 데이터값으로 매핑하기 위해 데이터 스트링을 이용하고, 기준 데이터 구조내의 매핑된 데이터값에 기초하여 제2 데이터 구조를 생성하기 위한 새로운 방법 및 시스템을 제공한다. 결정적 방법 및 시스템은, 제1 데이터 구조내의 데이터 값의 행이 제1 데이터 구조의 오퍼스케이션의 각 경우에 대한 제2 데이터 구조내의 데이터값의 각 행으로 상관되도록 재생가능한 결과를 인에이블링한다.
또한, 본 발명의 다양한 실시예에서 도시된 새로운 방법 및 시스템은, 몇몇 실시예에서, 제1 데이터 구조내의 데이터값의 분배와 실질적으로 근접한 제2 데이터 구조를 생성하기 위해 제1 데이터 구조내의 데이터값의 어떤 유형에 대해 가중값을 할당한다. 따라서, 제2 데이터 구조는 랜덤하게 보이고, 이것은 제1 데이터 구조상에서 동작하는 소프트웨어 애플리케이션을 테스트하고 오작동을 방지하는데 유용하다.
본 발명의 실시예는 이하 제공되는 상세한 설명 및 본 발명의 다양한 실시예의 부가 도면으로부터 더 잘 이해될 수 있다. 그러나, 상세한 설명 및 도면은 특정 실시예에 따라 본 발명을 제한하는 것으로 이해되어서는 안된다. 오히려, 이러한 특정 실시예는 본 발명을 더 잘 이해하는데 도움을 줄 수 있는 설명을 위한 목적으로 제공된다.
특정 하드웨어 디바이스, 프로그래밍 언어, 콤포넌트, 프로세스 및 오퍼레이팅 환경등을 포함하는 다양한 상세는 본 발명의 완전한 이해를 위해 개시된다. 다른 예에서, 구조, 디바이스, 및 프로세스는 본 발명의 실시예을 모호하게 하지 않도록 세부적이기보다는 블록도 형태로 도시된다. 그러나, 당업자는 본 발명의 실시예는 이러한 특정 설명 없이도 실시될 수 있음을 알 수 있다. 컴퓨터 시스템, 서버, 워크스테이션, 및 다른 머신은, 예컨대, 네트워크 또는 네트워크들의 네트워크를 포함하는 통신 매체를 통해 서로 접속될 수 있다. 또한, 본 발명의 다양한 실시예를 설명하기 위해 이용되는 예시적인 데이터 구조는 데이터베이스, 스프레드시트, 및 기억 매체가 될 수 있는 임의의 여러 장치가 될 수 있지만, 이에 한정되는 것은 아니다.
이제 도 1a로 돌아가면, 도 1B-8에 더 자세히 도시되는 데이터 어퍼스케이션 방법을 이용하는 예시적 주문 시스템의 프로세스(10)에 대한 시스템도가 도시된다. 프로세스(10)는 단계(14)에서 시작하고, 여기서 고객 서비스 에이전트는 고객 주문을 수신한다. 주문은 전자 상거래(e-commerce) 웹 사이트를 통해, 전화로 또는 본인에 의해 직접 접수될 수 있다. 단계(16)에서, 프로세스(10)는 고객 데이터 구조(12A) 및 주식 가용 데이터 구조(12B)를 포함하는 데이터 구조(12)로부터 고객 데이터를 검색한다. 고객 데이터 구조(12A)는 주소, 전화, 회사, 사회 보장 번호, 및 고객에 의해 이용된 과거의 지불 방법등과 같은 고객에 대한 정보를 포함할 수 있다. 단계(18)에서, 프로세스(10)는 주식 데이터 구조(12B)로부터의 가용 주식 및 고객 데이터 구조(12A)로부터의 발송(shipment) 정보에 기초하여 송장(invoice)을 생성한다.
주문은 단계(18)에서 생성된 송장에 기초하여 단계(20)에서 고객에게 발송된다. 단계(22)에서, 주문이 고객에 의해 정확하게 수신되면 프로세스는 완료된다. 그러나, 잘못된 주문이 발송되거나 정확한 주문이 잘못된 고객에게 발송되는 경우와 같이, 주문이 정확하게 수신되지 않으면, 프로세스(10)에 의해 이용되는 소프트웨어 애플리케이션은 오동작의 주원인을 판정하기 위해 디버깅되어야 한다. 단계(24)에서, 테스트 데이터 구조(13)는 고객 데이터 구조(12A) 및 주식 데이터 구조 (12B)로부터 데이터 값을 이용하여 생성된다. 프로세스(10)에 의해 이용되는 소프트웨어 애플리케이션은 테스트 데이터 구조(13)를 이용하여 단계(26)에서 분석된다. 고객 데이터 구조(12A)내에 포함된 민감한(sensitive) 정보는, 데이터 구조(12A)내의 정보로의 액세스를 요구하는 제한된 그룹의 사람들 이외에는 분배되지 않는 것이 바람직하다. 데이터 구조(12A)내의 데이터를 어퍼스케이팅하기 위한 결정적 방법을 이용하여, 테스트 데이터 구조(13)는, 자연스럽게 보이고 고객의 기밀 정보를 보존하는 데이터로 생성될 수 있다. 결정적 함수가 테스트 데이터 구조(13)내의 데이터 값을 생성하는데 이용되므로, 테스트 데이터 구조(13)내의 데이터 엔트리는, 프로세스(10)에 의해 이용되는 소프트웨어 애플리케이션내의 문제에 대한 소스의 위치를 알아내기 위해 데이터 구조(12A)내의 데이터값으로 트레이스백(trace back)될 수 있다.
도 1b로 돌아가면, 어퍼스케이팅되는 것이 요구되는 제1 또는 소스 데이터 구조로부터 테스트 또는 제2 데이터 구조를 생성하기 위한 방법(100)의 일 실시예가 도시된다. 도 4는 열(410-420) 및 행(422-430)을 갖는 예시적 소스 데이터 구조(400)를 도시한다. 데이터 구조(400)는 데이터 필드 유형의 열을 포함한다. 예시적 데이터 구조(400)에서, 열은 각각의 행에 대한 ID 번호를 할당하기 위해 제공된다. 데이터 구조(400)내에 포함된 다양한 데이터 필드 유형은 이름, 성, 회사, 성별 및 전화 번호를 포함한다. 데이터 구조(400)는 몇몇 실시예에서는 나이 및 인종(ethnicity)과 같은 다른 데이터 필드 유형을 포함할 수 있다.
도 1b로 돌아가면, 어퍼스케이션 방법(100)은, 어퍼스케이션이 요구되는 데 이터 구조의 행에 대해 데이터 스트링이 생성되는 단계(110)를 포함한다. 예컨대, 데이터 구조(400)의 행(422)은 데이터 스트링을 생성하도록 동작하는 ID 번호 "0001"를 포함한다. 단계(110)에서 데이터 스트링을 생성하는 프로세스는 도 2와 관련하여 더 설명된다. 어퍼스케이션 방법(100)에 계속하여, 단계(112)에서, 데이터 구조(400)내의 데이터값의 주소 또는 이름 필드와 같은 제1 데이터 필드 유형이 결정된다. 예컨대, 행(422)내의 데이터값 "Chris"는 열(412)에 의해 할당되는 "이름" 데이터 필드 유형이다. 단계(114)에서, 행(422) 및 열(412)의 데이터 값 "Chris"가 검색된다. 단계(116)에서, 데이터 값 "Chris"는 데이터 유형 및 제3 또는 기준 데이터 구조 또는 데이터 구조들(도시되지 않음)을 이용하는 데이터 스트링에 기초하여 어퍼스케이팅되고, 대응하는 테스트 데이터 구조가 생성된다. 테스트 데이터 구조는 데이터 값 "Chris"에 대응하는 기준 데이터 구조로부터의 어퍼스케이팅된 데이터 값을 포함한다. 단계(118)에서, 데이터 구조(400)의 열(414)의 "성(last name)", 열(416)의 "회사", 열(418)의 "성별" 및 열(420)의 "전화 번호"와 같은 어퍼스케이팅되는 것이 요구되는 데이터 구조내에 열이 더 존재하면, 단계(112 내지 116)는 반복된다. 각각의 열이 어퍼스케이팅된 후에, 방법(100)은 단계(120)에서 다음 행으로 이동한다. 예컨대, 데이터 구조(400)의 행(424)으로 이동한다. 행이 더 존재하면, 데이터 스트링은 단계(110)에서 생성되고, 방법(100)은 단계(112-118)를 반복한다. 그러나, 어퍼스케이팅되는 것이 요구되는 데이터 구조내에 행이 더 이상 존재하지 않으면, 방법(100)은 완료된다. 도 1a에서의 테스트 데이터 구조(13)와 같은 제2 또는 테스트 데이터 구조가 생성되고, 소스 데이터 구 조내의 기밀 데이터가 어퍼스케이팅된다.
이제 도 2로 돌아가면, 도 1b의 단계(110)의 데이터 스트링을 생성하는 프로세스에 대한 자세한 설명이 개시된다. 단계(110)의 프로세스는 소스 데이터 구조내의 데이터 값의 행의 식별자를 결정하는 단계(110A)를 포함한다. 데이터 구조(400)에서, "ID" 열(410)은 식별자로 이용될 수 있다. 행(422)내의 식별자는 "0001"이 될 수 있다. 단계(110B)에서, 식별자는 결정적 함수에 적용된다. 결정적 함수의 일례는 MD-5(메시지-요약(message-digest) 알고리즘 5) 암호화 알고리즘이다. MD-5는 128-비트 해시(hash) 출력값을 갖는 널리 이용되는 암호식 해시 함수이다. 128-비트 MD-5 해시는 전형적으로 32-디지트(digit) 16진수로서 표현된다. MD-5 함수를 이용하여, 심지어 입력 메시지내의 적은 변화도 완전하게 다른 출력 메시지 또는 해시가 초래된다. MD-5 알고리즘은 여기서 참조용으로 결부된, IETF(Internet Engineering Task Force) RFC(Request for Comments) 1321에서 더 설명된다. MD-5 결정적 알고리즘은 여기서 설명을 위한 목적으로만 개시된다. 본 발명의 다양한 실시예는 SHA-1 및 RIPEMD-160과 같은 다른 결정적 함수를 이용할 수 있지만 이에 한정되는 것은 아니다.
도 2에 계속하여, 단계(110C)에서, 데이터 스트링의 일부 또는 결정적 함수의 출력은 소스 데이터 구조내의 데이터 필드 유형에 할당된다. 도 4의 데이터 구조(400)는 몇몇 데이터 필드 유형, 즉, "ID" 410, "이름" 412, "성" 414, "회사" 416, "성별" 418, 및 "전화번호" 420을 포함한다. 도 3을 참조하면, 예시적인 일반적(generic) 데이터 스트링(300)이 도시된다. 데이터 스트링(300)은 데이터 구 조(400)내의 5개의 데이터 필드 유형에 부합하는 5개의 부분을 포함한다. 단계(110C)의 일 실시예에서, 데이터 스트링(300)의 부분(312)은 "이름" 데이터 필드 유형을 포함하는 데이터 구조(400)의 열(412)에 할당될 수 있고, 데이터 스트링(300)의 부분(314)은 "성" 데이터 필드 유형을 포함하는 열(414)에 할당될 수 있다. 마찬가지로, 부분(316)은 열(416)에 할당될 수 있고, 부분(318)은 열(418)에 할당될 수 있고, 부분(320)은 데이터 구조(400)의 열(420)에 할당될 수 있다. 그럼에도 불구하고, 이러한 예에서, 데이터 스트링(300)의 부분은 블록내에서 데이터 구조(400)내의 데이터 필드 유형에 할당되고, 본 발명의 다른 실시예에서, 데이터 스트링(300)의 부분은 연결되지 않는 그룹내에서 데이터 구조(400)내의 데이터 필드 유형의 다양한 열에 할당될 수 있다.
이제 도 5로 돌아가면, 도 1b의 단계(116)에서 기술되는 소스 데이터 구조의 데이터 값을 어퍼스케이팅하는 프로세스에 대한 더 자세한 설명이 개시된다. 단계(116A)에서, 도 1b의 단계(110)에서 생성되고 도 2에서 더 상세히 설명된 데이터 스트링의 부분이 검색된다. 설명을 위한 목적으로, 도 3의 데이터 스트링(300)은 단계(116A)에서 검색된다. 단계(116B)에서, 예컨대, 데이터 구조(400)에서의 데이터 필드 유형에 대응하는 데이터 스트링(300)의 부분은 기준 데이터 구조(도시되지 않음)내의 대응하는 데이터 필드 유형의 데이터 값으로 매핑된다. 기준 데이터 구조는, 예컨대, 여러 다른 정보중에서, 이름/성, 주소, 성별, 나이, 전화 번호, 사회 보장 번호, 인종등을 포함하는 센서스(census) 데이터가 될 수 있다. 또한, 본 발명의 다른 실시예에서, 기준 데이터 구조는 단일의 데이터 구조 또는 그 각각이 데이터 필드 유형에 대응하는 데이터 값을 포함하는 데이터 구조의 편집물(compilation)이 될 수 있다. 단계(116C)에서, 기준 데이터 구조내에서 매핑된 데이터 값이 검색되어 통합(synthetic) 또는 테스트 데이터 구조가 생성된다. 예시적인 통합 데이터 구조가 도 6에서 데이터 구조(600)로 도시된다. 통합 데이터 구조(600)는 도 4의 소스 또는 어퍼스케이팅된 데이터 구조(400)와 동일한 수의 열 및 데이터 유형을 포함하고, 도 4의 데이터 구조(400)에서와 실질적으로 동일한 데이터를 포함한다.
결정적 함수는 각각의 경우에 대해 이용되고 소스 데이터 구조로부터의 데이터 값의 행은 통합 데이터내의 데이터 값의 행을 생성하도록 구준 데이터 구조로 매핑된다. 소스 데이터 구조내의 데이터 값의 주어진 행과 통합 데이터 구조내의 데이터 값의 대응하는 어퍼스케이팅된 행간에 재생 관계(reproducible relationship)가 존재한다. 즉, 도 4 및 6을 참조하면, 도 4의 행(422)은 소스 데이터 구조(400)의 각각의 어퍼스케이션에 대해 도 6의 행(622)에 대응한다. 도 1a와 관련하여 이미 설명된 바와 같이, 이러한 재생은, 고객 데이터 구조(12A)와 테스트 데이터 구조(13)에서의 데이터 값간의 관계를 잃어버리지 않고 순서대로 이용되는 소프트웨어 애플리케이션에 대한 여러 가지의 디버깅 및 발송 프로세스를 가능하게 한다.
전술한 바와 같이, 도 3의 데이터 스트링(300)의 부분은 데이터 구조(400)내의 값을 기준 데이터 구조(도시되지 않음)내의 값으로 매핑하는데 이용된다. 예컨대, 나이 데이터 유형은 데이터 스트링(300)의 비트(22-27)에 대응하고, 이름 및 성은 데이터 스트링(300)의 가장 덜 중요한 11비트를 이용하여 매핑될 수 있다. 이름 및 성을 선택하는 예에서, 미국내에서 가장 유명한 65000개의 이름 및 성이 센서스국으로부터 다운로드될 수 있다. 센서스국내의 65000개의 리스트로부터 하나의 이름 및 성을 선택하기 위해, 소정의 수의 비트가 데이터 스트링(300)으로부터 필요하게 된다. 예컨대, 데이터 스트링(300)으로부터 16개의 개별적인 비트가 성에 대해서 선택되어 그룹화될 수 있고, 데이터 스트링(300)으로부터 다른 12개의 비트가 이름에 대해 그룹화될 수 있다. 12개 및 16개의 비트가 이 예에서 선택되었지만, 다른 비트 수도 선택될 수 있다. 예컨대, 이름에 대한 비트의 2진수가 총합이 2가 되면, 기준 데이터 구조내의 제2 엔트리가 선택된다. 65000개의 리스트로부터 선택된 이름 및 성은 다음에 통합 데이터 구조(500)내에 삽입된다. 유사하게, 주소를 이용할 때, 데이터 스트링(300)의 부분은 주소를 선택하기 위해 이용될 수 있다. 예컨대, 주소에 대해 선택된 데이터 스트링(300)의 부분이 총합이 192가 되면, 주소의 기준 데이터베이스내의 192번째 엔트리가 선택되고 도 6의 통합 데이터 구조(600)내에 삽입된다.
이제 도 7을 참조하면, 도 1b의 단계(116)에서 기술된 소스 데이터 구조의 데이터 값을 어퍼스케이팅하는 다른 실시예가 도시된다. 단계(116D)에서, 가중값이 소정의 데이터 유형에 할당될 수 있다. 예컨대, 문자 "m"으로 시작하는 회사명은 문자 "z"로 시작하는 회사보다 더 자주 나타날 수 있다. 가중 알고리즘은 결정적 함수와 결합되어 적용되어 파퓰레이션(population)내의 회사명의 실제 분배를 시뮬레이팅한다. 도 4 및 6을 조합하여 참조하면, "회사" 데이터 유형 필드내의 데이터 구조(400)내에서 문자 "m"으로 시작하는 회사는 문자 "z"로 시작하는 회사보다 더 빈번하게 나타난다. 마찬가지로, 문자 "m"으로 시작하는 이름을 갖는 회사 및 문자 "z"로 시작하는 회사의 분배는 도 6의 데이터 구조(600)의 "회사" 데이터 유형 필드에서와 동일하거나 유사하다. 도 8에 도시된 바와 같이, 유사한 가중값이 다른 데이터 필드 유형에 주어질 수 있다. 가중값(814)은 성별 810, 나이 812, 성 816 및 인종 818에 할당될 수 있다.
도 7을 참조하면, 방법(116)은 단계(116E)에서 계속되고, 여기서 데이터 스트링(300)의 부분은 검색되고, 단계(116F)에서 기준 데이터 구조내의 값으로 매핑된다. 통합 데이터 구조는 다음에 단계(116G)에서 기준 데이터 구조로부터 매핑된 값으로 생성된다. 그럼에도 불구하고, 일 실시예에서, 기준 데이터 구조는 어퍼스케이팅이 요구되는 데이터 구조내에 포함된 모든 데이터값 및 데이터 유형을 포함하고, 다른 실시예는 몇몇 기준 데이터 구조를 포함할 수 있고, 데이터 구조내에 포함된 각각의 데이터 유형에 대한 하나의 데이터 구조가 어퍼스케이팅되는 것이 요구된다.
본 발명의 몇몇 실시예는 파퓰레이션내에서 데이터 유형 분배를 정확하게 재생하기 위한 가중 알고리즘을 이용할 수 있다. 가중 알고리즘의 이용은 어퍼스케이팅되는 데이터의 요구되는 정확성 또는 기준 데이터 구조내의 분배의 정확성에 기초한다.
본 발명은 특정 실시예에 따라 기술되었지만, 이는 제한적이라기 보다는 단지 설명을 위한 것이다. 대안적 실시예도 본 발명의 범주를 벗어나지 않고 당업자 게는 명백할 것이다. 다수의 대안적 실시예가 존재하지만 본 발명의 특성으로 인해 포함되지는 않았다. 숙련된 프로그래머는 본 발명의 범주를 벗어나지 않고 전술한 개량물을 구현하는 대안적 수단을 개발할 수 있다. 몇몇 특징 및 서브콤비네이션이 이용가능하고 다른 특징 및 서브 콤비네이션을 참조하지 않고도 이용될 수 있고, 특허청구범위의 범주내에서 고려될 수 있다. 다양한 도면에서 열거된 모든 단계는 기술된 특정 순서에 따라 수행될 필요는 없다. 전술한 순서도의 모든 단계가 반드시 필요한 단계는 아니다.
본 발명에 의하면 결정적 자연 데이터 치환에 의한 교체를 통해 데이터를 어퍼스케이팅하기 위한 방법을 제공하고, 기밀 데이터를 자연스럽게 보이는(natural-looking) 데이터로 교체할 수 있다.

Claims (20)

  1. 데이터 어퍼스케이션(obfuscation) 방법에 있어서,
    어퍼스케이션이 요구되는 제1 데이터 구조상에서 동작하는 단계;
    상기 제1 데이터 구조의 부분(portion)에 기초하여 데이터 스트링을 생성하는 단계;
    상기 데이터 스트링에 기초하여, 적어도 하나의 제3 데이터 구조로부터 제2 데이터 구조를 결정적으로(deterministically) 생성하는 단계; 및
    상기 제1 데이터 구조를 상기 제2 데이터 구조로 교체하는 단계를 포함하는방법.
  2. 제1항에 있어서,
    상기 제1 데이터 구조는 데이터 값에 대한 하나 이상의 행(row) 및 하나 이상의 열(column)을 포함하고, 상기 하나 이상의 데이터 값의 행의 각각에 대한 식별자를 포함할 수 있는 방법.
  3. 제2항에 있어서,
    상기 식별자에 기초하여 상기 데이터 스트링을 생성하는 단계를 더 포함하고,
    상기 데이터 스트링은 결정적 함수의 출력인 방법.
  4. 제2항에 있어서,
    상기 제2 및 적어도 하나의 제3 데이터 구조는 데이터 값에 대한 하나 이상의 행 및 하나 이상의 열을 포함하고,
    상기 제2 및 적어도 하나의 제3 데이터 구조내의 상기 하나 이상의 열의 각각은 상기 제1 데이터 구조의 상기 하나 이상의 열내의 데이터 값의 유형에 대응하는 방법.
  5. 제2항에 있어서,
    상기 제1 데이터 구조의 상기 하나 이상의 행의 각각에서의 데이터 값의 다양한 유형에 가중값(weighted value)을 할당하는 단계; 및
    상기 제1 데이터 구조의 상기 할당된 가중값에 기초하여 상기 제2 데이터 구조를 상기 적어도 하나의 제3 데이터 구조로부터의 데이터 값으로 파퓰레이팅(populate)하는 단계를 더 포함하는 방법.
  6. 제2항에 있어서,
    상기 가중값을 할당하는 단계는,
    상기 제2 데이터 구조내의 대응하는 데이터 값이 실제 파퓰레이션(population)에서 자연적으로 발견되는 패턴과 부합하도록, 상기 제1 데이터 구조의 상기 하나 이상의 행의 각각에서의 상기 데이터 값 유형의 파퓰레이션에서의 발 생에 따라 가중값을 할당하는 단계를 더 포함하는 방법.
  7. 제1항의 방법을 수행하는 컴퓨터-실행가능 명령을 갖는 컴퓨터-판독가능 매체.
  8. 제1항에 정의된 바와 같은 방법을 수행하기 위한 코드를 포함하는 컴퓨터 소프트웨어 제품.
  9. 테스트 데이터 구조를 구성하기 위한 방법에 있어서,
    하나 이상의 데이터 필드의 유형을 갖는 소스 데이터 구조상에서 동작하는 단계 - 상기 하나 이상의 데이터 필드 각각은 하나 이상의 데이터의 행을 포함함 -;
    상기 하나 이상의 데이터의 행의 각각에 대한 식별자(identifier)를 결정하는 단계; 및
    상기 하나 이상의 데이터의 행의 각각에 대하여,
    a) 상기 식별자에 기초하여 데이터 스트링을 생성하는 단계;
    b) 상기 데이터 필드의 유형에 기초하여, 상기 데이터 스트링의 부분을 적어도 하나의 기준 데이터 구조내의 데이터 값으로 매핑하는 단계; 및
    c) 상기 테스트 데이터 구조를 상기 적어도 하나의 기준 데이터 구조에서의 상기 매핑된 값으로 파퓰레이팅하는 단계를 수행하는 단계를 포함하는 방 법.
  10. 제9항에 있어서,
    상기 데이터 스트링은 결정적 함수의 출력인 방법.
  11. 제9항에 있어서,
    상기 소스 데이터 구조의 상기 하나 이상의 데이터 필드의 유형에서의 데이터에 가중값을 할당하는 단계; 및
    상기 가중값에 기초하는 상기 적어도 하나의 기준 데이터 구조로부터의 상기 데이터 값으로 상기 테스트 데이터 구조를 파퓰레이팅하는 단계를 더 포함하는 방법.
  12. 제11항에 있어서,
    상기 가중값을 할당하는 단계는,
    상기 테스트 데이터 구조내의 대응하는 데이터가 실제 파퓰레이션에 근접하도록, 상기 소스 데이터 구조의 상기 하나 이상의 데이터 필드의 유형에서의 데이터의 파퓰레이션에서의 발생에 따라 가중값을 할당하는 단계를 더 포함하는 방법.
  13. 제12항에 있어서,
    상기 데이터 스트링의 부분을 상기 하나 이상의 데이터 필드의 유형의 각각 으로 할당하는 단계; 및
    상기 부분 및 대응하는 가중값에 기초하여, 상기 적어도 하나의 기준 데이터 구조내에서 상기 매핑된 값을 로케이팅(locate)하는 단계를 더 포함하는 방법.
  14. 제9항의 방법을 수행하는 컴퓨터-실행가능 명령을 갖는 컴퓨터-판독가능 매체.
  15. 제9항에 정의된 바와 같은 방법을 수행하기 위한 코드를 포함하는 컴퓨터 소프트웨어 제품.
  16. 통합(synthetic) 데이터 구조를 생성하는 방법을 수행하기 위해 구현된 컴퓨터-이용가능 명령을 갖는 하나 이상의 컴퓨터-판독가능 매체에 있어서,
    적어도 하나의 기준 데이터 구조 및 소스 데이터 구조상에서 동작하는 단계 - 그 각각은 하나 이상의 데이터 필드 유형을 갖고, 상기 하나 이상의 데이터 필드 각각은 적어도 하나의 데이터 값의 행을 포함함 -;
    소정의 패턴에 따른 상기 소스 데이터 구조에서의 상기 적어도 하나의 데이터 값의 행의 각각에 대해 가중값을 할당하는 단계;
    상기 소스 데이터 구조의 상기 적어도 하나의 데이터 값의 행의 각각에 대해 각각의 데이터 스트링을 도출(derive)하는 단계; 및
    상기 소스 데이터 구조의 상기 적어도 하나의 데이터 값의 행의 각각에 대하 여,
    a) 상기 가중값, 상기 각각의 데이터 스트링 및 상기 데이터 필드 유형에 기초하여, 상기 소스 데이터 구조의 데이터값 중 상기 적어도 하나의 행의 각각의 데이터 값을 상기 적어도 하나의 기준 데이터 구조의 데이터값 중 상기 적어도 하나의 행의 데이터 값으로 매핑하는 단계; 및
    b) 상기 통합 데이터 구조를 상기 적어도 하나의 기준 데이터 구조의 상기 매핑된 데이터 값으로 파퓰레이팅하는 단계를 수행하는 단계를 포함하는 컴퓨터-판독가능 매체.
  17. 제16항에 있어서,
    상기 데이터 스트링은 결정적 함수의 출력인 컴퓨터-판독가능 매체.
  18. 제16항에 있어서,
    상기 가중값을 할당하는 단계는,
    상기 테스트 데이터 구조내의 대응하는 데이터가 실제 파퓰레이션에서 자연적으로 발견되는 패턴과 부합하도록, 상기 소스 데이터 구조의 상기 하나 이상의 데이터 필드 유형의 데이터의 파퓰레이션에서의 발생에 따라 가중값을 할당하는 단계를 더 포함하는 컴퓨터-판독가능 매체.
  19. 제18항에 있어서,
    상기 데이터 스트링의 부분을 상기 하나 이상의 데이터 필드 유형의 각각에 할당하는 단계; 및
    상기 부분 및 대응하는 가중값에 기초하여, 상기 적어도 하나의 기준 데이터 구조내에서 상기 매핑된 데이터를 로케이팅하는 단계를 포함하는 컴퓨터-판독가능 매체.
  20. 제19항에 있어서,
    상기 데이터 필드 유형은, 이름 및 성, 회사명, 성별, 인종, 지불 방법, 봉급 및 나이에 대응하는 컴퓨터-판독가능 매체.
KR1020060000079A 2005-02-07 2006-01-02 결정론적 자연 데이터 치환에 의해 데이터 구조를 난독화하기 위한 방법 및 시스템 KR101213916B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/052,241 2005-02-07
US11/052,241 US7672967B2 (en) 2005-02-07 2005-02-07 Method and system for obfuscating data structures by deterministic natural data substitution

Publications (2)

Publication Number Publication Date
KR20060090165A true KR20060090165A (ko) 2006-08-10
KR101213916B1 KR101213916B1 (ko) 2012-12-18

Family

ID=36570542

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060000079A KR101213916B1 (ko) 2005-02-07 2006-01-02 결정론적 자연 데이터 치환에 의해 데이터 구조를 난독화하기 위한 방법 및 시스템

Country Status (7)

Country Link
US (1) US7672967B2 (ko)
EP (1) EP1688860B1 (ko)
JP (1) JP4920262B2 (ko)
KR (1) KR101213916B1 (ko)
CN (2) CN102063595B (ko)
AT (1) ATE511678T1 (ko)
CA (1) CA2532399C (ko)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7788651B2 (en) * 2005-09-02 2010-08-31 Microsoft Corporation Anonymous types
US8001607B2 (en) * 2006-09-27 2011-08-16 Direct Computer Resources, Inc. System and method for obfuscation of data across an enterprise
US20080263079A1 (en) * 2006-10-24 2008-10-23 Flextronics Ap, Llc Data recovery in an enterprise data storage system
US7933932B2 (en) * 2006-11-14 2011-04-26 Microsoft Corporation Statistics based database population
US20090132419A1 (en) * 2007-11-15 2009-05-21 Garland Grammer Obfuscating sensitive data while preserving data usability
US7877398B2 (en) 2007-11-19 2011-01-25 International Business Machines Corporation Masking related sensitive data in groups
US8055668B2 (en) * 2008-02-13 2011-11-08 Camouflage Software, Inc. Method and system for masking data in a consistent manner across multiple data sources
US9305180B2 (en) * 2008-05-12 2016-04-05 New BIS Luxco S.à r.l Data obfuscation system, method, and computer implementation of data obfuscation for secret databases
US20090282066A1 (en) * 2008-05-12 2009-11-12 Expressor Software Method and system for developing data integration applications with reusable semantic identifiers to represent application data sources and variables
EP2189925A3 (en) * 2008-11-25 2015-10-14 SafeNet, Inc. Database obfuscation system and method
US10102398B2 (en) 2009-06-01 2018-10-16 Ab Initio Technology Llc Generating obfuscated data
US9411712B2 (en) * 2009-06-10 2016-08-09 Ab Initio Technology Llc Generating test data
CN101937705B (zh) * 2009-07-01 2012-05-09 慧帝科技(深圳)有限公司 数据储存装置以及数据存取方法
US9524345B1 (en) 2009-08-31 2016-12-20 Richard VanderDrift Enhancing content using linked context
US9639707B1 (en) 2010-01-14 2017-05-02 Richard W. VanderDrift Secure data storage and communication for network computing
US9946810B1 (en) 2010-04-21 2018-04-17 Stan Trepetin Mathematical method for performing homomorphic operations
US12045364B1 (en) 2010-04-21 2024-07-23 Stanley Trepetin Mathematical method for performing homomorphic operations
US8626749B1 (en) * 2010-04-21 2014-01-07 Stan Trepetin System and method of analyzing encrypted data in a database in near real-time
GB2485783A (en) 2010-11-23 2012-05-30 Kube Partners Ltd Method for anonymising personal information
US10515231B2 (en) * 2013-11-08 2019-12-24 Symcor Inc. Method of obfuscating relationships between data in database tables
US10607726B2 (en) * 2013-11-27 2020-03-31 Accenture Global Services Limited System for anonymizing and aggregating protected health information
US10403392B1 (en) * 2013-12-11 2019-09-03 Allscripts Software, Llc Data de-identification methodologies
US11366927B1 (en) 2013-12-11 2022-06-21 Allscripts Software, Llc Computing system for de-identifying patient data
WO2015095275A1 (en) 2013-12-18 2015-06-25 Ab Initio Technology Llc Data generation
SG10201502401XA (en) * 2015-03-26 2016-10-28 Huawei Internat Pte Ltd Method of obfuscating data
JP6506099B2 (ja) * 2015-05-20 2019-04-24 株式会社野村総合研究所 データマスキング装置、データマスキング方法およびコンピュータプログラム
CN106909811B (zh) * 2015-12-23 2020-07-03 腾讯科技(深圳)有限公司 用户标识处理的方法和装置
US10192278B2 (en) * 2016-03-16 2019-01-29 Institute For Information Industry Traceable data audit apparatus, method, and non-transitory computer readable storage medium thereof
US10430394B2 (en) * 2016-11-30 2019-10-01 Business Objects Software Limited Data masking name data
US11270023B2 (en) 2017-05-22 2022-03-08 International Business Machines Corporation Anonymity assessment system
WO2019073912A1 (ja) * 2017-10-13 2019-04-18 日本電信電話株式会社 擬似データ生成装置、その方法、およびプログラム
WO2023014238A1 (ru) * 2021-08-03 2023-02-09 Публичное Акционерное Общество "Сбербанк России" Определение наличия критических корпоративных данных в тестовой базе данных
CN117131485B (zh) * 2023-09-22 2024-02-20 杭州融御科技有限公司 一种软件服务的授权方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63158663A (ja) * 1986-12-23 1988-07-01 Toshiba Corp 文書機密保護装置
US6011849A (en) * 1997-08-28 2000-01-04 Syndata Technologies, Inc. Encryption-based selection system for steganography
AU1060499A (en) * 1997-08-28 1999-03-16 Syndata Technologies, Inc. Encryption system for secure data
JP3733715B2 (ja) 1997-11-12 2006-01-11 富士ゼロックス株式会社 文書開示装置、文書開示プログラムを格納した媒体および文書開示方法
US6148342A (en) * 1998-01-27 2000-11-14 Ho; Andrew P. Secure database management system for confidential records using separately encrypted identifier and access request
JPH11212872A (ja) * 1998-01-30 1999-08-06 Fujitsu Ltd データベースシステム
JP2002358305A (ja) 2001-05-31 2002-12-13 Casio Comput Co Ltd データ処理装置及びデータ処理プログラム
WO2003021473A1 (en) 2001-08-30 2003-03-13 Privasource, Inc. Data source privacy screening systems and methods
US7024409B2 (en) * 2002-04-16 2006-04-04 International Business Machines Corporation System and method for transforming data to preserve privacy where the data transform module suppresses the subset of the collection of data according to the privacy constraint
EP1637955A1 (de) 2004-09-15 2006-03-22 Ubs Ag Erzeugung aktualisierbarer anonymisierter Datensätze für Test- und Entwicklungszwecke
US20060082592A1 (en) * 2004-10-19 2006-04-20 International Business Machines Corporation Mapping of a color to a treemap
US8050446B2 (en) * 2005-07-12 2011-11-01 The Board Of Trustees Of The University Of Arkansas Method and system for digital watermarking of multimedia signals

Also Published As

Publication number Publication date
CN102063595A (zh) 2011-05-18
US20060179075A1 (en) 2006-08-10
EP1688860B1 (en) 2011-06-01
KR101213916B1 (ko) 2012-12-18
ATE511678T1 (de) 2011-06-15
JP4920262B2 (ja) 2012-04-18
US7672967B2 (en) 2010-03-02
CA2532399A1 (en) 2006-08-07
JP2006221647A (ja) 2006-08-24
CN1831820A (zh) 2006-09-13
CN102063595B (zh) 2016-12-21
CA2532399C (en) 2013-08-13
EP1688860A1 (en) 2006-08-09

Similar Documents

Publication Publication Date Title
KR101213916B1 (ko) 결정론적 자연 데이터 치환에 의해 데이터 구조를 난독화하기 위한 방법 및 시스템
CN106991334B (zh) 一种数据存取的方法、系统及装置
US7974942B2 (en) Data masking system and method
US9514330B2 (en) Meta-complete data storage
US9836612B2 (en) Protecting data
Liu et al. Nonlinear order preserving index for encrypted database query in service cloud environments
US8938067B2 (en) Format preserving encryption methods for data strings with constraints
CN108664773A (zh) Java源代码的保护方法及装置
GB2484382A (en) Generating a test database for testing applications by applying format-preserving encryption to a production database
US7954158B2 (en) Characterizing computer attackers
CN113010856A (zh) 一种动态非对称加解密的JavaScript代码混淆方法与系统
CN109462602A (zh) 登录信息存储方法、登录验证方法、装置、设备及介质
US10536276B2 (en) Associating identical fields encrypted with different keys
US11928675B2 (en) System and method using zero knowledge proofs for alert sharing
CN112363997B (zh) 数据版本管理方法、装置及存储介质
CN113434535B (zh) 数据处理方法、通信系统、设备、产品及存储介质
CN113906405A (zh) 修改数据项
CN106027509A (zh) Erp环境下的云平台数据计算方法
CA2559428C (en) Data masking system and method
CN112703520A (zh) 监视制造过程
MXPA06000549A (es) Metodo y sistema para hacer ininteligible estructuras de datos mediante substitucion de datos determinista natural
CN109194696B (zh) 一种数据接口防扩散方法
Jha et al. Cloud Privacy and Security-A Review Paper
CN114239051A (zh) 一种基于Java反射进行信息脱敏的方法、装置及存储介质
Haunts et al. Azure Key Vault Usage Patterns

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: 20151118

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20161123

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20171117

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20181115

Year of fee payment: 7