KR101224749B1 - 파일 암호화 및 복호화를 위한 다수의 키를 관리하는시스템 및 방법 - Google Patents

파일 암호화 및 복호화를 위한 다수의 키를 관리하는시스템 및 방법 Download PDF

Info

Publication number
KR101224749B1
KR101224749B1 KR1020060003463A KR20060003463A KR101224749B1 KR 101224749 B1 KR101224749 B1 KR 101224749B1 KR 1020060003463 A KR1020060003463 A KR 1020060003463A KR 20060003463 A KR20060003463 A KR 20060003463A KR 101224749 B1 KR101224749 B1 KR 101224749B1
Authority
KR
South Korea
Prior art keywords
key
file
list
keys
decrypting
Prior art date
Application number
KR1020060003463A
Other languages
English (en)
Other versions
KR20060090167A (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 KR20060090167A publication Critical patent/KR20060090167A/ko
Application granted granted Critical
Publication of KR101224749B1 publication Critical patent/KR101224749B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • EFIXED CONSTRUCTIONS
    • E03WATER SUPPLY; SEWERAGE
    • E03DWATER-CLOSETS OR URINALS WITH FLUSHING DEVICES; FLUSHING VALVES THEREFOR
    • E03D9/00Sanitary or other accessories for lavatories ; Devices for cleaning or disinfecting the toilet room or the toilet bowl; Devices for eliminating smells
    • E03D9/08Devices in the bowl producing upwardly-directed sprays; Modifications of the bowl for use with such devices ; Bidets; Combinations of bowls with urinals or bidets; Hot-air or other devices mounted in or on the bowl, urinal or bidet for cleaning or disinfecting
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B05SPRAYING OR ATOMISING IN GENERAL; APPLYING FLUENT MATERIALS TO SURFACES, IN GENERAL
    • B05BSPRAYING APPARATUS; ATOMISING APPARATUS; NOZZLES
    • B05B12/00Arrangements for controlling delivery; Arrangements for controlling the spray area
    • B05B12/08Arrangements for controlling delivery; Arrangements for controlling the spray area responsive to condition of liquid or other fluent material to be discharged, of ambient medium or of target ; responsive to condition of spray devices or of supply means, e.g. pipes, pumps or their drive means
    • B05B12/10Arrangements for controlling delivery; Arrangements for controlling the spray area responsive to condition of liquid or other fluent material to be discharged, of ambient medium or of target ; responsive to condition of spray devices or of supply means, e.g. pipes, pumps or their drive means responsive to temperature or viscosity of liquid or other fluent material discharged
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6281Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database at program execution time, where the protection is within the operating system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • H04L9/16Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms the keys or algorithms being changed during operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Signal Processing (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Bioethics (AREA)
  • Public Health (AREA)
  • Databases & Information Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Epidemiology (AREA)
  • Water Supply & Treatment (AREA)
  • Hydrology & Water Resources (AREA)
  • Molecular Biology (AREA)
  • Storage Device Security (AREA)

Abstract

파일 암호화 및 복호화를 위한 다수의 키를 관리하는 시스템 및 방법은 이전에 사용된 키들의 암호화된 리스트를 제공한다. 리스트 그 자체는 현재 키(current key)를 사용하여 암호화된다. 하나 이상의 이전 키로 암호화되는 파일들을 복호화하기 위해, 리스트가 복호화될 수 있고, 적절한 이전 키가 검색될 수 있다. 파일을 재설정(re-key)하기 위해, 자동화된 프로세스는 이전 키를 사용하여 임의의 파일들을 복호화할 수 있고 현재 키를 사용하여 그들을 암호화할 수 있다. 새로운 현재 키가 도입된다면, 이전의 현재 키는 키 리스트를 복호화하기 위해 사용될 수 있고, 이전의 현재 키는 리스트에 추가될 수 있고, 리스트는 새로운 현재 키를 사용하여 재-암호화(re-encrypted)될 수 있다.
파일 암호화, 파일 복호화, 현재 키(current key), 이전 키, 재설정(re-key), 재-암호화(re-encrypted)

Description

파일 암호화 및 복호화를 위한 다수의 키를 관리하는 시스템 및 방법{SYSTEMS AND METHODS FOR MANAGING MULTIPLE KEYS FOR FILE ENCRYPTION AND DECRYPTION}
도 1은 본원의 다양한 양상과 관련하여 사용하기에 적합한 예시적인 컴퓨팅 디바이스의 기본적인 특징을 광범위하게 나타내는 블록도이다. 컴퓨팅 디바이스는 암호화된 데이터(103B, 103D, 104A, 105A)를 포함할 수 있다. 그러한 데이터로의 액세스는 여기서 설명된 기술들(techniques)에 따라 관리될 수 있는 하나 이상의 복호화 키를 필요로 한다.
도 2는 본원의 프로세스들을 포함하는 컴퓨터화된 프로세스들이 구현될 수 있는 예시적인 종래 기술의 네트워크형 컴퓨팅 환경을 도시한다. 네트워크형 컴퓨팅 디바이스는 예시적인 암호화된 데이터(280A, 280B, 280C, 280D)를 저장한다. 그러한 데이터로의 액세스는 여기 설명된 기술들에 따라 관리될 수 있는 하나 이상의 복호화 키를 필요로 할 수 있다.
도 3은 파일을 암호화 및 복호화하기 위해 암호화 키를 사용하는 예시적인 EFS(encrypting files system)를 도시한다. 키(39)는 예시적인 키 디바이스(31)와 같은 위치로부터 검색될 수 있다. 프로세스(33)는 키(39) 또는 키 디바이스로부터 도출된 키들을 사용하여, 여러 가지 저장장치(34) 위치 중 임의의 위치 내의 파일 들을 복호화할 수 있다.
도 4는 키, 이를테면 스마트카드와 같은 키 디바이스로부터의 PIN(personal identification number)을 검색하기 위한 예시적인 시스템 및 방법을 도시한다. 키를 요구하는 착신 명령이 LSASS(local security authority security service) EFS(40)에 도달할 때, LSASS EFS(40)는, 사용자에게 키를 촉구하는(prompt) 사용자 인터페이스(44)를 생성하는 프로세스(41) - 새로운 프로세스(42)로 불림 - 를 양산할 수 있다. 필요에 따라 암호화/복호화에 사용하기 위한 스마트카드 휴대용 디바이스에 저장된 키를 액세스하기 위해, 키는 LSASS EFS로 다시 전송될 수 있다.
도 5는 본원의 여러 장점들에 의해 처리되는 문제에 대한 실시예를 도시한다. 키, 예컨대, EFS(55) 내의 제1 키(59B)가 바뀔 때, 소정 파일들(57)의 복호화에는 이전에 사용된 키(59A)가 요구되는 한편, 58에 저장된 파일들과 같은 그 외의 파일들의 복호화에는 제1 키(59B)가 요구될 수 있다. 임의의 경우에, 새로운 키, 예컨대, 제2 키(59C)는 파일들(57, 58)을 복호화하는데 단독으로 사용될 수 없다. 따라서, 제2 키(59C)를 사용하여 파일(57, 58)로의 능률적이고 고른 지속적인 액세스를 제공함은 물론, 제2 키(59C)를 사용하여 파일(57, 58)을 재-암호화하기 위한 기술이 요구된다.
도 6은 암호화된 파일들, 예컨대, 파일들(606) 사이에 저장될 수 있는 키 리스트(610)를 도시한다. 키 리스트(610)의 속성은 도 7에 도시된다.
도 7은 현재 키(709)를 사용하여 암호화된 예시적인 키 리스트(700)를 도시한다. 키 리스트는, 이전 키(701-704)를 사용하여 암호화된 파일들(707, 708)에 대한 복호화, 암호화, 재설정 등을 위해 필요한 것으로서 사용되는 복수의 이전 키(701-704)를 포함할 수 있다.
도 8은 재-암호화(re-encrypting)로도 불리는, 파일 재설정(re-keying)을 위한 예시적인 프로세스를 도시한다. 도 8과 같은 프로세스는, 컴퓨팅 자원이 모든 파일들에 대한 긴 재설정을 기다릴 필요없이 고른 사용자 경험을 제공하는 것이 가능한 시간에 걸쳐 동작하도록 구현될 수 있다.
도 9는 도 8에 도시된 프로세스의 보다 상세한 실시예를 제공한다.
도 10은 EFS에서 사용된 현재 키를 바꾸기 위한 프로세스를 도시한다. 이전에 사용된 키(제1 키)는 키 리스트를 복호화하는데 사용될 수 있다. 그 다음, 이전 키가 리스트에 추가되고, 리스트는 새로운 현재 키를 사용하여 암호화될 수 있다. 이전 키는 이전 키를 사용하여 암호화된 임의의 파일들에 대한 리스트에서 이용가능할 것이고, 현재 키로의 액세스를 갖는 파일만 이전 키로의 액세스를 가질 것이다.
도 11은 재설정 마법사를 위한 예시적인 GUI(Graphical User Interface)를 도시한다. 그러한 마법사는 이전 키 모두는 물론, 현재 키 및/또는 EFS 내의 파일들을 액세스하는데 필요한 임의의 새로운 키들을 입력할 것을 사용자에게 촉구한다.
도 12는, 도 7의 키 리스트 상에 존재하지 않는 키들(1220-1222)이, 예를 들어, 키 디바이스(1201)을 거쳐 컴퓨터(1200)에 도입될 수 있고, 이들이 EFS에 의한 사용을 위해 임시로 캐시될 수 있는 배열을 도시한다. 인증되지 않은 사용을 막기 위해, 그러한 키들은 사용자가 로그 오프할 때 메모리로부터 제거될 수 있다.
<도면의 주요 부분에 대한 부호의 설명>
700 : 키 리스트
701 : 제1 키
702 ~ 703 : 이전 키
709 : 제2 키
707, 708 : 파일
본 발명은 컴퓨팅에 관한 것으로, 보다 구체적으로는, 데이터의 암호화에 관한 것으로, 여기서, 하나 이상의 컴퓨팅 디바이스 전역에 걸쳐 저장된 데이터를 암호화하기 위해 다수의 키가 사용될 수 있다.
데이터를 안전하게 하는 방법으로, 파일 암호가 점점 선택되고 있다. 운영 체제는 EFS(Encrypted File System) 형태로 자동화된 파일 암호화를 제공하기도 한다. 파일 암호화가 사용된 설정이든 아니든, 파일들은 시간에 걸쳐 하나 이상의 키에 따라 암호화될지도 모른다. 복수의 제1 파일이 제1 키에 따라 암호화되는 한편, 복수의 제2 파일은 제2 키로 암호화되고, 임의의 수의 이전 파일들은 이전 키들을 사용하여 암호화된다.
예로서 EFS의 경우를 사용하기 위해, 운영 체제는, 예를 들어, 스마트카드로 부터 이용가능한 키에 따라 파일들을 암호화한다. 사용자가 스마트카드를 사용하여 많은 서버 상의 많은 파일을 암호화한다면, 사용자가 현재 키를 바꾸는 경우에, 예전 파일들(old files)은 여전히 예전 스마트카드(old smart card)로 암호화될 것이고 사용자는 그들 모두를 수동으로 재설정(re-key)해야만 한다. 카드 교환(card switch)시에 재설정을 위해 자동화된 프로세스들이 구현되는 동안, 그러한 프로세스들을 완료하기 위해서는 시간 및 자원(resources)이 소요되고, 더욱이, 사용자가 매우 정통해 있지 않다면, 사용자는 재설정 촉구(re-key prompt)를 놓칠 수도 있다. 사용자가 예전 스마트카드로 암호화된 파일을 열 때마다, 사용자는 현재 스마트카드를 뽑고 예전 스마트카드를 꽂아야만 한다. 사용자가 예전 카드를 분실했다면, EFS 복구 에이전트를 사용하여 데이터를 복구하거나 파일로의 액세스를 완전히 실패할 것이다. 이 문제는, 특정한 EFS와 함께 사용하기 위해 다수의 스마트카드를 거치는 사용자를 더욱 번거롭게 한다.
따라서, EFS 또는 그 외의 상황에서는, 이전에 사용된 암호화 키를 바꾸지 않으면서 하나의 현재 암호 키(one current cryptographic key)를 통해 액세스를 제공하는 다수의 암호화 키를 사용하여 암호화된 파일들로의 장기간 액세스(long term access)를 제공하는 것이 바람직하다. 사용자의 중재를 요구하지 않고 시간에 걸쳐 모든 암호화된 파일들을 재설정하는 메커니즘 역시 유용성을 향상시키고, 이전 암호화 키의 분실 및 파괴로 인한 데이터 분실을 방지하는데 유리하다.
위에서 확인된 상기 기술의 단점들을 고려하여, 본 발명은 파일 암호화 및 복호화를 위한 다수의 파일을 관리하는 시스템 및 방법을 제공한다. 일반적으로, 이전에 사용된 키의 리스트는, 여기서 "현재 키(current key)"로 불리는 키를 사용하여 암호화될 수 있다. 따라서, 키의 리스트로의 액세스는 현재 키를 소유하는 이들에게는 제한된다. 하나 이상의 이전 키로 암호화된 파일들을 복호화하기 위해, 리스트가 복호화될 수 있고, 적절한 이전 키가 검색될 수 있다. 재설정(re-keying)으로 불리는 것으로서, 이전 키로 암호화한 상태에서 현재 키로 암호화한 상태로 파일을 바꾸기 위해, 자동화된 프로세스는, 파일/키를 암호화한 이전 키(들)를 사용하여, 임의의 파일들 및/또는 그러한 파일들을 암호화하기 위해 사용된 복호화 키를 복호화할 수 있고, 현재 키를 사용하여 파일/키를 암호화할 수 있다. 자동화된 프로세스는, 높은 우선순위의 컴퓨팅 동작들을 수행하는 사용자에 대한 지연을 최소화하는데 컴퓨팅 자원이 이용가능할 때 동작할 수 있다. 새로운 현재 키가 도입되면, 이전의 현재 키는 키의 리스트를 복호화하는데 사용될 수 있고, 이전의 현재 키는 그 리스트에 추가될 수 있고, 그 리스트는 새로운 현재 키를 사용하여 재-암호화될 수 있다. 본원의 그 밖의 장점들 및 특징들은 이하에 설명된다.
본 발명에 따라 파일 암호화 및 복호화를 위한 다수의 키를 관리하는 시스템 및 방법이 첨부 도면을 참조하여 더 설명된다.
다음 설명 및 도면들에서는 본원의 여러 실시예에 대한 전반적인 이해를 제공하기 위해 특정 상세가 설명된다. 본원의 여러 실시예들을 불필요하게 모호하게 하는 것을 피하기 위해, 컴퓨팅 및 소프트웨어 테크놀로지와 종종 관련된 공지된 상세는 다음 개시에서 설명되지 않는다. 또한, 관련 기술에 있어서의 당업자는, 아래 설명된 상세들 중 하나 이상이 없더라도 본원의 그 외의 실시예들을 실시할 수 있다는 것을 이해할 것이다. 끝으로, 다음 개시에서 단계들 및 시퀀스들을 참조하여 여러 방법들이 설명되지만, 설명 그 자체는 본원의 실시예의 명백한 구현을 제공하기 위한 것이고, 이 단계들 및 해당 단계들의 시퀀스들이 본 발명을 실시하기 위해 요구되는 것으로서 취급되어서는 안된다.
도 1은 본원의 여러 양상과 관련하여 사용하기에 적합한 예시적인 컴퓨팅 디바이스(100)의 기본 특징을 광범위하게 표현하는 블록도이다. 도 1을 참조하면, 본원을 구현하기 위한 예시적인 시스템은 디바이스(100)와 같은 컴퓨팅 디바이스를 포함한다. 그것의 가장 기본적인 구성에 있어서, 디바이스(100)는 통상적으로 프로세싱 유닛(102) 및 메모리(103)를 포함한다. 컴퓨팅 디바이스의 정확한 구성과 유형에 따르면, 메모리(103)는 (RAM과 같은) 휘발성(103A), (ROM, 플래시 메모리 등과 같은) 불휘발성(103C) 또는 이 둘의 임의의 조합일 수 있다. 또한, 디바이스(100)는 자기 혹은 광 디스크 혹은 테이프와 같은 대용량 저장 장치(분리형(104) 및/또는 비분리형(105))일 수 있다. 임의의 그러한 메모리 위치(103A, 103B, 104, 105), 또는 통신 접속(들)(108)을 통해 디바이스(100)에 액세스가능한 위치에서, 암호화된 데이터(103B, 103D, 104A, 105A)가 발견될 수 있다. 암호화된 데이터는 소정 알고리즘에 따라 역으로 스크램블되므로, 복호화 키가 알려진 경우에 데이터는 언스크램블될 수 있다.
디바이스(100)는 스마트카드 판독기(107A)와 같은 입력 디바이스(107) 및/또 는 디스플레이, 프린터 등과 같은 출력 디바이스(106)도 포함할 수 있다. 다른 양상의 디바이스(100)는 무선 혹은 유선 매체 중 하나를 사용하는, 그 외의 디바이스들, 컴퓨터들, 네트워크들, 서버들 등에 대한 통신 접속들(108)을 포함할 수 있다. 이러한 디바이스들 모두는 본 기술 분야에서 공지된 것으로 여기서 길게 논의될 필요가 없다.
암호화된 데이터(103B, 103D, 104A, 105A)를 복호화하기 위해서는 디바이스(100)를 위한, 하나 이상의 키(도시되지 않음)를 필요로 한다. 복호화 키들은 암호화된 데이터를 해독하기 위해 사용될 수 있는 임의의 정보이다. 그러한 키들은, 그 자체로, 소정 형태의 컴퓨터 메모리로부터, 예컨대, 불휘발성 시스템 메모리(103c)로부터 이용가능한, 디지털적으로 저장된 정보일 수 있다. 복호화 키들은, 스마트카드 판독기(107A)에 도입될 수 있는 스마트 카드들을 포함하지만 이에 한정되지 않는 다양한 종류의 그외의 소스들로부터 이용가능할 수도 있다. 키가 스마트카드에 저장될 때, 카드는 판독기(107A)에 도입될 수 있고, 키가 컴퓨팅 디바이스(100)에 의해 카드로부터 검색될 수 있으며, 키는 데이터, 예컨대, 103B를 복호화하는데 사용될 수 있다.
예시적인 실시예들은 하나 이상의 독립형 컴퓨터 시스템의 경우에 본 발명을 이용하는 것을 언급했지만, 본원은 이에 한정되지 않고, 네트워크나 분산형 컴퓨팅 환경과 같은, 임의의 컴퓨팅 환경과 관련하여 구현될 수도 있다. 또한, 본 발명은 다수의 프로세싱 칩 혹은 디바이스 내에 혹은 이들을 통해 구현될 수 있고, 저장은 다수의 디바이스 전반에 걸쳐 유사하게 이루어질 수 있다. 그러한 디바이스들은 개인용 컴퓨터, 네트워크 서버, 포켓용 디바이스, 슈퍼컴퓨터, 또는 자동차나 비행기와 같은 그 외의 시스템들에 집적된 컴퓨터를 포함할 수 있다.
도 2는 예시적인 네트워크형 혹은 분산형 컴퓨팅 환경에 대한 개략도를 제공한다. 환경은 객체(273, 274, 275) 및 데이터베이스(278)는 물론 컴퓨팅 디바이스(271, 272, 276, 277)를 포함한다. 이러한 엔티티들(271, 272, 273, 274, 275, 276, 277, 278) 각각은 프로그램, 메소드, 데이터 스토어, 프로그램가능 논리 등을 포함한다. 엔티티들(271, 272, 273, 274, 275, 276, 277, 278)은 PDA, 오디오/비디오 디바이스, MP3 플레이어, 개인용 컴퓨터 등과 같은 동일한 혹은 다른 디바이스들의 부분들을 스팬(span)할 수 있다. 각 엔티티들(271, 272, 273, 274, 275, 276, 277, 278)은 통신 네트워크(2770)에 의해 또 다른 엔티티들(271, 272, 273, 274, 275, 276, 277, 278)과 통신할 수 있다. 이 관계에서, 예시적인 위치(280A, 280B, 280C, 280D)에 도시된 암호화된 데이터는 네트워크 내의 임의의 엔티티에 존재할 수 있다. 암호화된 데이터(280A, 280B, 280C, 280D)는 액세스될 수 있고, 재설정될 수 있으며, 아니면 본원의 시스템들 및 방법들을 구현하는 데 있어서의 여러 디바이스들 중 임의의 것에 의해 사용될 수 있다.
네트워크형 컴퓨팅 환경을 지원하는 많은 시스템, 컴포넌트, 및 네트워크 구성이 존재한다. 예를 들어, 컴퓨팅 시스템은 로컬 네트워크 혹은 넓게 분산된 네트워크에 의해, 유선 혹은 무선 시스템에 의해 서로 접속될 수 있다. 일반적으로, 많은 네트워크들이 인터넷에 결합된다. 인터넷에 결합되든 아니든, 임의의 그러한 네트워크들은 주어진 시스템들 및 방법들과 관련하여 사용될 수 있다.
네트워크 기반구조는 클라이언트/서버, 피어 투 피어, 또는 하이브리드 아키텍처와 같은 네트워크 토폴로지의 호스트를 인에이블할 수 있다. "클라이언트"는 관련되지 않은 또 다른 클래스 혹은 그룹의 서비스를 사용하는 클래스 혹은 그룹의 구성원이다. 컴퓨팅에서, 클라이언트는 또 다른 프로그램에 의해 제공된 서비스를 요구하는 프로세스, 즉, 개략적으로 명령어 혹은 태스크 세트(task set)이다. 클라이언트 프로세스는 그 외의 프로그램이나 서비스 그 자체에 관한 임의의 작업 상세를 "알(know)" 필요없이 요구된 서비스를 이용한다. 클라이언트/서버 아키텍처, 특히 네트워크형 시스템에서, 클라이언트는 보통 또 다른 컴퓨터, 예컨대, 서버에 의해 제공된 공유된 네트워크 자원을 액세스하는 컴퓨터이다. 도 2의 예에서, 임의의 엔티티들(271, 272, 273, 274, 275, 276, 277, 278)은 주위 사정에 따라 클라이언트, 서버, 또는 둘 다로 간주될 수 있다.
서버는, 통상적으로, 필수적인 것은 아니지만, 인터넷과 같은 원격 혹은 로컬 네트워크를 통해 액세스가능한 원격 컴퓨터 시스템이다. 클라이언트 프로세스는 제1 컴퓨터 시스템에서 액티브이고, 서버 프로세스는 제2 컴퓨터 시스템에서 액티브이며, 이들은 통신 매체를 통해 서로 통신하므로 분산 기능을 제공하고 다수의 클라이언트로 하여금 서버의 정보-수집 능력을 이용하도록 할 수 있다. 임의의 소프트웨어 객체는 다수의 컴퓨팅 디바이스들 혹은 객체들에 걸쳐 분산될 수 있다.
클라이언트(들) 및 서버(들)는 프로토콜 계층(들)에 의해 제공된 기능을 이용하여 서로 통신할 수 있다. 통상적으로, IP(Internet Protocol) 어드레스와 같은 컴퓨터 네트워크 어드레스 혹은 URL(Universal Resource Locator)와 같은 그 외 의 참조(reference)가 사용되어 서버 혹은 클라이언트 컴퓨터들을 서로 식별할 수 있다. 네트워크 어드레스는 URL 어드레스로 불릴 수도 있다. 통신은 통신 매체, 예컨대, 고-성능 통신용 TCP/IP 접속(들)을 통해 서로 결합되는 클라이언트(들) 및 서버(들)을 통해 제공될 수 있다.
아래의 본원의 설명으로 명백해 지게 되는 바와 같이, 본원의 여러 실시예들은, 예를 들어, 컴퓨팅 디바이스(277)와 같은 네트워크형 클라이언트 디바이스를 포함할 수 있다. 클라이언트(277)는 한 사람에 의해 주로 조작되는 개인용 컴퓨터일 수 있다. 사람은, 복수의 위치, 예컨대, 280A, 280D에 있는 암호화된 데이터와 통신하고 그 위치에 암호화된 데이터를 저장하기 위해 클라이언트(277)를 사용할 수 있다. 컴퓨팅 디바이스(272)는, 예를 들어, 사용자가 암호화된 파일들을 유지하는 서버이고, 그 결과 그 파일들은 원격으로 액세스가능하다. 현대의 컴퓨팅은, 점점, 네트워크 상의 많은 장소들로부터 액세스가능한 네트워크형 환경에 데이터, 예를 들어, 이메일 및 그 외의 개인용 데이터, 데이터베이스, 파일 및 회사 및 법인 정보를 저장하는 것을 수반한다. 키 리스트는 개인용 디바이스(277)에 유지될 수 있고, 개인용 디바이스(277)에서 실행하는 프로세스들은, 개인용 디바이스(277), 서버(272), 또는 네트워크 내의 또 다른 디바이스 중 어느 하나에 존재하는 암호화된 데이터를 재설정하기 위한 프로세스들은 물론 리스트를 관리할 수 있다.
도 2에 제공된 일반적인 프레임워크에 따라 설치될 수 있는 다양한 컴퓨팅 환경(diverse computing environments)의 견지에서, 여기 제공된 시스템 및 방법은 어떤 점에서도 특정한 컴퓨팅 아키텍처에 한정되는 것으로 해석될 수 없다. 대신, 본 발명은 어떤 하나의 실시예에 한정되지 않고, 첨부된 청구범위에 따른 폭과 범주 내에 있는 것으로 해석될 것이다.
본원의 시스템 및 방법은, 데이터가 다수의 키에 따라 암호화되는 임의의 시나리오로 실시가능하고, 그러한 시나리오는 EFS를 이용하는 컴퓨터 시스템에서 일어날 수 있다. 특히, EFS는 하나 이상의 키 하에 파일들을 암호화할 수 있고, 시스템과 함께 사용하기 위한 바람직한 키들은 시간에 따라 바뀔 수 있다. 그러한 변화가 발생할 때, 이전 키를 사용하여 암호화된 파일들에 대한 지속적인 액세스를 위해 이전 키를 보유할 필요가 있다. 여러 실시예들은 안전한 방식으로 그러한 이전 키를 보유, 관리, 및 액세스함은 물론, 이전 키에 대한 필요성을 없애기 위해 암호화된 파일들의 재설정하는 유용한 시스템 및 방법을 제공한다.
EFS는 본 기술 분야에서 공지된 것이고, 최근의 MICROSOFT WINDOW? 운영 체제에 내장된다. 그러한 EFS의 실시예는 발명의 명칭이 "Encrypting File System and Method"이며, 2001년 6월 19일자로 Brundrett 등이 발행한 미국 특허 제6,249,866호에 개시된다. EFS는 장기간 메모리 내에 저장될 때 파일들이 자동적으로 암호화되고, 인증받은 사용자에 의해 필요로 될 때 자동적으로 복호화되는 임의의 자동화된 시스템이다. EFS의 여러 구현들은, 사용자가 암호화된 파일에 액세스하도록 인증되었다는 것을 입증하는 사용자 인증 프로세스를 제공할 수 있다. 사용자가 안전하기를 희망하는 파일들을 암호화 및/또는 복호화하기 위해, 사용자를 위하여 임의의 수의 키가 만들어질 수 있다.
본원은 어떠한 유형의 EFS로도 실시 가능하지만, MICROSOFT? EFS의 설명서에는 본원과 관련하여 사용될 수 있는 EFS 특징의 일반적인 논의가 제공된다. MICROSOFT? EFS는 파일을 안전하게 하기 위해 공개-키 암호 기법을 사용한다. 이는, 공개키와 개인키 모두 암호화 및 복호화를 위해 존재한다는 것을 의미한다. 그러나, 공개키가 암호화하는 것은 파일들 그 자체가 아니다. 대신, 매 파일(every file)은 FEK(file encryption key)라 불리는, 대칭키로 암호화되고, 이 FEK는 DDF(Data Decryption Field)라 불리는 필드에서, 암호화된 파일의 헤더에 저장된다. 그러나, FEK는 오픈 및 노출된 채로 있지 않는다. 이는 사용자의 공개키로 암호화된다. 사용자가 파일을 열기를 원할 때, 그들의 개인키가 사용되어 FEK를 복호화하고, 그 다음 FEK는 파일을 복호화하는데 사용된다. 이러한 배열의 매력은, 대부분의 파일들이 서로 다른 FEK를 갖기 때문에, 해커가 FEK를 복호화할 수 있더라도, 단지 하나의 파일만 얻게 된다는 것이다.
도 3은 예시적인 EFS(encrypting file system; 35)를 도시한다. 도 3에서, 키(39)는 예시적인 키 디바이스(32)와 같은 위치로부터 검색될 수 있다. 프로세스(33)는 키(39) 또는 그로부터 도출된 키들을 사용하여, 다수의 저장 장치(34) 위치들 중 임의의 위치에 있는 파일들(36)을 복호화할 수 있다. 컴퓨터(30)는 범용 컴퓨터 시스템일 수 있고, 또는 도 1을 참조하여 설명된 바와 같은 또 다른 컴퓨팅 디바이스일 수 있다.
EFS(35)는 파일 암호화를 위해 비대칭 키로부터 대칭 마스터키를 도출한다. 대칭 마스터 키는 예를 들어, 키 디바이스(31)에 도입된 비대칭 키(39)로부터 도출된다. 대칭 마스터 키의 사용은 몇몇의 장점들을 제공한다. 예를 들어, 우선, 그러한 대칭 키는 키 디바이스에 저장된 원래의 비대칭 키 쌍에 대한 지속적인 액세스를 요구하지 않고 재사용될 수 있다. 키 캐시 노드는 EFS의 소정 실시예에서 사용되어, 컴퓨터 메모리 또는 메모리 디바이스에 대칭 마스터 키를 저장할 수 있다. 키 디바이스(31)와 관련이 있는 두 가지 유형의 키 캐시 노드는 대칭 마스터 키형 캐시 및 Pin/CardState형 캐시이다. 대칭 마스터 키형 캐시가 설치되면, 파일을 암호화/복호화하기 위해, EFS에 대해 키 디바이스가 활성화되는 것(예컨대, 마스터카드가 판독기에 삽입되는 것)이 요구되지 않는다. 시스템 파라미터에 의해 결정되는 바와 같이, 대칭 마스터 키형 캐시는 워크스테이션 잠금 이후에도 유효할 수 있지만, 사용 로그오프 이후에는 특정 사용자에 대해서는 무효이거나 불능일 수 있다. 반대로, Pin/CardState형 캐시는 카드가 판독기로부터 분리되자마자 무효일 수 있다.
다음으로, 대칭 마스터 키는 암호화 및 복호화에 있어 비대칭 키보다 훨씬 더 빠르다. 마지막으로, 대칭 마스터 키가 사용되는 EFS(35)의 실시예의 또 다른 예시적인 이득은, EFS(35)를 멀리서 액세스하는 경우에 사용자가 소정의 휴대성(portability)을 얻는다는 것이다. 원격 서버로부터 다운로드되고 클라이언트 시스템에 의해 액세스될 때, FEK로 종단 대 종단(end-to-end) 암호화 혹은 복호화된 파일들은 클라이언트 시스템 상에서 복호화 프로세스를 요구할 것이다. 대칭 마스터 키는, 키 디바이스가 이용가능하게 되는 임의의 클라이언트 시스템의 컴퓨터 메모리로부터 도출되거나 검색될 수 있다. 대칭 마스터 키가 도출되거나 이용가능해 질 때, 암호화 혹은 복호화된 파일들은 복호화 키를 발견하기 위한 클라이언트 시스템에서의 추가적인 프로세싱없이 다수의 원격 서버로부터 다운로드될 수 있다.
소정의 EFS에서, 각 사용자의 대칭 마스터 키는 유일한 것일 수 있다. 사용자 그 자신만이 그의 대칭 마스터 키를 도출한다. 그 외의 개인들은 사용자의 개인키를 소유하지 않으므로 사용자의 마스터 키를 도출하는 것이 금지된다. 대칭 마스터 키는 키 디바이스(31)로부터 검색될 수 있는 비대칭 키로부터 최소한 한 번 도출된다. 그 다음, 대칭 마스터 키는 랜덤으로 생성된 FEK(file encrypting key)를 암호화하는데 사용될 수 있다.
비대칭 키 쌍은 예를 들어 키 디바이스(31)에 저장될 수 있다. 그 다음, 대칭 마스터 키는 비대칭 키 쌍의 개인 키로부터 도출된다. 대안적으로, 대칭 마스터 키는 비대칭 키 쌍의 양측 키를 사용하여 도출될 수 있다. 일단 대칭 마스터 키가 메모리(32)에 저장되면, 일 실시예에서, 대칭 마스터 키는 부트마다(per-boot basis) 범용 컴퓨터 혹은 운영 체제용 세션 키를 사용하여 암호화될 수 있다.
키 디바이스(31)는, 다른 실시예에서, 스마트카드, 하드웨어 보안성 모듈, 토크, 하드 디스크, 또는 비대칭 키 쌍의 개인키를 안전하게 저장하도록 구성될 수 있는 또 다른 디바이스일 수 있다. 키 디바이스(31)는 비대칭 키 쌍의 개인키를 저장하는 범용 디바이스로 간주될 수 있다. 이로써, 키 디바이스는 컴퓨터(30)에 대한 주변 디바이스로서 구성될 수 있다. 대안적으로, 키 디바이스(31)는, 이를테면 프로세서 칩이나 그 외의 칩의 일부와 같이, 컴퓨터(30) 자체 내에, 또는 컴퓨터(30)의 마더보드에 사실상 부착되거나 또는 다른 방법으로 고정되는, 이를테면 ASIC(application specific integrated circuit)와 같이, 비대칭 키 쌍의 개인 키 혹은 비대칭 키 쌍 만을 포함하는 칩으로서 통합될 수 있다. 이로써, 소정의 예에서, 칩은 사실상 범용 컴퓨터 내, 및 마더보드 상에 포함될 수 있다. 비대칭 키 쌍의 개인 키를 저장하는 하드웨어 디바이스가 없다면, 이는 소프트웨어에 저장, 이를테면 하드 디스크 상에 저장될 수도 있다. 이로써, 키 디바이스는 매우 포괄적인 것으로 간주된다.
EFS(35)는 비대칭 키 쌍의 개인 키로부터 대칭 마스터 키를 도출하기 위해 많은 서로 다른 실시예 및 알고리즘을 사용할 수 있다. RSA 암호 알고리즘은 공지되고 수락된 암호 알고리즘이다. RSA는 주로 공개 키 암호 기법을 위해 사용된다. DES(Data Encryption Standard), Triple DES, AES(Advanced ENcryption Standard) 등과 같은 그 외의 알고리즘은 대칭 마스터 키를 사용하여 암호화되는 FEK를 사용하여 데이터 파일들을 암호화 및 복호화하는데 사용된다.
소정의 실시예에서, 여기에서 심사숙고된 키 리스트는 대칭 마스터 키의 리스트 - "마스터 키 이력"일 수 있다. 새로운 비대칭 키가 도입될 때, 이전의 대칭 마스터 키는 그 리스트에 추가될 수 있고, 새로운 마스터 키 - 새로운 비대칭 키로부터 도출된 마스터 키 - 는 리스트를 암호화하는데 사용될 수 있다. 그 외의 실시예들은 여기 주어진 키 리스트에 그 외의 EFS 키들, 이를테면 비대칭 공개/개인 키 쌍 및/또는 FEK들을 배치할 수도 있다.
마스터키가 승인된 경우에, 마스터키는 소프트웨어 대칭 키이므로 키를 안전하게 저장하는 것이 가능하다. 따라서, 마스터 키를 사용하는 EFS 시스템은 여기 제공된 키 관리 기술에 특히 적당하다. 반대로, 많은 실시예에 있어서 소프트웨어 RSA 키들(또는 그들이 생성하는 마스터 키)을 보관할 필요는 없는데, 이는 RSA 키 쌍은 CSP(Cryptographic Service Provider)에 계속해서 상주할 것이기 때문이다. 본원의 실시예에서 설명되는 바와 같이, "마스터 키 이력" 특징은 임의의 유형의 키, 소프트웨어 기반, 하드웨어 기반, 또는 그 외의 것들을 보호하는데 사용될 수 있다. 그러한 키는 하드웨어 RSA 개인키로부터 도출된 마스터키이다.
Master Key History의 고유 특징은, 암호화 파일 시스템(EFS)에서도 사용되는 비-인증서(x.509, Xrml, 등) 기반 비대칭 키 쌍들의 사용을 가능케 할 수 있고, 그것들이 시스템에 의해 저장, 관리, 및 사용되게 하면서 동시에 인증서에 기초한 하나의 비대칭 키를 통한 액세스만을 허용한다는 것이다. 대칭 키는 현재 인증된 공개 키를 사용하여 랩(wrapped)될 수 있고, 대응하는 비대칭 개인 키를 사용하여 복호화될 수 있다. 이는 시스템의 키들의 전체적인 다양성 및 유용성을 증가시킨다.
도 3을 참조하여 요약하면 본원은 EFS(35)와 관련하여 키를 관리하기 위해 사용될 수 있다. EFS는 여기 설명된 기술들을 사용할 수 있다. 예시적인 EFS는 MICROSOFT WINDOW?에 의해 사용되는 것이다. MICROSOFT? EFS의 일부 버전들은 비대칭 키 쌍으로부터 대칭 마스터 키를 도출한다. 대칭 마스터 키는 하나 이상의 FEK를 암호화한다. 여기에서, 키들이 파일을 암호화 혹은 복호화하는 것으로 설명될 때, 이는 FEK를 암호화 및 복호화하는 것을 사실상 수반할 수도 있다는 것으로 이해되고, 이는 특정한 파일을 암호화 및 복호화하는데 사용된다. 본원은 이 프로세스에 있어서의 임의의 키 및 모든 키를 관리하는데 사용될 수 있다.
도 4는, 사용자와의 직접적인 상호작용을 가지는 것(또는 스크린상에 사용자 인터페이스를 올리는 것, 그것을 어떤 식으로 표현하고 싶든)이 허용되지 않는 내부 서비스로부터의 스마트 카드와 같은 키 디바이스에 액세스하기 위해 PIN(personal identification number)과 같은, 키를 검색하는 예시적인 시스템 및 방법을 도시한다. 키를 요구하는 착신 명령이 LSASS(local security authority security service) EFS(40)에 도달할 때, LSASS EFS(40)는 새로운 프로세스(42)로 불리는, 사용자에게 키를 촉구하는 사용자 인터페이스(44)를 생성하는 프로세스(41)를 양산할 수 있다. 키는 필요에 따라 암호화/복호화에 사용하기 위해 LSASS EFS로 다시 보내질 수 있다.
도 4에 도시된 프로세스는, 스마트카드 상의 하드웨어 기반 개인 키에 기초한 마스터 키가 사용될 때 키 엔트리 리스트를 갱신하기 위해 필요한 PIN(Personal Identification Number) 모두를 EFS가 구비하도록 보장한다. 이러한 시나리오에 대해, EFS 시스템은 상술된 프로세스를 통해 다수의 스마트카드에 대한 PIN을 얻을 수 있다. 통상적으로, LSASS는 사용자와 직접적으로 상호작용할 수 없는 시스템 서비스이다. 따라서, EFS(40)는, 예를 들어, 적절한 PIN을 사용자가 입력하도록 촉구하는 사용자 인터페이스(44)를 제시함으로써 하나 이상의 PIN을 수집하는 개별 프로세스를 양산할 수 있다. 그 다음, 프로세스(42)는 안전한 방식으로 LSA에 PIN을 전송할 수 있다. 그 다음, EFS는, 43에서 설명된 바와 같이, 특정한 시간 기간동안 PIN을 캐시할 수도 있다. 이러한 PIN은 암호화된 파일을 복호화하기 위해서 스마트카드 상의 개별 키를 액세스하기 위해 사용될 것이다.
도 4의 또 다른 실시예가 당업자에 의해 이해될 것이다. 예를 들어, 도 4에 도시된 동작을 달성하기 위한 다른 방법은, PIN 촉구가 필요한지를 결정하기 위해 암호화된 파일에 액세스하여 EFS에게 질문하는 클라이언트 애플리케이션이다. 그렇다면, 애플리케이션은 PIN을 촉구하여 그것을 LSASS로 보낸다. 이는, PIN이 촉구되고 있다는 것을 사용자가 보다 명확히 알 수 있게 모드 프롬프팅(modal prompting)을 허용한다.
도 5는 본원의 다양한 장점들에 의해 처리되는 문제에 대한 실시예를 도시한다. 키, 예컨대, EFS(55) 내의 제1 키(59B)가 바뀔 때, 소정 파일(57)의 복호화는 이전에 사용된 키(59A)를 요구할 수 있는 반면, 58에 저장된 것과 같은 다른 파일들의 복호화에는 제1 키(59)가 요구될 수 있다. 임의의 경우에, 새로운 키, 예컨대, 제2 키(59C)는 파일들(57, 58)을 복호화하는데 사용될 수 없다. 따라서, 제2 키(59C)를 사용하여 파일들(57, 58)에 대해 효율적으로 고르게 지속되는 액세스를 제공함은 물론, 제2 키(59C)를 사용하여 파일들(57, 58)을 재-암호화하는 기술이 요구된다.
사용자가 스마트카드에 저장된 키를 사용하여 많은 서버 상의 많은 파일들을 암호화한 경우에 대해 생각해 보자. 사용자가 현재 키(일반적으로 EFS에 의한 키)를 바꿀 때, 예전 파일들 전부는 여전히 예전 스마트카드 키로 암호화될 것이고, 사용자는 예를 들어, 태스크 등을 수행할 수 있는 재설정 마법사 애플리케이션을 사용하여 그의 모든 파일들을 수동으로 재설정해야 하며, 또한, 사용자가 매우 정통해 있지 않다면, 이 사용자는 그의 현재 스마트카드를 뽑아 예전 스마트카드에 꽂으려고 할 수도 있다. 만약 예전 카드를 잃어버렸다면, 사용자는 MICROSOFT? EFS에 의해 제공된 복구 에이전트와 같은, 복구 애플리케이션을 사용하여 그의 데이터를 복구해야만 한다. 이 문제는 EFS에 키를 제공하기 위해 다수의 스마트카드를 거치는 사용자에게는 더욱 악화된다.
도 5에 제시된 문제를 경감하기 위해, 키 리스트 또는 키 이력 특징이 구현되어, 시간에 걸쳐 사용자가 거치는 다양한 복호화 키를 안전하게 저장하도록 할 수 있다. EFS에서의 문제가 도시되었지만, 본원은 임의의 설정에서 복호화 키를 관리하기 위해 사용될 수 있다는 것에 주목한다. EFS와 함께 사용될 때, 본원의 실시예는 컴퓨터(50)에 대한 구성 설정, 이를테면 레지스트리 키를 통해, 복호화 키의 트랙을 온 혹은 오프로 유지하기 위해 자동화된 프로세스를 턴하는 설정을 포함할 수 있다. 이 방침은, 재설정 동작이 수행될 때 이전에 암호화된 파일들의 암호화 리스트를 EFS 클라이언트가 자동적으로 유지하는 것을 디스에이블(disable)하거나 인에이블(enable) 한다. 운영 체제가 이 특징을 포함하는 경우에, 디폴트에 의해 ON이 될 수 있다.
도 6은 키 리스트(610)를 도시한다. 키 리스트(610)는 암호화된 파일들, 예컨대, 파일들(606) 사이에 저장될 수 있다. 상술된 실시예에서, EFS(605)는 모든 키, 예컨대, MICROSOFT? EFS 내의 모든 대칭 마스터 키의 이력을 유지할 수 있고, 그러한 마스터 키는 방침에 의해 인에이블된다. 그러한 실시예에서, 마스터 키는 소프트웨어 대칭 키이므로 리스트(610)를 안전하게 저장하는 것이 가능하다. 이전 키를 안전하게 저장하는 것 외에, 키 리스트(610) 특징은 소프트웨어 RSA 키의 분 실이나 손상으로부터 지킬 수 있다. 또한, 이러한 특징은 암호화 키의 백업을 저장하는 데 있어서 및 복구 메커니즘으로서 얼마간의 이익을 제공할 수 있다.
임의의 사용자를 위해 컴퓨터(600)에서 사용된 키 리스트(610)는 사용자 프로파일의 일부로서 저장될 수 있다. 예를 들어, 파일(606)을 복호화하는 키는 특정한 사용자 프로파일에 대응할 수 있다. 키 리스트(610)는 파일로서, 즉, BLOB(binary large object) 구조로서 레지스트리, 또는 USB 드라이브 혹은 스마트카드와 같은 휴대용 디바이스에 저장될 수 있다. MICROSOFT WINDOWS? 운영 체제에 있어서, 키 리스트를 포함하는 2진 BLOB 구조에 대한 예시적인 레지스트리 위치는:
Figure 112006002235653-pat00001
이다.
예를 들어, EncryptionKeyHash로 불리는 새로운 레지스트리 값은 MasterKeyHistory 레지스트리 아래 추가될 수 있다. 이 레지스트리 값은 키 리스트(610)를 암호화하기 위해 사용된 인증서의 해시를 포함할 수 있다.
도 7은 제2 키(709)를 사용하여 암호화되는 예시적인 키 리스트(700)를 도시한다. 제2 키(709)는 아마 파일들을 암호화하기 위해 EFS 시스템에 의해 현재 사용되는 키, 또는, 상술한 바와 같이, FEK이므로, 현재 키로 불릴 수도 있다. 키 리스트(700)는 이전 키(701-704)를 사용하여 암호화된 파일들(707, 708)에 대해 복호화, 암호화, 재설정 등을 위해 필요한 것으로 사용될 수 있는 복수의 이전 키 (701-704)를 포함할 수 있다. 따라서, 키(700) 리스트는 현재 혹은 갱신된 암호 키(709)의 소유의 확인을 통해 이전 암호 키(701-704)를 사용하여 암호화된 파일들(707, 708)에 대한 액세스를 허용한다.
키 리스트 내의 키의 포맷은 다음과 같다:
Figure 112006002235653-pat00002
이 키 리스트 구조에 그 외의 데이터가 저장될 수 있고, 이는 단지 예시적인 구현에 불과하다는 것에 주목하는 것이 중요하다.
도 7은 키 데이터 컬럼의 사이즈(705)를 제공함으로써 이 포맷을 반영하고, 여기서, 701a는 제1 키(701)의 사이즈, 702a는 이전 키(702)의 사이즈, 703a는 이전 키(703)의 사이즈, 704a는 이전 키(704)의 사이즈이다. 사이즈 필드, 예컨대, 701a는 무결성 검사로서 동작한다. 그러한 필드의 사용은 오류가 있는 키가 파일을 암호화하는데 사용되지 않도록 보장하는 것을 돕는다. 키 리스트(700)의 암호화 유형은 동일한 위치에, 즉, 사용자 프로파일 또는 레지스트리에 저장될 수 있다. 예컨대:
EFS\CurrentKeys\MasterKeyHistory\EncryptionKeyType
그러한 키의 가능한 값은, 예컨대 :
Figure 112006002235653-pat00003
이다.
따라서, EFS 하의 예시적인 레지스트리 구조는 다음과 같을 수 있다:
Figure 112006002235653-pat00004
여기 제공된 키 리스트(700)가 EFS와 함께 사용되고, 현재 키(709)가 존재하지 않는 실시예에서, 그때, 새로운 현재 키가 설치되면, EncryptionKeyHash에 대응하는 키는 키 리스트(700)에 새로운 엔트리로서 추가될 수 있다. 그러한 실시예는 현재 키(709)가 사용자에 의해 실수로 삭제되는 경우를 처리한다.
이전 키(701-704), 예컨대, 이전 마스터 키는 정기적으로(routinely) 현재 키(709)로 암호화될 수 있다. 이 점에 있어서, 그들은 소프트웨어 기반 키가 현재 키(709)라면 RSA-키를 사용하여 암호화될 수 있고 또한 스마트카드가 현재 키(709)라면 마스터 키가 사용될 수 있다.
따라서, 제1 키(701)는 원래 EFS 시스템에서와 같이, 파일들의 암호화를 위한 현재 키일 수 있고, 현재 키는 제2 키(709)로 바뀔 수 있다. 키는 몇 가지 이유로 바뀔 수 있다. 이는 보안을 이유로 바뀔 수 있고, 또한 단순히 제1 키(701)로의 액세스가 허용된 스마트 카드와 같은, 카드가 분실되었기 때문에 바뀔 수도 있다. 소정의 구현에서, 키 이력을 암호화하는데 스마트카드가 사용되는데, 이 카드가 분실되면, 전체 키 리스트(700)가 분실되고, 파일들(707, 708)은 데이터 복구 에이전트를 사용하여 복구되어야 할 것이다. 데이터 복구 에이전트를 사용하여 키 리스트(700)를 암호화할 수 있는 또 다른 구현이 있을 수 있다.
이 변경은, EFS 방침이 제1 키(701), 예를 들어, RSA 키의 사용을 제2 키, 즉, 마스터 키의 사용으로 바꾸는 경우 혹은 그 반대인 경우에도 발생한다. 현재 키로서의 제1 암호화 키(701)에서 현재 키로서의 제2 키(709)로 바꾸기 위한 프로세스는 다음과 같이 진행될 수 있다:
키 리스트는 제1 키(701)를 사용하여 제1 복호화되고,
키 리스트는 제2 키(702)를 사용하여 재-암호화되고,
제1 키(701), 예컨대, 스마트카드로부터 도출된 마스터 키는 제2 키(709)로 암호화되고 레지스트리 내의 리스트(700)에 추가된다.
또한, 소정의 시나리오에서 다음 단계들이 수행될 수 있다:
제2 키(709)가 소프트웨어 키라면, 그때, 키 리스트(700)는 직접 RSA 방식을 사용하여 유익하게 암호화될 수 있고,
제2 키(709)가 스마트 카드 키라면, 그때, 키 리스트(700)는 마스터 키 방식을 사용하여 유익하게 암호화될 수 있다.
도 8은 파일들을 재설정 - 재 암호화로도 칭함 - 하는 예시적인 프로세스를 도시한다. 도 8과 같은 프로세스는, 모든 파일들의 긴 재설정을 기다릴 필요없이 고른 사용자 경험을 제공하도록 컴퓨팅 자원이 이용가능할 때 시간에 걸쳐 동작하도록 구현될 수 있다. 이는 시간에 걸쳐 모든 파일들을 재설정하는 능력을 용이하게 하는데 사용되는 메커니즘이다. 도 8의 프로세스는 파일들, 특히, 하나 이상의 스마트카드가 사용되고 많은 파일들이 갱신될 필요가 있으며 모두가 동일한 프로세스나 세션에서 완료될 수 없는 파일들의 재설정을 간략화할 수 있다. 이전에 암호화된 파일로의 액세스를 위한 키 리스트의 사용은 이전 키를 사용하여 암호화된 파일들의 재설정을 요구하지 않고, 단지 관리의 용이함을 위한 노력을 쉽게 하는 것임을 주목하는 것이 중요하다.
따라서, 도 8에서, 제1 파일 x가 취해지고(800), 파일 x를 암호화하는데 사용된 키의 결정이 실시될 수 있다(801). 이러한 결정은 적절한 암호화 키를 지시하는, 파일과 함께 저장된 포인터에 의해 용이해 질 수 있다. 다음으로, 요구된 키, 예컨대, 제1 키는 키 리스트(802)로부터 검색될 수 있고, 파일 x를 복호화하는데 사용될 수 있다(803). 그 다음, 파일 x는 단계 804에서 현재 키, 예컨대, 제2 키를 사용하여 암호화될 수 있다. 또 다른 파일을 재설정하는데 충분한 컴퓨팅 자원들이 이용가능하다면, 그렇게 하도록 결정될 수 있다(805). 그렇지 않으면, 프로세스는 그러한 자원이 이용가능할 때까지 유휴 상태(806)이거나 종료할 수 있다. 이러한 방법으로 시간에 걸쳐 파일들을 재설정하는 것은, 사용자 중재 또는 복호화/암호화 프로세스를 위한 사용자 대기를 요구하지 않는 배경에서 재설정을 허용한다. 아직 재설정되지 않은 파일들은 단순히 키 리스트로 가서 복호화하기에 적합한 이전 키를 검색함으로써 액세스되고, 또한, 단지 현재 키로 복호화함으로써 액세스될 수 있다.
도 9는 도 8에 도시된 프로세스에 대한 보다 상세한 실시예를 제공한다. 도 9는 파일을 암호화하기 위해 EFS를 사용하는 본원의 실시예들에 대해 보다 구체적으로 나타낸다. 도 9에 도시된 바와 같이, EFS 클라이언트는 파일 재설정 프로세스(900)를 개시한다. 파일이 열린다(901). 파일이 멀리 있는 파일인지 여부에 대한 판정이 이루어 진다(902). 파일이 가까이 있다면, 로컬 파일을 액세스하기 위한 EFS 프로세스(903)가 시작된다. 파일이 멀리 있다면, EFS 클라이언트에 암호화된 파일을 다운로드하기 위해 파일이 상주하는 서버와 적절한 EFS 레퍼런스 및 프로세스와의 상호작용이 시작될 수 있다. 이들 중 어느 경우든, 키 리스트가 검색될 수 있다(905).
키 리스트는, 예를 들어, 현재 EFS 마스터 키를 사용하여 복호화된다(906). MICROSOFT? 스타일 EFS에서, 키는 DDF를 복호화하고 EFK를 검색하는데 사용된다(907). 새로운 DDF가 파일에 추가된다(908). 예전 DDF는 파일로부터 제거된다(909). 파일에 대한 적절한 키로의 포인터가, 이러한 특정 EFS 시스템에서의 일관성을 위해 필요한 임의의 다른 갱신들과 함께, 갱신될 수 있다(910). 끝으로, 파일이 닫힌다(911). 이제 파일은 성공적으로 재설정된다(912). 도 9로부터 당업자에게 명백해지는 본원의 하나의 이점은, 파일을 (in the clear) 노출하지 않고 또는 서버 상에서의 관리 중재를 요구하지 않고 또는 서버 상에서 사용된 키의 클라이언트로의 이동을 요구하지 않고 멀리 있는 서버 상의 파일을 쉽게 이동시키는 능력이다.
도 10은 EFS에서 사용된 현재 키들을 바꾸는 프로세스를 도시한다. 이전에 사용된 키(제1 키)는 키 리스트를 복호화하는데 사용될 수 있다(1000). 그 다음, 이전 키가 리스트에 추가되고(1001), 리스트는 새로운 현재 키를 사용하여 암호화 될 수 있다(1002). 추가 단계들에 착수하는 한편, 리스트 갱신 프로세스는 이러한 3 단계를 포함할 수 있다. 이전 키는 이전 키를 사용하여 암호화되는 임의의 파일들에 대한 리스트에서 이용가능할 것이고, 현재 키로의 액세스를 갖는 것들만 이전 키로의 액세스를 가질 것이다. 이 프로세스는 도 7을 참조하여 설명된다.
도 7을 참조하여 진술된 바와 같이, 본원의 실시예들은 EFS 시스템에 통합된 키 리스트를 제공한다. 그러한 실시예에서, 현재 키가 존재하지 않고 새로운 현재 키가 설치되는 경우에, EncryptionKeyHash에 대응하는 키는 단계 1001에서 새로운 엔트리로서 키 리스트에 추가된다. 그러한 실시예들은 예를 들어, 현재 키가 삭제된 상황을 다루는 데 있어 유리하다.
도 10의 프로세스는 임의의 이전 키를 키 리스트에 추가하기 위해 정기적으로 수행될 수 있고, 또한 키가 유용하고 필요한 것으로 간주되는 것에 의존하는 요구에 따라 수행될 수 있다. 제1 키가 EFS에 의해 사용되어 사용자 파일, 또는, 드물게는 DDF를 암호화할 때마다, 및 제1 키가 제2 키로 바뀔 때마다, 도 10과 같은 프로세스를 통해 키 리스트에 제1 키를 저장하는 것이 유리할 수 있다. 상술한 바와 같이, 키는 몇 가지 이유, 즉, EFS 방침이 제1 키, 예를 들어 RSA 키의 사용에서 제2 키, 즉, 마스터 키의 사용으로 바꾸거나 그 반대의 상황 - 이에 한정되지 않음 - 을 포함하는 이유로 인해 바뀔 수 있다. 현재 키로서의 제1 암호화 키(701)를 현재 키로서의 제2 키(709)로 바꾸는 프로세스는 다음과 같이 진행될 수 있다:
도 7을 참조하여 설명된 바와 같이, 제2 키가 소프트웨어 키라면, 키 리스트 는 직접 RSA 방식을 사용하여 단계 1002에서 유리하게 암호화될 수 있다. 제2 키가 스마트 카드 키라면, 키 리스트는 마스터 키 방식을 사용하여 단계 1002에서 유리하게 암호화될 수 있다.
도 11은 재설정 마법사에 대한 예시적인 GUI(Graphical User Interface)를 도시한다. 그러한 마법사는 EFS 내의 파일들을 액세스하는데 필요한 이전 키 모두를 입력하도록 사용자를 촉구할 수 있다. 도 11의 마법사는 도 7에 제공된 키 리스트를 갱신할 수 있는 프로세스에 의해 지원될 수 있다. 마법사를 제공하는 것은 완전히 자동화되지는 않은 방식에서의 키의 검색을 허용하며, 프로세스로의 사용자 입력을 허용하므로 유용하다. GUI(1101)는 표시 표면 상에 제시된다(1100). 도 11의 GUI(1101)의 엘리먼트들은, 예를 들어, 사용자에게 이전에 사용된 키를 입력하도록 지시하는 사용자 촉구(1102), 복호화 키를 입력하는 문자 입력 영역(1103), 키를 자동적으로 입력하는 선택 버튼(1105), 및 사용자가 정보 입력을 완료하고, 키 정보가 키 리스트, 또는 입력된 키들이 재설정 및/또는 파일 액세스에 자동적으로 사용될 수 있는 그 외의 저장 위치에 로드된다는 것을 나타내는 명령 버튼(1104)일 수 있다.
도 12는, 도 7의 키 리스트에 존재하지 않는 키(1220-1222)가, 예를 들어, 키 디바이스(1201), 또는 도 11의 GUI를 통해 컴퓨터(1200)에 도입될 수 있고, EFS(1205)에 의해 사용하기 위해 키 캐시(1230)에 일시적으로 캐시될 수 있는 배열을 도시한다. 그러한 키들(1220-1222)은 인증받지 못한 사용을 막기 위해, 사용자 로그오프시 메모리(1202)로부터 제거된다.
도 12에 도시된 바와 같은 캐시(1230)의 사용을 트리거하는 통상적인 시나리오는 사용자가 다수의 스마트 카드에 저장된 다수의 키를 갖는 경우이다. 여러 이유로, 도 7의 키 리스트와 같은 소스로부터 키를 얻는 것은 어렵거나 불가능하다. 그러한 설정에서, 제1 스마트 카드 베어링 키(1220), 제2 스마트 카드 베어링 키(1221), 및 제3 스마트 카드 베어링 키(1222)는 키 디바이스(1201), 예를 들어, 컴퓨터(1200)에 실시 가능하게 접속되는 스마트 카드 판독기에 삽입된다. 카드 베어링 키가 삽입되는 각 시간에, 컴퓨터(1200)는 키 캐시(1230)에 키를 캐시한다. 키(1220A, 1221A, 1222A)는, 예를 들어, 각각 키(1220, 1221, 1222)의 캐시된 버전이다. 파일 암호화 및 복호화 프로세스(1203)는 캐시된 키(1220-1222)를 사용하여 필요에 따라 임의의 가상 저장 위치(1204)에 저장된 파일들(1206)을 복호화 및/또는 암호화한다. 파일(1206)은 현재 키로 재설정되어 앞으로의 캐싱 동작의 필요성을 피할 수 있다.
이전 도면으로부터 604, 54, 34 등의 관련 엘리먼트 및 저장 장치(1204)를 간단히 참고하면, 컴퓨팅 디바이스는 통상적으로 컴퓨터 판독가능 매체의 적어도 소정 형태를 포함한다는 것을 유의해야 한다. 컴퓨터 판독가능 매체는 30, 50, 600, 1200와 같은 컴퓨터에 의해 액세스될 수 있는 임의의 이용가능한 매체일 수 있다. 예로서, 이에 한정되지는 않지만, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있다. 컴퓨터 저장 매체는, 컴퓨터 판독가능 명령어들, 데이터 구조들, 프로그램 모듈들 혹은 그 외의 데이터와 같은 정보의 저장을 위해 임의의 방법 혹은 기술로 구현되는 휘발성 및 불휘발성, 분리형 및 비분리형 매체를 포함한다. 컴퓨터 저장 매체는, 이에 한정되지 않지만, RAM, ROM, EEPROM, 플래시 메모리나 그 외의 메모리 기술, CD-ROM, DVD(digital versatile disks)나 그 외의 광학적 저장장치, 자기 카세트, 자기 테이프, 자기 디스크 저장장치나 그 외의 자기 저장 디바이스, 또는 원하는 정보를 저장하는데 사용될 수 있고 30, 50, 600, 1200과 같은 컴퓨터에 의해 액세스될 수 있는 또 다른 매체를 포함한다. 통신 매체는 통상적으로 컴퓨터 판독가능 명령어들, 데이터 구조들, 프로그램 모듈들 혹은 반송파나 그 외의 수송 메커니즘과 같은 변조된 데이터 신호 내의 그 외의 데이터를 포함하고 임의의 정보 전달 매체를 포함한다. "변조된 데이터 신호"라는 용어는, 신호 내의 정보를 인코드하도록 그 하나 이상의 특징이 설정되거나 변경된 신호를 의미한다. 예로서, 이에 한정되지는 않지만, 통신 매체는 유선 네트워크(wired network)나 직접 유선 접속(direct-wired connection)과 같은 유선 매체, 및 음향, RF, 적외선 및 그 외의 무선 매체와 같은 무선 매체를 포함한다. 상기 중 임의의 조합 역시 컴퓨터 판독가능 매체의 범주 내에 포함된다.
여기 설명된 여러 기술들은 하드웨어나 소프트웨어 혹은 적절하게 그 양측의 조합과 관련하여 구현될 수 있다. 따라서, 본 발명의 방법 및 장치, 또는 그들의 어떤 양상이나 부분들은, 플로피 디스켓, CD-ROM, 하드 드라이브, 또는 프로그램 코드가 로드되고 컴퓨터와 같은 기계 - 이 기계는 본원의 실시하기 위한 장치가 됨 - 에 의해 실행되는 또 다른 기계-판독가능 저장 매체와 같은, 유형 매체에 내장된 프로그램 코드(즉, 명령어들) 형태를 취할 수 있다. 프로그램 가능한 컴퓨터 상에 서의 프로그램 코드 실행의 경우에, 컴퓨팅 디바이스는 일반적으로 프로세서, 프로세서에 의해 판독가능한 저장 매체(휘발성 및 불휘발성 메모리 및/또는 저장 엘리먼트를 포함하는), 적어도 하나의 입력 디바이스, 및 적어도 하나의 출력 디바이스를 포함한다. 예컨대, 데이터 프로세싱 API, 재사용가능 제어 등을 통해, 본 발명의 사용자 인터페이스 기술을 구현 또는 이용할 수 있는 하나 이상의 프로그램은 바람직하게는 컴퓨터 시스템과 통신하기 위해 고레벨 절차 혹은 객체 지향 프로그래밍 언어로 구현된다. 그러나, 프로그램(들)은 원한다면 어셈블리 혹은 기계 언어로 구현될 수 있다. 임의의 경우에, 언어는 컴파일러형 혹은 해석형 언어일 수 있고, 하드웨어 구현과 조합될 수 있다.
예시적인 실시예는 하나 이상의 독립형 컴퓨터 시스템의 상황에서 본 발명을 이용하는 것을 언급하지만, 본원은 이에 한정되지 않고, 오히려 네트워크 혹은 분산형 컴퓨팅 환경과 같은 임의의 컴퓨팅 환경과 관련하여 구현될 수 있다. 또한, 본 발명은 다수의 프로세싱 칩이나 디바이스로 혹은 그들을 통해 구현될 수 있고, 저장장치는 유사하게 다수의 디바이스를 통해 이루어질 수 있다. 그러한 디바이스는 개인용 컴퓨터, 네트워크 서버, 포켓용 디바이스, 슈퍼컴퓨터, 또는 자동차와 비행기와 같은 그 외의 시스템에 통합된 컴퓨터를 포함할 수 있다. 따라서, 본 발명은 임의의 하나의 실시예에 한정되어서는 안 되고, 오히려 첨부된 청구 범위에 따라 폭 및 범위가 해석되어야 한다.
상술한 바와 같이, 본원 발명에 따르면 사용자의 중재를 요구하지 않고 시간 에 걸쳐 모든 암호화된 파일들을 재설정하는 메커니즘에 의해 유용성을 향상시키고, 이전 암호화 키의 분실 및 파괴로 인해 데이터를 분실하게 되는 것을 방지할 수 있게 된다.

Claims (20)

  1. 파일 암호화 및 복호화를 위한 다수의 키를 관리하는, 프로세서 구현되는 방법으로서,
    상기 프로세서를 통하여, 키 이력(key history)을 유지하기 위한 키 리스트를 제공하는 단계;
    제1 파일을 복호화하기 위해 사용가능한 제1 키를 상기 키 리스트에 저장하는 단계;
    상기 제1 파일과 상이한 제2 파일을 복호화하기 위해 사용가능한 제2 키를 사용하여 상기 키 리스트를 암호화하는 단계 - 상기 제2 키는 상기 제1 키와 상이함 -;
    제1 재설정(re-keying) 동작을 실행하는 단계로서,
    상기 제2 키를 사용하여 상기 키 리스트를 복호화하는 단계,
    상기 키 리스트로부터 상기 제1 키를 검색하는 단계,
    상기 제1 키를 사용하여 상기 제1 파일을 복호화하는 단계, 및
    제3 키를 사용하여 상기 제1 파일을 암호화하는 단계 - 상기 제3 키는 파일 암호화를 위한 현재 키(a current key)로서 사용되고 상기 제1 및 제2 키와 상이함 -를 포함하는 단계; 및
    제2 재설정 동작을 실행하는 단계로서,
    상기 제2 키를 검색하는 단계,
    상기 제2 키를 사용하여 상기 제2 파일을 복호화하는 단계,
    상기 제3 키를 사용하여 상기 제2 파일을 암호화하는 단계,
    상기 제2 키를 상기 키 리스트에 저장하는 단계, 및
    상기 키 리스트를 상기 제3 키를 사용하여 암호화하는 단계 - 상기 제3 키는 이후 상기 제1 파일, 상기 제2 파일, 및 상기 키 리스트를 복호화하기 위해 사용가능함 -를 포함하는 단계
    를 포함하는, 방법.
  2. 제1항에 있어서,
    상기 제1 재설정 동작을 실행하는 단계는, 상기 제1 파일을 암호화하기 위해 사용되는 암호화 키로서 상기 제2키를 결정하는 단계 - 상기 결정하는 단계는 상기 제1 파일과 연관된 포인터를 확인하는 것을 포함함 -를 포함하는, 방법.
  3. 제1항에 있어서,
    적어도 하나의 키를 입력하도록 사람에게 촉구(prompt)하는 단계와, 상기 키 리스트에 상기 적어도 하나의 키를 추가하는 단계를 더 포함하는 방법.
  4. 제1항에 있어서,
    상기 키 리스트는 사용자 프로파일과 함께 저장되는, 방법.
  5. 제1항에 있어서,
    상기 제3 키는 휴대용 디바이스에 저장되는, 방법.
  6. 제1항에 있어서,
    상기 키 리스트에서 이용가능하지 않은 제4 키를 캐시 메모리에 저장하는 단계;
    제3 파일을 암호화하는 것 및 상기 제3 파일을 복호화하는 것 중 하나 이상을 위해 상기 제4 키를 사용하는 단계; 및
    로그아웃될 때 상기 캐시 메모리로부터 상기 제4 키를 삭제하는 단계
    를 포함하는 방법.
  7. 제1항에 있어서,
    상기 제1 및 제2 재설정 동작 중 적어도 하나는, 컴퓨팅 자원의 현재 사용에 의한 영향(impact)을 줄이기 위해 컴퓨팅 자원이 이용가능할 시간 동안에 수행되는 백그라운드 재설정 동작(background re-keying operation)인, 방법.
  8. 파일 암호화 및 복호화를 위한 다수의 키를 관리하는 명령어를 담고 있는 컴퓨터 판독가능 기록 매체로서, 상기 명령어는 실행될 때
    키 이력(key history)을 유지하기 위한 키 리스트를 제공하는 단계;
    제1 파일을 복호화하기 위해 사용가능한 제1 키를 상기 키 리스트에 저장하는 단계;
    상기 제1 파일과 상이한 제2 파일을 복호화하기 위해 사용가능한 제2 키를 사용하여 상기 키 리스트를 암호화하는 단계 - 상기 제2 키는 상기 제1 키와 상이함 -;
    제1 재설정(re-keying) 동작을 실행하는 단계로서,
    상기 제2 키를 사용하여 상기 키 리스트를 복호화하는 단계,
    상기 키 리스트로부터 상기 제1 키를 검색하는 단계,
    상기 제1 키를 사용하여 상기 제1 파일을 복호화하는 단계, 및
    제3 키를 사용하여 상기 제1 파일을 암호화하는 단계 - 상기 제3 키는 파일 암호화를 위한 현재 키(a current key)로서 사용되고 상기 제1 및 제2 키와 상이함 -를 포함하는 단계; 및
    제2 재설정 동작을 실행하는 단계로서,
    상기 제2 키를 검색하는 단계,
    상기 제2 키를 사용하여 상기 제2 파일을 복호화하는 단계,
    상기 제3 키를 사용하여 상기 제2 파일을 암호화하는 단계,
    상기 제2 키를 상기 키 리스트에 저장하는 단계, 및
    상기 키 리스트를 상기 제3 키를 사용하여 암호화하는 단계 - 상기 제3 키는 이후 상기 제1 파일, 상기 제2 파일, 및 상기 키 리스트를 복호화하기 위해 사용가능함 -를 포함하는 단계
    를 수행하는, 컴퓨터 판독가능 기록 매체.
  9. 제8항에 있어서,
    상기 제1 및 제2 재설정 동작 중 적어도 하나는, 컴퓨팅 자원의 현재 사용에 의한 영향을 줄이기 위해 컴퓨팅 자원이 이용가능할 시간 동안에 수행되는 백그라운드 재설정 동작(background re-keying operation)인, 컴퓨터 판독가능 기록 매체.
  10. 제8항에 있어서,
    적어도 하나의 추가키(additional key)를 나타내도록 사람에게 촉구하는 명령어와, 새로운 키 리스트에 상기 적어도 하나의 추가키를 추가하는 명령어를 더 포함하는 컴퓨터 판독가능 기록 매체.
  11. 제8항에 있어서,
    새로운 키 리스트는 사용자 프로파일과 함께 저장되는, 컴퓨터 판독가능 기록 매체.
  12. 제8항에 있어서,
    상기 제3 키는 휴대용 디바이스에 저장되는, 컴퓨터 판독가능 기록 매체.
  13. 제8항에 있어서,
    상기 키 리스트에서 이용가능하지 않은 추가키를 캐시 메모리에 저장하기 위한 명령어를 더 포함하는 컴퓨터 판독가능 기록 매체.
  14. 제8항에 있어서,
    상기 제1 재설정 동작을 실행하는 단계는, 상기 제1 파일을 암호화하기 위해 사용되는 암호화 키로서 상기 제2키를 결정하는 단계 - 상기 결정하는 단계는 상기 제1 파일과 연관된 포인터를 확인하는 것을 포함함 -를 포함하는, 컴퓨터 판독가능 기록 매체.
  15. 제8항에 있어서,
    상기 명령어는, 실행될 때, 적어도 하나의 키를 입력하도록 사람에게 촉구(prompt)하는 단계와, 상기 키 리스트에 상기 적어도 하나의 키를 추가하는 단계를 더 구현하는, 컴퓨터 판독가능 기록 매체.
  16. 하드웨어 컴퓨팅 장치로서,
    키 이력(key history)을 유지하기 위한 키 리스트를 제공하는 동작;
    제1 파일을 복호화하기 위해 사용가능한 제1 키를 상기 키 리스트에 저장하는 동작;
    상기 제1 파일과 상이한 제2 파일을 복호화하기 위해 사용가능한 제2 키를 사용하여 상기 키 리스트를 암호화하는 동작 - 상기 제2 키는 상기 제1 키와 상이함 -;
    제1 재설정(re-keying) 동작을 실행하는 동작으로서,
    상기 제2 키를 사용하여 상기 키 리스트를 복호화하는 동작,
    상기 키 리스트로부터 상기 제1 키를 검색하는 동작,
    상기 제1 키를 사용하여 상기 제1 파일을 복호화하는 동작, 및
    제3 키를 사용하여 상기 제1 파일을 암호화하는 동작 - 상기 제3 키는 파일 암호화를 위한 현재 키(a current key)로서 사용되고 상기 제1 및 제2 키와 상이함 -을 포함하는 동작; 및
    제2 재설정 동작을 실행하는 동작으로서,
    상기 제2 키를 검색하는 동작,
    상기 제2 키를 사용하여 상기 제2 파일을 복호화하는 동작,
    상기 제3 키를 사용하여 상기 제2 파일을 암호화하는 동작,
    상기 제2 키를 상기 키 리스트에 저장하는 동작, 및
    상기 키 리스트를 상기 제3 키를 사용하여 암호화하는 동작 - 상기 제3 키는 이후 상기 제1 파일, 상기 제2 파일, 및 상기 키 리스트를 복호화하기 위해 사용가능함 -을 포함하는 동작을
    수행하도록 구성된 하드웨어 컴퓨팅 장치.
  17. 제16항에 있어서,
    상기 제1 및 제2 재설정 동작 중 적어도 하나는, 컴퓨팅 자원의 현재 사용에 의한 영향을 줄이기 위해 컴퓨팅 자원이 이용가능할 시간 동안에 수행되는 백그라운드 재설정 동작(background re-keying operation)인, 하드웨어 컴퓨팅 장치.
  18. 제16항에 있어서,
    상기 제1 재설정 동작을 실행하는 동작은, 상기 제1 파일을 암호화하기 위해 사용되는 암호화 키로서 상기 제2 키를 결정하는 동작 - 상기 결정하는 동작은 상기 제1 파일과 연관된 포인터를 확인하는 것을 포함함 -를 포함하는, 하드웨어 컴퓨팅 장치.
  19. 삭제
  20. 삭제
KR1020060003463A 2005-02-07 2006-01-12 파일 암호화 및 복호화를 위한 다수의 키를 관리하는시스템 및 방법 KR101224749B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/053,212 2005-02-07
US11/053,212 US8045714B2 (en) 2005-02-07 2005-02-07 Systems and methods for managing multiple keys for file encryption and decryption

Publications (2)

Publication Number Publication Date
KR20060090167A KR20060090167A (ko) 2006-08-10
KR101224749B1 true KR101224749B1 (ko) 2013-01-21

Family

ID=36262511

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060003463A KR101224749B1 (ko) 2005-02-07 2006-01-12 파일 암호화 및 복호화를 위한 다수의 키를 관리하는시스템 및 방법

Country Status (5)

Country Link
US (2) US8045714B2 (ko)
EP (1) EP1688858A1 (ko)
JP (1) JP4902207B2 (ko)
KR (1) KR101224749B1 (ko)
CN (1) CN1818920B (ko)

Families Citing this family (114)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8045714B2 (en) * 2005-02-07 2011-10-25 Microsoft Corporation Systems and methods for managing multiple keys for file encryption and decryption
US9088551B2 (en) * 2005-06-29 2015-07-21 International Business Machines Corporation Method and system for easily and securely managing multiple keys used to have access to multiple computing resources
US8321953B2 (en) * 2005-07-14 2012-11-27 Imation Corp. Secure storage device with offline code entry
US8335920B2 (en) * 2005-07-14 2012-12-18 Imation Corp. Recovery of data access for a locked secure storage device
US8015606B1 (en) 2005-07-14 2011-09-06 Ironkey, Inc. Storage device with website trust indication
US8438647B2 (en) * 2005-07-14 2013-05-07 Imation Corp. Recovery of encrypted data from a secure storage device
US20070067620A1 (en) * 2005-09-06 2007-03-22 Ironkey, Inc. Systems and methods for third-party authentication
US8218770B2 (en) * 2005-09-13 2012-07-10 Agere Systems Inc. Method and apparatus for secure key management and protection
US20070074047A1 (en) * 2005-09-26 2007-03-29 Brian Metzger Key rotation
US7747861B2 (en) * 2005-11-09 2010-06-29 Cisco Technology, Inc. Method and system for redundant secure storage of sensitive data by using multiple keys
US8266378B1 (en) 2005-12-22 2012-09-11 Imation Corp. Storage device with accessible partitions
US8639873B1 (en) 2005-12-22 2014-01-28 Imation Corp. Detachable storage device with RAM cache
US20070300031A1 (en) * 2006-06-22 2007-12-27 Ironkey, Inc. Memory data shredder
US8130959B2 (en) * 2006-09-07 2012-03-06 International Business Machines Corporation Rekeying encryption for removable storage media
US20080080706A1 (en) * 2006-09-29 2008-04-03 Fujitsu Limited Code conversion apparatus, code conversion method, and computer product
JP4843531B2 (ja) * 2006-09-29 2011-12-21 富士通株式会社 暗号変換装置、暗号変換方法および暗号変換プログラム
US8661263B2 (en) * 2006-09-29 2014-02-25 Protegrity Corporation Meta-complete data storage
EP2115660A4 (en) * 2007-01-26 2011-11-02 Safenet Inc SECURE FILE ENCRYPTION
CN101652956B (zh) * 2007-04-05 2013-08-21 皇家飞利浦电子股份有限公司 无线传感器网络密钥分配
US8218761B2 (en) * 2007-04-06 2012-07-10 Oracle International Corporation Method and apparatus for generating random data-encryption keys
US9025765B2 (en) * 2007-05-22 2015-05-05 Irdeto B.V. Data security
JP5141099B2 (ja) * 2007-06-12 2013-02-13 株式会社日立製作所 アクセス鍵自動配信システム
US20090025066A1 (en) * 2007-07-17 2009-01-22 Protectia Corporation Systems and methods for first and second party authentication
US7983423B1 (en) * 2007-10-29 2011-07-19 Netapp, Inc. Re-keying based on pre-generated keys
JP2009111687A (ja) * 2007-10-30 2009-05-21 Fujitsu Ltd 記憶装置、暗号化データ処理方法
US8225106B2 (en) 2008-04-02 2012-07-17 Protegrity Corporation Differential encryption utilizing trust modes
US8356105B2 (en) * 2008-05-02 2013-01-15 Marblecloud, Inc. Enterprise device policy management
US8175268B2 (en) * 2008-05-22 2012-05-08 Red Hat, Inc. Generating and securing archive keys
US8694798B2 (en) * 2008-05-22 2014-04-08 Red Hat, Inc. Generating and securing multiple archive keys
US8385555B2 (en) * 2008-12-10 2013-02-26 Combined Conditional Access Development And Support, Llc. Content delivery with segmented key list
US20100228906A1 (en) * 2009-03-06 2010-09-09 Arunprasad Ramiya Mothilal Managing Data in a Non-Volatile Memory System
US8683088B2 (en) 2009-08-06 2014-03-25 Imation Corp. Peripheral device data integrity
US8745365B2 (en) * 2009-08-06 2014-06-03 Imation Corp. Method and system for secure booting a computer by booting a first operating system from a secure peripheral device and launching a second operating system stored a secure area in the secure peripheral device on the first operating system
CN101720011B (zh) * 2009-11-23 2012-05-23 中兴通讯股份有限公司 一种在移动多媒体播放时实现智能卡热插拔的方法和终端
US8478996B2 (en) * 2009-12-21 2013-07-02 International Business Machines Corporation Secure Kerberized access of encrypted file system
US8510552B2 (en) * 2010-04-07 2013-08-13 Apple Inc. System and method for file-level data protection
US8788842B2 (en) 2010-04-07 2014-07-22 Apple Inc. System and method for content protection based on a combination of a user PIN and a device specific identifier
US8971535B2 (en) * 2010-05-27 2015-03-03 Bladelogic, Inc. Multi-level key management
US9525548B2 (en) 2010-10-21 2016-12-20 Microsoft Technology Licensing, Llc Provisioning techniques
US8805434B2 (en) 2010-11-23 2014-08-12 Microsoft Corporation Access techniques using a mobile communication device
US20120143769A1 (en) * 2010-12-02 2012-06-07 Microsoft Corporation Commerce card
US9509686B2 (en) 2010-12-03 2016-11-29 Microsoft Technology Licensing, Llc Secure element authentication
GB2500356A (en) 2011-01-20 2013-09-18 Box Inc Real time notification of activities that occur in a web-based collaboration environment
WO2012140249A1 (en) * 2011-04-14 2012-10-18 Yubico Ab A dual interface device for access control and a method therefor
US9652741B2 (en) 2011-07-08 2017-05-16 Box, Inc. Desktop application for access and interaction with workspaces in a cloud-based content management system and synchronization mechanisms thereof
US8984298B2 (en) * 2011-07-27 2015-03-17 Hewlett-Packard Development Company, L.P. Managing access to a secure content-part of a PPCD using a key reset point
US9098474B2 (en) 2011-10-26 2015-08-04 Box, Inc. Preview pre-generation based on heuristics and algorithmic prediction/assessment of predicted user behavior for enhancement of user experience
WO2013062599A1 (en) 2011-10-26 2013-05-02 Box, Inc. Enhanced multimedia content preview rendering in a cloud content management system
GB2500152A (en) 2011-11-29 2013-09-11 Box Inc Mobile platform file and folder selection functionalities for offline access and synchronization
WO2013084054A1 (en) * 2011-12-08 2013-06-13 Dark Matter Labs Inc. Key creation and rotation for data encryption
US9904435B2 (en) 2012-01-06 2018-02-27 Box, Inc. System and method for actionable event generation for task delegation and management via a discussion forum in a web-based collaboration environment
EP2807599B1 (en) * 2012-01-23 2020-03-25 Citrix Systems, Inc. Storage encryption
US11232481B2 (en) 2012-01-30 2022-01-25 Box, Inc. Extended applications of multimedia content previews in the cloud-based content management system
US9965745B2 (en) 2012-02-24 2018-05-08 Box, Inc. System and method for promoting enterprise adoption of a web-based collaboration environment
US8458494B1 (en) 2012-03-26 2013-06-04 Symantec Corporation Systems and methods for secure third-party data storage
US9575981B2 (en) 2012-04-11 2017-02-21 Box, Inc. Cloud service enabled to handle a set of files depicted to a user as a single file in a native operating system
US9413587B2 (en) 2012-05-02 2016-08-09 Box, Inc. System and method for a third-party application to access content within a cloud-based platform
GB2505272B (en) 2012-05-04 2014-07-09 Box Inc Repository redundancy implementation of a system which incrementally updates clients with events that occurred via cloud-enabled platform
US9691051B2 (en) 2012-05-21 2017-06-27 Box, Inc. Security enhancement through application access control
US8914900B2 (en) 2012-05-23 2014-12-16 Box, Inc. Methods, architectures and security mechanisms for a third-party application to access content in a cloud-based platform
US8712044B2 (en) 2012-06-29 2014-04-29 Dark Matter Labs Inc. Key management system
GB2505072A (en) 2012-07-06 2014-02-19 Box Inc Identifying users and collaborators as search results in a cloud-based system
US9712510B2 (en) 2012-07-06 2017-07-18 Box, Inc. Systems and methods for securely submitting comments among users via external messaging applications in a cloud-based platform
US9558202B2 (en) 2012-08-27 2017-01-31 Box, Inc. Server side techniques for reducing database workload in implementing selective subfolder synchronization in a cloud-based environment
US9135462B2 (en) 2012-08-29 2015-09-15 Box, Inc. Upload and download streaming encryption to/from a cloud-based platform
US9117087B2 (en) 2012-09-06 2015-08-25 Box, Inc. System and method for creating a secure channel for inter-application communication based on intents
US9195519B2 (en) 2012-09-06 2015-11-24 Box, Inc. Disabling the self-referential appearance of a mobile application in an intent via a background registration
US9292833B2 (en) 2012-09-14 2016-03-22 Box, Inc. Batching notifications of activities that occur in a web-based collaboration environment
US10915492B2 (en) 2012-09-19 2021-02-09 Box, Inc. Cloud-based platform enabled with media content indexed for text-based searches and/or metadata extraction
US9959420B2 (en) 2012-10-02 2018-05-01 Box, Inc. System and method for enhanced security and management mechanisms for enterprise administrators in a cloud-based environment
US9495364B2 (en) 2012-10-04 2016-11-15 Box, Inc. Enhanced quick search features, low-barrier commenting/interactive features in a collaboration platform
US9665349B2 (en) 2012-10-05 2017-05-30 Box, Inc. System and method for generating embeddable widgets which enable access to a cloud-based collaboration platform
US10235383B2 (en) 2012-12-19 2019-03-19 Box, Inc. Method and apparatus for synchronization of items with read-only permissions in a cloud-based environment
US9396245B2 (en) 2013-01-02 2016-07-19 Box, Inc. Race condition handling in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform
US9953036B2 (en) 2013-01-09 2018-04-24 Box, Inc. File system monitoring in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform
US9507795B2 (en) 2013-01-11 2016-11-29 Box, Inc. Functionalities, features, and user interface of a synchronization client to a cloud-based environment
EP2757491A1 (en) 2013-01-17 2014-07-23 Box, Inc. Conflict resolution, retry condition management, and handling of problem files for the synchronization client to a cloud-based platform
US9197700B2 (en) * 2013-01-18 2015-11-24 Apple Inc. Keychain syncing
US9483655B2 (en) 2013-03-12 2016-11-01 Commvault Systems, Inc. File backup with selective encryption
US10725968B2 (en) 2013-05-10 2020-07-28 Box, Inc. Top down delete or unsynchronization on delete of and depiction of item synchronization with a synchronization client to a cloud-based platform
US10846074B2 (en) 2013-05-10 2020-11-24 Box, Inc. Identification and handling of items to be ignored for synchronization with a cloud-based platform by a synchronization client
US9633037B2 (en) 2013-06-13 2017-04-25 Box, Inc Systems and methods for synchronization event building and/or collapsing by a synchronization component of a cloud-based platform
US9805050B2 (en) 2013-06-21 2017-10-31 Box, Inc. Maintaining and updating file system shadows on a local device by a synchronization client of a cloud-based platform
US9202076B1 (en) 2013-07-26 2015-12-01 Symantec Corporation Systems and methods for sharing data stored on secure third-party storage platforms
US9535924B2 (en) 2013-07-30 2017-01-03 Box, Inc. Scalability improvement in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform
US9535909B2 (en) 2013-09-13 2017-01-03 Box, Inc. Configurable event-based automation architecture for cloud-based collaboration platforms
US10509527B2 (en) 2013-09-13 2019-12-17 Box, Inc. Systems and methods for configuring event-based automation in cloud-based collaboration platforms
US10700856B2 (en) * 2013-11-19 2020-06-30 Network-1 Technologies, Inc. Key derivation for a module using an embedded universal integrated circuit card
US9697378B2 (en) * 2013-12-13 2017-07-04 International Business Machines Corporation Network encrypted data object stored on an encrypted file system
US20150172920A1 (en) * 2013-12-16 2015-06-18 Mourad Ben Ayed System for proximity based encryption and decryption
US10530854B2 (en) 2014-05-30 2020-01-07 Box, Inc. Synchronization of permissioned content in cloud-based environments
US10038731B2 (en) 2014-08-29 2018-07-31 Box, Inc. Managing flow-based interactions with cloud-based shared content
US9894119B2 (en) 2014-08-29 2018-02-13 Box, Inc. Configurable metadata-based automation and content classification architecture for cloud-based collaboration platforms
CN105721393A (zh) * 2014-12-02 2016-06-29 阿里巴巴集团控股有限公司 数据安全加密的方法及装置
CN104850795B (zh) * 2015-05-25 2018-08-21 上海柯力士信息安全技术有限公司 一种密钥管理系统及变更账户信息的方法
JP6576699B2 (ja) * 2015-06-12 2019-09-18 コニカミノルタ株式会社 暗号化システム、更新方法、および更新プログラム
CN106506140A (zh) * 2015-09-06 2017-03-15 深圳市中兴微电子技术有限公司 一种aes加解密方法和装置
US9858427B2 (en) * 2016-02-26 2018-01-02 International Business Machines Corporation End-to-end encryption and backup in data protection environments
US10452858B2 (en) * 2016-03-31 2019-10-22 International Business Machines Corporation Encryption key management for file system
US20180034787A1 (en) * 2016-08-01 2018-02-01 Vormetric, Inc. Data encryption key sharing for a storage system
CN108234112A (zh) * 2016-12-14 2018-06-29 中国移动通信集团安徽有限公司 数据加密和解密方法及系统
US10616192B2 (en) 2017-06-12 2020-04-07 Daniel Maurice Lerner Devices that utilize random tokens which direct dynamic random access
WO2018231753A1 (en) * 2017-06-12 2018-12-20 Daniel Maurice Lerner Devices that utilize random tokens which direct dynamic random access
US10841089B2 (en) 2017-08-25 2020-11-17 Nutanix, Inc. Key managers for distributed computing systems
US10972445B2 (en) * 2017-11-01 2021-04-06 Citrix Systems, Inc. Dynamic crypto key management for mobility in a cloud environment
US20190158276A1 (en) * 2017-11-17 2019-05-23 Simmonds Precision Products, Inc. Encryption key exchange with compensation for radio-frequency interference
CN110830239B (zh) * 2018-08-07 2023-02-28 阿里巴巴集团控股有限公司 一种密钥更新方法、装置及系统
US11128459B2 (en) * 2018-11-28 2021-09-21 Its, Inc. Mitigating service disruptions in key maintenance
US11082406B2 (en) * 2018-11-29 2021-08-03 Secret Double Octopus Ltd System and method for providing end-to-end security of data and metadata
US11361088B2 (en) 2019-02-25 2022-06-14 Oocl (Infotech) Holdings Limited Zero trust communication system for freight shipping organizations, and methods of use
US11763011B2 (en) 2019-02-25 2023-09-19 Oocl (Infotech) Holdings Limited Zero trust communication system for freight shipping organizations, and methods of use
EP3955514A4 (en) * 2019-04-12 2023-01-04 FeliCa Networks, Inc. INFORMATION PROCESSING TERMINAL, DEVICE, METHOD AND SYSTEM, AND ASSOCIATED PROGRAM
US11277262B2 (en) 2020-07-01 2022-03-15 International Business Machines Corporation System generated data set encryption key
CN113079011B (zh) * 2021-03-18 2023-06-02 长鑫存储技术有限公司 密钥推送、操作文件的方法、存储介质、以及计算机设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999014652A1 (en) * 1997-09-16 1999-03-25 Microsoft Corporation Encrypting file system and method
WO2002029577A2 (en) * 2000-10-06 2002-04-11 Oracle Corporation Method and apparatus for automatic database encryption

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2887299B2 (ja) * 1990-07-31 1999-04-26 博一 岡野 知的情報処理方法および装置
US5495533A (en) * 1994-04-29 1996-02-27 International Business Machines Corporation Personal key archive
US5787175A (en) * 1995-10-23 1998-07-28 Novell, Inc. Method and apparatus for collaborative document control
DE69714422T2 (de) * 1996-02-09 2002-11-14 Digital Privacy Inc Zugriffssteuerungs/verschlüsselungssystem
US5940507A (en) * 1997-02-11 1999-08-17 Connected Corporation Secure file archive through encryption key management
US6134660A (en) * 1997-06-30 2000-10-17 Telcordia Technologies, Inc. Method for revoking computer backup files using cryptographic techniques
US6230272B1 (en) * 1997-10-14 2001-05-08 Entrust Technologies Limited System and method for protecting a multipurpose data string used for both decrypting data and for authenticating a user
EP0912011A3 (en) 1997-10-20 2001-11-28 Sun Microsystems, Inc. Method and apparatus for encoding and recovering keys
US6157722A (en) * 1998-03-23 2000-12-05 Interlok Technologies, Llc Encryption key management system and method
US7178021B1 (en) * 2000-03-02 2007-02-13 Sun Microsystems, Inc. Method and apparatus for using non-secure file servers for secure information storage
JP4495295B2 (ja) * 2000-03-15 2010-06-30 株式会社日立製作所 有価証券類の不正利用防止方法および有価証券類の不正利用防止システム
DE60128290T2 (de) * 2000-05-11 2007-08-30 Matsushita Electric Industrial Co., Ltd., Kadoma Vorrichtung zur Dateienverwaltung
JP4153653B2 (ja) 2000-10-31 2008-09-24 株式会社東芝 マイクロプロセッサおよびデータ保護方法
JP2002261750A (ja) * 2001-03-02 2002-09-13 Fuji Xerox Co Ltd 文書の処理日時保証装置及び保証方法
US6981138B2 (en) * 2001-03-26 2005-12-27 Microsoft Corporation Encrypted key cache
JP2003087238A (ja) * 2001-09-11 2003-03-20 Hitachi Ltd 家庭内ネットワークにおけるセキュリティ実現方式
US20030079133A1 (en) * 2001-10-18 2003-04-24 International Business Machines Corporation Method and system for digital rights management in content distribution application
US7203317B2 (en) * 2001-10-31 2007-04-10 Hewlett-Packard Development Company, L.P. System for enabling lazy-revocation through recursive key generation
JP3770173B2 (ja) * 2002-02-14 2006-04-26 日本電気株式会社 共通鍵管理システムおよび共通鍵管理方法
US7251635B2 (en) * 2002-02-25 2007-07-31 Schlumberger Omnes, Inc. Method and apparatus for managing a key management system
JP2003317202A (ja) * 2002-04-11 2003-11-07 Cis Electronica Industria & Comercio Ltda 磁気読み取り装置の磁気ヘッド
US7181016B2 (en) * 2003-01-27 2007-02-20 Microsoft Corporation Deriving a symmetric key from an asymmetric key for file encryption or decryption
US7313238B2 (en) 2003-01-31 2007-12-25 Hewlett-Packard Development Company, L.P. Method and system for relating cryptographic keys
JP2005128996A (ja) * 2003-09-30 2005-05-19 Dainippon Printing Co Ltd 情報処理装置、情報処理システム及びプログラム
JP2005122402A (ja) * 2003-10-15 2005-05-12 Systemneeds Inc Icカードシステム
JP2005165738A (ja) * 2003-12-03 2005-06-23 Fusionsys:Kk 電子コンテンツ管理システム、電子コンテンツ管理方法、及びそのプログラム
US7484107B2 (en) * 2004-04-15 2009-01-27 International Business Machines Corporation Method for selective encryption within documents
US7660419B1 (en) * 2004-08-13 2010-02-09 Texas Instruments Incorporated System and method for security association between communication devices within a wireless personal and local area network
US8045714B2 (en) * 2005-02-07 2011-10-25 Microsoft Corporation Systems and methods for managing multiple keys for file encryption and decryption

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999014652A1 (en) * 1997-09-16 1999-03-25 Microsoft Corporation Encrypting file system and method
WO2002029577A2 (en) * 2000-10-06 2002-04-11 Oracle Corporation Method and apparatus for automatic database encryption

Also Published As

Publication number Publication date
US20060179309A1 (en) 2006-08-10
US8045714B2 (en) 2011-10-25
US20110085664A1 (en) 2011-04-14
JP2006222944A (ja) 2006-08-24
CN1818920B (zh) 2010-05-12
CN1818920A (zh) 2006-08-16
EP1688858A1 (en) 2006-08-09
KR20060090167A (ko) 2006-08-10
US8798272B2 (en) 2014-08-05
JP4902207B2 (ja) 2012-03-21

Similar Documents

Publication Publication Date Title
KR101224749B1 (ko) 파일 암호화 및 복호화를 위한 다수의 키를 관리하는시스템 및 방법
KR101000191B1 (ko) 보안 소프트웨어 갱신
US8462955B2 (en) Key protectors based on online keys
US7751570B2 (en) Method and apparatus for managing cryptographic keys
CN113545006A (zh) 远程授权访问锁定的数据存储设备
EP3465975B1 (en) Providing access to sensitive data
JP2008123490A (ja) データストレージデバイス
US20020083325A1 (en) Updating security schemes for remote client access
JP2009153099A (ja) 暗号化記憶装置内での鍵復元
CN103731395A (zh) 文件的处理方法及系统
US9910998B2 (en) Deleting information to maintain security level
JP2008502251A (ja) プロセスを使用するキーストアを有するコンピュータ装置及びコンピュータ装置を動作させる方法
JP2009510616A (ja) データベース内の機密データを保護するためのシステム及び方法
US7281130B2 (en) Storing authentication sequences for expedited login to secure applications
JP5494171B2 (ja) ファイル管理システム、ストレージサーバ、クライアント、ファイル管理方法およびプログラム
JP2006146744A (ja) リムーバブルメディア情報管理方法及びシステム
JP2008035449A (ja) 自己復号ファイルによるデータ配布方法および該方法を用いた情報処理システム
JP2012175187A (ja) 鍵管理装置及び暗号処理システム及びコンピュータプログラム及び鍵管理方法
CN117313144A (zh) 敏感数据的管理方法、装置、存储介质和电子设备
JP5395449B2 (ja) セキュリティシステム、情報記録装置、セキュリティ方法、及びプログラム
CN118260264A (en) User-friendly encrypted storage system and method for distributed file system
CN113906423A (zh) 身份验证程序、身份验证方法、用户终端和用户认证程序
JP2010244270A (ja) データ管理システム、端末コンピュータ、管理コンピュータ、データ管理方法及びそのプログラム
JP2007259354A (ja) アクセス管理装置、暗号化及び復号化装置、記憶媒体、アクセス管理方法及びアクセス管理プログラム
JP2006202121A (ja) 耐障害性サービス提供システム、サーバ装置およびクライアント装置

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee