KR20060090165A - 결정적 자연 데이터 치환에 의해 데이터 구조를어퍼스케이팅하기 위한 방법 및 시스템 - Google Patents
결정적 자연 데이터 치환에 의해 데이터 구조를어퍼스케이팅하기 위한 방법 및 시스템 Download PDFInfo
- 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
Links
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/6245—Protecting personal data, e.g. for financial or medical purposes
-
- C—CHEMISTRY; METALLURGY
- C02—TREATMENT OF WATER, WASTE WATER, SEWAGE, OR SLUDGE
- C02F—TREATMENT OF WATER, WASTE WATER, SEWAGE, OR SLUDGE
- C02F3/00—Biological treatment of water, waste water, or sewage
- C02F3/02—Aerobic processes
- C02F3/12—Activated sludge processes
- C02F3/1236—Particular type of activated sludge installations
- C02F3/1268—Membrane bioreactor systems
-
- C—CHEMISTRY; METALLURGY
- C02—TREATMENT OF WATER, WASTE WATER, SEWAGE, OR SLUDGE
- C02F—TREATMENT OF WATER, WASTE WATER, SEWAGE, OR SLUDGE
- C02F3/00—Biological treatment of water, waste water, or sewage
- C02F3/02—Aerobic processes
- C02F3/10—Packings; Fillings; Grids
- C02F3/103—Textile-type packing
-
- C—CHEMISTRY; METALLURGY
- C02—TREATMENT OF WATER, WASTE WATER, SEWAGE, OR SLUDGE
- C02F—TREATMENT OF WATER, WASTE WATER, SEWAGE, OR SLUDGE
- C02F3/00—Biological treatment of water, waste water, or sewage
- C02F3/02—Aerobic processes
- C02F3/10—Packings; Fillings; Grids
- C02F3/109—Characterized by the shape
-
- C—CHEMISTRY; METALLURGY
- C02—TREATMENT OF WATER, WASTE WATER, SEWAGE, OR SLUDGE
- C02F—TREATMENT OF WATER, WASTE WATER, SEWAGE, OR SLUDGE
- C02F3/00—Biological treatment of water, waste water, or sewage
- C02F3/02—Aerobic processes
- C02F3/12—Activated sludge processes
- C02F3/20—Activated sludge processes using diffusers
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99943—Generating 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
본 발명의 실시예는 그 전체가 여기서 참조용으로 결합된 부가 도면을 참조하여 이하 자세히 설명된다.
도 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)
- 데이터 어퍼스케이션(obfuscation) 방법에 있어서,어퍼스케이션이 요구되는 제1 데이터 구조상에서 동작하는 단계;상기 제1 데이터 구조의 부분(portion)에 기초하여 데이터 스트링을 생성하는 단계;상기 데이터 스트링에 기초하여, 적어도 하나의 제3 데이터 구조로부터 제2 데이터 구조를 결정적으로(deterministically) 생성하는 단계; 및상기 제1 데이터 구조를 상기 제2 데이터 구조로 교체하는 단계를 포함하는방법.
- 제1항에 있어서,상기 제1 데이터 구조는 데이터 값에 대한 하나 이상의 행(row) 및 하나 이상의 열(column)을 포함하고, 상기 하나 이상의 데이터 값의 행의 각각에 대한 식별자를 포함할 수 있는 방법.
- 제2항에 있어서,상기 식별자에 기초하여 상기 데이터 스트링을 생성하는 단계를 더 포함하고,상기 데이터 스트링은 결정적 함수의 출력인 방법.
- 제2항에 있어서,상기 제2 및 적어도 하나의 제3 데이터 구조는 데이터 값에 대한 하나 이상의 행 및 하나 이상의 열을 포함하고,상기 제2 및 적어도 하나의 제3 데이터 구조내의 상기 하나 이상의 열의 각각은 상기 제1 데이터 구조의 상기 하나 이상의 열내의 데이터 값의 유형에 대응하는 방법.
- 제2항에 있어서,상기 제1 데이터 구조의 상기 하나 이상의 행의 각각에서의 데이터 값의 다양한 유형에 가중값(weighted value)을 할당하는 단계; 및상기 제1 데이터 구조의 상기 할당된 가중값에 기초하여 상기 제2 데이터 구조를 상기 적어도 하나의 제3 데이터 구조로부터의 데이터 값으로 파퓰레이팅(populate)하는 단계를 더 포함하는 방법.
- 제2항에 있어서,상기 가중값을 할당하는 단계는,상기 제2 데이터 구조내의 대응하는 데이터 값이 실제 파퓰레이션(population)에서 자연적으로 발견되는 패턴과 부합하도록, 상기 제1 데이터 구조의 상기 하나 이상의 행의 각각에서의 상기 데이터 값 유형의 파퓰레이션에서의 발 생에 따라 가중값을 할당하는 단계를 더 포함하는 방법.
- 제1항의 방법을 수행하는 컴퓨터-실행가능 명령을 갖는 컴퓨터-판독가능 매체.
- 제1항에 정의된 바와 같은 방법을 수행하기 위한 코드를 포함하는 컴퓨터 소프트웨어 제품.
- 테스트 데이터 구조를 구성하기 위한 방법에 있어서,하나 이상의 데이터 필드의 유형을 갖는 소스 데이터 구조상에서 동작하는 단계 - 상기 하나 이상의 데이터 필드 각각은 하나 이상의 데이터의 행을 포함함 -;상기 하나 이상의 데이터의 행의 각각에 대한 식별자(identifier)를 결정하는 단계; 및상기 하나 이상의 데이터의 행의 각각에 대하여,a) 상기 식별자에 기초하여 데이터 스트링을 생성하는 단계;b) 상기 데이터 필드의 유형에 기초하여, 상기 데이터 스트링의 부분을 적어도 하나의 기준 데이터 구조내의 데이터 값으로 매핑하는 단계; 및c) 상기 테스트 데이터 구조를 상기 적어도 하나의 기준 데이터 구조에서의 상기 매핑된 값으로 파퓰레이팅하는 단계를 수행하는 단계를 포함하는 방 법.
- 제9항에 있어서,상기 데이터 스트링은 결정적 함수의 출력인 방법.
- 제9항에 있어서,상기 소스 데이터 구조의 상기 하나 이상의 데이터 필드의 유형에서의 데이터에 가중값을 할당하는 단계; 및상기 가중값에 기초하는 상기 적어도 하나의 기준 데이터 구조로부터의 상기 데이터 값으로 상기 테스트 데이터 구조를 파퓰레이팅하는 단계를 더 포함하는 방법.
- 제11항에 있어서,상기 가중값을 할당하는 단계는,상기 테스트 데이터 구조내의 대응하는 데이터가 실제 파퓰레이션에 근접하도록, 상기 소스 데이터 구조의 상기 하나 이상의 데이터 필드의 유형에서의 데이터의 파퓰레이션에서의 발생에 따라 가중값을 할당하는 단계를 더 포함하는 방법.
- 제12항에 있어서,상기 데이터 스트링의 부분을 상기 하나 이상의 데이터 필드의 유형의 각각 으로 할당하는 단계; 및상기 부분 및 대응하는 가중값에 기초하여, 상기 적어도 하나의 기준 데이터 구조내에서 상기 매핑된 값을 로케이팅(locate)하는 단계를 더 포함하는 방법.
- 제9항의 방법을 수행하는 컴퓨터-실행가능 명령을 갖는 컴퓨터-판독가능 매체.
- 제9항에 정의된 바와 같은 방법을 수행하기 위한 코드를 포함하는 컴퓨터 소프트웨어 제품.
- 통합(synthetic) 데이터 구조를 생성하는 방법을 수행하기 위해 구현된 컴퓨터-이용가능 명령을 갖는 하나 이상의 컴퓨터-판독가능 매체에 있어서,적어도 하나의 기준 데이터 구조 및 소스 데이터 구조상에서 동작하는 단계 - 그 각각은 하나 이상의 데이터 필드 유형을 갖고, 상기 하나 이상의 데이터 필드 각각은 적어도 하나의 데이터 값의 행을 포함함 -;소정의 패턴에 따른 상기 소스 데이터 구조에서의 상기 적어도 하나의 데이터 값의 행의 각각에 대해 가중값을 할당하는 단계;상기 소스 데이터 구조의 상기 적어도 하나의 데이터 값의 행의 각각에 대해 각각의 데이터 스트링을 도출(derive)하는 단계; 및상기 소스 데이터 구조의 상기 적어도 하나의 데이터 값의 행의 각각에 대하 여,a) 상기 가중값, 상기 각각의 데이터 스트링 및 상기 데이터 필드 유형에 기초하여, 상기 소스 데이터 구조의 데이터값 중 상기 적어도 하나의 행의 각각의 데이터 값을 상기 적어도 하나의 기준 데이터 구조의 데이터값 중 상기 적어도 하나의 행의 데이터 값으로 매핑하는 단계; 및b) 상기 통합 데이터 구조를 상기 적어도 하나의 기준 데이터 구조의 상기 매핑된 데이터 값으로 파퓰레이팅하는 단계를 수행하는 단계를 포함하는 컴퓨터-판독가능 매체.
- 제16항에 있어서,상기 데이터 스트링은 결정적 함수의 출력인 컴퓨터-판독가능 매체.
- 제16항에 있어서,상기 가중값을 할당하는 단계는,상기 테스트 데이터 구조내의 대응하는 데이터가 실제 파퓰레이션에서 자연적으로 발견되는 패턴과 부합하도록, 상기 소스 데이터 구조의 상기 하나 이상의 데이터 필드 유형의 데이터의 파퓰레이션에서의 발생에 따라 가중값을 할당하는 단계를 더 포함하는 컴퓨터-판독가능 매체.
- 제18항에 있어서,상기 데이터 스트링의 부분을 상기 하나 이상의 데이터 필드 유형의 각각에 할당하는 단계; 및상기 부분 및 대응하는 가중값에 기초하여, 상기 적어도 하나의 기준 데이터 구조내에서 상기 매핑된 데이터를 로케이팅하는 단계를 포함하는 컴퓨터-판독가능 매체.
- 제19항에 있어서,상기 데이터 필드 유형은, 이름 및 성, 회사명, 성별, 인종, 지불 방법, 봉급 및 나이에 대응하는 컴퓨터-판독가능 매체.
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)
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)
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 |
-
2005
- 2005-02-07 US US11/052,241 patent/US7672967B2/en active Active
-
2006
- 2006-01-02 KR KR1020060000079A patent/KR101213916B1/ko active IP Right Grant
- 2006-01-04 AT AT06100061T patent/ATE511678T1/de not_active IP Right Cessation
- 2006-01-04 EP EP06100061A patent/EP1688860B1/en active Active
- 2006-01-06 CA CA2532399A patent/CA2532399C/en not_active Expired - Fee Related
- 2006-01-06 CN CN201110038887.XA patent/CN102063595B/zh not_active Expired - Fee Related
- 2006-01-06 CN CNA2006100025184A patent/CN1831820A/zh active Pending
- 2006-02-07 JP JP2006030254A patent/JP4920262B2/ja not_active Expired - Fee Related
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 |