KR101538305B1 - 특정 데이터 조합 보호 방법 및 장치 - Google Patents

특정 데이터 조합 보호 방법 및 장치 Download PDF

Info

Publication number
KR101538305B1
KR101538305B1 KR1020137014404A KR20137014404A KR101538305B1 KR 101538305 B1 KR101538305 B1 KR 101538305B1 KR 1020137014404 A KR1020137014404 A KR 1020137014404A KR 20137014404 A KR20137014404 A KR 20137014404A KR 101538305 B1 KR101538305 B1 KR 101538305B1
Authority
KR
South Korea
Prior art keywords
tokens
tuple
data
token
registration list
Prior art date
Application number
KR1020137014404A
Other languages
English (en)
Other versions
KR20140041391A (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 KR20140041391A publication Critical patent/KR20140041391A/ko
Application granted granted Critical
Publication of KR101538305B1 publication Critical patent/KR101538305B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0853Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/22Arrangements for preventing the taking of data from a data transmission channel without authorisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

하나의 예시적 구현의 방법은, 데이터 파일의 레코드로부터 복수의 데이터 요소를 추출하는 단계와, 데이터 요소를 토큰으로 토큰화하는 단계와, 토큰을 등록 리스트의 제 1 튜플에 저장하는 단계를 포함한다. 또한, 이 방법은 제 1 튜플에 대한 토큰 키로서 토큰 중 하나를 선택하는 단계를 더 포함하는데, 선택된 토큰은 제 1 튜플의 다른 토큰 각각보다 등록 리스트에서 발생 빈도가 낮다. 특정 실시예에서, 적어도 하나의 데이터 요소는 사전 정의된 표현 패턴에 일치하는 문자 패턴을 갖는 표현 요소이며, 사전 정의된 표현 패턴은 적어도 2개의 단어들 및 단어들 사이의 구분자(separator)를 나타낸다. 다른 실시예에서, 적어도 하나의 데이터 요소는 하나 이상의 연속하는 필수 문자의 문자 패턴에 의해 정의되는 단어이다. 다른 특정 실시예는 사전 정의된 구분문자를 식별하여 레코드의 끝부분을 결정하는 단계를 포함한다.

Description

특정 데이터 조합 보호 방법 및 장치{SYSTEM AND METHOD FOR PROTECTING SPECIFIED DATA COMBINATIONS}
관련 미국 출원 정보
이 출원은 2009년 1월 23일자로 출원된 William Deninger 등의 공동 계류 중인 미국 특허 출원 제 12/358,399 호, 'SYSTEM AND METHOD FOR INTELLIGENT STATE MANAGEMENT'(대리인 정리번호 004796.1042)에 연관되며, 양수인에게 공동으로 양도되었다. 이 출원의 개시 내용은 본 명세서의 일부를 이루며 그 전체가 참조된다.
본 발명은 전반적으로 데이터 관리 분야에 관한 것으로, 특히 데이터의 특정 조합을 보호하기 위한 시스템 및 방법에 관한 것이다.
컴퓨터 네트워크는 현대 비즈니스에 있어서 불가결한 툴이 되었다. 기업은 통신을 위해 네트워크를 사용할 수 있고, 나아가 다양한 폼과 다양한 위치에 데이터를 저장할 수 있다. 핵심 정보가 종종 기업의 네트워크를 통해 전달된다. 어떤 연방 규정 및 주 규정은 다양한 조직 또는 기업에 의한 특정 정보의 유포에 관한 규정을 제공한다. 따라서, 소유하는 정보의 잠재적 손실 및 그로 인한 비즈니스에 대한 부정적인 영향 외에도, 기업은 어떤 데이터의 의도하지 않은 또는 의도적인 유출에 대한 법적 책임에도 직면할 수 있다. 현대 기업은 종종 이러한 정보의 유포를 통제하기 위한 많은 툴을 채택하며, 이들 툴의 많은 수는 외부인, 침입자 및 허가되지 않은 개인이 기밀 정보, 중요한 정보 또는 민감한 정보에 액세스 또는 수신하는 것을 방지하려고 한다. 공통적으로, 이들 툴은 방화벽, 침입 탐지 시스템 및 패킷 스니퍼 디바이스(packet sniffer devices)를 포함할 수 있다.
중요한 정보의 움직임을 보장하고 통제할 수 있는, 효과적인 데이터 관리 시스템을 제공하는 시스템 또는 프로토콜을 제공하는 기능은 보안 전문가, 장치 제조자, 서비스 제공자 및 시스템 관리자 등에게 있어서 의미 있는 도전 과제일 수 있다.
개요
하나의 예시적 실시예의 방법은, 데이터 파일의 레코드로부터 복수의 데이터 요소를 추출하는 단계와, 복수의 데이터 요소를 복수의 토큰으로 토큰화하는 단계와, 복수의 토큰을 등록 리스트의 제 1 튜플에 저장하는 단계를 포함한다. 또한, 이 방법은 제 1 튜플에 대한 토큰 키로서 복수의 토큰 중 하나를 선택하는 단계를 더 포함하는데, 선택된 토큰 키는 제 1 튜플의 다른 토큰 각각보다 등록 리스트에서 발생 빈도가 낮다. 보다 구체적인 실시예에서, 적어도 하나의 데이터 요소는 사전 정의된 표현 패턴에 일치하는 문자 패턴을 갖는 표현 요소이며, 사전 정의된 표현 패턴은 적어도 2개의 단어들 및 단어들 사이의 구분자(separator)를 나타낸다. 다른 특정 실시예에서, 적어도 하나의 데이터 요소는 하나 이상의 연속하는 필수 문자의 문자 패턴에 의해 정의되는 단어이다. 다른 보다 구체적인 실시예는 사전 정의된 구분문자를 식별하여 레코드의 끝부분을 결정하는 단계를 포함한다.
다른 예시적 실시형태의 방법은 객체로부터 복수의 데이터 요소를 추출하는 단계와, 복수의 데이터 요소를 복수의 객체 토큰으로 토큰화하는 단계와, 등록 리스트의 복수의 튜플 중 제 1 튜플을 식별하는 단계를 포함한다. 또한, 이 방법은 제 1 튜플의 복수의 관련 토큰 각각이 객체 토큰 중 적어도 하나에 대응하는지를 판정하는 단계를 더 포함한다. 또한, 이 방법은 제 1 튜플의 복수의 관련 토큰과 상기 복수의 객체 토큰 사이의 관련성(correspondence)의 양이 사전 결정된 임계를 만족하면, 이벤트를 인증하는 단계를 포함한다. 보다 구체적인 실시예에서, 사전 결정된 임계는, 제 1 튜플의 관련 토큰 각각이 복수의 객체 토큰 중 적어도 하나에 대응할 때 만족된다.
본 발명과 그 특징 및 이점에 대한 보다 완전한 이해를 제공하기 위해, 첨부된 도면을 참조하여 후술할 것이며, 도면에서 동일한 참조번호는 동일한 부분을 지칭한다.
도 1은 본 개시의 일 실시예에 따른, 네트워크 환경에서 특정 데이터 조합을 보호하기 위한 시스템의 예시적 구현에 대한 간략화된 블록도이다.
도 2는 본 개시에 따른 데이터 조합 보호 시스템의 실시예에서 사용될 수 있는 컴퓨터의 간략화된 블록도이다.
도 3은 본 개시의 일 실시예에 따른 데이터 조합 보호 시스템의 등록 시스템의 블록도이다.
도 4는 본 개시의 일 실시예에 따른 데이터 조합 보호 시스템의 다양한 데이터 파일 구조의 블록도이다.
도 5는 본 개시의 등록 시스템의 일 양태에 따른, 예시적 데이터 입력 및 출력에 대한 간략화된 블록도이다.
도 6a, 6b 및 7은 등록 시스템과 관련되는 일련의 예시적 단계를 설명하는 간략화된 흐름도이다.
도 8은 본 개시의 일 실시예에 따른, 등록 시스템 프로세싱과 관련되는 예시적 시나리오에서의 파일 콘텐츠를 설명한다.
도 9는 본 개시의 일 실시예에 따른 데이터 조합 보호 시스템의 검출 시스템의 블록도이다.
도 10은 본 개시의 검출 시스템의 일 양태에 따른, 예시적 데이터 입력 및 출력에 대한 간략화된 블록도이다.
도 11 및 12는 검출 시스템과 관련되는 일련의 예시적 단계를 설명하는 간략화된 흐름도이다.
도 13은 본 개시의 일 실시예에 따른, 검출 시스템 프로세싱과 관련되는 예시적 시나리오에서의 파일 콘텐츠를 설명한다.
예시적 실시형태
도 1은 예시적 네트워크(100)의 특정 데이터 조합을 등록하고 검출하기 위한, 데이터 조합 보호 시스템(10)의 예시적 구현을 설명하는 간략화된 블록도이다. 데이터 조합 보호 시스템(10)은, 등록 시스템(22)을 갖는 네트워크 어플라이언스(12)와 같은 다수의 네트워크 요소와, 검출 시스템(24, 26, 28)을 각각 구비하는 복수의 네트워크 어플라이언스(14, 16, 18)를 포함할 수 있다. 이들 네트워크 어플라이언스(12, 14, 16, 18)는 데이터 보호 관리자(32)를 갖는 네트워크 어플라이언스(30)와 같은 다른 네트워크 요소에 의해 관리되거나 이에 연결될 수 있다. 또한, 네트워크 보안 플랫폼(140)은 네트워크(100)를 위한 네트워크 보안의 기존 인프라스트럭처를 제공할 수 있고, 데이터 조합 보호 시스템(10)과 적합하게 통합될 수 있다.
도 1에 도시된 네트워크 환경은 패킷을 교환할 수 있는 임의의 통신 아키텍처를 표현하도록 전반적으로 구성 또는 배열될 수 있다. 이러한 구성은 도 1의 설명을 위해 도시된 것과 같은 주어진 비즈니스 개체의 개별적인 구분(가령, 마케팅 세그먼트(152), 세일즈 세그먼트(154), 프로덕션 세그먼트(156))을 포함할 수 있다. 또한, 이메일 게이트웨이(162), 웹 게이트웨이(164), 스위치(172), 방화벽(174) 및 적어도 하나의 클라이언트 디바이스(130)와 같은 다른 공통적인 네트워크 요소도 네트워크(100)에 제공될 수 있다. 네트워크(100)는 방화벽(174)을 통해 인터넷(180)과 같은 다른 네트워크와 패킷을 교환하도록 구성될 수도 있다.
데이터 조합 보호 시스템(10)은 네트워크 환경으로부터 기밀 데이터의 의도치 않은 공개 또는 의도적인 공개에 대한 조직이 보호하는 것을 도울 수 있다. 데이터 조합 보호 시스템(10)의 실시예는 네트워크 환경의 객체 내에서 데이터 요소의 특정 조합을 등록하고 등록된 데이터 조합을 검출하기 위해 사용될 수 있다. 예를 들어, 개인을 식별하기 위해 조합되면 충분히 구분되며 개인에 관한 기밀 또는 민감한 정보를 잠재적으로 노출할 수 있는 데이터 요소는, 조합으로서 등록될 수 있고 데이터 조합 보호 시스템(10)에 의해 네트워크의 객체에서 검출될 수 있다. 시스템(10)은 등록 리스트의 개별적인 튜플(tuple) 또는 레코드에서 표현되는 각 특정된 데이터 요소 조합 또는 세트를 갖는 등록 리스트를 생성할 수 있다. 등록 리스트에 이들 튜플을 생성하는 등록 동작은 하나 이상의 데이터 요소 세트를 갖는 임의의 데이터 파일에 대해 수행될 수 있으며, 각 데이터 요소 세트는 사전 정의된 구분문자(delimiter)에 의해 다른 데이터 요소 세트로부터 구분된다. 등록 리스트는 키(keys)로 인덱싱될 수 있는데, 각 키는 튜플 내에서 표현되는 데이터 요소 중 하나에 대응한다.
데이터 조합 보호 시스템(10)은 네트워크 환경에서 객체(가령, 워드 프로세싱 다큐먼트, 스프레드시트, 데이터베이스, 전자메일 다큐먼트, 평문(plaintext) 파일, 임의의 인간 언어 파일 등)에서 하나 이상의 등록된 데이터 요소 조합을 발견하는 동작을 검출할 수 있다. 객체는 네트워크에서 캡처되어 전송을 위해 포맷팅(가령, HTML, FTP, SMTP, 웹메일 등)되거나, 데이터베이스, 파일 시스템 또는 기타 저장소에 저장될 수 있다. 일 실시예에서, (가령, 등록 리스트의 하나의 튜플로 표현되는) 등록된 데이터 요소 조합의 모든 데이터 요소가 객체에서 검출되면, 이벤트가 플래그되거나 인증되고, 이 객체는 전송되는 것이 방지되고/되거나 네트워크 운영자 또는 기타 허가된 사람에게 보고되어 모니터링하고 임의의 적합한 치료 동작을 취할 수 있다. 다른 실시예에서, 등록된 데이터 요소 조합의 특정 임계량이 객체에서 발견되면, 이벤트가 인증될 수 있다.
데이터 조합 보호 시스템(10)의 기술을 설명하기 위해, 도 1에 도시된 네트워크와 같은 주어진 네트워크에서 존재할 수 있는 동작 및 보안 고려사항을 이해하는 것이 중요하다. 이하의 기본적 정보는 본 개시가 올바르게 설명될 수 있는 기초로서 보여질 수 있다. 이러한 정보는 단지 설명을 위해 제공되는 것이므로, 어떠한 방식으로도 본 개시 및 그 잠재적 애플리케이션의 넓은 범위를 제한하는 것으로 해석되어서는 안 된다.
많은 보안 환경에서 도전 과제는 기밀 전자 데이터를 통제하는 기능이다. 하나의 예시적 보안 쟁점에서, 많은 조직이 그 조직과 연관되는 개인 또는 단순히 일반 대중 또는 그 다양한 부분의 구성원인 개인을 식별하는 데에 사용될 수 있는 데이터를 수집하고 저장한다. 이 민감한 데이터는, 가령, 이름, 주민등록번호(social security number), 신용카드 번호, 주소, 전화번호, 생일, 시민권, 계좌번호, 고용주, 혼인여부 등을 포함할 수 있다. 객체 내의 단 하나의 민감한 데이터 요소 또는 나아가 객체 내의 적은 수의 민감한 데이터 요소일 지라도 특정 개인을 식별하거나 기밀 정보를 유출하기에는 충분히 구분되지 않을 수 있다. 그러나, 객체 내에서 특정 개인과 관련되는 민감한 데이터 요소의 수가 증가함에 따라 그 개인이 식별가능하게 되는 가능성도 증가하므로, 관련 기밀 정보를 노출할 위험도 증가한다. 유사하게, 기밀 정보에 관한 관련된 데이터 요소(가령, 지적 재산, 기업 재무 데이터, 기밀 정부 정보 등에 관한 데이터 요소)의 수가 증가할수록 다른 종류의 기밀 정보도 식별 가능하게 된다.
다양한 연방 및 주 법 또한 개인의 비공적 개인 정보 및 소정 조직 또는 개체에 의해 개인적으로 식별 가능한 정보의 공개를 규정한다. 예를 들어, 의료보험의 상호운용성과 책임에 관한 법률(Health Insurance Portability and Accountability Act; HIPAA, 1996)은 정보가 개별적으로 식별 가능한 경우에 (가령, 이름, 주소, 생일, 주민등록번호 또는 특정인을 식별하기 위해 사용될 수 있는 기타 정보와 같은 정보를 포함하는) 보호되는 건강 정보(PHI)의 사용 및 공개를 규정한다. 이와 유사하게, 그램-리치-블라일리 법(Gramm-Leach-Bliley Act; GLBA, 1999)은 금융기관에 의한 비공적 개인 정보의 공개를 규정함으로써 개인의 개인 금융 정보를 보호하는 것을 목적으로 한다. 다른 예에서, 지불카드 업계 데이터 보안 표준(Payment Card Industry (PCI) Data Security Standard)도 지불카드에 대한 데이터 요소의 사용 및 공개를 규정한다. 이러한 규정은, 특정 개인 및 개인 정보를 잠재적으로 식별할 수 있는 사전 결정된 데이터 요소 조합(가령, 이름, 주민등록번호 및 생일)을 포함하는 전자 데이터의 허가되지 않은 유포를 금지할 수 있다.
민감한 데이터 요소에 관한 객체를 모니터링하는 것은 여러가지 이유로 문제가 있다. 우선, 일부 네트워크에서 관리되는 데이터의 볼륨은 네트워크 성능 저하를 최소화하기 위해 정교한 처리 기술을 요구한다. 대략 3억 인구를 갖는 미국의 경우, 이들 개인에만 관한 데이터 요소의 수는 수십억 데이터 요소로 금새 증가할 수 있다. 표준 컴퓨터 메모리 및 처리 성능은 수십억 데이터 요소를 등록하고 평가하기 위해 객체를 효율적으로 처리하도록 최적화되어야 한다.
다른 모니터링 문제는, 어떤 데이터는 표준 포맷으로 항상 제공되지 않기 때문에 발생한다. 가령, 다수의 포맷이 생일(가령, 'June 25, 1964', '06-25-1964', '1964.May.25' 등) 또는 전화번호(가령, '(000) 000-0000', '000-000-0000', '000.000.0000')를 위해 사용될 수 있다. 하나의 예시적 시나리오에서, 데이터 요소는 한 포맷으로 네트워크에 저장되고 나서 상이한 포맷으로 객체에서 공개될 수 있다. 그러나, 허가되지 않은 데이터 공개에 대한 규정 및 그에 따른 처벌은 공개정보에서 사용되는 포맷과 무관하게 기밀 정보의 공개에 적용될 수 있다. 따라서, 객체에서 민감한 데이터 요소를 검출하기 위해서는 특정 데이터의 변하는 포맷을 인식해야 한다.
전자 데이터가 전자적으로 공유될 수 있는 포맷이 많아서 보안 시스템이 기밀 정보의 전자적 공개를 성공적으로 모니터링하는 것을 방해할 수도 있다. 전자 데이터는 다수의 구성(가령, 사전 정의된 열과 행을 갖는 스프레드시트, 이메일 메시지, 워드 프로세싱 다큐먼트, 데이터베이스, 정의된 프로토콜을 사용하여 포맷팅되는 전송되는 객체 등)으로 제공될 수 있다. 결과적으로, 데이터 요소의 특정 조합이 모니터링되고 있는 시스템에서, 이러한 요소는 반드시 동일한 특정 조합의 다른 관련 데이터 요소에 인접하여 위치되지 않을 수 있다. 특정 조합의 데이터 요소는 객체 내의 단어, 포맷팅 문자, 라인 또는 임의의 구분자 또는 구분문자에 의해 분리될 수 있다. 데이터 요소의 특정 조합을 포함하는 객체를 평가하고 인증하기 위해서는 이러한 데이터 요소가 객체 내의 어디서 나타나는 지와 무관하게 정교한 기술이 필요하다.
도 1에 의해 도시된 특정 데이터 조합을 보호하기 위한 시스템은 이들 쟁점의 많은 부분을 해결할 수 있다. 데이터 조합 보호 시스템(10)의 하나의 예시적 구현에 따르면, 등록 시스템(22)이 네트워크(100)에 제공되어 모니터링될 데이터 요소의 특정 조합 또는 세트의 등록 리스트를 생성한다. 등록 시스템은 다양한 문자 포맷 또는 패턴으로 표현되며 각 데이터 요소 세트 사이에 사전 정의된 구분문자를 갖는 다양한 전자 파일 포맷으로 제공되는 데이터 요소를 인식하고 등록할 수 있다. 다수의 검출 시스템(24, 26, 28)은 네트워크 환경 내의 캡처 및/또는 저장된 객체를 평가하여 어느 객체가 등록된 데이터 요소 세트 중 하나 이상을 포함하는 지를 판정하도록 제공될 수도 있다. 검출 시스템은 객체 내의 데이터 요소를 인식하고, 등록된 데이터 요소 조합의 각 데이터 요소가 객체의 경계 내의 어딘가에 포함되는지를 판정하도록 구성될 수 있다. 등록 리스트는, 컴퓨터 리소스를 최적화하고 임의의 네트워크 성능 문제를 최소화하는 방식으로 검출 시스템에 의해 인덱싱되고 검색될 수 있다.
본 명세서에서, "일 실시예", "예시적 실시형태", "실시예", "다른 실시예", "일부 실시예", "다양한 실시예", "기타 실시예", "대체 실시예" 등에 포함되는 다양한 요소로의 참조는 임의의 이러한 요소가 본 개시의 하나 이상의 실시예에 포함될 수 있다는 것을 의미하려는 것이며, 동일한 실시예에 포함될 수도 있지만 반드시 그러한 것은 아니다는 것을 유의하자.
도 1의 인프라스트럭처를 참조하면, 데이터 조합 보호 시스템(10)은 예시적 네트워크(100)에서 구현될 수 있는데, 이는 근거리 네트워크(LAN)로 구성되고 다양한 유선 구성(가령, 이더넷) 및/또는 무선 기술(가령, IEEE 802. IIX)를 사용하여 구현될 수 있다. 일 실시예에서, 네트워크(100)는 인터넷 서비스 제공자(ISP)에 의해 또는 전용 대역폭을 갖는 인터넷 서버를 통해 인터넷(180)에 동작 가능하게 연결될 수 있다. 또한, 네트워크(100)는 LAN 또는 임의의 다른 적합한 네트워크 유형으로 구성되는 다른 논리적으로 구분되는 네트워크에 접속될 수 있다. 또한, 네트워크(100)는 적합하게 그리고 특정 필요에 따라 임의의 다른 종류의 네트워크로 대체될 수 있다. 이러한 네트워크는 무선 LAN(WLAN), 도시규모 네트워크(MAN), 광대역 네트워크(WAN), 가상 사설 통신망(VPN) 또는 네트워크 환경에서의 통신을 촉진하는 임의의 다른 적합한 아키텍처 또는 시스템을 포함한다. 인터넷(180) 및 기타 논리적으로 구분되는 네트워크로의 접속은 임의의 적합한 매체, 가령, DSL(Digital Subscriber Lines), 전화선, T1 라인, T3 라인, 무선, 위성, 광 섬유, 케이블, 이더넷 등 또는 그 임의의 조합을 포함할 수 있다. 다수의 네트워킹 구성요소, 가령, 게이트웨이, 라우터, 스위치(가령, 172) 등이 네트워크(100) 내의 전자통신, 네트워크(100), 인터넷(180) 및 네트워크(100)에 링크되는 임의의 다른 논리적으로 구분되는 네트워크 사이의 전자 통신을 촉진하는 데에 사용될 수 있다.
네트워크(100)는 전자 패킷의 송신 또는 수신을 위해 TCP/IP(Transmission Control Protocol/Internet Protocol) 통신을 허용하도록 구성될 수 있다. 또한, 네트워크(100)는 적합한 경우에 그리고 특정 필요에 기초하여 UDP/IP(User Datagram Protocol/IP) 또는 임의의 다른 적합한 프로토콜과 함께 동작할 수도 있다. 또한, 네트워크(100)에 동작 가능하게 접속되는 이메일 게이트웨이(162)는 클라이언트 디바이스(130)와 같은 클라이언트 컴퓨터가 SMTP(Simple Mail Transfer Protocol) 또는 임의의 다른 적합한 프로토콜을 사용하여 이메일 메시지를 송신하고 수신할 수 있게 한다.
클라이언트 디바이스(130)는 네트워크(100)에서의 전자 통신에 영향을 주거나 관리하고자 하는 하나 이상의 종단점 또는 고객을 나타낸다. '클라이언트 디바이스'라는 용어는 전자 통신을 개시하기 위해 사용되는 디바이스, 가령, 컴퓨터, PDA(Personal Digital Assistant), 랩탑 또는 전자 노트북, 셀룰러 전화기, 또는 네트워크(100) 내에서 보이스, 오디오 또는 데이터 교환을 개시할 수 있는 임의의 다른 디바이스, 구성요소, 요소, 또는 객체를 포함할 수 있다. 또한, 종단점은 인간 사용자로의 적합한 인터페이스를 포함하는데, 가령, 마이크로폰, 디스플레이 또는 키보드 또는 기타 단말 장비를 포함할 수 있다. 또한, 종단점은 다른 개체 또는 요소를 대신하여 전자 통신을 개시하는 것을 목적으로 하는 임의의 디바이스, 가령, 네트워크(100) 내에서 보이스 또는 데이터 교환을 개시할 수 있는 프로그램, 데이터 베이스 또는 임의의 다른 구성요소, 디바이스, 요소일 수도 있다.
등록 시스템 및 검출 시스템을 갖는 네트워크 어플라이언스는, 의도치 않은 또는 의도적인 정보 유출에 대한 보호를 가능하게 하는 네트워크(100) 내의 데이터 조합 보호 시스템(10)을 제공할 수 있는데, 유출된 데이터의 특정 조합은 기밀 정보를 잠재적으로 노출시킬 수 있다. 이들 네트워크 어플라이언스는 네트워크 구성과 관련되는 통신 경로에 액세스 가능하여, 하나 이상의 어플라이언스가 이메일 트래픽, 기타 네트워크 트래픽 또는 간단히 비즈니스 인프라스트럭처(가령, 서버, 저장소 등)의 어딘가에 존재하는 데이터로의 액세스를 가질 수 있다. 특히, 등록 시스템(22)을 갖는 네트워크 어플라이언스(12)는 민감한 데이터 요소를 포함하는 데이터베이스 및 저장소(112)로의 액세스를 위해 네트워크(100)에 전개될 수 있다. 등록 시스템(22)은 데이터베이스 및 저장소(112)로부터의 또는 적합한 포맷의 다른 파일 또는 객체로부터의 특정 데이터 조합을 등록할 수 있다. 등록된 데이터 조합은 네트워크 어플라이언스(14, 16, 18)의 검출 시스템(24, 26, 28)에 의해 사용되어, 네트워크 트래픽의 임의의 완전한 등록된 데이터 조합 또는 그 사전 결정된 부분의 유출을 검출하거나 비즈니스 인프라스트럭처의 허가되지 않은 세그먼트에 존재하는, 이러한 데이터 조합 또는 그 사전 결정된 부분의 존재를 검출할 수 있다.
검출 시스템(24, 26, 28)을 갖는 네트워크 어플라이언트(14, 16, 18)는 네트워크 출구 포인트(가령, 이메일 게이트웨이(162), 웹 게이트웨이(164), 스위치(172) 등)에 전개되어, 내부 대 외부 및 내부 대 내부 네트워크 트래픽을 보호할 수 있다. 네트워크 어플라이언스가 위험 이벤트를 검출하면, 관리자에게 알리는데, 이는 기존 인프라스트럭처를 사용하여 민감한 정보가 네트워크를 벗어나는 것을 차단하거나 이를 격리할 수 있다. 네트워크 탭 또는 트래픽 미러링에서와 같이, 수동 인터셉션 기술을 사용하여 전개되는 디바이스로서, 네트워크 어플라이언스는 중단되지 않게(non-disruptively) 동작할 수 있어서, 애플리케이션, 서버, 워크스테이션 또는 네트워크 자체에 변화를 요구하지 않는다. 네트워크 어플라이언스는 모든 애플리케이션, 프로토콜 및 콘텐츠 유형을 모니터링하고 분석할 수 있으며, 실시간으로 실행 동작을 트리거링할 수 있다.
도 1에 도시된 네트워크 어플라이언스(30)의 데이터 보호 관리자(32)는 데이터 조합 보호 시스템(10)의 관리를 단순화하도록 설계될 수 있는데, 이는 다수의 네트워크 어플라이언스에 걸친 등록 시스템(22) 및 모든 검출 시스템(25, 26, 28)을 관리하기 위한 중앙형 인터페이스를 제공할 수 있다. 데이터 보호 관리자(32)는 등록 시스템(22) 및 검출 시스템(24, 26, 28)으로부터 생성되는 데이터를 중앙형으로 관리하고, 도 1에 도시된 바와 같이 다양한 네트워크 어플라이언스에 존재할 수 있는, 분산된 등록 시스템 및 검출 시스템 사이의 데이터 흐름을 조정하도록 구성될 수 있다. 특히, 일 실시예는 등록 리스트 및 등록 시스템(22)에 의해 생성되는 등록 리스트로의 인덱스를 포함하는데, 이는 데이터 보호 관리자(32)에 의해 분산된 검출 시스템(24, 26, 28)의 각각으로 분산될 수 있다.
또한, 데이터 보호 관리자(32)는 허가된 보안 전문가(가령, IT 관리자, 네트워크 운영자 등)로 하여금 어떤 데이터 입력이 어느 데이터베이스 또는 다른 저장소를 포함하는 등록 시스템(22)에 제공되는지 또는 등록 시스템(22)이 데이터 입력을 향해 크롤(crawl)하는 지를 판정하며, 개별적인 검출 시스템과 연관되는 실행 또는 모니터링 상태를 지정하고, 대응하는 발견에 액세스할 수 있는 사람을 지정하게 하도록 구성될 수 있다. 실행 동작은 적합한 관리자에게 알리는 동작, 의심스러운 트래픽을 차단 또는 격리하도록 실행 디바이스에 지시하는 동작 및/또는 트래픽을 보고하는 동작을 포함할 수 있다. 모니터링 동작은 적합한 관리자에 알리는 동작 및/또는 동작을 차단 또는 격리하지 않고 의심스러운 트래픽을 보고하는 동작을 포함할 수 있다.
데이터 보호 관리자(32)는 중앙형 질의 메커니즘을 제공할 수도 있는데, 이는 조직이 분배된 다수의 네트워크 어플라이언스에 포함되는 캡처 데이터베이스를 통해 동시에 신속하게 검색하게 한다. 관리자로 하여금 네트워크 어플라이언스가 전개되는 네트워크의 지점 도처에서 캡처되는 모든 이력 데이터에 대한 하나의 뷰(view)를 허용함으로써, 조직은 범죄 과학 분석(forensic analysis)을 신속하게 수행할 수 있고, 조사를 진행할 수 있으며, 보안 태세를 업데이트하는 캡처 데이터를 이용하여(leverage) 민감함 정보를 보호하거나 다가오는 위협을 처리할 수 있다. 또한, 데이터 보호 관리자는 통합된 보고 및 진단 정보를 제공할 수 있다.
하나 이상의 테이블 및 리스트가 이들 네트워크 어플라이언스에 포함될 수 있다. 일부 실시예에서, 이들 테이블 및 리스트는 이들 요소 외부에 제공되거나 임의의 적합한 방식으로 통합될 수 있다. 테이블 및 리스트는 대응하는 네트워크 어플라이언스에 의해 참조될 정보를 저장하기 위한 메모리 요소이다. 본 명세서에서 사용되는 바와 같이, '테이블' 및 '리스트'라는 용어는, 본 명세서에서 상세히 설명되는 동작에 관한 정보를 관리할 수 있는 임의의 적합한 데이터베이스 또는 (임의의 적합한 포맷으로 제공되는) 저장 매체를 포함한다. 예를 들어, 테이블 및 리스트는 전자 레지스터, 다이어그램, 레코드, 인덱스 또는 큐에 정보를 저장할 수 있다. 테이블 및 리스트는 이러한 정보를, 임의의 적합한 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electronically Erasable PROM), ASIC(Application Specific Integrated Circuit), 소프트웨어, 하드웨어, 또는 임의의 적합한 다른 구성요소, 디바이스, 요소 또는 적합한 경우 및 특정 필요에 따라 객체에 저장할 수 있다.
캡처 시스템(29)은 네트워크 어플라이언스(18)와 같은 하나 이상의 네트워크 어플라이언스의 일부일(또는 이에 결합될) 수도 있으며, 대응하는 캡처 데이터베이스(118)에 동작 가능하게 접속될 수 있다. 하나의 예시적 실시형태에서, 캡처 시스템(29)은, 2009년 1월 23일자로 출원된 William Deninger 등의 공동 계류 중인 미국 특허 출원 제 12/358,399 호, 'SYSTEM AND METHOD FOR INTELLIGENT STATE MANAGEMENT'에 도시되고 설명되는 캡처 시스템일 수 있으며, 이 출원은 그 전체가 본 명세서에 이전에 참조로 포함되었다. 캡처 시스템(29)은 네트워크(100)와 같은 네트워크를 벗어나는 데이터 또는 네트워크(100)와 같은 네트워크에 내부적으로 통신되는 데이터를 인터셉트하도록 구성될 수 있다. 캡처 시스템(29)은 네트워크를 벗어나거나 내부적으로 통신되는 객체(가령, 파일 또는 다른 다큐먼트)를 재구성할 수 있고, 재구성된 객체를 검색 가능한 방식으로, 가령, 캡처 데이터베이스(118)에 저장할 수 있다.
일부 실시예에서, 캡처 시스템(29)은 대응하는 출구 지점(가령, 이메일 게이트웨이(162) 및 웹 게이트웨이(164)로부터 데이터를 캡처하기 위해 네트워크(100)의 다른 다양한 검출 시스템(24, 26)과 함께 구현될 수도 있다. 캡처 시스템(29)은 다른 관련되지만 논리적 및/또는 지리적으로 구분되는 네트워크에 검출 시스템과 함께 구현될 수도 있다. 이들 캡처 시스템은 도 1에 도시된 바와 같이 검출 시스템을 갖는 네트워크 어플라이언스 내에 포함되거나 별도의 구성요소로서 제공될 수 있다. 다른 실시예에서, 임의의 다른 적합한 형태로 네트워크 트래픽을 인터셉트하는 것이 사용되어, 분석될 네트워크(100)의 내부 및 아웃바운드 네트워크 트래픽을 갖는 검출 시스템(24, 26, 28)을 제공할 수 있다.
도 1에서, 스위치(172)는 네트워크 어플라이언스(18) 및 인터넷(18)에 방화벽(174)을 통해 접속된다. 네트워크 구성요소를 상호접속시킬 수 있는 라우터 또는 기타 네트워크 디바이스로서 구현될 수 있는 스위치(172)는 인출 데이터 스트림을 인터넷(180)에 전송하고 그 스트림의 카피를 캡처 시스템(29)에 전송할 수 있다. 스위치(172)는 인입 데이터를 캡처 시스템(29) 및 네트워크(100)에 송신할 수도 있다. 다른 실시예에서, 캡처 시스템(29), 등록 시스템(22), 검출 시스템(24, 26, 28) 및 데이터 보호 관리자(30)는 다른 네트워크 디바이스의 일부로서 포함될 수 있는데, 가령, 스위치, 라우터, 게이트웨이, 브릿지, 로드 밸런스(load balancers), 서버, 또는 임의의 다른 적합한 디바이스, 구성요소, 또는 네트워크 환경에서 정보를 교환할 수 있는 요소로서 포함될 수 있다.
데이터 검출 보호 시스템(10)도 확장성이 있는데, 분산된 네트워크가 네트워크 인프라스트럭처의 분산된 네트워크 세그먼트(가령, 별도의 액세스 포인트를 가지거나 지리적으로 분산되는 등의 세그먼트)에 걸친 데이터 유출을 보호하기 위한 추가 검출 시스템을 포함할 수 있다. 데이터 보호 관리자(32)는, 네트워크(100)의 분산된 세그먼트에 제공되는 검출 시스템 외에도, 등록 시스템(22)과 검출 시스템(24, 26, 28) 사이의 데이터 흐름을 계속 조정할 수 있다.
도 2를 참조하면, 도 2는 네트워크(100)에 접속되는 네트워크 어플라이언스(12, 14, 16, 18, 30) 또는 기타 연산 디바이스와 같은 범용 또는 전용 컴퓨터(200)의 간략화된 블록도이다. 컴퓨터(200)는 프로세서(220), 메인 메모리(230), 보조 스토리지(240), 네트워크 인터페이스(250), 사용자 인터페이스(260) 및 제거 가능한 메모리 인터페이스(270)와 같은 다양한 구성요소를 포함할 수 있다. 시스템 버스와 같은 버스(210)는 프로세서(210)와, 다른 구성요소, 메모리, 및 컴퓨터(200)의 인터페이스 사이의 전자 통신을 제공할 수 있다.
중앙 처리 장치(CPU)로도 불리는 프로세서(220)는, 머신 판독 가능한 인스트럭션을 실행하고 머신 판독 가능한 인스트럭션에 의한 지시에 따라 데이터에 동작을 수행할 수 있는 임의의 범용 또는 전용 프로세서를 포함할 수 있다. 메인 메모리(230)는 머신 인스트럭션에 액세스하기 위해 프로세서(200)에 직접적으로 액세스 가능할 수 있으며, RAM(Random Access Memory) 형태 또는 임의의 유형의 동적 스토리지(가령, DRAM(Dynamic Random Access Memory))일 수 있다. 보조 스토리지(240)는 하드 디스크와 같은 임의의 비휘발성 메모리일 수 있으며, 이는 실행 가능한 소프트웨어 파일을 포함하는 전자 데이터를 저장할 수 있다. 외부적으로 저장되는 전자 데이터는 제거 가능한 메모리 인터페이스(270)를 통해 컴퓨터(200)에 제공될 수 있다. 제거 가능한 메모리 인터페이스(270)는 임의의 유형의 외부 메모리, 가령, CD(Compact Discs), DVD(Digital Video Discs), 플래시 드라이브, 외부 하드 드라이브 또는 임의의 다른 외부 매체로의 접속을 나타낸다.
네트워크 인터페이스(250)는 컴퓨터(200)와 임의의 네트워크 요소(가령, 이메일 게이트웨이(162), 웹 게이트웨이(164), 스위치(172), 데이터베이스 및 저장소(118, 112), 기타 네트워크 어플라이언스 등) 및 전자 데이터를 송신 및 수신하기 위해 컴퓨터(200)가 접속하는 네트워크 사이의 적합한 네트워크 접속을 제공하는 임의의 네트워크 인터페이스 제어기(NIC)일 수 있다. 예를 들어, 네트워크 인터페이스(250)는 이더넷 어댑터, 토큰 링 어댑터 또는 무선 어댑터일 수 있다. 사용자 인터페이스(260)는 사용자로 하여금 그래픽 유저 인터페이스 디스플레이를 포함하는 임의의 적합한 수단을 통해 컴퓨터(200)와 상호작용하도록 제공될 수 있다. 또한, 키보드, 마우스, 음성 인식, 터치 패드, 입력 스크린 등과 같은 임의의 적합한 입력 메커니즘이 포함될 수도 있다.
MMU(Memory Management Units), 추가 SMP(Symmetric Multiprocessing) 요소, ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electronically Erasable PROM), PCI(Peripheral Component Interconnect) 버스 및 대응 브릿지, SCSI(Small Computer System Interface)/IDE(Integrated Drive Electronics) 요소 등의 형태로 프로세서(220) 및 버스(210)에 적합하게 연결될 수 있는 추가적인 하드웨어는 도 2에 도시되어 있지 않다. 임의의 적합한 운영 시스템 또한 컴퓨터(200)에 구성되어 하드웨어 구성요소의 동작을 적합하게 관리할 수 있다. 또한, 이들 컴퓨터는 임의의 적합한 하드웨어, 소프트웨어, 구성요소, 모듈, 인터페이스 또는 그 동작을 촉진하는 객체를 포함할 수 있다. 이는 본 명세서에서 상세히 설명되는 등록 및 검출 동작을 촉진하는 적합한 알고리즘 및 통신 프로토콜을 포함할 수 있다.
컴퓨터(200)를 참조하여 도시 및/또는 설명되는 이들 요소는 예시를 위한 것이며, 본 개시에 따라 사용되는 네트워크 어플라이언스(12, 14, 16, 18, 30)와 같은 컴퓨터의 아키텍처 한정 사항을 암시하기 위한 것이 아니다. 또한, 네트워크 어플라이언스(12, 14, 16, 18, 30)를 포함하는 각 컴퓨터는 적합한 경우 및 특정 요구조건에 근거하여 더 많거나 적은 수의 구성요소를 포함할 수 있다. 본 명세서에서 사용되는 바와 같이, '컴퓨터'라는 용어는 임의의 개인용 컴퓨터, 네트워크 어플라이언스, 라우터, 스위치, 게이트웨이, 프로세서, 서버, 로드 밸런서(load balancers), 방화벽, 또는 임의의 다른 적합한 디바이스, 구성요소, 요소, 또는 네트워크 환경에서 전자 정보에 영향을 주거나 처리할 수 있는 객체를 포함하는 것으로 의미한다.
등록 시스템
도 3을 참조하면, 등록 시스템(300)의 일 실시예의 간략화된 블록도가 도시되어 있다. 등록 시스템(300)은 등록 리스트 모듈(310) 및 인덱스 테이블 모듈(320)을 포함할 수 있다. 등록 리스트 모듈(310)로의 입력은 구분된 데이터 파일(330) 및 정규 표현 테이블(350)을 포함할 수 있고, 등록 리스트 모듈(310)의 출력은 등록 리스트(360)를 포함할 수 있다. 일 실시예에서, 구분된 데이터 파일(330)은, 네트워크에서 다양한 데이터베이스 및/또는 파일에 대해 생성되고 등록 리스트 모듈(310)으로의 입력으로서 제공되는 복수의 구분문자 데이터 파일을 나타낼 수 있다. 이들 구분된 데이터 파일은 등록 시스템(300)에 의해 등록될 데이터 요소의 특정 조합 또는 세트를 포함한다.
등록 리스트 모듈(310)은 추출(312), 토큰화(314) 및 튜플 저장(316) 기능을 수행할 수 있다. 일 실시예에서, 구분 데이터 파일(330)은, 가령, 복귀(carriage return)와 같은 사전 정의된 구분문자에 의해 구분되는 복수의 레코드를 포함한다. 각 레코드는 하나 이상의 데이터 요소를 포함할 수 있는데, 이는 추출 기능부(312)에 의해 추출된다. 레코드 내의 데이터 요소 세트는 보호를 필요로 하는 관련 데이터 요소의 특정 조합(가령, 이름, 전화번호, 주민등록번호, 계좌 번호 등)일 수 있다. 레코드의 데이터 요소 각각은 토큰화 기능부(314)에 의해 토큰(가령, 수치적 표현)으로 토큰화되는데, 이는 그 후 튜플 저장 기능부(316)에 의해 등록 리스트(360)의 튜플 또는 레코드에 저장될 수 있다. 따라서, 등록 리스트(360)의 튜플은 보호되어야 하는 관련 데이터 요소의 하나의 특정 조합에 각 데이터 요소의 수치적 표현 또는 토큰을 포함할 수 있다.
구분된 데이터 파일(300)로부터 추출되고 토큰화된 데이터 요소는 단어 및/또는 표현 요소를 포함할 수 있는데, 이는 다수의 가능한 포맷(가령, 전화번호, 생일, 계좌번호 등)을 가질 수 있다. 데이터 요소는 정규 표현 테이블(350)에 비교되어 데이터 요소의 특정 문자 패턴이 사전 정의된 표현 패턴(가령, 정규 표현)과 일치하는 지를 판정할 수 있으며, 이는, 2009년 1월 23일자로 출원된 미국 특허 출원 제 12/358,399 호, 'SYSTEM AND METHOD FOR INTELLIGENT STATE MANAGEMENT'에 설명되어 있으며, 이 출원은 그 전체가 본 명세서에 이전에 참조로 포함되었다. 데이터 조합 보호 시스템(10)은 미국 특허 출원 제12/358,399호에 도시되고 설명된 바와 같이 정규 표현 테이블을 사용하도록 구성될 수 있지만, 테이블(350)이 사전 정의된 표현 패턴을 포함하는 한, 데이터 조합 보호 시스템(10)에 의해 사용되는 정규 표현 테이블(350)은 다수의 다른 방식으로 구성될 수 있다는 것을 자명할 것이다.
일 실시예에서, 정규 표현 테이블(350)은 동일한 개념을 위한 복수의 표현 패턴을 포함하는 다수의 표현 패턴을 포함한다. 가령, 전화번호 개념은 다음의 정규 표현 패턴 '(nnn) nnn-nnnn', 'nnn-nnn-nnnn', 및 'nnn.nnn.nnnn'을 포함할 수 있는데, 여기서 'n'은 0과 9 사이의 수를 나타낸다. 유사하게, 운전자의 면허 번호에 있어서 주(states) 별로 상이한 문자 시퀀스 및 구분자를 사용한다. 따라서, 운전자의 면허 개념은 주 별로 운전자의 면허의 가능한 번호를 나타내는 각 고유 문자 시퀀스 및 구분자에 대한 정규 표현 패턴을 포함할 수 있다. 예를 들어, 'dnnn-nnnn-nnnn-nn' 및 'dnnn-nnnn-nnnn'은 위스콘신 주와 일리노이 주에서의 면허 번호를 위한 표현 패턴일 수 있는데, 여기서 'n'은 0과 9 사이의 숫자를 나타내고 'd'는 A에서 Z까지의 문자를 나타낸다.
정류 표현 테이블(350)의 표현 패턴은 특정 개념에 대한 표현 패턴을 사용자가 정의할 수 있게 하는 인터페이스를 통해 사용자 구성 가능할 수 있다. 또한, 일부 표현 패턴은 자동으로 생성되거나 데이터 조합 보호 시스템(10)에서 사전 구성될 수 있다. 예를 들어, 공통적인 또는 인기 있는 정규 표현 패턴의 리스트는, 데이터 조합 보호 시스템(10)이 판매되는 업계로 구체적으로 맞추어질 수 있는 정규 표현 테이블(350)에서 사전 구성될 수 있다.
인덱스 테이블 모듈(320)은 토큰 카운트 동작(322), 토큰 키 선택(324) 및 인덱스 저장(326)의 기능을 수행하여 인덱스 테이블(370)을 생성할 수 있다. 토큰 카운트 동작 기능부(322)는 등록 리스트(360)를 처리하여 등록 리스트(360)의 각 토큰의 발생 전부를 카운트한다. 임시 프라임 카운트 테이블(340)이 생성되어 카운트 합을 저장할 수 있다. 그 후, 토큰 키 선택 기능부(324)는 각 튜플을 처리할 수 있고, 프라임 카운트 테이블(340)을 사용하여 각 튜플로부터의 토큰 중 발생 빈도가 가장 낮은 토큰을 토큰 키로서 선택할 수 있다. 그 후, 각 고유 토큰 키는 인덱스 테이블(370)의 인덱스에 저장될 수 있다. 따라서, 인덱스 테이블(370)은 복수의 인덱스를 포함할 수 있는데, 각 인덱스는 고유 토큰 키를 가지며 등록 리스트(360)의 하나 이상의 튜플과 연관된다.
도 4는 예시적 레코드(1)를 갖는 구분된 데이터 파일(330), 예시적 튜플(362)을 갖는 등록 리스트(360) 및 예시적 인덱스(372)를 갖는 인덱스 테이블(370)의 예시적 파일 구조를 보다 상세히 설명한다. 구분된 데이터 파일(330)은 예시적 데이터 요소 유형 조합(가령, 단어 및 표현 요소)을 갖는 레코드(1)의 가능한 구성을 도시하는 상세한 제 1 레코드(332)를 갖는 것으로 도시되어 있다. 제 1 레코드(332)는 등록 리스트(360)의 튜플(362)에 대응하는데, 제 1 레코드(332)로부터의 각 단어 및 표현 요소는 튜플(362)의 하나의 토큰에 대응한다. 튜플(362)은 인덱스 테이블(370)의 인덱스(372)에 의해 등록 리스트(360)에 인덱스되는데, 이는 튜플(362)의 시작부분(가령, 토큰(1))으로의 포인터인 등록 리스트 오프셋(가령, 오프셋(4))을 포함한다.
일 실시예에서, 구분된 데이터 파일(330)은 각 레코드 사이의 사전 정의된 구분문자를 갖는 복수의 레코드(가령, 레코드(1), 레코드(2), 레코드(3) 등)를 갖는 파일로서 구성될 수 있다. 구분문자는 한 레코드의 끝부분과 다음 레코드의 시작부분을 지정하는 데에 사용되는 임의의 포맷팅 문자 또는 기타 문자일 수 있다. 몇몇 공통 구분문자는 복귀(carriage returns), 줄바꿈(line feeds), 세미 콜론 및 마침표를 포함한다. 그러나, 데이터 파일이 특정 구분문자로 적합하게 구성되는 경우에 구분문자로서 임의의 문자가 지정될 수 있다. 일 실시예에서, 복귀가 구분된 데이터 파일(330)에 대한 구분문자로서 정의되면, 각 레코드는 복귀로 종료될 것이다.
확장된 제 1레코드(332)에 도시된 바와 같이, 각 레코드는 복수의 데이터 요소(가령, 단어 또는 표현 요소)로 구성될 수 있다. 구분된 데이터 파일(330)의 각 레코드 내의 데이터 요소는 적어도 하나의 구분자(가령, 콤마, 스페이스, 대시 등)에 의해 구분된다. 한 단어는 어떠한 구분자도 없이 하나 이상의 연속하는 필수 문자를 갖는 문자 스트링으로 구성될 수 있다. 표현 요소는 적어도 2개의 단어들 및 단어들 사이의 하나 이상의 구분자를 갖는 문자 스트링으로 구성될 수 있다. 일 실시예에서, 필수 문자는 숫자, 기록 언어의 문자 및/또는 기록 언어의 스피치 세그먼트를 나타내는 심볼(가령, 음절표기문자)을 포함하는 기록 언어의 기본 단위를 포함할 수 있다. 언어의 스피치 세그먼트는 단어, 단어의 음절, 구분된 사운드, 절 등을 포함할 수 있다.
구분자는 필수 문자가 아니며 데이터 파일의 한 레코드의 끝부분을 표시하는 사전 정의된 구분문자로 인식되지 않는 임의의 문자를 포함할 수 있다. 구분자의 예는 구두점, 단어 구분자(word dividers) 및 기록 언어의 구조 및 구성을 표시하는 기타 심볼을 포함한다. (가령, 대시, 포워드 슬래시, 백워드 슬래시, 좌측 삽입(parentheticals), 우측 삽입, 좌측 괄호, 우측 괄호, 마침표, 스페이스, @ 심볼, & 심볼(ampersand symbol), 스타 심볼, 파운드 심볼(pound symbol), 달러 사인 심볼, 퍼센트 사인 심볼, 인용부호, 복귀, 줄바꿈 등). 일부 데이터 파일 구성에서, 구분자는 데이터 파일에 대한 사전 정의된 구분문자와 동일한 문자를 포함할 수 있다. 그러나, 이러한 데이터 파일에서, 한 레코드 내의 동일한 문자는 그 레코드의 끝부분을 표시하는 사전 정의된 구분문자와 차별되어야 한다. 따라서, 그 레코드 내의 동일한 문자는 데이터 요소들 사이의 구분자로서 또는 표현 요소 내에 포함되는 구분자로서 처리될 것이다.
예시적 실시형태에서, 구분된 데이터 파일(330)은 CSV(Comma Separated Variable)인데, 이는 데이터베이스 또는 테이블 데이터 포맷을 갖는 다른 데이터에 대해 생성된 텍스트 포맷일 수 있다. CSV 리스트는 각 레코드의 다수의 데이터 요소를 포함할 수 있으며 데이터 요소는 콤마로 구분된다. CSV 리스트의 각 레코드는 복귀 또는 줄바꿈과 같은 레코드의 끝부분을 표시하는 사전 정의된 구분자로 지정되는 문자를 포함한다. 이들 사전 정의된 구분문자는 RFC(Request for Comments) 4180에 부합하는데, 여기서 레코드 내의 복귀 및 줄바꿈은 인용부호 내에 포함되거나 레코드의 끝부분을 표시하는 사전 정의된 구분문자로부터 이들을 차별하기 위해 적합하게 빠져 나올 수 있다. 또한, CSV 리스트에서, 인용부호는 데이터 요소들 사이에서 또는 적합하게 빠져나오는 경우(가령, 문자 인용을 표시하는 빈 인용부호 세트)에 표현 요소 내에서 구분자로서 사용될 수도 있다.
일반적으로, 데이터베이스 또는 테이블 데이터 포맷을 갖는 다른 파일에 있어서, 각 CSV 레코드는 동일한 수의 데이터 요소를 포함한다. 그러나, 등록 시스템(300)의 실시예는 각 레코드에 변하는 수의 데이터 요소를 수용할 수 있는데, 각 레코드가 시스템(300)에 의해 인식되는 사전 정의된 구분문자에 의해 묘사되기(delineated) 때문이다. 또한, 각 레코드가 사전 정의된 구분문자로 묘사되는 한, 등록 시스템(300)은 구분된 데이터 파일(300)의 다른 포맷을 수용할 수도 있는데, 이는 데이터 파일(300)에 대해 지정되고 등록 시스템(300)에 의해 인식된다. 가령, 사전 정의된 구분자(가령, 줄바꿈, 복귀, 마침표 등)이 사용되어 연속하는 레코드 쌍을 구분하는 데 사용되고 데이터 파일에 대한 구분문자로 지정되어, 등록 시스템(300)에 의해 인식되는 경우 다양한 구분자(가령, 스페이스, 대시 등)가 데이터 요소를 구분하는 자유로운 폼의 텍스트 다큐먼트는 구분된 데이터 파일로서 제공될 수 있다.
도 4의 예시적 제 1 레코드(332)에서, 2개의 단어, 2개의 표현 요소 및 6개의 단어를 연속적으로 포함하는 10개의 데이터 요소가 도시되어 있다. 구분자는 연속하는 데이터 요소 각각 사이에 제공되고, 구분문자는 제 1 레코드(332)의 끝부분에 제공된다. 데이터 요소가 등록 시스템(300)의 등록 리스트 모듈(310)에 의해 식별되고 제 1 레코드(332)로부터 추출된 후, 데이터 요소는 하나의 토큰(가령, 토큰 1 내지 10)으로 토큰화되고 등록 리스트(360)의 튜플(362)에 저장될 수 있다. 등록 리스트(360)의 튜플의 끝부분을 표시하기 위해 종단 태그가 제공될 수 있다. 등록 리스트 모듈(310)은 구분된 데이터 파일(330)의 각 레코드를 처리하고 각 레코드에 대응하는 등록 리스트(360)의 개별적인 튜플을 생성할 수 있다.
일단 등록 리스트(360)가 구분된 데이터 파일(330)의 각 레코드에 대응하는 튜플로 완성되면, 인덱스 테이블 모듈(320)은 등록 리스트(360)를 처리하여 인덱스 테이블(370)을 생성할 수 있다. 도 4에 도시된 예에서, 인덱스 테이블 모듈(320)은 인덱스(372)를 생성하여 등록 리스트(360)에 튜플(362)의 위치를 파악하는 인덱스를 제공한다. 등록 리스트(360)의 각 토큰에 대한 발생의 합을 저장하는 프라임 카운트 테이블(340)이 생성될 수 있다. 그 후, 튜플(362)에 대한 토큰 키는, 전체 등록 리스트(360)에서 튜플(362)의 다른 토큰에 비해 가장 빈도가 낮게 나타나는 튜플(362)로부터의 토큰을 발견하기 위해 프라임 카운트 테이블(340)을 검색하여 연산될 수 있다. 이 예시적 설명에서는, 토큰 1 및 토큰 3 내지 10의 발생 합과 비교하여, 토큰(2)가 가장 발생 빈도가 낮은 토큰(즉, 최저 발생 빈도 합)으로 도시되어 있다. 따라서, 토큰(2)은 토큰 키로서 선택되어 인덱스(372)를 생성하는 데에 사용될 수 있다.
일 실시예에서, 인덱스 테이블(370)은 해시 번호(가령, 토큰 키)를 모듈러스로 좁은 경계로 강제하는 공지된 기술(a known technique of forcing hash numbers (e.g., token keys) into a narrow boundary with modulus)을 사용하여 생성될 수 있는데, 여기서 경계는 프라임 넘버에 의해 정의된다. 이는 많은 양의 데이터에 대해 특히 유리할 수 있는데, 여기서 보다 작은 영역의 메모리가 데이터를 수용하기 위해 할당될 수 있고, 데이터는 할당된 메모리 내에서 대체로 균일하게 분배된다. 따라서, 극도로 많은 양의 데이터가 효율적으로 처리될 수 있다. 인덱스(370)의 크기는, 시스템(10)의 리소스 제공 동안에 허가된 사용자에 의해 선택된 리소스에 근거하여, 가령, 시스템(10)의 데이터 보호 관리자(32)에 의해 생성될 수 있다. 일단 메모리가 할당되면, 각 인덱스는, 인덱스 테이블의 프라임 넘버 크기를 갖는 토큰 키에 대해 모듈로 연산을 수행하여 계산되는 값(가령, 나머지)에 대응하는 인덱스 테이블(370)의 공간에 배치될 수 있다. 통계적 충돌이 발생하면(즉, 상이한 토큰 키가 모듈로 연산으로부터 동일한 결과를 가지면), 상이한 토큰 키가 인텍스 테이블(370)의 동일한 공간에서 링크-리스팅될 수 있다.
튜플(362)의 시작부분(가령, 토큰(1)을 가리키는 오프셋(4))을 가리키는 등록 리스트 오프셋은 인덱스(372)에 추가되고 토큰 키와 연관될 수 있다. 또한, 구분된 데이터 파일(330)을 식별할 수 있는 다큐먼트 식별자("다큐먼트 ID" 또는 "doc ID")도 인덱스(372)에 추가되거나 토큰 키와 연관될 수 있다. 따라서, 다수의 구분된 데이터 파일이 등록 리스트(360)를 생성하기 위해 사용되면, 인덱스의 다큐먼트 ID 필드는 어느 구분된 데이터 파일이, 수반되는 등록 리스트 오프셋이 가리키는 튜플과 연관되는지를 식별한다. 또한, 둘 이상의 토큰 키가 인덱스 테이블(370) 내의 공간에 링크-리스트되면, 특정 토큰 키에 대응하는 오프셋 및 다큐먼트 ID는 인덱스의 특정 토큰 키와 연관된다.
인덱스(372)의 <NEXT> 필드는 인덱스(372)의 동일한 토큰 키와 연관될 수 있는 추가적인 등록 리스트 오프셋 및 다큐먼트 ID를 나타낸다. 예를 들어, 등록 리스트(360)의 제 2 오프셋을 갖는 제 2 튜플도 토큰(2)을 포함할 수 있다. 토큰(2)이 제 2 튜플의 다른 토큰에 비해 등록 리스트(360)에서 발생 빈도가 가장 낮은 제 2 튜플의 토큰인 경우, 제 2 튜플의 토큰(2)은 제 2 튜플에 대한 토큰 키로서 선택될 수 있다. 따라서, <NEXT> 포인터 후에 제 2 등록 리스트 오프셋 및 적합한 다큐먼트 ID를 추가함으로써 동일한 인덱스(372)가 제 2 튜플을 지정하기 위해 사용될 수 있다.
도 5를 참조하면, 도 5는 예시적 데이터 입력 및 결과적 최종 카운트 테이블(540)을 도시하는 간략화된 블록도인데, 이는 인덱스 테이블 모듈(320)의 토큰 카운트 연산(322)에 의해 생성될 수 있다. 데이터 요소(501)(단어 1), 데이터 요소(502)(단어 1), 데이터 요소(503)(표현 요소 1) 및 데이터 요소(504)(표현 요소 2)는 구분된 데이터 파일(330)과 같은 구분된 데이터 파일의 예시적 데이터 요소를 나타내는데, 이는 등록 리스트(360)와 같은 등록 리스트의 하나 이상의 튜플에 토큰으로서 저장된다. 토큰 카운트 연산 기능부(322)는 데이터 요소(501, 502, 503, 504)의 각각에 대해 생성되는 토큰을 카운트할 수 있고, 프라임 카운트 테이블(540)을 생성할 수 있다. 일 실시예에서, 프라임 카운트 테이블(540)은 대응하는 토큰 합(544)을 갖는 'n' 엔트리(542)를 포함할 수 있다. 이 예에서, 'n'은 프라임 넘버이고, 모듈로 연산이 각 토큰에 대해 수행되어 어느 엔트리가 증분될 토큰 합에 대응하는지를 판정한다. 따라서, 이 예에서, 엔트리(2)는 데이터 요소(501)(단어 1)를 나타내는 토큰에 대응하므로, 데이터 요소(502)(단어 1)는 2의 토큰 합을 갖는다. 또한, 엔트리(4, 7)는 각각 데이터 요소(503)(표현 요소 1) 및 데이터 요소(504)(표현 요소 2)를 나타내는 토큰에 대응하며, 각각 1의 토큰 합을 갖는다.
도 6a, 6b 및 7을 참조하면, 등록 시스템(300)의 연산 처리를 설명하는 간략화된 흐름도이다. 도 6a 및 6b는 등록 시스템(300)의 등록 리스트 모듈(310)에 대한 예시적 연산 단계를 설명하는 간략화된 흐름도이다. 도 7은 등록 시스템(300)의 인덱스 테이블 모듈(320)에 대한 예시적 연산 단계를 설명하는 간략화된 흐름도이다.
도 6a는 등록 리스트 모듈(310)의 전체 흐름(600)을 도시하고 있는데, 하나 이상의 구분된 데이터 파일의 처리, 각 구분된 데이터 파일의 각 레코드의 처리 및 하나 이상의 구분된 데이터 파일의 각 레코드의 각 데이터 요소의 처리를 포함한다. 흐름은 도 6a의 단계(602)에서 시작할 수 있는데, 여기서 제 1 구분된 데이터 파일이 획득된다. 일 실시예에서, 등록 시스템(300)은 하나 이상의 원하는 데이터베이스 또는 기타 데이터 파일을 크롤(crawl)하고 데이터베이스 또는 다른 데이터 파일을 하나 이상의 구분된 데이터 파일로 변환하도록 구성될 수 있다. 전술한 바와 같이, 일 실시예에서, 데이터베이스 또는 기타 데이터 파일은 CSV(Comma Separated Variable) 리스트로 변환될 수 있는데, 이는 구분된 데이터 파일로 제공될 수 있다.
일단 구분된 데이터 파일이 얻어지면, 단계(604)에서 제 1 레코드가 페칭된다(fetched). 단계(606)에서, 제 1 데이터 요소의 시작부분은 페칭된 레코드에서 식별된다. 단계(608)에서, 적용 가능한 추출, 토큰화 및 저장 동작이 현재 데이터 요소에 대해 수행되는데, 이는 도 6b를 참조하여 보다 상세히 후술할 것이다. 적용 가능한 추출, 토큰화 및 저장 동작이 현재 데이터 요소에 대해 수행된 후, 흐름은 판정 상자(610)로 이동하여 레코드에 데이터 요소가 더 존재하는지를 판정한다. 레코드에 데이터 요소가 더 존재하면, 레코드의 다음 데이터 요소의 시작부분이 단계(612)에서 식별된다. 그 후, 흐름은 단계(608)로 귀환하여 추출, 토큰화 및 저장 동작을 새로운 데이터 요소에 대해 수행한다.
판정 상자(610)을 다시 참조하면, 사전 정의된 구분문자가 현재 데이터 요소 후에 레코드에서 인식되면, 레코드에 더 이상 데이터 요소가 존재하지 않는다고 판정한다. 그 후, 흐름은 판정 상자(614)로 이동하여 구분된 데이터 파일에 레코드가 더 존재하는지를 판정할 수 있다. 구분된 데이터 파일에 레코드가 더 존재하면, 다음 레코드가 단계(616)에서 페칭되고 흐름은 단계(606)으로 귀환하여 새로운 레코드의 제 1 데이터 요소의 시작부분을 식별한다.
그러나, 판정 상자(614)에서 구분된 데이터 파일에 더 이상 레코드가 존재하지 않는다고 판정하면, 흐름은 판정 상자(618)로 이동하여 처리될 구분된 데이터 파일이 더 존재하는지를 판정한다. 처리되지 않은 하나 이상의 구분된 데이터 파일이 존재한다고 판정되면, 단계(620)에서 새로운 구분된 데이터 파일이 얻어지고, 흐름은 단계(604)로 귀환하고 제 1 레코드는 새로운 구분된 데이터 파일로부터 페칭된다. 그러나, 판정 상자(618)에서 모든 구분된 데이터 파일이 처리되었다고 판정되면, 흐름은 종료된다.
도 6b는 도 6a의 단계(608)의 전체 흐름을 도시하고 있는데, 구분된 데이터 파일의 레코드로부터 데이터 요소를 추출, 토큰화 및 저장하는 예시적 연산 단계를 도시하고 있다. 흐름은 단계(652)에서 시작할 수 있는데, 여기서 데이터 요소의 시작부분에서 시작하는 문자 열의 문자 패턴에 가장 긴 매치를 발견하기 위해, 정규 표현 테이블(350)을 검색한다. 일 실시예에서, 정규 표현 테이블(350)로부터의 표현 패턴은 가장 긴 것으로부터 가장 짧은 것의 크기 순서로 비교되어 매치가 존재하는지를 판정한다. 판정 상자(654)에서, 정규 표현 테이블(350)로부터 매치가 발견되었는지에 관한 질의가 이루어진다.
정규 표현 패턴 중 어느 것도 데이터 요소의 시작 부분에서 시작하는 어떤 문자 열의 문자 패턴과 매치되지 않는 경우(즉, 데이터 요소가 정규 표현 테이블(350)의 어떤 정규 표현 패턴과도 일치하지 않는 경우), 데이터 요소는 단어를 나타내고, 흐름은 데이터 요소(즉, 단어)의 끝부분을 발견하기 위해 단계(660)로 이동한다. 단어의 끝부분은 데이터 요소의 시작부분에서 시작하는 최종적인 연속하는 필수 문자이다. 단어가 단계(662)에서 추출된 후, 흐름은 판정 상자(664)로 이동하는데, 여기서 단어가 '중지 단어'인지를 판정하기 위해 평가될 수 있다. '중지 단어'는 관리자에 의해 결정되는 어떤 단어들 또는 간단한 문법 구성 단어(가령, like, and, but, or, is, the, an, a, as 등)와 같이 중지 단어로 지정되는 것을 포함할 수 있다. 단어가 중지 단어로 판정되면, 이는 무시되며 흐름은 그 단어를 토큰화하거나 저장하지 않고 종료된다. 그러나, 중지 단어가 아닌 것으로 판정되면, 흐름은 단계(668)로 이동하여 단어의 어간이 해석될(stemmed) 수 있다. 가령, 공지된 포터 스테밍 알고리즘(porter stemming algorithm)과 같은 어간해석 프로세스(stemming process)가 단어에 적용될 수 있는데, 여기서 단어의 어간으로부터 접미사 및/또는 접두사가 추출될 수 있다.
어간 해석이 수행된 후, 필요하다면 흐름은 단계(670)로 이동하여 단어(또는 허간 해석된 단어)를 토큰화할 수 있다. 일 실시예에서, 토큰화는 단어(또는 어간 해석된 단어)를 32비트 수치 표현 또는 토큰으로 변환하는 것을 포함한다. 단계(672)에서, 토큰은 등록 리스트(360)의 튜플에 저장되는데, 여기서 튜플은 데이터 요소가 추출되었던 레코드에 대응한다. 토큰이 저장된 후, 흐름은 종료되고 프로세싱은 도 6a의 단계(610)에서 계속된다.
일 실시예에서, 토큰에 대한 수치적 표현은 FIPS(Federal Information Processing Standards)이 승인한 해시 함수를 사용하여 생성된다. 통상적으로, 해시 함수가 덜 한 정도의 수치적 세기를 가지고 따라서 덜 한 보안 해시인 경우, 적은 컴퓨터 리소스가 사용되어 해시를 계산한다. 그러나, 등록 리스트(360)가 네트워크 도처에서 저장되고 도 1에 도시된 바와 같이 복수의 검출 시스템에 의해 반복적으로 검색되기 때문에, 더 한 수치적 강도가 해시 함수를 위해 바람직할 수 있다. 따라서, 이러한 토큰을 생성하는 것이 컴퓨터 리소스를 더 요구하더라도, 개인 정보 및 민감한 정보를 포함하는 단어 요소 및 표현 요소에 대해 더 많은 보안 토큰을 생성하는 것이 바람직할 수 있다.
다른 고려사항은 토큰을 위해 사용되는 수치적 표현의 크기이다. 32비트 수치적 값 단독으로는 통계적으로 실행 가능하지 않을 수 있다.
즉, 검출 시스템 중 하나가 데이터 요소를 나타내는 단 하나의 32비트 토큰에 대해 목표 다큐먼트 또는 파일을 검색하는 경우, 한 단어 또는 표현 요소 단독으로는 많은 거짓 긍정 결과를 생성할 수 있다. 그러나, 레코드가 매치를 인증하기 위해 다큐먼트에서 발견되어야 하는 둘 이상의 데이터 요소를 포함할 때 거짓 긍정의 확률은 감소될 수 있다. 거짓 긍정의 확률은 튜플에 포함되며 매치를 인증하기 위해 다큐먼트에서 발견되어야 하는 추가적인 토큰 각각에 대해 232만큼 감소될 수 있다. 예를 들어, 한 쌍의 단어에 대한 거짓 긍정의 확률은 264이고 3개의 단어에 대해서는 296이다. 따라서, 일 실시예에서, 각 튜플은 적어도 2개의 토큰을 포함한다.
다시 판정 상자(654)를 참조하면, 정규 표현 테이블(350)의 표현 패턴과 데이터 요소의 시작 부분에서 시작하는 문자 열의 문자 패턴 사이에서 발견되었다고 판정하면, 데이터 요소는 표현 요소를 나타내고 매칭 표현 패턴과 동일한 길이를 갖는다. 표현 요소는 단계(656)에서 추출되고 단계(658)에서 정규화될 수 있다. 일 실시예에서, 표현 요소를 정규화하는 것은 표현 요소로부터 어떤 분리자를 제거하는 것을 포함할 수 있다. 가령, 전화번호는 'nnnnnnnnnn'로 정규화될 수 있으며, 여기서 'n'은 0과 9 사이의 임의의 숫자이다. 다른 실시예에서, 정규화는 표현 요소의 분리자 및/또는 특정 필수 문자를 수정하여 표현 요소에 대한 사전 정의된 표준을 달성하는 것을 포함할 수 있다. 가령, 모든 날짜는 'YYYY-MM-DD' 형태로 표준화될 수 있는데, 여기서 'YYYY'는 년도를 나타내고, 'MM'은 월을, 'DD'는 날짜를 나타낸다.
표현 요소가 추출되고 정규화된 후, 흐름은 표현 요소가 토큰화되는 단계(670)으로 이동하고, 단계(672)에서 최종 토큰이 등록 리스트(360)의 튜플에 저장된다. 토큰이 등록 리스트(360)에 저장된 후, 흐름은 도 6a의 단계(610)로 복귀한다.
도 7을 참조하면, 도 7은 인덱스 테이블 모듈(320)의 전체 흐름(700)을 도시하고 있는데, 이는 토큰 키 및 등록 리스트(360)에 저장된 대응 튜플로의 연관된 오프셋을 갖는 인덱스 테이블(370)을 생성한다. 검출 시스템(24, 26, 28)에 의한 처리의 오버헤드를 낮추기 위해, 도 1에 도시된 바와 같이, 튜플 각각은 토큰 키에 의해 인덱싱될 수 있다. 일 실시예에서, 동일한 튜플의 다른 토큰과 비교할 때, 토큰 키는 전체 등록 리스트(360)의 모든 튜플에서 가장 발생 빈도가 낮은 토큰일 수 있다. 따라서, 다수의 구분된 데이터 파일이 등록 리스트(360)를 생성하기 위해 사용되는 경우, 토큰 키는 다수의 구분된 데이터 파일로부터 생성되는 모든 튜플 중에서 가장 낮은 빈도를 갖는 토큰 키가 선택될 수 있다.
하나의 예시적 실시형태에서, 토큰 키는 프라임 카운트 테이블, 가령, 도 3에 도시된 프라임 카운트 테이블(340) 및 도 5의 예시적 프라임 카운트 테이블(540)에 도시된 바와 같은 것을 사용하여 결정될 수 있다. 흐름(700)의 단계(702)에서 시작하여, 프라임 카운트 테이블(340)은 전술한 바와 같은 해시 넘버(가령, 토큰)을 모듈러스를 갖는 좁은 경계로 강제하는 공지된 기술을 사용하여 등록 리스트(360)에 저장된 토큰을 위해 생성될 수 있으며, 여기서 경계는 프라임 넘버에 의해 정의된다. 프라임 카운트 테이블을 사용함으로써 잠재적으로 수십억에 이르는 데이터 요소를 처리하는 데에 필요한 컴퓨터 리소스를 경감시킬 수 있다. 이론적으로, 32비트 수치적 표현(232)는 4십억 이상의 가능한 토큰을 나타낼 수 있다. 현실적 시나리오에서, 기업이 3억 명의 개인에 대한 4개의 상이한 민감한 데이터를 갖는다면, 엔트리의 수는 10억을 초과할 것이다. 각 개별적인 엔트리가 인덱스 테이블(370)을 생성하도록 카운트되면 컴퓨터 리소스는 프로세싱 기능을 적합하게 수행하지 못할 수 있다. 그러나, 프라임 카운트 테이블(340)을 사용함으로써 보다 작은 영역의 메모리가 할당되어 등록 리스트(360)의 토큰을 카운트하는 데에 사용되고, 가장 빈도가 낮은 토큰을 토큰 키로서 선택하게 한다.
일 실시예에서, 프라임 카운트 테이블의 크기는, 시스템(10)의 리소스 제공 동안에 허가된 사용자에 의해 선택된 리소스에 근거하여, 가령, 시스템(10)의 데이터 보호 관리자(32)에 의해 생성될 수 있다. 하나의 예시적 시나리오에서, 3억 명의 사람에 대한 민감한 데이터를 수집한 기업에 있어서, 1억 개의 엔트리가 토큰을 카운트하기에 적합하다고 결정된 경우, 프라임 카운트 테이블의 크기는 다음으로 가까운 프라임 넘버(가령, 100, 000, 007)에 의해 정의될 수 있다. 따라서, 100, 000, 007개의 엔트리를 갖는 테이블이 생성되고 엔트리 각각은 0 값으로 클리어링될 수 있다.
일단 메모리가 프라임 카운트 테이블에 대해 할당되고 정의되면, 등록 리스트(360)의 각 토큰은 어느 엔트리가 프라임 카운트 테이블(340)을 증분시키는 지를 판정하기 위해 처리될 수 있다. 일 실시예에서, 등록 리스트(360)는 제 1 튜플의 제 1 토큰으로부터 최종 튜플의 최종 토큰으로 순차적으로 처리될 수 있다. 각 토큰에 대해, 특정 토큰의 프라임 넘버 및 수치적 값을 사용하여 모듈로 연산이 수행될 수 있다. 모듈로 연산의 나머지 값은 프라임 카운트 테이블(340)에 위치되고 1씩 증분된다. 일부 통계적 충돌이 발생할 수 있는데, 여기서 2개의 상이한 데이터 요소에 대해 생성된 토큰이 동일한 나머지를 얻는다. 이 경우, 프라임 카운트 테이블(340)의 동일한 엔트리가 증분될 수 있으며, 엔트리의 넘버 카운트를 인위적으로 증가시키는데, 이는 하나 이상의 토큰에 대응한다. 그러나, 단어 카운트의 인위적 증가는 등록 리스트에서 가장 낮은 빈도를 갖는 각 튜플의 토큰을 결정하는 실행 가능성을 현저하게 약화시키지 않는다.
프라임 카운트 테이블(340)이 단계(702)에서 생성된 후, 흐름은 제 1 튜플이 등록 리스트(360)에서 식별되는 단계(704)로 이동한다. 그 후, 단계(706 내지 722)는 각 튜플에 대한 토큰 키를 결정하기 위해 루핑(looping)을 수행하여 인덱스 테이블(370)을 생성한다. 따라서, 루프는 단계(706)에서 시작하는데, 여기서 현재 튜플에서의 토큰 중 어느 것이 가장 낮은 카운트 또는 빈도를 갖는지를 결정하기 위해 프라임 카운트 테이블(340)이 검색된다. 단계(708)에서, 프라임 카운트 테이블(340)에 따라 가장 낮은 빈도를 갖는 현재 튜플의 토큰이 현재 튜플에 대한 토큰 키로서 선택된다.
현재 튜플에 대한 토큰 키를 선택한 후, 흐름은 단계(710)으로 이동할 수 있고, 여기서 인덱스 테이블(370)의 모든 인덱스가 매칭 토큰 키를 발견하기 위해 검색될 수 있다. 판정 상자(712)를 참조하면, 현재 튜플에 대한 선택된 토큰 키와 매칭되는 토큰 키에 대한 인덱스가 발견되지 않는 경우, 흐름은 단계(716)으로 이동하는데, 여기서 새로운 인덱스가 선택된 토큰 키를 사용하여 인덱스 테이블(370)에서 생성된다. 그 후, 흐름은 단계(718)로 이동하는데, 여기서 다큐먼트 식별자 및 오프셋이 새로운 인덱스에 추가된다. 일 실시예에서, 다큐먼트 ID는 등록 리스트(360)의 대응 튜플의 헤더 정보로부터 얻어질 수 있다. 오프셋은 등록 리스트(360)의 대응 튜플에 대한 포인터 또는 인덱스일 수 있다. 예를 들어, 오프셋은 대응하는 튜플에서 나타내는 제 1 토큰의 인덱스 넘버일 수 있다.
판정 상자(712)를 참조하면, 현재 튜플에 대한 선택된 토큰 키와 매칭되는 토큰 키에 대한 인덱스가 인덱스 테이블(370)에서 발견되는 경우, 인덱스는 동일한 토큰 키를 사용하여 다른 튜플에 대해 이미 생성되었다. 이 시나리오에서, 흐름은 현재 튜플 정보가 기존 인덱스에 추가될 수 있는 단계(714)로 이동할 수 있다. 포인터(가령, <NEXT> 포인터)가 기존 인덱스의 끝부분에 추가될 수 있고, 현재 튜플에 대응하는 다큐먼트 ID 및 오프셋이 추가될 수 있다. 따라서, 동일한 토큰 키를 갖는 임의의 수의 튜플이 동일한 인덱스를 사용할 수 있다.
인덱스가 단계(718)에서 생성되거나 단계(714)에서 업데이트된 후, 흐름은 판정 상자(720)으로 이동하여 현재 튜플이 등록 리스트(360)의 최종 튜플인지를 판정한다. 현재 튜플이 최종 튜플이 아니면, 다음 튜플이 단계(722)에서 식별되고, 흐름은 단계(706)으로 다시 돌아가서 다음 튜플을 처리하여 토큰 키를 선택하고 인덱스 테이블(370)을 업데이트한다. 그러나, 현재 튜플이 등록 리스트(360)의 최종 튜플이라고 판정 상자(720)에서 판정되면, 모든 튜플이 처리되었으며, 흐름(700)은 종료된다.
튜플에 대한 토큰 키로서 가장 낮은 빈도의 토큰을 선택함으로써, 검출 처리 동작 동안에 처리 효율을 향상시키는 것을 돕는데, 이는 도 9 내지 13을 참조하여 보다 상세히 설명할 것이다. 인덱스 테이블에서 가장 낮은 빈도의 토큰을 토큰 키로 사용함으로써, 토큰화되면 인덱스 테이블의 토큰 키와 동일한 데이터 요소를 객체가 포함하지 않는다면, 등록 리스트의 튜플은 평가되고 있는 객체에 비교될 필요가 없다. 따라서, 더 많은 공통적으로 발생하는 토큰이 토큰 키로서 선택되는 경우보다, 이 실시예에서 더 많은 튜플이 불필요한 처리로부터 제외될 수 있다.
인덱스 테이블에 대한 가장 낮은 빈도의 토큰 키를 생성하도록 요구되는 처리를 감소시키기 위해 다른 실시예가 구현될 수 있다. 이러한 실시예는 백엔드 등록 처리를 감소시킬 수 있지만, 검출 시스템에 의해 추가적인 처리가 요구될 수 있다. 하나의 이러한 다른 실시예에서, 상이한 토큰 키 선택 기준(즉, 가장 낮은 빈도 선택 기준 이외의 기준)이 사용될 수 있다. 가령, 튜플로부터 토큰이 레코드의 데이터 요소의 사전 결정된 열 또는 위치에 근거하여 토큰 키로서 선택될 수 있다. 인덱스 테이블은 결과로서 보가 신속히 생성될 수 있지만, 특히 토큰 키의 적어도 일부가 더 공통적으로 발생하는 데이터 요소에 대응하는 경우, 더 많은 튜플이 검출 처리 동안에 평가될 수 있다. 그럼에도 불구하고, 이 실시예는 구현의 특정 필요에 근거하는 것이 바람직할 수 있다. 또한, 토큰 키 선택 기준은 사용자 구성 가능할 수 있어서, 토큰 키를 선택할 때에 허가된 사용자가 등록 시스템(300)에 의해 사용된 선택 기준을 결정할 수 있다.
도 8은 예시적 데이터 요소를 갖는 레코드(802)가 등록 시스템(300)에 의해 처리되는 시나리오를 도시하고 있다. 레코드(802)는 구분된 데이터 파일, 가령 구분된 데이터 파일(330)의 예시적인 하나의 레코드이며, 이는 복수의 레코드를 가질 수 있다. 레코드(802)는 스페이스로 구분되면 복귀로 종료되는 데이터 요소를 포함하는데, 이는 사전 정의된 구분문자이다. 데이터 요소 각각은 단어 또는 표현 요소인지 결정하기 위해 평가된다. 단어(가령, Carol, Deninger, 123, Apple, Lane, Boise, ID, 및 99999) 로 표현되는 데이터 요소는 추출되고 토큰화된다. 정규 표현 패턴에 매치된다고 결정된 데이터 요소는 추출되고 정규화된다. 이 예시적인 경우에서, 표현 요소를 정규화하는 것은 임의의 필수적이지 않은 문자를 제거하는 것을 포함한다. 그 후, 정규화된 표현 요소가 토큰화된다.
다음의 표는 데이터 종류, 각 데이터 종류에 대응하는 레코드(802)의 예시적 데이터 요소 콘텐츠 및 각 데이터 요소에 대해 생성되는 토큰을 나타낸다.
Figure 112013049792616-pct00001
등록 리스트(810)의 튜플(812)은 레코드(802)를 등록함으로써 생성된다. 레코드(802)에서 생성되는 토큰(804)은 등록 리스트(810)의 튜플(812)에서 순차적으로 저장될 수 있다. 일 실시예에서, 튜플(812)은 구분된 데이터 파일 또는 레코드(802)와 연관되는 연관 데이터 스토리지(가령, 판매에서 고객 레코드 데이터베이스)를 식별하는 다큐먼트 식별자를 포함하는 헤더 정보(도시 생략)을 포함한다. 또한, 등록 리스트(810)의 각 튜플의 끝부분은 0과 같은 종료 엔트리에 의해 정의될 수 있으며, 이는 튜플(812)의 끝부분에 도시된다. 또한, 오프셋(814)에는 등록 리스트(810)가 제공되는데, 각 오프셋은 등록 리스트(810)의 개별적인 토큰 엔트리를 가리킨다.
인덱스 테이블(820)은 등록 리스트(810)에 대해 생성될 수 있는데, 인덱스(822)는 튜플(812)에 대응한다. 인덱스(822)는 토큰 키(55)를 포함하는데, 이는 튜플(812)의 제 2 발생 토큰으로서 도시된다. 전술한 바와 같이, 토큰 키(55)는 전체 등록 리스트(810)에서 가장 낮은 발생 빈도를 갖는 튜플(812)의 토큰이면 선택될 수 있다. 또한 오프셋(1001)에는 토큰 키(55)가 제공되고 튜플(812)의 제 1 발생 토큰(23)을 가리킨다. 따라서, 오프셋(100)은 튜플(812)의 시작부분을 표시한다. 또한, 인덱스(822)는 구분된 데이터 파일 또는 레코드(802)와 연관되는 데이터 스토리지를 표시하는 doc ID 또는 다큐먼트 식별자를 포함할 수 있다.
검출 시스템
도 9를 참조하면, 검출 시스템(900)의 일 실시예의 간략화된 블록도가 도시되어 있다. 검출 시스템(900)은 평가 모듈(910) 및 인증 모듈(920)을 포함할 수 있다. 평가 모듈(910)로의 입력은 입력 객체(930), 정규 표현 테이블(350) 및 인덱스 테이블(370)을 포함할 수 있다. 평가 모듈(910)의 출력은 비트 해시 테이블(940) 및 펜딩 키 리스트(950)를 포함할 수 있는데, 이들 모두 임시적일 수 있다. 평가 모듈(910)은 추출(912), 토큰화(914), 비트 설정 연산(916), 및 펜딩 키 리스트 생성(918)의 기능을 수행할 수 있다. 일반적으로, 평가 모듈(910)은 입력 객체(930)와 같은 파일을 처리하여 파일의 각 데이터 요소를 추출하고 토큰화하는데, 등록 시스템(300)이 구분된 데이터 파일(303)의 데이터 요소를 추출하고 토큰화하는 방식과 실질적으로 동일하다. 따라서, 파일로부터 추출되고 토큰화된 데이터 요소는 구분된 데이터 파일(330)로부터 추출되고 토큰화된 데이터 요소와 비교될 수 있다.
입력 객체(930)는 임의의 종류의 데이터 파일 또는 다큐먼트를 포함하고, 임의의 등록된 데이터 요소 조합 또는 그 사전 결정된 임계 양이 파일 또는 다큐먼트에 존재하는지를 판정하기 위해 분석한다. 일 실시예에서, 도 1에 도시된 바와 같이 입력 객체(930)는 캡처 시스템(29)에 의해 제공될 수 있으며, 이때 패킷은 네트워크(100)의 캡처 시스템(29)에 의해 인터셉트되고 객체는 인터셉트된 패킷으로부터 재구성되는데, 이는 전술하였으며 미국 특허 출원 제 12/358,399 호에도 설명되어 있다. 이 출원은 그 전체가 본 명세서에 이전에 참조로 포함되었다. 예시적 입력 객체는, 마이크로소프트 오피스 다큐먼트(Word, Excel, PowerPoint 등), PDF(Portable Document Format) 파일, 텍스트 파일, 이메일 메시지, 이메일 첨부물, 임의의 인간 언어 텍스트 다큐먼트(가령, 영어텍스트, 불어텍스트, 독일어텍스트, 스페인어텍스트, 일본어텍스트, 중국어 텍스트, 한국어텍스트, 러시아어텍스트 등을 포함하며, 이에 한정되지 않는다. 이들 다양한 객체 외에도, 가령, 데이터베이스와 같은 저장소 또한, 임의의 등록된 데이터 조합의 존재에 관해 콘텐츠를 평가하도록 검출 시스템(900)에 의해 처리될 수 있다. 일 실시예에서, CSV 리스트와 같은 공통 파일은 데이터베이스 또는 기타 파일을 위해 생성될 수 있고 입력 객체(930)로서 검출 시스템(900)에 제공될 수 있다.
입력 객체(930)는 임의의 수의 구분자 및/또는 구분문자에 의해 구분되는 단어 및/또는 표현 요소를 포함할 수 있다. 일 실시예에서, 입력 객체(930)의 콘텐츠는 순차적으로 처리될 수 있다. 입력 객체의 각 데이터 요소의 문자 패턴은 정규 표현 테이블(350)에 비교되어 데이터 요소가 사전 정의된 표현 패턴과 일치하는 지를 판정할 수 있으며, 이는, 2009년 1월 23일자로 출원된 미국 특허 출원 제 12/358,399 호, 'SYSTEM AND METHOD FOR INTELLIGENT STATE MANAGEMENT'에 설명되어 있으며, 이 출원은 그 전체가 본 명세서에 이전에 참조로 포함되었다. 데이터 요소가 사전 정의된 표현 패턴과 일치하면, 전체 표현 요소가 추출되고 정규화되어, 토큰화 기능(914)이 정규화된 표현 요소에 대해 수행될 수 있다. 데이터 요소가 사전 정의된 표현 패턴과 일치하지 않으면, 데이터 요소는 단어이고, 이는 토큰화 기능부(914)에 의해 추출되고 토큰화될 수 있다.
비트 설정 연산(916) 및 펜딩 키 리스트 생성(918)도 평가 모듈(910)에 의해 수행될 수 있다. 비트 설정 연산(916)은 비트 해시 테이블(940)의 각 토큰화된 데이터 요소에 대응하는 비트를 설정하여, 입력 다큐먼트(930)의 각 토큰화 데이터 요소를 표시하는 효율적인 방식을 제공한다. 펜딩 키 리스트 생성(918)은 입력 객체(930)의 각 토큰화 데이터 요소를 인덱스 테이블(370)에 비교하여, 인덱스의 대응 토큰 키를 식별한다. 일 실시예에서, 대응하는 토큰 키는 토큰 키가 토큰화된 데이터 요소와 동일할 때(즉, 동일한 수치 표현을 가질 때) 식별된다. 대응 토큰 키가 식별되면, 인증 모듈(920)에 의해 추가 분석을 위해 토큰화 데이터 요소 또는 객체 토큰은 펜딩 키 리스트(950)에 저장된다.
검출 시스템(900)의 인증 모듈(920)은, 등록 리스트와 비트 해시 테이블 비교(922) 및 이벤트 리스트 업데이트(924)의 기능을 수행할 수 있다. 등록 리스트와 비트 해시 테이블 비교(922)는 펜딩 키 리스트(950)로부터 펜딩 키(즉, 토큰)를 처리하여 인덱스 테이블(370)의 대응 인덱스를 발견할 수 있다. 일 실시예에서, 펜딩 키는 펜딩 키가 토큰 키와 동일할 때(즉, 동일한 수치 표현을 가질 때) 인덱스의 토큰 키에 대응한다. 그 후, 인덱스는 등록 리스트(360)의 대응 튜플의 위치를 파악하는 데에 사용될 수 있다. 일 실시예에서, 식별된 튜플의 토큰은 비트 해시 테이블(940)에 비교되어 식별된 튜플의 토큰이 입력 객체(930)에 몇 개 존재하는 지를 판정할 수 있다. 입력 객체(930)는, 토큰화되면 튜플에 대한 토큰 전부에 대응하거나 그 사전 결정된 임계 양에 대응하는 데이터 요소를 포함한다고 판정되면, 이벤트가 인증된다. 입력 객체(930)의 토큰화 데이터 요소가 튜플의 토큰에 대응하는지를 판정하기 위해 비트 해시 테이블(940)을 사용하는 것은, 도 10 내지 13을 참조하여 보다 상세히 설명할 것이다. 이벤트 리스트 업데이트(924)는 이벤트 리스트(960)를 업데이트할 수 있는데, 입력 객체(930)에서 발견되는 특정 등록된 데이터 조합과, 특정 등록된 데이터 조합과 연관되는 다큐먼트 식별자와, 임의의 다른 원하는 정보(가령, 날짜 및 시간 스탬프, 네트워크 트래픽의 소스 및/또는 목적지 어드레스, 포트 넘버 등)를 표시한다.
도 10을 참조하면, 도 10은 예시적 데이터 입력 및 결과적 비트 벡터 또는 비트 해시 테이블(1040)을 도시하는 간략화된 블록도인데, 이는 평가 모듈(10)의 비트 설정 연산부(916)에 의해 생성될 수 있다. 데이터 요소(1001)(단어 1), 데이터 요소(1002)(단어 1), 데이터 요소(1003)(표현 요소 1) 및 데이터 요소(1004)(표현 요소 2)은 입력 객체(930)와 같은 입력 객체의 예시적 데이터 요소를 나타낸다. 어떤 값이 디폴트인지에 따라, 비트를 "0"으로부터 "1" 또는 "1"로부터 "0"으로 변경함으로써 비트 위치 설정이 수행된다. 일 실시예에서, 동일한 비트 위치에 대응하는 데이터 요소가 입력 객체에서 발견되면, 비트 해시 테이블(1040)의 모든 비트는 "0"으로 초기화되고, 비트 해시 테이블(1040)의 특정 비트 위치와 연관되는 비트는 "1"로 설정될 수 있다.
하나의 예시적 실시예에서, 비트 설정 연산부(916)는 공지된 프라임 넘버 해싱 기술을 사용하여 비트 해시 테이블(1040)의 어느 비트 위치에 어느 데이터 요소가 대응하는지를 결정할 수 있다. 비트 해시 테이블(1040)은 m 비트를 포함할 수 있는데, 여기서 m은 프라임 넘버와 동일한 수이다. 모듈로 연산이 데이터 요소(1001 내지 1004) 중 하나에 대해 생성된 토큰에 대해 수행되면, 모듈로 연산의 결과는 토큰에 의해 표현되는 데이터 요소에 대응하는 비트 위치를 표시할 수 있다. 따라서, 특정 비트 위치에 대응하는 비트는 입력 객체의 데이터 요소의 존재를 표시하도록 설정될 수 있다. 도 10의 예에서, 비트 위치(2)는 데이터 요소(1001) (단어 1) 및 데이터 요소(1002)(단어 1)에 대응할 수 있고 비트 위치(5)는 데이터 요소(1003)(표현 요소 1)에 대응할 수 있으며, 비트 위치(10)는 데이터 요소(1004)(표현 요소 2)에 대응할 수 있다. 따라서, 비트 위치(2,5,10)에 대응하는 비트 각각은 1로 설정될 수 있다.
도 11 및 12를 참조하면, 검출 시스템(900)의 연산 처리를 설명하는 간략화된 흐름도이다. 도 11은 검출 시스템(900)의 평가 모듈(910)에 대한 예시적 연산 단계를 설명하는 간략화된 흐름도이고, 도 12는 검출 시스템(900)의 인증 모듈(920)에 대한 예시적 연산 단계를 설명하는 간략화된 흐름도이다.
도 11을 참조하면, 평가 처리 흐름(1100)은 추출 및 추출과 유사한 입력 객체(930)에 대한 토큰화와, 도 6a 및 6b의 등록 리스트 처리 흐름(600)에 의한 구분된 데이터 파일에 인가되는 토큰화 함수를 포함할 수 있다. 평가 처리 흐름(1100)은 입력 객체(930)의 제 1 데이터 요소의 시작부분이 식별되는 단계(1102)에서 시작할 수 있다. 단계(1104)에서, 데이터 요소의 시작부분에서 시작하는 문자 열의 문자 패턴에 가장 긴 매치를 발견하기 위해, 정규 표현 테이블(350)을 검색한다. 일 실시예에서, 정규 표현 테이블(350)로부터의 표현 패턴은 가장 긴 것으로부터 가장 짧은 것의 크기 순서로 비교되어 매치가 존재하는지를 판정한다.
판정 상자(1106)에서, 정규 표현 테이블(350)로부터 매치가 발견되었는지에 관한 질의가 이루어진다. 정규 표현 패턴 중 어느 것도 데이터 요소의 시작 부분에서 시작하는 어떤 문자 열의 문자 패턴과 매치되지 않는 경우(즉, 데이터 요소가 정규 표현 테이블(350)의 어떤 정규 표현 패턴과도 일치하지 않는 경우), 데이터 요소는 단어를 나타내고, 흐름은 데이터 요소(즉, 단어)의 끝부분을 발견하기 위해 단계(1112)로 이동하는데, 이는 단계(1114)에서 추출될 수 있다. 단어의 끝부분은 데이터 요소의 시작부분에서 시작하는 최종적인 연속하는 필수 문자이다. 단어가 단계(1114)에서 추출된 후, 흐름은 판정 상자(1116)로 이동하는데, 여기서 전술한 바와 같이, 단어가 '중지 단어'인지를 판정하기 위해 평가될 수 있다. 단어가 중지 단어로 판정되면, 이는 무시되고 흐름은 판정 상자(1128)로 진행하여 현재 단어가 입력 객체(930)의 최종 데이터 요소인지를 판정한다. 현재 단어가 최종 데이터 요소이면 처리는 종료된다. 그러나, 단어가 입력 객체(930)의 최종 데이터 요소가 아니면, 흐름은 단계(1130)로 이동하고 다음 데이터 요소의 시작부분을 발견한다. 그 후, 흐름은 단계(1104)로 귀환하여 추출, 토큰화 및 저장 동작을 새로운 데이터 요소에 대해 수행한다.
다시 판정 상자(1116)를 참조하면, 현재 단어가 중지 단어가 아닌 것으로 판정되면, 흐름은 단계(1118)로 이동하여 단어의 어간이 해석될(stemmed) 수 있다. 가령, 포터 스테밍 알고리즘(porter stemming algorithm)과 같은 어간해석 프로세스(stemming process)가 단어에 적용될 수 있는데, 여기서 단어의 어간으로부터 접미사 및/또는 접두사가 추출될 수 있다. 어간 해석이 수행된 후, 필요하다면 흐름은 단계(1120)로 이동하여 단어(또는 허간 해석된 단어)를 토큰화할 수 있다. 일 실시예에서, 토큰화는 단어(또는 어간 분석된 단어)를 32비트 수치적 표현 또는 토큰으로 변환하는 것을 포함하는데, 이는 등록 리스트 모듈(310)에 의해 사용되는 동일한 기술을 사용하여(가령, FIPS(Federal Information Processing Standards)이 승인한 해시 함수를 사용하여) 달성될 수 있다.
단계(1120)에서 토큰이 단어에 대해 생성된 후, 비트는 단계(1122)에서 비트 해시 테이블(940)에서 설정될 수 있다. 설정된 비트는, 전술한 바와 같이, 비트 해시 테이블의 프라임 넘버 크기를 사용하여 토큰에 대해 모듈로 연산을 수행함으로써 결정된 비트 해시 테이블(940)의 비트 위치에 대응한다. 이 비트는, 토큰으로 표현되는 단어가 입력 객체(930)에서 발견되었다고 표시하도록 설정된다. 일부 통계적 충돌이 발생할 수 있는데, 여기서 2개의 상이한 데이터 요소에 대해 생성된 토큰이 동일한 나머지를 얻는다. 그러나, 이 시스템은 적어도 부분적으로 통계적 실행 가능성을 유지하는데, 이는, 단일 개별적인 데이터 요소 대신, 이벤트를 트리거링하는 것이 다큐먼트에서 발견될 특정 데이터 요소 조합을 요구하기 때문이다. 또한, 충돌은 통상적으로 테이블이 프라임 넘버에 대해 충분한 크기리면 덜 빈번하다.
비트 해시 테이블(940)의 적합한 비트를 설정한 후, 흐름은 판정 상자(1124)로 이동하여 토큰이 인덱스 테이블(370)의 인덱스 중 하나의 토큰 키에 대응하는지를 판정한다. 토큰이 인덱스 중 하나의 토큰 키에 대응하면, 흐름은 단계(1126)로 이동하고 토큰은 펜딩 키 리스트(950)에 저장된다. 토큰이 펜딩 키 리스트(950)에 저장된 후, 또는 토큰이 인덱스 테이블(370)의 인덱스의 어떠한 토큰 키에도 대응하지 않는 경우, 흐름은 판정 상자(1128)로 이동하여 현재 토큰에 대응하는 데이터 요소가 입력 객체(930)의 최종 데이터 요소인지를 판정한다. 데이터 요소가 입력 객체(930)의 최종 데이터 요소가 아니면, 흐름은 다음 데이터 요소의 시작 부분이 발견되는 단계(1130)로 진행한다. 그 후, 흐름은 단계(1104)로 귀환하여 추출, 토큰화 및 저장 동작을 새로운 데이터 요소에 대해 수행한다. 다시 판정 상자(1128)를 참조하면, 데이터 요소가 입력 객체(930)의 최종 데이터 요소인 경우, 전체 입력 객체(930)가 처리되었고 흐름(1100)은 종료된다.
다시 판정 상자(1106)를 참조하면, 정규 표현 테이블(350)의 표현 패턴과 데이터 요소의 시작 부분에서 시작하는 문자 열의 문자 패턴 사이에서 발견되었다고 판정하면, 데이터 요소는 표현 요소를 나타내고 매칭 표현 패턴과 동일한 길이를 갖는다. 표현 요소는 단계(1108)에서 추출되고 단계(1110)에서 정규화될 수 있다. 일 실시예에서, 평가 모듈(910)에 의해 채택되는 특정 유형의 정규화는 등록 리스트 모듈(310)에서 사용되는 정규화와 동일한 유형이다. 전술한 바와 같이, 표현 요소를 정규화하는 것은,표현 요소로부터 임의의 구분자를 제거하는 것 또는 표현 요소의 구분자 및/또는 특정 필수 문자를 수정하여 표현 요소에 대한 사전 정의된 표준 형태를 달성하는 것을 포함할 수 있다.
일단 표현 요소가 추출되고 정규화되면, 흐름은 정규화된 표현 요소가 토큰화되는 단계(1120)로 이동할 수 있다. 단계(1122)에서, 비트는, 전술한 바와 같이, 비트 해시 테이블의 프라임 넘버 크기를 사용하여 토큰에 대해 모듈로 연산을 수행함으로써 얻어진 나머지의 값에 대응하는 비트 해시 테이블(940)에 설정될 수 있다. 비트 해시 테이블(940)의 적합한 비트를 설정한 후, 흐름은 판정 상자(1124)로 이동하여 토큰이 인덱스 테이블(370)의 인덱스 중 하나의 토큰 키에 대응하는지를 판정한다. 토큰이 인덱스 중 하나의 토큰 키에 대응하면, 흐름은 단계(1126)로 이동하고 토큰은 펜딩 키 리스트(950)에 저장된다. 토큰이 펜딩 키 리스트(950)에 저장된 후, 또는 토큰이 인덱스 테이블(370)의 인덱스의 어떠한 토큰 키에도 대응하지 않는 경우, 흐름은 판정 상자(1128)로 이동하여 현재 토큰에 대응하는 데이터 요소가 입력 객체(930)의 최종 데이터 요소인지를 판정한다. 데이터 요소가 입력 객체(930)의 최종 데이터 요소가 아니면, 흐름은 다음 데이터 요소의 시작 부분이 발견되는 단계(1130)으로 진행한다. 그 후, 흐름은 단계(1104)로 귀환하여 추출, 토큰화 및 저장 동작을 새로운 데이터 요소에 대해 수행한다. 다시 판정 상자(1128)를 참조하면, 데이터 요소가 입력 객체(930)의 최종 데이터 요소인 경우, 전체 입력 객체(930)가 처리되었고 흐름(1100)은 종료된다.
도 12를 참조하면, 도 12는 검출 시스템(900)의 인증 모듈(920)의 인증 처리 흐름(1200)의 예시적 연산 단계를 도시하고 있다. 일반적으로, 인증 처리 흐름(1200)은 비트 해시 테이블(940), 펜딩 키 리스트(950), 등록 리스트(360) 및 인덱스 테이블(370)을 사용하여 등록된 데이터 요소 조합 또는 그 사전 결정된 임계 양이 입력 객체(930)에 포함되는지를 판정한다.
흐름은 단계(1202)에서 시작할 수 있는데, 여기서 제 1 펜딩 키가 펜딩 키 리스트(950)로부터 검색될 수 있다. 그 후, 흐름은 단계(1204)로 이동하는데, 여기서 펜딩 키에 대응하는 토큰 키를 갖는 인덱스를 발견하기 위해 인덱스 테이블(370)을 검색한다. 일단 인덱스가 발견되면, 흐름은 단계(1206)로 이동하여 인덱스에서 식별되는 제 1 튜플을 발견한다. 제 1 튜플은 인덱스의 토큰 키에 링크되는 제 1 오프셋을 사용하여 식별될 수 있다. 오프셋은 대응 튜플의 시작 부분에서 토큰의 등록 리스트의 위치를 가리킬 수 있다.
일단 대응하는 튜플의 제 1 토큰이 단계(1208)에서 등록 리스트(360)에서 식별되었으면, 동작 단계(1210 내지 1222)는 이벤트가 인증되거나(즉, 등록된 데이터 조합의 모든 데이터 요소 또는 데이터 요소의 임계 양이 입력 객체에 존재함) 인증되지 않을(즉, 등록된 데이터 조합의 모든 데이터 요소 또는 데이터 요소의 임계 양이 입력 객체에서 발견되지 않았음) 때까지 튜플을 처리한다. 판정 상자(1210)에서, 토큰에 대응하는 비트가 비트 해시 테이블(940)에서 설정되는지에 대한 질의가 이루어진다. 따라서, 비트 해시 테이블(940)에서 어느 비트 위치가 체크할지를 판정하기 위해 모듈로 연산은 비트 해시 테이블(940)의 프라임 넘버를 사용하여 토큰에 대해 수행될 수 있다. 적합한 비트 위치에 비트가 설정되면, 흐름은 데이터 요소 카운트가 증분될 수 있는 단계(1212)로 이동할 수 있다. 데이터 요소 카운트는, 처리되고 있는 튜플로부터, 비트 해시 테이블(940)에서 발견되는 토큰의 총 개수를 표시한다. 데이터 요소 카운트가 증분된 후, 또는 비트가 비트 해시 테이블(940)에서 설정되지 않은 경우, 흐름은 판정 상자(1214)로 이동하여 현재 토큰이 튜플에서 최종 토큰인지를 판정한다. 현재 토큰이 튜플에서 최종 토큰이 아니면, 흐름은 단계(1216)로 이동하여 튜플의 다음 토큰을 식별한다. 그 후, 흐름은 판정 상자(1210)로 귀환하여 새로운 토큰에 대응하는 비트가 설정되는지를 판정한다.
일단 튜플의 모든 토큰이 처리되었으면, 판정 상자(1214)에서, 튜플의 최종 토큰이 평가되었는지를 판정한다. 그 후, 흐름은 판정 상자(1218)로 이동할 수 있는데, 여기서 데이터 요소 카운트가 사전 결정된 임계 양 이상인지에 대한 질의가 이루어진다. 일 실시예에서, 구분된 데이터 파일의 단일 레코드로부터의 모든 데이터 요소가 입력 다큐먼트에서 발견되면 이벤트가 인증될 수 있다. 따라서, 이 실시예에서, 사전 결정된 임계 양은 레코드의 데이터 요소의 수(즉, 대응 튜플에서 토큰의 수)와 동일할 것이다. 그러나, 다른 실시예는 단일 레코드로부터의 데이터 요소의 총 개수의 소정 백분율(가령, 50%, 75% 등) 또는 특정 최소 숫자(가령, 2,3,4 등)를 사용할 수 있다. 관리 면에서, 도 1에 도시된 데이터 보호 관리자(32)는 허가된 사용자가 원하는 대로 사전 결정된 임계 양을 설정하는 것을 허용하도록 구성될 수 있다.
데이터 요소 카운트는 단계(1218)의 사전 결정된 임계 양에 이르거나 초과하면, 이벤트가 인증되고, 흐름은 태스크 및 파일 정보가 검색되는 단계(1220)로 이동한다. 일 실시예에서, 파일 정보는 현재 튜플의 위치를 파악하기 위해 사용되는 인덱스의 특정 오프셋에 대응하는 다큐먼트 ID(doc ID)로부터 검색될 수 있다. 또한, 등록된 데이터 조합을 포함하는 특정 객체를 올바르게 식별하기 위해 입력 객체(930)에 관련되는 다른 정보(가령, 소스 및 목적지 어드레스, 소스 및 어드레스 포트, 날짜와 시간, 연관 이메일 메시지의 이메일 어드레스, 다큐먼트의 파일 경로, 데이터베이스, 또는 기타 저장소 등과 같은 전송 정보)가 얻어질 수 있다. 또한, 입력 객체(930)에서 발견되는 등록된 데이터 요소의 조합의 특정 데이터 요소가 허가된 사람의 리뷰를 위해 저장 및/또는 디스플레이될 수 있다.
일단 인증된 이벤트에 대한 원하는 정보 모두가 검색되면, 흐름은 이벤트가 이벤트 리스트(960)에 레코딩될 수 있고/있거나 적합한 통보(가령, 이메일 통보, Syslog 통보, 상태 메시지 등)가 검색된 정보의 일부 또는 전부를 포함하여 허가된 사용자에게 제공될 수 있다. 또한, 이벤트의 인증은, 이벤트 인증을 트리거링한 객체의 전송을 방지하는 동작, 또는 이벤트 인증을 트리거링한 데이터베이스 또는 다른 저장소를 잠그는(lock down) 동작을 트리거링할 수도 있다. 이러한 실행 동작은 데이터 전송의 흐름을 중지시키도록 설계되는 캡처 시스템(29) 또는 기타 기존 인프라스트럭처를 통해 구현될 수 있다.
판정 상자(1218)를 다시 참조하면, 데이터 요소 카운트가 사전 결정된 임계를 만족하지 못하는 경우, 이벤트는 인증되지 않고 단계(1220 및 1222)는 바이패싱된다. 현재 튜플의 토큰 전부가 처리되고 이벤트가 인증되거나 인증되지 않은 후, 흐름은 판정 상자(1224)로 이동하는데, 여기서 처리되고 이는 튜플이 인덱스에서 식별되는 최종 튜플인지에 대한 판정이 이루어진다. 현재 튜플이 인덱스에서 최종 튜플이 아니면, 등록 리스트(360)의 다음 튜플에 대한 오프셋을 지정함으로써 인덱스의 후속 <NEXT> 포인터가 처리될 다음 튜플을 표시한다. 따라서, 인덱스가 널(null)이 아닌 <NEXT> 포인터를 갖는 경우, 흐름은 단계(1226)으로 이동하고, 다음 튜플이 <NEXT> 포인터에 링크되는 오프셋에 의해 식별된다. 그 후, 흐름은 단계(1208)로 귀환하여 다음 튜플의 토큰을 처리하기 시작하여 다음 튜플에 대한 이벤트를 인증할지를 판정한다.
다시 판정 상자(1224)를 참조하면, 현재 튜플이 인덱스의 최종 튜플이라고 판정하면, 흐름은 판정 상자(1228)로 이동하여 펜딩 키가 펜딩 키 리스트(950)의 최종 펜딩 키인지를 판정한다.
현재 펜딩 키가 펜딩 키 리스트(950)의 최종 것이 아니면, 단계(1230)에서 다음 펜딩 키가 펜딩 키 리스트(950)로부터 검색되면, 흐름은 단계(1204)로 귀환하는데, 여기서 인덱스 테이블(370)은 새로운 펜딩 키에 대응하는 토큰 키를 발견하기 위해 검색된다. 그 후, 흐름은 인덱스 테이블(370)의 특정 인덱스에 의해 표시되는 각 튜플에 대해 이벤트를 인증할지를 판정하기 위해 계속 된다.
판정 상자(1228)을 다시 참조하면, 현재 펜딩 키가 펜딩 키 리스트(950)의 최종 펜딩 키이면, 입력 객체(930)에서 식별되는 펜딩 키 전부가 처리되며, 적합한 경우에 이벤트가 대응 튜플에 대해 인증되었다. 그러나, 도 12에는, 후속 검출 시스템 처리를 위해 메모리 할당을 준비하기 위해 펜딩 키 전보가 처리된 후에 수행될 수 있는 추가적인 단계는 도시되지 않았다. 예를 들어, 비트 해시 테이블(940)의 모든 비트는 디폴트 값(가령, "0")으로 설정될 수 있으며, 펜딩 키 리스트(950)의 포인터는 리스트의 시작부분으로 리셋될 수 있다.
도 13을 참조하면, 도 13은 예시적 입력 다큐먼트(1302)가 검출 시스템(300)에 의해 처리되는 시나리오를 도시하고 있다. 데이터 요소의 대표적인 샘플이 입력 다큐먼트(1302)에 도시되어 있는데, 생략부호는 도시되지 않은 추가적인 데이터 요소를 표시한다. 또한, 등록 리스트(1310) 및 인덱스 테이블(1320)은 등록 시스템(300)으로부터 이미 생성된 것으로 도시되어 있다. 토큰화 단어(1304)는 입력 다큐먼트(1302)에 도시된 데이터 요소 각각에 대해 생성된 객체 토큰을 도시하고 있다. 검출 시스템(330)의 평가 처리 동안에, 비트는 비트 해시 테이블(1350)에 도시된 객체 토큰의 각각에 대해 설정된다. 또한, 각 객체 토큰에 대해, 객체 토큰에 대응하는 인덱스의 토큰 키를 발견하기 위해 인덱스 테이블(1320)이 검색된다. 도 13의 예시적 데이터에서, 객체 토큰(55)은 토큰 키(55)를 갖는 인덱스에서 발견되므로, 객체 토큰(55)은 펜딩 키 리스트(1340)에 저장된다.
비트 해시 테이블(1350) 및 펜딩 키 리스트(1340)가 생성된 후, 펜딩 키 리스트(1340)의 펜딩 키 각각이 처리되어 대응 토큰의 튜플 또는 대응 튜플의 토큰의 사전 결정된 임계 양이 비트 해시 테이블(1350)에 나타나는지를 판정한다. 도 13의 예시적 시나리오에서, 펜딩 키(55)에 대응하는 토큰 키를 갖는 인덱스를 발견하기 위해 인덱스 테이블(1320)을 검색한다. 토큰 키(55)를 갖는 인덱스(1322)가 발견되고 인증 처리가 상자(1306)에 표시된 바와 같이 수행된다. 인덱스(1322)의 오프셋(1001)이 사용되어 튜플(1312)을 식별한다. 튜플(1312)의 토큰 각각이 분석되어 대응하는 비트가 비트 해시 테이블(1350)에 설정되는지를 판정한다. 이 경우, 튜플(1312)의 토큰 전부가 비트 해시 테이블(1350)에 설정된 비트에 의해 표현된다. 그러므로, 사전 결정된 임계가 만족되고, 이벤트가 인증되며, 이벤트 리스트가 상자(1308)에 표시된 바와 같이 업데이트될 수 있다. 따라서, 이 예에서, 검출 시스템(300)은 입력 다큐먼트(1302)가 등록된 데이터 요소 조합(즉, 튜플(1312)에 의해 표현되는 데이터 요소)의 임계 양을 포함하고 결과적으로 이벤트를 인증한다고 판정한다.
전술한 처리 흐름은 예시적 실시예를 설명하지만, 이와 달리 다른 처리 흐름이 구현될 수 있다. 가령, 구분된 데이터 파일(330)의 레코드의 각 데이터 요소를 순차적으로 처리하거나 입력 객체(930)의 각 데이터 요소를 순차적으로 처리하는 대신, 미국 특허 출원 제 12/358,399 호에 설명되는 바와 같이 파서(parser)가 사용될 수 있으며, 이 출원은 이전에 본 명세서에 참조로 포함되었다. 이러한 실시예에서 파서는 특정 레코드 또는 객체 내의 표현 요소 모두를 식별하기 위해 추출된 데이터를 파싱할 수 있다. 표현 요소는 레코드 또는 객체를 통해 정류 표현 테이블(350)로부터 표현 패턴을 파싱하여 식별될 수 있다. 일 실시예에서, 표현 패턴은 가장 긴 것으로부터 가장 짧은 순서로 레코드 또는 객체를 통해 파싱된다. 일단 표현 요소 모두가 식별되면, 각 단어는 레코드 또는 객체의 나머지 데이터로부터 추출될 수 있다.
본 명세서에서 설명된 등록 및 검출 동작을 달성하기 위한 소프트웨어는 다양한 위치(가령, 기업 IT 본사, 네트워크의 출구 지점에 분배된 네트워크 어플라이언스 등)에서 제공될 수 있다. 다른 실시예에서, 특정 데이터 조합을 보호하기 위한 이 시스템을 제공하기 위해, 이 소프트웨어는 웹 서버로부터 수신되거나 다운로드(가령, 개별적인 네트워크, 디바이스, 서버 등에 대한 개별적인 최종 사용자 라이센스를 구매하는 관점에서)될 수 있다. 하나의 예시적 구현에서, 이 소프트웨어는 보안 공격으로부터 보호되는 (또는 원치 않거나 허가되지 않은 데이터 조작으로부터 보호되는) 것을 목적으로 하는 하나 이상의 컴퓨터에 존재한다.
다양한 예에서, 컴퓨터 네트워크 환경에서 특정 데이터 조합을 보호하기 위한 시스템의 소프트웨어는 전유 엘리멘트 (가령, McAfee®NDLP(Network Data Loss Prevention) 소프트웨어, McAfee®ePO(ePolicy Orchestrator) 소프트웨어 등에 관한 네트워크 보안 솔루션의 일부로서)를 포함할 수 있는데, 이는 이들 식별된 요소에 (또는 근접하여) 제공되거나임의의 다른 디바이스, 서버, 네트워크 어플라이언스, 콘솔, 방화벽, 스위치, IT(Information Technology) 디바이스, 분산형 서버 등에 제공되거나,상보적 솔루션(가령, 방화벽화 결합하여)으로 제공되거나, 네트워크의 어딘가에 제공될 수 있다.
소정 예시적 구현에서, 본 명세서에서 설명된 등록 및 검출 동작은 소프트웨어로 구현될 수 있다. 이는 네트워크 어플라이언스(12, 14, 16, 18, 30)(가령, 등록 시스템(22), 검출 시스템(24,26,28) 및 캡처 시스템(29)에 제공되는 소프트웨어를 포함할 수 있다. 이들 요소 및/또는 모듈은 본 명세서에서 설명되는 등록 및 검출 동작을 수행하기 위해 서로 협력할 수 있다. 다른 실시예에서, 이들 특징은 이들 요소 외부에 제공되거나, 이들 의도된 기능을 달성하기 위해 다른 디바이스에 포함되거나, 임의의 적합한 방식으로 통합될 수 있다. 예를 들어, 다양한 요소와 연관되는 프로세서 중 일부는 제거되거나 통합되어, 단일 프로세서 및 단일 메모리 위치가 소정 동작을 담당하게 된다. 전반적인 견지에서, 도 1에 도시된 장치는 논리적 표현일 수 있는 반면, 물리적 아키텍처가 다양한 순열, 조합 및/또는 이들 요소의 혼성을 포함할 수 있다.
다양한 실시예에서, 이들 요소 전부(가령, 네트워크 어플라이언스(12, 14, 16, 18, 30)는, 본 명세서에서 설명된 바와 같은 등록 및 검출 동작을 달성하기 위해 조정, 관리 또는 협력할 수 있는 소프트웨어(또는 반복 소프트웨어)를 포함한다. 이들 요소 중 하나 또는 전부는 그 동작을 돕는 임의의 적합한 알고리즘, 하드웨어, 소프트웨어, 구성요소, 모듈, 인터페이스 또는 그 동작을 촉진하는 객체를 포함할 수 있다. 소프트웨어를 포함하는 구현에 있어서, 이러한 구성은 하나 이상의 유형의 매체에 인코딩된 로직(가령, 주문형 집적회로(ASIC)에 제공되는 매립형 로직, DSP(Digital Signal Processor) 인스트럭션, 프로세서 또는 기타 유사한 머신에 의해 실행될 소트프웨어(잠재적으로 객체 코드 및 소스 코드를 포함함) 등을 포함할 수 있으며, 이는 비 일시적인 매체를 포함할 수 있다.
이들 인스턴스의 일부에서, 하나 이상의 메모리 요소(가령, 메인 메모리(230), 보조 스토리지(240) 등)가 전술한 동작을 위해 사용되는 데이터를 저장할 수 있다. 이는 본 명세서에서 설명되는 동작을 수행하도록 실행되는 소프트웨어, 로직, 코드 또는 프로세서 인스트럭션을 저장할 수 있는 메모리 요소를 포함한다. 프로세서는 이 명세서에서 설명되는 동작을 달성하기 위해 데이터와 연관되는 임의의 유형의 인스트럭션을 실행할 수 있다. 일례에서, (도 2에 도시된 바와 같은) 프로세서는 요소 또는 물품(article)(가령, 데이터)을 한 상태 또는 물건으로부터 다른 상태 또는 물건으로 변환할 수 있다. 다른 예에서, 본 명세서에서 설명되는 동작은 고정된 로직 또는 프로그래밍 가능한 로직(가령, 프로세서에 의해 실행되는 소프트웨어/컴퓨터 인스트럭션)으로 구현될 수 있으며, 본 명세서에서 식별되는 요소는 어떤 종류의 프로그래밍 가능한 프로세서, 프로그래밍 가능한 디지털 로직(가령, FPGA(Field Programmable Gate Array), EPROM(Erasable Programmable Read Only Memory), EEPROM(Electrically Erasable Programmable Read Only Memory), 디지털 로직, 소프트웨어, 코드, 전자 인스트럭션, 플래시 메모리, 광학 디스크, CD-ROM, DVD ROM, 자기 또는 광 카드를 포함하는 ASIC, 전자 인스트럭션을 저장하기 위해 적합한 다른 종류의 기계 판독 가능한 매체, 또는 그 임의의 적합한 조합일 수 있다.
다양한 실시예에서, 등록 및 검출 시스템(22, 24, 26, 28)은 네트워크 어플라이언스(12, 14, 16, 18)와 같은 독립형 디바이스로 구현되는 시스템으로서 전술하였다. 일 실시예에서, 등록 및 검출 시스템(22, 24, 26, 28)은 소프트웨어 요구조건을 지원할 수 있는 공통적으로 이용 가능한 연산 장비 및 저장 시스템을 사용하여 구성되는 어플라이언스에서 구현될 수 있다. 그러나, 이와 달리, 등록 및 검출 시스템은 네트워크로부터 데이터를 인터셉트하고 액세스할 수 있는 임의의 컴퓨터상에서 구현될 수 있다. 예를 들어, 등록 시스템(22)은 도 1에 도시된 네트워크(100)의 서버상에서 구현될 수 있다. 다른 예에서, 검출 시스템(14, 16, 18)은 각자의 게이트웨이 및 라우터/스위치상에서 구현될 수 있다.
본 명세서에서 설명되는 임의의 메모리 아이템은 '메모리 요소'라는 넓은 용어 내에서 포함되는 것으로 해석되어야 한다. 유사하게, 본 명세서에서 설명되는 잠재적 프로세싱 요소, 모듈 및 머신 중 하나는 넓은 용어 '프로세서' 내에 포함되는 것으로 해석되어야 한다. 컴퓨터 각각은 네트워크 환경의 데이터 또는 정보를 수신, 송신 및/또는 통신하기 위한 적합한 인터페이스를 포함할 수도 있다.
본 명세서에서 제공되는 많은 예에 있어서, 상호작용은 2, 3, 4 또는 그 이상의 네트워크 요소의 관점에서 설명될 수 있다는 것을 유의하자. 그러나, 이는 단지 명확성 및 예를 위한 것이다. 시스템은 임의의 적합한 방식으로 통합될 수 있다는 것을 인식해야 한다. 유사한 설계 대안을 따라, 도 1에 도시된 컴퓨터, 모듈, 구성요소 및 요소 중 임의의 것은 다양한 가능한 구성으로 조합될 수 있으며, 이들 전부는 분명히 본 명세서의 넓은 범위 내에 존재한다. 소정 예에서, 단지 제한된 수의 네트워크 요소를 참조하여 주어진 흐름 세트의 기능 중 하나 이상을 쉽게 설명할 수 있다. 도 1의 시스템(및 그 개시내용)은 쉽게 확장축소 가능하고 다수의 구성요소 및 보다 복잡/정교한 장치 및 구성을 수용할 수 있다는 것을 인식해야 한다. 따라서, 제공된 예는 무수한 다른 아키텍처에 잠재적으로 적용되는 데이터 조합 보호 시스템(10)의 범위를 제한하거나 넓은 개시 내용을 금지하여서는 안된다.
또한, 도면을 참조하여 설명한 동작들은 시스템에 의해 또는 그 내부에서 실행될 수 있는 가능한 시나리오의 단지 일부만을 설명한다는 것을 유의하는 것이 ?요한다. 전술한 개념의 범위를 벗어나지 않고 이들 동작의 일부는 적합한 경우에 삭제되거나 제거될 수 있거나 이들 단계는 상당히 수정 또는 변경될 수 있다. 또한, 이들 동작의 타이밍은 상당히 변경될 수 있으며 이 개시에서 설명되는 결과를 여전히 달성한다. 전술한 동작 흐름은 예시 및 설명을 위해 제공되었다. 임의의 적합한 배열, 연대순, 구성 및 타이밍 메커니즘이 전술한 개념의 개시 내용을 벗어나지 않고 제공될 수 있다는 점에서 시스템에 의해 실질적인 유연성이 제공된다.

Claims (50)

  1. 네트워크 환경에서 프로세서에 의해 실행되는 특정 데이터 조합을 보호하는 방법으로서,
    데이터 파일의 레코드로부터 복수의 데이터 요소를 추출하는 단계와,
    상기 복수의 데이터 요소를 복수의 토큰으로 토큰화하는 단계와,
    상기 복수의 토큰을 등록 리스트의 제 1 튜플에 저장하는 단계와,
    상기 복수의 토큰 중 하나를 상기 제 1 튜플에 대한 토큰 키로서 선택하는 단계를 포함하되,
    상기 토큰 키는, 상기 제 1 튜플의 상기 복수의 토큰의 다른 토큰 각각보다 상기 등록 리스트에서 발생 빈도가 낮고,
    상기 복수의 토큰 중 하나를 상기 제 1 튜플에 대한 토큰 키로서 선택하는 단계는, 상기 등록 리스트의 각 토큰의 발생의 합을 포함하는 카운트 테이블을 생성하는 단계와, 상기 제 1 튜플의 다른 토큰 각각에 대한 최저 발생 합을 갖는 상기 복수의 토큰 중 하나를 식별하기 위해 상기 카운트 테이블을 검색하는 단계를 더 포함하는
    특정 데이터 조합을 보호하는 방법.
  2. 제 1 항에 있어서,
    상기 복수의 데이터 요소 중 적어도 하나는 하나 이상의 연속하는 필수 문자의 문자 패턴에 의해 정의되는 단어인
    특정 데이터 조합을 보호하는 방법.
  3. 제 1 항에 있어서,
    적어도 하나의 데이터 요소는 사전 정의된 표현 패턴에 일치하는 문자 패턴에 의해 정의되는 표현 요소이며, 상기 사전 정의된 표현 패턴은 적어도 2개의 단어들 및 상기 단어들 사이의 구분자(separator)를 나타내는
    특정 데이터 조합을 보호하는 방법.
  4. 제 1 항에 있어서,
    상기 복수의 토큰의 토큰 각각은 대응하는 데이터 요소의 수치적 표현인
    특정 데이터 조합을 보호하는 방법.
  5. 제 1 항에 있어서,
    상기 레코드의 끝부분을 표시하는 사전 정의된 구분문자(a predefined delimiter)를 인식하여 상기 레코드의 상기 끝부분을 결정하는 단계를 더 포함하는
    특정 데이터 조합을 보호하는 방법.
  6. 제 1 항에 있어서,
    상기 등록 리스트는 복수의 튜플을 포함하며, 상기 등록 리스트의 각 튜플은 하나 이상의 데이터 파일의 단 하나의 레코드와 연관되는
    특정 데이터 조합을 보호하는 방법.
  7. 제 1 항에 있어서,
    상기 토큰 키는 인덱스 테이블의 인덱스에 저장되며, 상기 인덱스는 상기 등록 리스트의 상기 제 1 튜플의 위치를 표시하는 제 1 오프셋을 포함하는
    특정 데이터 조합을 보호하는 방법.
  8. 제 7 항에 있어서,
    상기 인덱스는 상기 제 1 오프셋와 연관되는 다큐먼트 식별자를 포함하고, 상기 다큐먼트 식별자는 상기 레코드를 포함하는 상기 데이터 파일을 나타내는
    특정 데이터 조합을 보호하는 방법.
  9. 제 7 항에 있어서,
    상기 인덱스는 상기 등록 리스트의 다른 복수의 토큰을 갖는 제 2 튜플에 대응하는 제 2 오프셋을 포함하고, 상기 제 2 오프셋은 상기 등록 리스트의 상기 제 2 튜플의 위치를 표시하며, 상기 제 2 튜플의 상기 다른 복수의 토큰 중 하나는 상기 토큰 키와 동일한
    특정 데이터 조합을 보호하는 방법.
  10. 삭제
  11. 복수의 튜플을 갖는 등록 리스트를 생성하도록 동작 가능한 하나 이상의 등록 모듈 - 각 튜플은 특정 데이터 요소 조합을 나타냄 - 과,
    상기 하나 이상의 등록 모듈과 연관되는 인스트럭션을 실행하도록 동작 가능한 프로세서를 포함하되,
    상기 인스트럭션은
    데이터 파일의 레코드로부터 복수의 데이터 요소를 추출하는 것과,
    상기 복수의 데이터 요소를 복수의 토큰으로 토큰화하는 것과,
    상기 복수의 토큰을 상기 등록 리스트의 제 1 튜플에 저장하는 것과,
    상기 복수의 토큰 중 하나를 상기 제 1 튜플에 대한 토큰 키로서 선택하는 것을 포함하며, 상기 토큰 키는, 상기 제 1 튜플의 상기 복수의 토큰의 다른 토큰 각각보다 상기 등록 리스트에서 발생 빈도가 낮고,
    상기 복수의 토큰 중 하나를 상기 제 1 튜플에 대한 토큰 키로서 선택하는 것은, 상기 등록 리스트의 각 토큰의 발생의 합을 포함하는 카운트 테이블을 생성하는 것과, 상기 제 1 튜플의 다른 토큰 각각에 대한 최저 발생 합을 갖는 상기 복수의 토큰 중 하나를 식별하기 위해 상기 카운트 테이블을 검색하는 것을 더 포함하는
    장치.
  12. 제 11 항에 있어서,
    적어도 하나의 데이터 요소는 사전 정의된 표현 패턴에 일치하는 문자 패턴에 의해 정의되는 표현 요소이며, 상기 사전 정의된 표현 패턴은 적어도 2개의 단어 및 상기 단어들 사이의 구분자(separator)를 나타내는
    장치.
  13. 제 11 항에 있어서,
    상기 프로세서는, 상기 레코드의 끝부분을 표시하는 사전 정의된 구분문자를 인식하여 상기 레코드의 상기 끝부분을 결정하는 것을 포함하는 추가 인스트럭션을 수행하도록 동작 가능한
    장치.
  14. 제 13 항에 있어서,
    상기 등록 리스트의 각 튜플은 하나 이상의 데이터 파일의 단 하나의 레코드와 연관되는
    장치.
  15. 제 11 항에 있어서,
    상기 토큰 키는 인덱스 테이블의 인덱스에 저장되며, 상기 인덱스는 상기 등록 리스트의 상기 제 1 튜플의 위치를 표시하는 제 1 오프셋을 포함하는
    장치.
  16. 제 15 항에 있어서,
    상기 인덱스는 상기 등록 리스트의 다른 복수의 토큰을 갖는 제 2 튜플에 대응하는 제 2 오프셋을 포함하고, 상기 제 2 오프셋은 상기 등록 리스트의 상기 제 2 튜플의 위치를 표시하며, 상기 제 2 튜플의 상기 다른 복수의 토큰 중 하나는 상기 토큰 키와 동일한
    장치.
  17. 삭제
  18. 네트워크 환경에서 프로세서에 의해 실행되는 특정 데이터 조합을 보호하는 방법으로서,
    데이터 파일의 레코드의 제 1 데이터 요소의 시작부분을 식별하는 단계와,
    상기 제 1 데이터 요소의 상기 시작부분에서 시작하는 제 1 문자 열이 사전 정의된 표현 패턴과 일치하면 상기 제 1 데이터 요소가 표현 요소라고 판정하는 단계 - 상기 사전 정의된 표현 패턴은 적어도 2개의 단어들 및 상기 단어들 사이의 구분자를 나타냄 - 와,
    상기 표현 요소를 추출하는 단계와,
    상기 표현 요소를 제 1 토큰으로 토큰화하는 단계와,
    상기 제 1 토큰을 등록 리스트의 제 1 튜플에 저장하는 단계와,
    복수의 토큰 중 하나를 상기 제 1 튜플에 대한 토큰 키로서 선택하는 단계를 포함하되, 상기 토큰 키는, 상기 제 1 튜플의 상기 복수의 토큰의 다른 토큰 각각보다 상기 등록 리스트에서 발생 빈도가 낮고,
    상기 복수의 토큰 중 하나를 상기 제 1 튜플에 대한 토큰 키로서 선택하는 단계는, 상기 등록 리스트의 각 토큰의 발생의 합을 포함하는 카운트 테이블을 생성하는 단계와, 상기 제 1 튜플의 다른 토큰 각각에 대한 최저 발생 합을 갖는 상기 복수의 토큰 중 하나를 식별하기 위해 상기 카운트 테이블을 검색하는 단계를 더 포함하는
    특정 데이터 조합을 보호하는 방법.
  19. 제 18 항에 있어서,
    상기 표현 요소를 토큰화하기 이전에 상기 표현 요소를 정규화하는 단계를 더 포함하는
    특정 데이터 조합을 보호하는 방법.
  20. 제 19 항에 있어서,
    상기 정규화하는 단계는, 상기 표현 요소로부터 상기 구분자를 제거하는 단계를 포함하는
    특정 데이터 조합을 보호하는 방법.
  21. 제 18 항에 있어서,
    상기 사전 정의된 표현 패턴은, 상기 제 1 데이터 요소의 상기 시작부분에서 시작하는 임의의 문자 열에 일치하는 복수의 사전 정의된 표현 패턴 중 가장 긴 것인
    특정 데이터 조합을 보호하는 방법.
  22. 제 18 항에 있어서,
    상기 레코드의 제 2 데이터 요소의 시작부분을 식별하는 단계와,
    상기 제 2 데이터 요소가 단어라고 판정하는 단계 - 복수의 사전 정의된 표현 패턴 중에는 상기 제 2 데이터 요소의 상기 시작부분에서 시작하는 제 2 문자 열과 일치하는 것이 없음 - 와,
    상기 단어를 추출하는 단계와,
    상기 단어를 제 2 토큰으로 토큰화하는 단계와,
    상기 제 2 토큰을 상기 등록 리스트의 상기 제 1 튜플에 저장하는 단계를 더 포함하는
    특정 데이터 조합을 보호하는 방법.
  23. 제 18 항에 있어서,
    사전 정의된 구분문자가 상기 데이터 파일의 각 연속하는 쌍의 레코드를 구분하는
    특정 데이터 조합을 보호하는 방법.
  24. 제 18 항에 있어서,
    사전 정의된 구분문자는 상기 데이터 파일의 상기 레코드 각각의 끝부분에 위치되며, 상기 사전 정의된 구분문자는 세미콜론, 줄바꿈(line feed), 캐리지 리턴(carriage return), 콜론 및 마침표로 구성되는 그룹으로부터 선택되는
    특정 데이터 조합을 보호하는 방법.
  25. 제 18 항에 있어서,
    상기 등록 리스트의 각 튜플은 상기 데이터 파일의 단 하나의 레코드와 연관되는
    특정 데이터 조합을 보호하는 방법.
  26. 제 18 항에 있어서,
    상기 적어도 2개의 단어 각각은 하나 이상의 연속하는 필수 문자의 문자 패턴에 의해 정의되는
    특정 데이터 조합을 보호하는 방법.
  27. 제 26 항에 있어서,
    상기 필수 문자는 숫자, 기록 언어의 문자, 기록 언어의 스피치 세그먼트를 나타내는 심볼로 구성되는 그룹으로부터 선택되는
    특정 데이터 조합을 보호하는 방법.
  28. 제 18 항에 있어서,
    상기 구분자는 필수 문자와 동일하지 않고, 상기 구분자는 상기 구분자가 사전 정의된 구분문자와 동일하면 사전 정의된 구분문자와 차별화되되, 상기 사전 정의된 구분문자는 상기 레코드의 끝부분을 표시하는
    특정 데이터 조합을 보호하는 방법.
  29. 등록 리스트 모듈과,
    상기 등록 리스트 모듈과 연관되는 인스트럭션을 실행하도록 동작 가능한 프로세서를 포함하되,
    상기 인스트럭션은
    데이터 파일의 레코드의 제 1 데이터 요소의 시작부분을 식별하는 것과,
    상기 제 1 데이터 요소의 상기 시작부분에서 시작하는 제 1 문자 열이 사전 정의된 표현 패턴과 일치하면 상기 제 1 데이터 요소가 표현 요소라고 판정하는 것 - 상기 사전 정의된 표현 패턴은 적어도 2개의 단어들 및 상기 단어들 사이의 구분자를 나타냄 - 과,
    상기 표현 요소를 추출하는 것과,
    상기 표현 요소를 제 1 토큰으로 토큰화하는 것과,
    상기 제 1 토큰을 등록 리스트의 제 1 튜플에 저장하는 것과,
    복수의 토큰 중 하나를 상기 제 1 튜플에 대한 토큰 키로서 선택하는 것을 포함하며, 상기 토큰 키는, 상기 제 1 튜플의 상기 복수의 토큰의 다른 토큰 각각보다 상기 등록 리스트에서 발생 빈도가 낮고,
    상기 복수의 토큰 중 하나를 상기 제 1 튜플에 대한 토큰 키로서 선택하는 것은, 상기 등록 리스트의 각 토큰의 발생의 합을 포함하는 카운트 테이블을 생성하는 것과, 상기 제 1 튜플의 다른 토큰 각각에 대한 최저 발생 합을 갖는 상기 복수의 토큰 중 하나를 식별하기 위해 상기 카운트 테이블을 검색하는 것을 더 포함하는
    장치.
  30. 제 29 항에 있어서,
    상기 프로세서는 상기 표현 요소를 토큰화하기 이전에 상기 표현 요소를 정규화하는 것을 포함하는 추가 인스트럭션을 수행하도록 동작 가능하되, 상기 정규화하는 것은 상기 표현 요소로부터 상기 구분자를 제거하는 것을 포함하는
    장치.
  31. 제 29 항에 있어서,
    상기 사전 정의된 표현 패턴은, 상기 제 1 데이터 요소의 상기 시작부분에서 시작하는 임의의 문자 열에 일치하는 복수의 사전 정의된 표현 패턴 중 가장 긴 것인
    장치.
  32. 제 29 항에 있어서,
    상기 프로세서는,
    상기 레코드의 제 2 데이터 요소의 시작부분을 식별하는 것과, 상기 제 2 데이터 요소가 단어라고 판정하는 것 - 복수의 사전 정의된 표현 패턴 중에는 상기 제 2 데이터 요소의 상기 시작부분에서 시작하는 제 2 문자 열과 일치하는 것이 없음 -과, 상기 단어를 추출하는 것과, 상기 단어를 제 2 토큰으로 토큰화하는 것과, 상기 제 2 토큰을 상기 등록 리스트의 상기 제 1 튜플에 저장하는 것을 포함하는 추가 인스트럭션을 수행하도록 동작 가능한
    장치.
  33. 제 29 항에 있어서,
    사전 정의된 구분문자가 상기 데이터 파일의 각 연속하는 쌍의 레코드를 구분하는
    장치.
  34. 제 29 항에 있어서,
    상기 등록 리스트의 각 튜플은 상기 데이터 파일의 단 하나의 레코드와 연관되는
    장치.
  35. 네트워크 환경에서 프로세서에 의해 실행되는 특정 데이터 조합을 보호하는 방법으로서,
    객체로부터 복수의 데이터 요소를 추출하는 단계와,
    상기 복수의 데이터 요소를 복수의 객체 토큰으로 토큰화하는 단계와,
    등록 리스트의 복수의 튜플 중 제 1 튜플을 식별하는 단계 - 상기 제 1 튜플은 복수의 관련 토큰들을 포함함 - 와,
    상기 복수의 관련 토큰의 각각이 상기 복수의 객체 토큰 중 적어도 하나에 대응하는지를 판정하는 단계와,
    상기 복수의 관련 토큰과 상기 복수의 객체 토큰 사이의 대응성(correspondence)의 양이 사전 결정된 임계치(predetermined threshold)를 충족하면, 이벤트를 인증하는 단계를 포함하는
    특정 데이터 조합을 보호하는 방법.
  36. 제 35 항에 있어서,
    상기 제 1 튜플을 식별하는 단계는,
    상기 복수의 객체 토큰으로부터 펜딩 키를 식별하는 단계와,
    상기 펜딩 키에 대응하는 토큰 키를 발견하기 위해 인덱스 테이블을 검색하는 단계를 더 포함하되,
    오프셋이 상기 토큰 키에 링크되고, 상기 오프셋은 상기 등록 리스트의 상기 제 1 튜플의 위치를 표시하는
    특정 데이터 조합을 보호하는 방법.
  37. 제 36 항에 있어서,
    상기 펜딩 키는 펜딩 키 리스트에 포함되되, 상기 펜딩 키 리스트는 상기 복수의 객체 토큰 중 하나가 상기 인덱스 테이블의 복수의 토큰 키 중 하나에 대응하는지를 판정하기 위해, 상기 인덱스 테이블을 검색하여 생성되며 상기 복수의 토큰 키 중 하나에 대응하는 각 객체 토큰은 상기 펜딩 키 리스트에 저장되는
    특정 데이터 조합을 보호하는 방법.
  38. 제 36 항에 있어서,
    상기 토큰 키는, 상기 제 1 튜플의 상기 복수의 관련 토큰 중 다른 관련 토큰 각각보다 상기 등록 리스트에서 발생 빈도가 낮은
    특정 데이터 조합을 보호하는 방법.
  39. 제 35 항에 있어서,
    상기 사전 결정된 임계치는, 상기 제 1 튜플의 상기 복수의 관련 토큰 각각이 상기 복수의 객체 토큰 중 적어도 하나에 대응할 때 충족되는
    특정 데이터 조합을 보호하는 방법.
  40. 제 35 항에 있어서,
    상기 복수의 객체 토큰 각각에 대해 비트를 설정하여 비트 해시 테이블로 상기 복수의 객체 토큰을 나타내는 단계를 더 포함하되,
    상기 비트 해시 테이블은 상기 비트 해시 테이블의 개별적인 비트 위치를 각각 갖는 복수의 비트를 포함하는
    특정 데이터 조합을 보호하는 방법.
  41. 제 40 항에 있어서,
    상기 판정하는 단계는,
    상기 복수의 관련 토큰 중 하나에 대응하는 상기 비트 해시 테이블의 각 비트 위치에 비트가 설정되는지를 판정하기 위해 상기 비트 해시 테이블을 평가하는 단계를 더 포함하는
    특정 데이터 조합을 보호하는 방법.
  42. 제 35 항에 있어서,
    상기 복수의 데이터 요소 중 적어도 하나는 하나 이상의 연속하는 필수 문자의 문자 패턴에 의해 정의되는 단어인
    특정 데이터 조합을 보호하는 방법.
  43. 제 35 항에 있어서,
    상기 복수의 데이터 요소 중 적어도 하나는 사전 정의된 표현 패턴에 일치하는 문자 패턴을 갖는 표현 요소이며, 상기 사전 정의된 표현 패턴은 적어도 2개의 단어들 및 상기 단어들 사이의 구분자(separator)를 나타내는
    특정 데이터 조합을 보호하는 방법.
  44. 등록 리스트와 복수의 튜플을 비교하기 위해 복수의 데이터 요소를 포함하는 객체를 수신하도록 동작 가능한 하나 이상의 검출 모듈 - 상기 튜플 각각은 특정 데이터 요소 조합을 나타냄 - 과,
    하나 이상의 검출 모듈과 연관되는 인스트럭션을 실행하도록 동작 가능한 프로세서를 포함하되,
    상기 인스트럭션은 상기 객체로부터 상기 복수의 데이터 요소를 추출하는 것과, 상기 복수의 데이터 요소를 복수의 객체 토큰으로 토큰화하는 것과, 상기 등록 리스트의 상기 복수의 튜플 중 제 1 튜플을 식별하는 것 - 상기 제 1 튜플은 복수의 관련 토큰을 포함함 - 과, 상기 복수의 관련 토큰의 각각이 상기 복수의 객체 토큰 중 적어도 하나에 대응하는지를 판정하는 것과, 상기 복수의 관련 토큰과 상기 복수의 객체 토큰 사이의 대응성(correspondence)의 양이 사전 결정된 임계치를 충족하면, 이벤트를 인증하는(validate) 것을 포함하는
    장치.
  45. 제 44 항에 있어서,
    상기 제 1 튜플을 식별하는 단계는,
    상기 복수의 객체 토큰으로부터 펜딩 키를 식별하는 단계와,
    상기 펜딩 키에 대응하는 토큰 키를 발견하기 위해 인덱스 테이블을 검색하는 단계를 더 포함하되,
    오프셋이 상기 토큰 키에 링크되고, 상기 오프셋은 상기 등록 리스트의 상기 제 1 튜플의 위치를 가리키는
    장치.
  46. 제 45 항에 있어서,
    상기 펜딩 키는 펜딩 키 리스트에 포함되되,
    상기 펜딩 키 리스트는 상기 복수의 객체 토큰 중 하나가 상기 인덱스 테이블의 복수의 토큰 키 중 하나에 대응하는지를 판정하기 위해, 상기 인덱스 테이블을 검색하여 생성되며, 상기 인덱스 테이블의 상기 복수의 토큰 키 중 하나에 대응하는 각 객체 토큰은 상기 펜딩 키 리스트에 저장되는
    장치.
  47. 제 44 항에 있어서,
    상기 토큰 키는, 상기 제 1 튜플의 상기 복수의 관련 토큰 중 다른 관련 토큰 각각보다 상기 등록 리스트에서 발생 빈도가 낮은
    장치.
  48. 제 44 항에 있어서,
    상기 사전 결정된 임계치는, 상기 제 1 튜플의 상기 복수의 관련 토큰 각각이 상기 복수의 객체 토큰 중 적어도 하나에 대응할 때 충족되는
    장치.
  49. 제 44 항에 있어서,
    상기 복수의 데이터 요소 중 적어도 하나는 하나 이상의 연속하는 필수 문자의 문자 패턴에 의해 정의되는 단어인
    장치.
  50. 제 44 항에 있어서,
    상기 복수의 데이터 요소 중 적어도 하나는 사전 정의된 표현 패턴에 일치하는 문자 패턴을 갖는 표현 요소이며, 상기 사전 정의된 표현 패턴은 적어도 2개의 단어들 및 상기 단어들 사이의 구분자(separator)를 나타내는
    장치.
KR1020137014404A 2010-11-04 2011-02-15 특정 데이터 조합 보호 방법 및 장치 KR101538305B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/939,340 US8806615B2 (en) 2010-11-04 2010-11-04 System and method for protecting specified data combinations
US12/939,340 2010-11-04
PCT/US2011/024902 WO2012060892A2 (en) 2010-11-04 2011-02-15 System and method for protecting specified data combinations

Publications (2)

Publication Number Publication Date
KR20140041391A KR20140041391A (ko) 2014-04-04
KR101538305B1 true KR101538305B1 (ko) 2015-07-21

Family

ID=44278699

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137014404A KR101538305B1 (ko) 2010-11-04 2011-02-15 특정 데이터 조합 보호 방법 및 장치

Country Status (6)

Country Link
US (5) US8806615B2 (ko)
EP (1) EP2499806A2 (ko)
JP (1) JP5727027B2 (ko)
KR (1) KR101538305B1 (ko)
CN (1) CN103430504B (ko)
WO (1) WO2012060892A2 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9313232B2 (en) 2009-03-25 2016-04-12 Mcafee, Inc. System and method for data mining and security policy management
US9374225B2 (en) 2003-12-10 2016-06-21 Mcafee, Inc. Document de-registration
US9602548B2 (en) 2009-02-25 2017-03-21 Mcafee, Inc. System and method for intelligent state management
US9794254B2 (en) 2010-11-04 2017-10-17 Mcafee, Inc. System and method for protecting specified data combinations

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8656039B2 (en) 2003-12-10 2014-02-18 Mcafee, Inc. Rule parser
US7899828B2 (en) 2003-12-10 2011-03-01 Mcafee, Inc. Tag data structure for maintaining relational data over captured objects
US7984175B2 (en) 2003-12-10 2011-07-19 Mcafee, Inc. Method and apparatus for data capture and analysis system
US7930540B2 (en) 2004-01-22 2011-04-19 Mcafee, Inc. Cryptographic policy enforcement
US7962591B2 (en) * 2004-06-23 2011-06-14 Mcafee, Inc. Object classification in a capture system
US8560534B2 (en) 2004-08-23 2013-10-15 Mcafee, Inc. Database for a capture system
US7949849B2 (en) 2004-08-24 2011-05-24 Mcafee, Inc. File system for a capture system
US7907608B2 (en) 2005-08-12 2011-03-15 Mcafee, Inc. High speed packet capture
US7818326B2 (en) 2005-08-31 2010-10-19 Mcafee, Inc. System and method for word indexing in a capture system and querying thereof
US7730011B1 (en) 2005-10-19 2010-06-01 Mcafee, Inc. Attributes of captured objects in a capture system
US8504537B2 (en) 2006-03-24 2013-08-06 Mcafee, Inc. Signature distribution in a document registration system
US7689614B2 (en) 2006-05-22 2010-03-30 Mcafee, Inc. Query generation for a capture system
US7958227B2 (en) 2006-05-22 2011-06-07 Mcafee, Inc. Attributes of captured objects in a capture system
US8205242B2 (en) 2008-07-10 2012-06-19 Mcafee, Inc. System and method for data mining and security policy management
US9253154B2 (en) 2008-08-12 2016-02-02 Mcafee, Inc. Configuration management for a capture/registration system
US8850591B2 (en) 2009-01-13 2014-09-30 Mcafee, Inc. System and method for concept building
US8706709B2 (en) 2009-01-15 2014-04-22 Mcafee, Inc. System and method for intelligent term grouping
US8667121B2 (en) 2009-03-25 2014-03-04 Mcafee, Inc. System and method for managing data and policies
WO2012125006A2 (ko) * 2011-03-16 2012-09-20 한국전자통신연구원 레프리젠테이션을 사용하는 스트리밍 콘텐츠 제공 장치 및 방법
JP5677899B2 (ja) * 2011-06-16 2015-02-25 株式会社三菱東京Ufj銀行 情報処理装置及び情報処理方法
WO2012177681A2 (en) * 2011-06-20 2012-12-27 Aces & Eights Corporation Systems and methods for digital forensic triage
WO2013019519A1 (en) * 2011-08-02 2013-02-07 Rights Over Ip, Llc Rights-based system
US8700561B2 (en) 2011-12-27 2014-04-15 Mcafee, Inc. System and method for providing data protection workflows in a network environment
US8880989B2 (en) 2012-01-30 2014-11-04 Microsoft Corporation Educating users and enforcing data dissemination policies
US9087039B2 (en) * 2012-02-07 2015-07-21 Microsoft Technology Licensing, Llc Language independent probabilistic content matching
US20130212007A1 (en) 2012-02-10 2013-08-15 Protegrity Corporation Tokenization in payment environments
US20140059088A1 (en) * 2012-08-21 2014-02-27 Protegrity Corporation Tokenization of Date Information
EP2912816A4 (en) * 2012-10-23 2016-06-29 Nokia Technologies Oy METHOD AND DEVICE FOR ADMINISTERING ACCESS RIGHTS
US9633093B2 (en) 2012-10-23 2017-04-25 Ip Reservoir, Llc Method and apparatus for accelerated format translation of data in a delimited data format
US10133802B2 (en) 2012-10-23 2018-11-20 Ip Reservoir, Llc Method and apparatus for accelerated record layout detection
WO2014066416A2 (en) 2012-10-23 2014-05-01 Ip Reservoir, Llc Method and apparatus for accelerated format translation of data in a delimited data format
CN103346933B (zh) * 2013-07-22 2016-05-18 盛科网络(苏州)有限公司 动态监测报文转发的装置
WO2015164639A1 (en) 2014-04-23 2015-10-29 Ip Reservoir, Llc Method and apparatus for accelerated data translation
CN106464674B (zh) * 2014-05-12 2021-11-16 谷歌有限责任公司 管理nic加密流以用于迁移客户或任务
US9922037B2 (en) 2015-01-30 2018-03-20 Splunk Inc. Index time, delimiter based extractions and previewing for use in indexing
DE102015202121B4 (de) 2015-02-06 2017-09-14 Infineon Technologies Ag SiC-basierte Supersperrschicht-Halbleitervorrichtungen und Verfahren zur Herstellung dieser
US10942943B2 (en) 2015-10-29 2021-03-09 Ip Reservoir, Llc Dynamic field data translation to support high performance stream data processing
US10412102B1 (en) * 2015-12-17 2019-09-10 Skyhigh Networks, Llc Cloud based data loss prevention system using graphical processing units for index filtering
US10735438B2 (en) * 2016-01-06 2020-08-04 New York University System, method and computer-accessible medium for network intrusion detection
WO2017180144A1 (en) * 2016-04-15 2017-10-19 Hitachi Data Systems Corporation Deduplication index enabling scalability
JP6781373B2 (ja) * 2016-10-05 2020-11-04 富士通株式会社 検索プログラム、検索方法、および検索装置
US10706038B2 (en) 2017-07-27 2020-07-07 Cisco Technology, Inc. System and method for state object data store
US10911233B2 (en) * 2017-09-11 2021-02-02 Zscaler, Inc. Identification of related tokens in a byte stream using structured signature data
US10496460B2 (en) 2017-11-15 2019-12-03 Bank Of America Corporation System for technology anomaly detection, triage and response using solution data modeling
US10713224B2 (en) * 2017-11-15 2020-07-14 Bank Of America Corporation Implementing a continuity plan generated using solution data modeling based on predicted future event simulation testing
US10749791B2 (en) 2017-11-15 2020-08-18 Bank Of America Corporation System for rerouting electronic data transmissions based on generated solution data models
JP6762678B2 (ja) * 2018-03-27 2020-09-30 日本電信電話株式会社 違法コンテンツ探索装置、違法コンテンツ探索方法およびプログラム
US10970406B2 (en) 2018-05-08 2021-04-06 Bank Of America Corporation System for mitigating exposure associated with identified unmanaged devices in a network using solution data modelling
US10977283B2 (en) 2018-05-08 2021-04-13 Bank Of America Corporation System for mitigating intentional and unintentional exposure using solution data modelling
US10936984B2 (en) 2018-05-08 2021-03-02 Bank Of America Corporation System for mitigating exposure associated with identified impacts of technological system changes based on solution data modelling
US11023835B2 (en) 2018-05-08 2021-06-01 Bank Of America Corporation System for decommissioning information technology assets using solution data modelling
US11327940B2 (en) * 2019-12-18 2022-05-10 International Business Machines Corporation Interlinked tuples in coordination namespace
US11201737B1 (en) * 2020-05-19 2021-12-14 Acronis International Gmbh Systems and methods for generating tokens using secure multiparty computation engines
US11863682B2 (en) 2021-12-07 2024-01-02 AXS Group LLC Systems and methods for encrypted multifactor authentication using imaging devices and image enhancement
US20230342481A1 (en) * 2022-04-22 2023-10-26 The Toronto-Dominion Back On-demand real-time tokenization systems and methods

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001047205A2 (en) * 1999-12-22 2001-06-28 Tashilon Ltd. Enhanced computer network encryption using downloaded software objects
US7165175B1 (en) * 2000-09-06 2007-01-16 Widevine Technologies, Inc. Apparatus, system and method for selectively encrypting different portions of data sent over a network
KR20080087021A (ko) * 2005-12-29 2008-09-29 악시오닉스 아게 보안 토큰 및 보안 토큰으로 사용자를 인증하는 방법
WO2011080745A2 (en) * 2009-12-31 2011-07-07 Vaultive Ltd. System, apparatus and method for encryption and decryption of data transmitted over a network

Family Cites Families (412)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3855669A (en) 1973-10-05 1974-12-24 Usm Corp Adjustable strap with quick release
US4286255A (en) 1979-02-22 1981-08-25 Burroughs Corporation Signature verification method and apparatus
US4710957A (en) 1986-04-30 1987-12-01 Motorola, Inc. Data detection by statistical analysis
US5497489A (en) 1987-05-05 1996-03-05 Menne; David M. Data storage and retrieval systems having labelling for data
US5249289A (en) 1989-09-28 1993-09-28 International Business Machines Corporation System and method for rebuilding edited digital audio files
US5479654A (en) 1990-04-26 1995-12-26 Squibb Data Systems, Inc. Apparatus and method for reconstructing a file from a difference signature and an original file
ATE260486T1 (de) * 1992-07-31 2004-03-15 Ibm Auffindung von zeichenketten in einer datenbank von zeichenketten
US5465299A (en) 1992-12-03 1995-11-07 Hitachi, Ltd. Electronic document processing system and method of forming digital signature
JP3132738B2 (ja) 1992-12-10 2001-02-05 ゼロックス コーポレーション テキスト検索方法
US5557747A (en) 1993-06-22 1996-09-17 Rogers; Lawrence D. Network policy implementation system for performing network control operations in response to changes in network state
US20020013898A1 (en) 1997-06-04 2002-01-31 Sudia Frank W. Method and apparatus for roaming use of cryptographic values
US5600831A (en) 1994-02-28 1997-02-04 Lucent Technologies Inc. Apparatus and methods for retrieving information by modifying query plan based on description of information sources
US5715443A (en) 1994-07-25 1998-02-03 Apple Computer, Inc. Method and apparatus for searching for information in a data processing system and for providing scheduled search reports in a summary format
US5623652A (en) 1994-07-25 1997-04-22 Apple Computer, Inc. Method and apparatus for searching for information in a network and for controlling the display of searchable information on display devices in the network
AU691366B2 (en) 1994-10-28 1998-05-14 Surety.Com, Inc. Digital document authentication system for providing a certificate which authenticates and uniquely identifies a document
CN101398871B (zh) 1995-02-13 2011-05-18 英特特拉斯特技术公司 用于安全交易管理和电子权利保护的系统和方法
US5794052A (en) 1995-02-27 1998-08-11 Ast Research, Inc. Method of software installation and setup
US5813009A (en) 1995-07-28 1998-09-22 Univirtual Corp. Computer based records management system method
US7337315B2 (en) 1995-10-02 2008-02-26 Corestreet, Ltd. Efficient certificate revocation
US6493761B1 (en) 1995-12-20 2002-12-10 Nb Networks Systems and methods for data processing using a protocol parsing engine
US5787232A (en) 1996-01-10 1998-07-28 Siemens Corporate Research, Inc. Efficient data-driven theory revision system
US20050182765A1 (en) 1996-02-09 2005-08-18 Technology Innovations, Llc Techniques for controlling distribution of information from a secure domain
US6457017B2 (en) 1996-05-17 2002-09-24 Softscape, Inc. Computing system for information management
US6122379A (en) 1996-05-30 2000-09-19 Deloitte & Touche Inc. Method and apparatus for performing simultaneous data compression and encryption
US5778157A (en) 1996-06-17 1998-07-07 Yy Software Corporation System and method for expert system analysis using quiescent and parallel reasoning and set structured knowledge representation
GB2318479B (en) 1996-10-21 2001-04-04 Northern Telecom Ltd Problem model for alarm correlation
GB2318478B (en) 1996-10-21 2001-01-17 Northern Telecom Ltd Network model for alarm correlation
JP4291892B2 (ja) 1996-12-06 2009-07-08 株式会社セガ 画像処理装置およびその方法
US6292810B1 (en) 1997-03-03 2001-09-18 Richard Steele Richards Polymorphic enhanced modeling
US6278992B1 (en) 1997-03-19 2001-08-21 John Andrew Curtis Search engine using indexing method for storing and retrieving data
US5937422A (en) 1997-04-15 1999-08-10 The United States Of America As Represented By The National Security Agency Automatically generating a topic description for text and searching and sorting text by topic using the same
US6131162A (en) 1997-06-05 2000-10-10 Hitachi Ltd. Digital data authentication method
US6073142A (en) 1997-06-23 2000-06-06 Park City Group Automated post office based rule analysis of e-mail messages and other data objects for controlled distribution in network environments
US6233575B1 (en) 1997-06-24 2001-05-15 International Business Machines Corporation Multilevel taxonomy based on features derived from training documents classification using fisher values as discrimination values
US5873081A (en) 1997-06-27 1999-02-16 Microsoft Corporation Document filtering via directed acyclic graphs
US6094531A (en) 1997-08-25 2000-07-25 Hewlett-Packard Company Method and apparatus for automatically installing operating systems machines
US5991414A (en) 1997-09-12 1999-11-23 International Business Machines Corporation Method and apparatus for the secure distributed storage and retrieval of information
WO1999017223A1 (en) 1997-09-30 1999-04-08 Ihc Health Services, Inc. Aprobabilistic system for natural language processing
DE69801320T2 (de) 1997-10-06 2002-05-29 Powerquest Corp System und verfahren für punkt-zu mehrpunkt bildübertragung zwischen rechnern in einem netzwerk
US5924096A (en) 1997-10-15 1999-07-13 Novell, Inc. Distributed database using indexed into tags to tracks events according to type, update cache, create virtual update log on demand
US6026411A (en) 1997-11-06 2000-02-15 International Business Machines Corporation Method, apparatus, and computer program product for generating an image index and for internet searching and querying by image colors
US5943670A (en) 1997-11-21 1999-08-24 International Business Machines Corporation System and method for categorizing objects in combined categories
US6243091B1 (en) 1997-11-21 2001-06-05 International Business Machines Corporation Global history view
US6078953A (en) 1997-12-29 2000-06-20 Ukiah Software, Inc. System and method for monitoring quality of service over network
US6260044B1 (en) 1998-02-04 2001-07-10 Nugenesis Technologies Corporation Information storage and retrieval system for storing and retrieving the visual form of information from an application in a database
US5987610A (en) 1998-02-12 1999-11-16 Ameritech Corporation Computer virus screening methods and systems
US7171662B1 (en) 1998-03-18 2007-01-30 Microsoft Corporation System and method for software licensing
US6175867B1 (en) 1998-03-23 2001-01-16 Mci World Com, Inc. System and method for managing networks addressed via common network addresses
US6411952B1 (en) * 1998-06-24 2002-06-25 Compaq Information Technologies Group, Lp Method for learning character patterns to interactively control the scope of a web crawler
US6336186B1 (en) 1998-07-02 2002-01-01 Networks Associates Technology, Inc. Cryptographic system and methodology for creating and managing crypto policy on certificate servers
US6141738A (en) 1998-07-08 2000-10-31 Nortel Networks Corporation Address translation method and system having a forwarding table data structure
US7133400B1 (en) 1998-08-07 2006-11-07 Intel Corporation System and method for filtering data
US6343376B1 (en) 1998-10-22 2002-01-29 Computer Computer Corporation System and method for program verification and optimization
US6167445A (en) 1998-10-26 2000-12-26 Cisco Technology, Inc. Method and apparatus for defining and implementing high-level quality of service policies in computer networks
US6978297B1 (en) 1998-11-12 2005-12-20 Ricoh, Co., Ltd. System and method of managing queues by maintaining metadata files having attributes corresponding to capture of electronic document and using the metadata files to selectively lock the electronic document
EP1141811A2 (en) * 1998-12-08 2001-10-10 Mediadna, Inc. A system and method of obfuscating data
WO2000046701A1 (en) 1999-02-08 2000-08-10 Huntsman Ici Chemicals Llc Method for retrieving semantically distant analogies
US6584458B1 (en) 1999-02-19 2003-06-24 Novell, Inc. Method and apparatuses for creating a full text index accommodating child words
US6408301B1 (en) 1999-02-23 2002-06-18 Eastman Kodak Company Interactive image storage, indexing and retrieval system
US6516320B1 (en) 1999-03-08 2003-02-04 Pliant Technologies, Inc. Tiered hashing for data access
US6539024B1 (en) 1999-03-26 2003-03-25 Alcatel Canada Inc. Method and apparatus for data buffer management in a communications switch
US6408294B1 (en) 1999-03-31 2002-06-18 Verizon Laboratories Inc. Common term optimization
US6571275B1 (en) 1999-04-27 2003-05-27 International Business Machines Corporation Method and apparatus for filtering messages in a data processing system
US6629097B1 (en) 1999-04-28 2003-09-30 Douglas K. Keith Displaying implicit associations among items in loosely-structured data sets
US6678827B1 (en) 1999-05-06 2004-01-13 Watchguard Technologies, Inc. Managing multiple network security devices from a manager device
US6515681B1 (en) 1999-05-11 2003-02-04 Prophet Financial Systems, Inc. User interface for interacting with online message board
US6785815B1 (en) 1999-06-08 2004-08-31 Intertrust Technologies Corp. Methods and systems for encoding and protecting data using digital signature and watermarking techniques
US7293067B1 (en) 1999-07-16 2007-11-06 Canon Kabushiki Kaisha System for searching device on network
JP2001043158A (ja) 1999-07-28 2001-02-16 Toshiba Tec Corp 管理データ処理装置及び管理データ処理プログラムを記録したコンピュータ読取可能な記録媒体
US20020128903A1 (en) 1999-08-23 2002-09-12 Kent Kernahan Encrypted coupons
US6771595B1 (en) 1999-08-31 2004-08-03 Intel Corporation Apparatus and method for dynamic resource allocation in a network environment
US6389419B1 (en) 1999-10-06 2002-05-14 Cisco Technology, Inc. Storing and retrieving connection information using bidirectional hashing of connection identifiers
US20030065571A1 (en) 1999-10-14 2003-04-03 Rabindranath Dutta System, method, and program for determining the jurisdiction of a product delivery location by using the ip address of the client while selling items via electronic commerce over the internet
US6976053B1 (en) 1999-10-14 2005-12-13 Arcessa, Inc. Method for using agents to create a computer index corresponding to the contents of networked computers
US6978367B1 (en) 1999-10-21 2005-12-20 International Business Machines Corporation Selective data encryption using style sheet processing for decryption by a client proxy
US6460050B1 (en) 1999-12-22 2002-10-01 Mark Raymond Pace Distributed content identification system
US6556983B1 (en) 2000-01-12 2003-04-29 Microsoft Corporation Methods and apparatus for finding semantic information, such as usage logs, similar to a query using a pattern lattice data space
US7010683B2 (en) 2000-01-14 2006-03-07 Howlett-Packard Development Company, L.P. Public key validation service
JP3471694B2 (ja) 2000-01-31 2003-12-02 日本電気株式会社 網管理システムにおけるトラヒック収集方式
JP2001222424A (ja) 2000-02-08 2001-08-17 Fujitsu Ltd ソフトウェアライセンス管理装置,ソフトウェアライセンス管理方法およびソフトウェアライセンス管理用プログラム記録媒体
US6502091B1 (en) 2000-02-23 2002-12-31 Hewlett-Packard Company Apparatus and method for discovering context groups and document categories by mining usage logs
US20020032677A1 (en) 2000-03-01 2002-03-14 Jeff Morgenthaler Methods for creating, editing, and updating searchable graphical database and databases of graphical images and information and displaying graphical images from a searchable graphical database or databases in a sequential or slide show format
US7007020B1 (en) 2000-03-10 2006-02-28 Hewlett-Packard Development Company, L.P. Distributed OLAP-based association rule generation method and system
US20010046230A1 (en) 2000-03-14 2001-11-29 Rojas Michael J. Method and programmable device for telecommunications applications
EP1264261B1 (en) 2000-03-14 2005-11-16 Speed-trap.com Ltd. Monitoring operation of and interaction with services provided over a network
US6757646B2 (en) 2000-03-22 2004-06-29 Insightful Corporation Extended functionality for an inverse inference engine based web search
US7139765B1 (en) * 2000-04-03 2006-11-21 Alan Balkany Hierarchical method for storing data with improved compression
US6820082B1 (en) 2000-04-03 2004-11-16 Allegis Corporation Rule based database security system and method
US6578022B1 (en) 2000-04-18 2003-06-10 Icplanet Corporation Interactive intelligent searching with executable suggestions
WO2001082138A2 (en) 2000-04-24 2001-11-01 Spectrum Controls, Inc. Method, system, and apparatus for providing data regarding the operation and monitoring of a control system
US6772214B1 (en) 2000-04-27 2004-08-03 Novell, Inc. System and method for filtering of web-based content stored on a proxy cache server
US7072967B1 (en) 2000-05-09 2006-07-04 Sun Microsystems, Inc. Efficient construction of message endpoints
US6427120B1 (en) 2000-08-14 2002-07-30 Sirf Technology, Inc. Information transfer in a multi-mode global positioning system used with wireless networks
US20020052896A1 (en) 2000-05-23 2002-05-02 Streit Jason Mitchell Secure signature and date placement system
US7299489B1 (en) 2000-05-25 2007-11-20 Lucent Technologies Inc. Method and apparatus for host probing
US6748431B1 (en) 2000-05-26 2004-06-08 Microsoft Corporation Systems and methods for monitoring network exchanges between a client and a server
US6691209B1 (en) 2000-05-26 2004-02-10 Emc Corporation Topological data categorization and formatting for a mass storage system
WO2001099373A2 (en) 2000-06-16 2001-12-27 Securify, Inc. System and method for security policy
US6961858B2 (en) 2000-06-16 2005-11-01 Entriq, Inc. Method and system to secure content for distribution via a network
US6901519B1 (en) 2000-06-22 2005-05-31 Infobahn, Inc. E-mail virus protection system and method
AU2001273221A1 (en) 2000-07-06 2002-01-21 Homeportal, Inc. Method and system for controlling and coordinating devices and appliances, such as from a central portal and via a wide/area communications network
US7185192B1 (en) 2000-07-07 2007-02-27 Emc Corporation Methods and apparatus for controlling access to a resource
US6675159B1 (en) 2000-07-27 2004-01-06 Science Applic Int Corp Concept-based search and retrieval system
US7181769B1 (en) 2000-08-25 2007-02-20 Ncircle Network Security, Inc. Network security system having a device profiler communicatively coupled to a traffic monitor
WO2002019127A1 (en) 2000-08-25 2002-03-07 Integrated Business Systems And Services, Inc. Transaction-based enterprise application integration (eai) and development system
GB2368233B (en) 2000-08-31 2002-10-16 F Secure Oyj Maintaining virus detection software
NO313399B1 (no) 2000-09-14 2002-09-23 Fast Search & Transfer Asa Fremgangsmate til soking og analyse av informasjon i datanettverk
US6754647B1 (en) 2000-09-26 2004-06-22 Verity, Inc. Method and apparatus for hierarchically decomposed bot scripts
US7093288B1 (en) 2000-10-24 2006-08-15 Microsoft Corporation Using packet filters and network virtualization to restrict network communications
US6970939B2 (en) 2000-10-26 2005-11-29 Intel Corporation Method and apparatus for large payload distribution in a network
US7016532B2 (en) 2000-11-06 2006-03-21 Evryx Technologies Image capture and identification system and process
US7669051B2 (en) 2000-11-13 2010-02-23 DigitalDoors, Inc. Data security system and method with multiple independent levels of security
US7296088B1 (en) 2000-11-17 2007-11-13 Microsoft Corporation System and method for determining the geographic location of internet hosts
US6665662B1 (en) 2000-11-20 2003-12-16 Cisco Technology, Inc. Query translation system for retrieving business vocabulary terms
US7062705B1 (en) 2000-11-20 2006-06-13 Cisco Technology, Inc. Techniques for forming electronic documents comprising multiple information types
US7139973B1 (en) 2000-11-20 2006-11-21 Cisco Technology, Inc. Dynamic information object cache approach useful in a vocabulary retrieval system
US7103607B1 (en) 2000-11-20 2006-09-05 Cisco Technology, Inc. Business vocabulary data retrieval using alternative forms
US20020103920A1 (en) 2000-11-21 2002-08-01 Berkun Ken Alan Interpretive stream metadata extraction
JP2002169808A (ja) 2000-11-30 2002-06-14 Hitachi Ltd セキュアマルチデータベースシステム
US7113943B2 (en) * 2000-12-06 2006-09-26 Content Analyst Company, Llc Method for document comparison and selection
US7210037B2 (en) 2000-12-15 2007-04-24 Oracle International Corp. Method and apparatus for delegating digital signatures to a signature server
US7296070B2 (en) 2000-12-22 2007-11-13 Tier-3 Pty. Ltd. Integrated monitoring system
US20020091579A1 (en) 2001-01-09 2002-07-11 Partnercommunity, Inc. Method and system for managing and correlating orders in a multilateral environment
US20020126673A1 (en) 2001-01-12 2002-09-12 Nirav Dagli Shared memory
US7440953B2 (en) 2001-01-25 2008-10-21 Content Directions, Inc. Apparatus, method and system for directory quality assurance
US7168093B2 (en) 2001-01-25 2007-01-23 Solutionary, Inc. Method and apparatus for verifying the integrity and security of computer networks and implementation of counter measures
US20020103876A1 (en) 2001-01-29 2002-08-01 Masayuki Chatani System and computer-based method for providing transformed information in response to a client search request
US6937257B1 (en) 2001-01-31 2005-08-30 Pharsight Corporation Unit tracking and notification in a graphical drug model editor
US6853998B2 (en) 2001-02-07 2005-02-08 International Business Machines Corporation Customer self service subsystem for classifying user contexts
US20020116721A1 (en) 2001-02-16 2002-08-22 Gemini Networks, Inc. Method and system of expanding a customer base of a data services provider
US7272724B2 (en) 2001-02-20 2007-09-18 Mcafee, Inc. User alerts in an anti computer virus system
US7681032B2 (en) 2001-03-12 2010-03-16 Portauthority Technologies Inc. System and method for monitoring unauthorized transport of digital content
US7062572B1 (en) 2001-03-19 2006-06-13 Microsoft Corporation Method and system to determine the geographic location of a network user
US7024609B2 (en) 2001-04-20 2006-04-04 Kencast, Inc. System for protecting the transmission of live data streams, and upon reception, for reconstructing the live data streams and recording them into files
US20030093678A1 (en) 2001-04-23 2003-05-15 Bowe John J. Server-side digital signature system
US7085267B2 (en) 2001-04-27 2006-08-01 International Business Machines Corporation Methods, systems and computer program products for translating internet protocol (IP) addresses located in a payload of a packet
US7194483B1 (en) 2001-05-07 2007-03-20 Intelligenxia, Inc. Method, system, and computer program product for concept-based multi-dimensional analysis of unstructured information
US6662176B2 (en) 2001-05-07 2003-12-09 Hewlett-Packard Development Company, L.P. Database indexing and rolling storage method for time-stamped normalized event data
US20040015579A1 (en) 2001-06-14 2004-01-22 Geoffrey Cooper Method and apparatus for enterprise management
US20040230572A1 (en) 2001-06-22 2004-11-18 Nosa Omoigui System and method for semantic knowledge retrieval, management, capture, sharing, discovery, delivery and presentation
US8200818B2 (en) 2001-07-06 2012-06-12 Check Point Software Technologies, Inc. System providing internet access management with router-based policy enforcement
US7277957B2 (en) 2001-07-17 2007-10-02 Mcafee, Inc. Method of reconstructing network communications
US7047297B2 (en) 2001-07-17 2006-05-16 Mcafee, Inc. Hierarchically organizing network data collected from full time recording machines and efficiently filtering the same
CN100509055C (zh) 2001-07-27 2009-07-08 奥索洛吉艾斯有限公司 使用凝血酶衍生的缩氨酸治疗慢性真皮溃疡
JP2003046500A (ja) 2001-08-03 2003-02-14 Nec Corp 個人情報管理システム及び個人情報管理方法、並びに情報処理サーバ
US20030028774A1 (en) 2001-08-06 2003-02-06 Meka Anil Kumar Ensuring the integrity of an electronic document
US20050022114A1 (en) 2001-08-13 2005-01-27 Xerox Corporation Meta-document management system with personality identifiers
US7130587B2 (en) 2001-08-22 2006-10-31 National Institute of Information and Communications Technology Incorporated, Administrative Agency Communication quality estimation method, communication quality estimation apparatus, and communication system
US7403938B2 (en) * 2001-09-24 2008-07-22 Iac Search & Media, Inc. Natural language query processing
US7765313B2 (en) 2001-10-09 2010-07-27 Alcatel Lucent Hierarchical protocol classification engine
US20030105739A1 (en) 2001-10-12 2003-06-05 Hassane Essafi Method and a system for identifying and verifying the content of multimedia documents
JP2003132160A (ja) 2001-10-23 2003-05-09 Nec Corp 個人情報管理システムと個人情報管理装置、及び個人情報管理プログラム
CA2410172A1 (en) * 2001-10-29 2003-04-29 Jose Alejandro Rueda Content routing architecture for enhanced internet services
US20030084326A1 (en) 2001-10-31 2003-05-01 Richard Paul Tarquini Method, node and computer readable medium for identifying data in a network exploit
US20030084318A1 (en) 2001-10-31 2003-05-01 Schertz Richard L. System and method of graphically correlating data for an intrusion protection system
US20040205457A1 (en) 2001-10-31 2004-10-14 International Business Machines Corporation Automatically summarising topics in a collection of electronic documents
US7133365B2 (en) 2001-11-02 2006-11-07 Internap Network Services Corporation System and method to provide routing control of information over networks
KR100434335B1 (ko) 2001-11-27 2004-06-04 학교법인 한국정보통신학원 광 버스트 스위칭 네트워크의 제어패킷과 데이터 버스트생성방법
US7496604B2 (en) 2001-12-03 2009-02-24 Aol Llc Reducing duplication of files on a network
US7020654B1 (en) 2001-12-05 2006-03-28 Sun Microsystems, Inc. Methods and apparatus for indexing content
US7320070B2 (en) 2002-01-08 2008-01-15 Verizon Services Corp. Methods and apparatus for protecting against IP address assignments based on a false MAC address
US7299277B1 (en) 2002-01-10 2007-11-20 Network General Technology Media module apparatus and method for use in a network monitoring environment
WO2003060766A1 (en) 2002-01-16 2003-07-24 Elucidon Ab Information data retrieval, where the data is organized in terms, documents and document corpora
US7240330B2 (en) * 2002-02-01 2007-07-03 John Fairweather Use of ontologies for auto-generating and handling applications, their persistent storage, and user interfaces
US7493659B1 (en) 2002-03-05 2009-02-17 Mcafee, Inc. Network intrusion detection and analysis system and method
US7424744B1 (en) 2002-03-05 2008-09-09 Mcafee, Inc. Signature based network intrusion detection system and method
US20030185220A1 (en) 2002-03-27 2003-10-02 Moshe Valenci Dynamically loading parsing capabilities
US7551629B2 (en) 2002-03-28 2009-06-23 Precache, Inc. Method and apparatus for propagating content filters for a publish-subscribe network
US7290048B1 (en) 2002-03-29 2007-10-30 Hyperformix, Inc. Method of semi-automatic data collection, data analysis, and model generation for the performance analysis of enterprise applications
US7296232B1 (en) 2002-04-01 2007-11-13 Microsoft Corporation Calendar control for selection of time periods to filter data
US20030196081A1 (en) 2002-04-11 2003-10-16 Raymond Savarda Methods, systems, and computer program products for processing a packet-object using multiple pipelined processing modules
US7246236B2 (en) 2002-04-18 2007-07-17 Nokia Corporation Method and apparatus for providing peer authentication for a transport layer session
US7254632B2 (en) 2002-04-26 2007-08-07 P-Cube Ltd. Apparatus and method for pattern matching in text based protocol
CA2483407C (en) 2002-04-26 2016-08-02 Research In Motion Limited System and method for selection of messaging settings
US20030204741A1 (en) 2002-04-26 2003-10-30 Isadore Schoen Secure PKI proxy and method for instant messaging clients
US20060242313A1 (en) 2002-05-06 2006-10-26 Lewiz Communications Network content processor including packet engine
KR100460322B1 (ko) 2002-05-31 2004-12-08 (주) 시큐컴 스팸메일 방지 시스템 및 방법
US7574488B2 (en) 2002-05-31 2009-08-11 Hitachi, Ltd. Method and apparatus for peer-to-peer file sharing
US7577154B1 (en) 2002-06-03 2009-08-18 Equinix, Inc. System and method for traffic accounting and route customization of network services
WO2003107321A1 (en) 2002-06-12 2003-12-24 Jena Jordahl Data storage, retrieval, manipulation and display tools enabling multiple hierarchical points of view
US8051131B2 (en) 2002-06-12 2011-11-01 Hewlett-Packard Development Company, L.P. E-mail addressing and document management
US20030231632A1 (en) 2002-06-13 2003-12-18 International Business Machines Corporation Method and system for packet-level routing
US20060041760A1 (en) 2002-06-26 2006-02-23 Zezhen Huang Trusted computer activity monitoring and recording system and method
US6961721B2 (en) * 2002-06-28 2005-11-01 Microsoft Corporation Detecting duplicate records in database
US7020661B1 (en) 2002-07-10 2006-03-28 Oracle International Corporation Techniques for pruning a data object during operations that join multiple data objects
JP4195444B2 (ja) 2002-07-11 2008-12-10 インターナショナル・ビジネス・マシーンズ・コーポレーション ファイル・システムapiを拡張するための方法およびシステム
US7254562B2 (en) 2002-07-11 2007-08-07 Hewlett-Packard Development Company, L.P. Rule-based packet selection, storage, and access method and system
US7082443B1 (en) 2002-07-23 2006-07-25 Navteq North America, Llc Method and system for updating geographic databases
US8612404B2 (en) 2002-07-30 2013-12-17 Stored Iq, Inc. Harvesting file system metsdata
JP4309629B2 (ja) 2002-09-13 2009-08-05 株式会社日立製作所 ネットワークシステム
GB0221464D0 (en) 2002-09-16 2002-10-23 Cambridge Internetworking Ltd Network interface and protocol
US7886359B2 (en) 2002-09-18 2011-02-08 Symantec Corporation Method and apparatus to report policy violations in messages
US8041719B2 (en) * 2003-05-06 2011-10-18 Symantec Corporation Personal computing device-based mechanism to detect preselected data
US8225371B2 (en) 2002-09-18 2012-07-17 Symantec Corporation Method and apparatus for creating an information security policy based on a pre-configured template
US20040059920A1 (en) 2002-09-19 2004-03-25 International Business Machines Corporation Security health checking tool
US7158983B2 (en) 2002-09-23 2007-01-02 Battelle Memorial Institute Text analysis technique
US7383513B2 (en) 2002-09-25 2008-06-03 Oracle International Corporation Graphical condition builder for facilitating database queries
US7188173B2 (en) 2002-09-30 2007-03-06 Intel Corporation Method and apparatus to enable efficient processing and transmission of network communications
JP2004126840A (ja) 2002-10-01 2004-04-22 Hitachi Ltd 文書検索方法、プログラムおよびシステム
US6857011B2 (en) 2002-10-31 2005-02-15 Paragon Development Systems, Inc. Method of remote imaging
US7085755B2 (en) 2002-11-07 2006-08-01 Thomson Global Resources Ag Electronic document repository management and access system
US20040139120A1 (en) 2002-11-08 2004-07-15 Matt Clark Feature-based solutions provisioning of data services
US7272607B2 (en) 2002-11-27 2007-09-18 Zyvex Labs, Llc System and method for processing a hierarchical data tree
US7376969B1 (en) 2002-12-02 2008-05-20 Arcsight, Inc. Real time monitoring and analysis of events from multiple network security devices
US7660998B2 (en) 2002-12-02 2010-02-09 Silverbrook Research Pty Ltd Relatively unique ID in integrated circuit
US7426209B2 (en) 2002-12-13 2008-09-16 Telefonaktiebolaget L M Ericsson (Publ) System for content based message processing
US20040117414A1 (en) 2002-12-17 2004-06-17 Capital One Financial Corporation Method and system for automatically updating operating systems
US7366174B2 (en) 2002-12-17 2008-04-29 Lucent Technologies Inc. Adaptive classification of network traffic
US20040122936A1 (en) 2002-12-20 2004-06-24 Ge Mortgage Holdings, Llc Methods and apparatus for collecting, managing and presenting enterprise performance information
TWI221989B (en) * 2002-12-24 2004-10-11 Ind Tech Res Inst Example-based concept-oriented data extraction method
US6804627B1 (en) 2002-12-31 2004-10-12 Emc Corporation System and method for gathering and analyzing database performance statistics
US7953694B2 (en) 2003-01-13 2011-05-31 International Business Machines Corporation Method, system, and program for specifying multidimensional calculations for a relational OLAP engine
US7219131B2 (en) 2003-01-16 2007-05-15 Ironport Systems, Inc. Electronic message delivery using an alternate source approach
US7117453B2 (en) 2003-01-21 2006-10-03 Microsoft Corporation Media frame object visualization system
JP2004235739A (ja) 2003-01-28 2004-08-19 Sony Corp 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
US8286237B2 (en) 2003-02-25 2012-10-09 Ibm International Group B.V. Method and apparatus to detect unauthorized information disclosure via content anomaly detection
GB0304807D0 (en) 2003-03-03 2003-04-09 Cambridge Internetworking Ltd Data protocol
WO2004079986A1 (en) 2003-03-04 2004-09-16 International Business Machines Corporation Long-term secure digital signatures
US8868553B2 (en) 2003-03-11 2014-10-21 Bank Of America Corporation System and method to acquire information from a database
US7885963B2 (en) 2003-03-24 2011-02-08 Microsoft Corporation Free text and attribute searching of electronic program guide (EPG) data
US7499925B2 (en) 2003-03-27 2009-03-03 Microsoft Corporation File system for displaying items of different types and from different physical locations
US7564969B2 (en) 2003-04-01 2009-07-21 Sytex, Inc. Methodology, system and computer readable medium for detecting file encryption
US7293238B1 (en) 2003-04-04 2007-11-06 Raytheon Company Graphical user interface for an enterprise intrusion detection system
WO2004092961A1 (en) 2003-04-07 2004-10-28 Itracs Corporation Network security system based on physical location
US7895191B2 (en) 2003-04-09 2011-02-22 International Business Machines Corporation Improving performance of database queries
US7373500B2 (en) 2003-04-15 2008-05-13 Sun Microsystems, Inc. Secure network processing
US20040215612A1 (en) 2003-04-28 2004-10-28 Moshe Brody Semi-boolean arrangement, method, and system for specifying and selecting data objects to be retrieved from a collection
US7152065B2 (en) 2003-05-01 2006-12-19 Telcordia Technologies, Inc. Information retrieval and text mining using distributed latent semantic indexing
US8640234B2 (en) 2003-05-07 2014-01-28 Trustwave Holdings, Inc. Method and apparatus for predictive and actual intrusion detection on a network
US7831667B2 (en) 2003-05-15 2010-11-09 Symantec Corporation Method and apparatus for filtering email spam using email noise reduction
US7735144B2 (en) 2003-05-16 2010-06-08 Adobe Systems Incorporated Document modification detection and prevention
CA2536541A1 (en) 2003-05-19 2004-12-02 Business Objects, S.A. Apparatus and method for accessing diverse native data sources through a metadata interface
US7627669B2 (en) 2003-05-21 2009-12-01 Ixia Automated capturing and characterization of network traffic using feedback
US9678967B2 (en) 2003-05-22 2017-06-13 Callahan Cellular L.L.C. Information source agent systems and methods for distributed data storage and management using content signatures
US20050033747A1 (en) 2003-05-25 2005-02-10 Erland Wittkotter Apparatus and method for the server-sided linking of information
US7613687B2 (en) 2003-05-30 2009-11-03 Truelocal Inc. Systems and methods for enhancing web-based searching
US8250107B2 (en) 2003-06-03 2012-08-21 Hewlett-Packard Development Company, L.P. Techniques for graph data structure management
US7685254B2 (en) 2003-06-10 2010-03-23 Pandya Ashish A Runtime adaptable search processor
US8095500B2 (en) 2003-06-13 2012-01-10 Brilliant Digital Entertainment, Inc. Methods and systems for searching content in distributed computing networks
US7296011B2 (en) 2003-06-20 2007-11-13 Microsoft Corporation Efficient fuzzy match for evaluating data records
US8458805B2 (en) * 2003-06-23 2013-06-04 Architecture Technology Corporation Digital forensic analysis using empirical privilege profiling (EPP) for filtering collected data
EP1494134A1 (en) 2003-06-27 2005-01-05 Alcatel A method, a computer software product, and a telecommunication device for accessing or presenting a document
US7565425B2 (en) 2003-07-02 2009-07-21 Amazon Technologies, Inc. Server architecture and methods for persistently storing and serving event data
US7697527B2 (en) 2003-07-30 2010-04-13 Nortel Networks Limited Method and apparatus for direct frame switching using frame contained destination information
JP2005063030A (ja) * 2003-08-08 2005-03-10 Ricoh Co Ltd 概念表現方法、概念表現生成方法及び概念表現生成装置並びに該方法を実現するプログラム及び該プログラムが記録された記録媒体
US20050038788A1 (en) 2003-08-14 2005-02-17 International Business Machines Corporation Annotation security to prevent the divulgence of sensitive information
US7206866B2 (en) 2003-08-20 2007-04-17 Microsoft Corporation Continuous media priority aware storage scheduler
US7308705B2 (en) 2003-08-29 2007-12-11 Finisar Corporation Multi-port network tap
US7409406B2 (en) 2003-09-08 2008-08-05 International Business Machines Corporation Uniform search system and method for selectively sharing distributed access-controlled documents
US7467202B2 (en) 2003-09-10 2008-12-16 Fidelis Security Systems High-performance network content analysis platform
JP2007508653A (ja) 2003-10-11 2007-04-05 スパンス ロジック インコーポレイテッド 高速テーブルルックアップ用メモリおよび低消費電力機構
US7499912B2 (en) 2003-10-23 2009-03-03 Hywire Ltd. Search method using coded keys
US7954151B1 (en) 2003-10-28 2011-05-31 Emc Corporation Partial document content matching using sectional analysis
JP4455266B2 (ja) 2003-10-30 2010-04-21 キヤノン株式会社 画像形成装置
US8627489B2 (en) 2003-10-31 2014-01-07 Adobe Systems Incorporated Distributed document version control
US7373385B2 (en) 2003-11-03 2008-05-13 Cloudmark, Inc. Method and apparatus to block spam based on spam reports from a community of users
US7870161B2 (en) 2003-11-07 2011-01-11 Qiang Wang Fast signature scan
US7257570B2 (en) 2003-11-13 2007-08-14 Yahoo! Inc. Geographical location extraction
US20050108630A1 (en) * 2003-11-19 2005-05-19 Wasson Mark D. Extraction of facts from text
ATE387798T1 (de) 2003-11-27 2008-03-15 Advestigo Abfangsystem von multimediadokumenten
US9401838B2 (en) 2003-12-03 2016-07-26 Emc Corporation Network event capture and retention system
US8548170B2 (en) 2003-12-10 2013-10-01 Mcafee, Inc. Document de-registration
US8656039B2 (en) 2003-12-10 2014-02-18 Mcafee, Inc. Rule parser
US7814327B2 (en) 2003-12-10 2010-10-12 Mcafee, Inc. Document registration
US7899828B2 (en) 2003-12-10 2011-03-01 Mcafee, Inc. Tag data structure for maintaining relational data over captured objects
US20050131876A1 (en) 2003-12-10 2005-06-16 Ahuja Ratinder Paul S. Graphical user interface for capture system
US7774604B2 (en) 2003-12-10 2010-08-10 Mcafee, Inc. Verifying captured objects before presentation
US7984175B2 (en) 2003-12-10 2011-07-19 Mcafee, Inc. Method and apparatus for data capture and analysis system
US7774721B2 (en) 2003-12-15 2010-08-10 Microsoft Corporation Intelligent backward resource navigation
US20060106793A1 (en) 2003-12-29 2006-05-18 Ping Liang Internet and computer information retrieval and mining with intelligent conceptual filtering, visualization and automation
US7424469B2 (en) 2004-01-07 2008-09-09 Microsoft Corporation System and method for blending the results of a classifier and a search engine
US20050165750A1 (en) * 2004-01-20 2005-07-28 Microsoft Corporation Infrequent word index for document indexes
US7930540B2 (en) 2004-01-22 2011-04-19 Mcafee, Inc. Cryptographic policy enforcement
US7707039B2 (en) 2004-02-15 2010-04-27 Exbiblio B.V. Automatic modification of web pages
WO2005071890A1 (en) 2004-01-27 2005-08-04 Actix Limited Monitoring system for a mobile communication network for traffic analysis using a hierarchial approach
US7558221B2 (en) 2004-02-13 2009-07-07 Seiko Epson Corporation Method and system for recording videoconference data
US7243110B2 (en) * 2004-02-20 2007-07-10 Sand Technology Inc. Searchable archive
US7406477B2 (en) 2004-03-12 2008-07-29 Sybase, Inc. Database system with methodology for automated determination and selection of optimal indexes
JP4509611B2 (ja) 2004-03-18 2010-07-21 東芝ソリューション株式会社 電子署名保証システム、プログラム及び装置
US7426181B1 (en) 2004-03-26 2008-09-16 Packeteer, Inc. Slow-start adaptive mechanisms to improve efficiency of bandwidth allocation
US8713418B2 (en) 2004-04-12 2014-04-29 Google Inc. Adding value to a rendered document
US7739080B1 (en) 2004-04-19 2010-06-15 Versata Development Group, Inc. Consolidation of product data models
US7509677B2 (en) 2004-05-04 2009-03-24 Arcsight, Inc. Pattern discovery in a network security system
US7434058B2 (en) 2004-06-07 2008-10-07 Reconnex Corporation Generating signatures over a document
US7505463B2 (en) 2004-06-15 2009-03-17 Sun Microsystems, Inc. Rule set conflict resolution
US7760730B2 (en) 2004-06-15 2010-07-20 Oracle America, Inc. Rule set verification
US20060075228A1 (en) 2004-06-22 2006-04-06 Black Alistair D Method and apparatus for recognition and real time protection from view of sensitive terms in documents
US7962591B2 (en) * 2004-06-23 2011-06-14 Mcafee, Inc. Object classification in a capture system
US7594277B2 (en) 2004-06-30 2009-09-22 Microsoft Corporation Method and system for detecting when an outgoing communication contains certain content
US7596571B2 (en) 2004-06-30 2009-09-29 Technorati, Inc. Ecosystem method of aggregation and search and related techniques
US20060021050A1 (en) 2004-07-22 2006-01-26 Cook Chad L Evaluation of network security based on security syndromes
US20060021045A1 (en) 2004-07-22 2006-01-26 Cook Chad L Input translation for network security analysis
US9219579B2 (en) 2004-07-23 2015-12-22 Citrix Systems, Inc. Systems and methods for client-side application-aware prioritization of network communications
US8407239B2 (en) * 2004-08-13 2013-03-26 Google Inc. Multi-stage query processing system and method for use with tokenspace repository
US7836076B2 (en) 2004-08-20 2010-11-16 Hewlett-Packard Development Company, L.P. Distributing content indices
US8560534B2 (en) 2004-08-23 2013-10-15 Mcafee, Inc. Database for a capture system
US7483916B2 (en) 2004-08-23 2009-01-27 Mcafee, Inc. Database for a capture system
US7949849B2 (en) 2004-08-24 2011-05-24 Mcafee, Inc. File system for a capture system
US20060080130A1 (en) 2004-10-08 2006-04-13 Samit Choksi Method that uses enterprise application integration to provide real-time proactive post-sales and pre-sales service over SIP/SIMPLE/XMPP networks
JP4479459B2 (ja) 2004-10-19 2010-06-09 横河電機株式会社 パケット解析システム
US7844582B1 (en) 2004-10-28 2010-11-30 Stored IQ System and method for involving users in object management
US8683031B2 (en) 2004-10-29 2014-03-25 Trustwave Holdings, Inc. Methods and systems for scanning and monitoring content on a network
US20060242694A1 (en) 2004-11-08 2006-10-26 Jeffrey Gold Mitigation and mitigation management of attacks in networked systems
US7664083B1 (en) 2004-11-18 2010-02-16 Verizon Laboratories Inc. Monitoring portal systems and methods
WO2006062868A2 (en) 2004-12-06 2006-06-15 Yahoo! Inc. Systems and methods for managing and using multiple concept networks for assisted search processing
JP4759574B2 (ja) 2004-12-23 2011-08-31 ソレラ ネットワークス インコーポレイテッド ネットワークパケットキャプチャ分散ストレージシステムの方法及び機器
GB0502259D0 (en) 2005-02-03 2005-03-09 British Telecomm Document searching tool and method
US20060242126A1 (en) 2005-03-25 2006-10-26 Andrew Fitzhugh System and method for a context-sensitive extensible plug-in architecture
US7567567B2 (en) 2005-04-05 2009-07-28 Sun Microsystems, Inc. Network system including packet classification for partitioned resources
WO2006108162A2 (en) 2005-04-06 2006-10-12 Getty Images, Inc. Digital asset management system, including customizable metadata model for asset cataloging and permissioning of digital assets, such as for use with digital images and songs
WO2006113722A2 (en) 2005-04-18 2006-10-26 The Regents Of The University Of California High-performance context-free parser for polymorphic malware detection
JP4880675B2 (ja) 2005-05-05 2012-02-22 シスコ アイアンポート システムズ エルエルシー 参照リソースの確率的解析に基づく不要な電子メールメッセージの検出
US8140664B2 (en) 2005-05-09 2012-03-20 Trend Micro Incorporated Graphical user interface based sensitive information and internal information vulnerability management system
US8051487B2 (en) 2005-05-09 2011-11-01 Trend Micro Incorporated Cascading security architecture
US20090193033A1 (en) * 2005-05-19 2009-07-30 Zulfikar Amin Ramzan Method and apparatus for communication efficient private information retrieval and oblivious transfer
US7921072B2 (en) 2005-05-31 2011-04-05 Alcatel-Lucent Usa Inc. Methods and apparatus for mapping source schemas to a target schema using schema embedding
US10445359B2 (en) 2005-06-07 2019-10-15 Getty Images, Inc. Method and system for classifying media content
US7624436B2 (en) 2005-06-30 2009-11-24 Intel Corporation Multi-pattern packet content inspection mechanisms employing tagged values
US7926099B1 (en) 2005-07-15 2011-04-12 Novell, Inc. Computer-implemented method and system for security event transport using a message bus
US7581059B2 (en) 2005-07-27 2009-08-25 Netlogic Microsystems, Inc. Controlling a searchable range within a network search engine
US7962616B2 (en) 2005-08-11 2011-06-14 Micro Focus (Us), Inc. Real-time activity monitoring and reporting
US7907608B2 (en) 2005-08-12 2011-03-15 Mcafee, Inc. High speed packet capture
US7774346B2 (en) 2005-08-26 2010-08-10 Oracle International Corporation Indexes that are based on bitmap values and that use summary bitmap values
US20070050846A1 (en) 2005-08-30 2007-03-01 Fortinet, Inc. Logging method, system, and device with analytical capabilities for the network traffic
US7818326B2 (en) 2005-08-31 2010-10-19 Mcafee, Inc. System and method for word indexing in a capture system and querying thereof
JP2007081482A (ja) 2005-09-09 2007-03-29 Canon Inc 端末認証方法及びその装置、プログラム
US7610285B1 (en) 2005-09-21 2009-10-27 Stored IQ System and method for classifying objects
US7512610B1 (en) * 2005-09-30 2009-03-31 Miosoft Corporation Processing data records
US20070081471A1 (en) 2005-10-06 2007-04-12 Alcatel Usa Sourcing, L.P. Apparatus and method for analyzing packet data streams
US7730011B1 (en) 2005-10-19 2010-06-01 Mcafee, Inc. Attributes of captured objects in a capture system
US9055093B2 (en) 2005-10-21 2015-06-09 Kevin R. Borders Method, system and computer program product for detecting at least one of security threats and undesirable computer files
US8301771B2 (en) 2005-10-26 2012-10-30 Armstrong, Quinton Co. LLC Methods, systems, and computer program products for transmission control of sensitive application-layer data
US20070106685A1 (en) 2005-11-09 2007-05-10 Podzinger Corp. Method and apparatus for updating speech recognition databases and reindexing audio and video content using the same
US9697231B2 (en) 2005-11-09 2017-07-04 Cxense Asa Methods and apparatus for providing virtual media channels based on media search
US7801910B2 (en) 2005-11-09 2010-09-21 Ramp Holdings, Inc. Method and apparatus for timed tagging of media content
US20070106646A1 (en) 2005-11-09 2007-05-10 Bbnt Solutions Llc User-directed navigation of multimedia search results
US7760769B1 (en) 2005-11-15 2010-07-20 Network Appliance, Inc. Serial stream filtering
US20070124384A1 (en) 2005-11-18 2007-05-31 Microsoft Corporation Voicemail and fax filtering
US7657104B2 (en) 2005-11-21 2010-02-02 Mcafee, Inc. Identifying image type in a capture system
US20070143559A1 (en) 2005-12-20 2007-06-21 Yuichi Yagawa Apparatus, system and method incorporating virtualization for data storage
US7502765B2 (en) * 2005-12-21 2009-03-10 International Business Machines Corporation Method for organizing semi-structured data into a taxonomy, based on tag-separated clustering
US7830537B2 (en) 2005-12-21 2010-11-09 International Business Machines Corporation System and method for controlling copying of documents
US7870031B2 (en) * 2005-12-22 2011-01-11 Ebay Inc. Suggested item category systems and methods
US8397284B2 (en) 2006-01-17 2013-03-12 University Of Maryland Detection of distributed denial of service attacks in autonomous system domains
US20070185868A1 (en) * 2006-02-08 2007-08-09 Roth Mary A Method and apparatus for semantic search of schema repositories
JPWO2007100045A1 (ja) 2006-03-03 2009-07-23 日本電気株式会社 通信制御装置、通信制御システム、通信制御方法、および通信制御用プログラム
US8266152B2 (en) * 2006-03-03 2012-09-11 Perfect Search Corporation Hashed indexing
US20070226504A1 (en) 2006-03-24 2007-09-27 Reconnex Corporation Signature match processing in a document registration system
US8504537B2 (en) 2006-03-24 2013-08-06 Mcafee, Inc. Signature distribution in a document registration system
US7958227B2 (en) 2006-05-22 2011-06-07 Mcafee, Inc. Attributes of captured objects in a capture system
US7689614B2 (en) 2006-05-22 2010-03-30 Mcafee, Inc. Query generation for a capture system
US8010689B2 (en) 2006-05-22 2011-08-30 Mcafee, Inc. Locational tagging in a capture system
WO2007143666A2 (en) * 2006-06-05 2007-12-13 Mark Logic Corporation Element query method and system
US20080027971A1 (en) 2006-07-28 2008-01-31 Craig Statchuk Method and system for populating an index corpus to a search engine
US7783589B2 (en) * 2006-08-04 2010-08-24 Apple Inc. Inverted index processing
US8392174B2 (en) * 2006-08-07 2013-03-05 International Characters, Inc. Method and apparatus for lexical analysis using parallel bit streams
US20130246338A1 (en) 2006-09-15 2013-09-19 Ashok Doddapaneni System and method for indexing a capture system
US8832246B2 (en) 2006-09-18 2014-09-09 Emc Corporation Service level mapping method
US8612570B1 (en) 2006-09-18 2013-12-17 Emc Corporation Data classification and management using tap network architecture
US8631012B2 (en) 2006-09-29 2014-01-14 A9.Com, Inc. Method and system for identifying and displaying images in response to search queries
US7774198B2 (en) 2006-10-06 2010-08-10 Xerox Corporation Navigation system for text
US20080115125A1 (en) 2006-11-13 2008-05-15 Cingular Wireless Ii, Llc Optimizing static dictionary usage for signal compression and for hypertext transfer protocol compression in a wireless network
US7796592B2 (en) 2006-11-13 2010-09-14 At&T Mobility Ii Llc Optimizing static dictionary usage for signal, hypertext transfer protocol and bytecode compression in a wireless network
US8181248B2 (en) 2006-11-23 2012-05-15 Electronics And Telecommunications Research Institute System and method of detecting anomaly malicious code by using process behavior prediction technique
US7496568B2 (en) * 2006-11-30 2009-02-24 International Business Machines Corporation Efficient multifaceted search in information retrieval systems
US8645397B1 (en) * 2006-11-30 2014-02-04 At&T Intellectual Property Ii, L.P. Method and apparatus for propagating updates in databases
US7912808B2 (en) 2006-12-08 2011-03-22 Pandya Ashish A 100Gbps security and search architecture using programmable intelligent search memory that uses a power down mode
US20080159627A1 (en) 2006-12-27 2008-07-03 Yahoo! Inc. Part-based pornography detection
US8205244B2 (en) 2007-02-27 2012-06-19 Airdefense, Inc. Systems and methods for generating, managing, and displaying alarms for wireless network monitoring
US20080235163A1 (en) 2007-03-22 2008-09-25 Srinivasan Balasubramanian System and method for online duplicate detection and elimination in a web crawler
US20080270351A1 (en) 2007-04-24 2008-10-30 Interse A/S System and Method of Generating and External Catalog for Use in Searching for Information Objects in Heterogeneous Data Stores
US8850587B2 (en) 2007-05-04 2014-09-30 Wipro Limited Network security scanner for enterprise protection
US8793802B2 (en) 2007-05-22 2014-07-29 Mcafee, Inc. System, method, and computer program product for preventing data leakage utilizing a map of data
US7979524B2 (en) 2007-05-23 2011-07-12 International Business Machines Corporation System and method for disclosing relations between entities in support of information technology system visualization and management
US8046372B1 (en) * 2007-05-25 2011-10-25 Amazon Technologies, Inc. Duplicate entry detection system and method
US7849065B2 (en) 2007-07-20 2010-12-07 Microsoft Corporation Heterogeneous content indexing and searching
US7801852B2 (en) 2007-07-31 2010-09-21 Oracle International Corporation Checkpoint-free in log mining for distributed information sharing
US8862625B2 (en) * 2008-04-07 2014-10-14 Teradata Us, Inc. Accessing data in a column store database based on hardware compatible indexing and replicated reordered columns
US7966343B2 (en) * 2008-04-07 2011-06-21 Teradata Us, Inc. Accessing data in a column store database based on hardware compatible data structures
US20090070327A1 (en) * 2007-09-06 2009-03-12 Alexander Stephan Loeser Method for automatically generating regular expressions for relaxed matching of text patterns
US7440952B1 (en) 2007-12-18 2008-10-21 International Business Machines Corporation Systems, methods, and computer products for information sharing using personalized index caching
US7996523B2 (en) 2008-01-17 2011-08-09 Fluke Corporation Free string match encoding and preview
JP5224851B2 (ja) * 2008-02-27 2013-07-03 インターナショナル・ビジネス・マシーンズ・コーポレーション 検索エンジン、検索システム、検索方法およびプログラム
US9690786B2 (en) 2008-03-17 2017-06-27 Tivo Solutions Inc. Systems and methods for dynamically creating hyperlinks associated with relevant multimedia content
US8065739B1 (en) 2008-03-28 2011-11-22 Symantec Corporation Detecting policy violations in information content containing data in a character-based language
US7996373B1 (en) 2008-03-28 2011-08-09 Symantec Corporation Method and apparatus for detecting policy violations in a data repository having an arbitrary data schema
US7853597B2 (en) * 2008-04-28 2010-12-14 Microsoft Corporation Product line extraction
US8613039B2 (en) 2008-06-03 2013-12-17 International Business Machines Corporation Automated correction and reporting for dynamic web applications
US20090326925A1 (en) * 2008-06-27 2009-12-31 Microsoft Corporation Projecting syntactic information using a bottom-up pattern matching algorithm
US8341734B1 (en) 2008-06-27 2012-12-25 Symantec Corporation Method and system to audit physical copy data leakage
JP5346506B2 (ja) 2008-06-30 2013-11-20 株式会社日立ソリューションズ ファイル管理装置
US8205242B2 (en) 2008-07-10 2012-06-19 Mcafee, Inc. System and method for data mining and security policy management
US8645350B2 (en) 2008-07-11 2014-02-04 Adobe Systems Incorporated Dictionary compilations
US7979671B2 (en) * 2008-07-28 2011-07-12 CacheIQ, Inc. Dual hash indexing system and methodology
US8286255B2 (en) 2008-08-07 2012-10-09 Sophos Plc Computer file control through file tagging
US9253154B2 (en) * 2008-08-12 2016-02-02 Mcafee, Inc. Configuration management for a capture/registration system
US8521757B1 (en) 2008-09-26 2013-08-27 Symantec Corporation Method and apparatus for template-based processing of electronic documents
EP2172853B1 (en) * 2008-10-01 2011-11-30 Software AG Database index and database for indexing text documents
JP4701292B2 (ja) * 2009-01-05 2011-06-15 インターナショナル・ビジネス・マシーンズ・コーポレーション テキスト・データに含まれる固有表現又は専門用語から用語辞書を作成するためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム
US8850591B2 (en) 2009-01-13 2014-09-30 Mcafee, Inc. System and method for concept building
US8706709B2 (en) 2009-01-15 2014-04-22 Mcafee, Inc. System and method for intelligent term grouping
US8473442B1 (en) 2009-02-25 2013-06-25 Mcafee, Inc. System and method for intelligent state management
US8667121B2 (en) 2009-03-25 2014-03-04 Mcafee, Inc. System and method for managing data and policies
US8447722B1 (en) 2009-03-25 2013-05-21 Mcafee, Inc. System and method for data mining and security policy management
US8176069B2 (en) * 2009-06-01 2012-05-08 Aol Inc. Systems and methods for improved web searching
US8180785B2 (en) * 2009-06-30 2012-05-15 International Business Machines Corporation Method and system for searching numerical terms
US8306807B2 (en) * 2009-08-17 2012-11-06 N T repid Corporation Structured data translation apparatus, system and method
US8286253B1 (en) 2009-11-23 2012-10-09 Trend Micro Incorporated Data leakage prevention for resource limited device
US8688683B2 (en) 2009-11-30 2014-04-01 Business Objects Software Ltd. Query plan reformulation
US8806615B2 (en) 2010-11-04 2014-08-12 Mcafee, Inc. System and method for protecting specified data combinations
US8700561B2 (en) 2011-12-27 2014-04-15 Mcafee, Inc. System and method for providing data protection workflows in a network environment
CN104641377B (zh) 2012-10-19 2018-02-23 迈克菲股份有限公司 用于移动计算设备的数据丢失防护

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001047205A2 (en) * 1999-12-22 2001-06-28 Tashilon Ltd. Enhanced computer network encryption using downloaded software objects
US7165175B1 (en) * 2000-09-06 2007-01-16 Widevine Technologies, Inc. Apparatus, system and method for selectively encrypting different portions of data sent over a network
KR20080087021A (ko) * 2005-12-29 2008-09-29 악시오닉스 아게 보안 토큰 및 보안 토큰으로 사용자를 인증하는 방법
WO2011080745A2 (en) * 2009-12-31 2011-07-07 Vaultive Ltd. System, apparatus and method for encryption and decryption of data transmitted over a network

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9374225B2 (en) 2003-12-10 2016-06-21 Mcafee, Inc. Document de-registration
US9602548B2 (en) 2009-02-25 2017-03-21 Mcafee, Inc. System and method for intelligent state management
US9313232B2 (en) 2009-03-25 2016-04-12 Mcafee, Inc. System and method for data mining and security policy management
US9794254B2 (en) 2010-11-04 2017-10-17 Mcafee, Inc. System and method for protecting specified data combinations
US10313337B2 (en) 2010-11-04 2019-06-04 Mcafee, Llc System and method for protecting specified data combinations
US10666646B2 (en) 2010-11-04 2020-05-26 Mcafee, Llc System and method for protecting specified data combinations
US11316848B2 (en) 2010-11-04 2022-04-26 Mcafee, Llc System and method for protecting specified data combinations

Also Published As

Publication number Publication date
US10666646B2 (en) 2020-05-26
US20170374064A1 (en) 2017-12-28
US10313337B2 (en) 2019-06-04
CN103430504B (zh) 2016-12-21
JP5727027B2 (ja) 2015-06-03
US20150067810A1 (en) 2015-03-05
WO2012060892A2 (en) 2012-05-10
KR20140041391A (ko) 2014-04-04
JP2013541792A (ja) 2013-11-14
US11316848B2 (en) 2022-04-26
US9794254B2 (en) 2017-10-17
CN103430504A (zh) 2013-12-04
US8806615B2 (en) 2014-08-12
US20190230076A1 (en) 2019-07-25
US20200236106A1 (en) 2020-07-23
US20120114119A1 (en) 2012-05-10
EP2499806A2 (en) 2012-09-19

Similar Documents

Publication Publication Date Title
US11316848B2 (en) System and method for protecting specified data combinations
US8850591B2 (en) System and method for concept building
US9602548B2 (en) System and method for intelligent state management
US8706709B2 (en) System and method for intelligent term grouping
JP7391110B2 (ja) フィッシング・キャンペーンの検出
US9654510B1 (en) Match signature recognition for detecting false positive incidents and improving post-incident remediation
US8683035B2 (en) Attributes of captured objects in a capture system
US9231964B2 (en) Vulnerability detection based on aggregated primitives
US20070271372A1 (en) Locational tagging in a capture system
EP2210369A2 (en) A method and apparatus for detection of information transmission abnormalities
CN109698831B (zh) 数据防护方法和装置
JP4903386B2 (ja) 事前選択されたデータに関し探索可能な情報コンテンツ
KR20210083607A (ko) 위험 분석을 위한 보안요소 지수화 시스템 및 방법
Janith et al. SentinelPlus: A Cost-Effective Cyber Security Solution for Healthcare Organizations
Nguyen Quoc et al. Detecting DGA Botnet based on Malware Behavior Analysis
Rowe et al. Automatically Tracing Information Flow of Vulnerability and Cyber-Attack Information through Text Strings/13th ICCRTS: C2 for Complex Endeavors

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
GRNT Written decision to grant