KR101522445B1 - 기밀 파일을 보호하기 위한 클라이언트 컴퓨터, 및 그 서버 컴퓨터, 및 그 방법 및 컴퓨터 프로그램 - Google Patents

기밀 파일을 보호하기 위한 클라이언트 컴퓨터, 및 그 서버 컴퓨터, 및 그 방법 및 컴퓨터 프로그램 Download PDF

Info

Publication number
KR101522445B1
KR101522445B1 KR1020117014862A KR20117014862A KR101522445B1 KR 101522445 B1 KR101522445 B1 KR 101522445B1 KR 1020117014862 A KR1020117014862 A KR 1020117014862A KR 20117014862 A KR20117014862 A KR 20117014862A KR 101522445 B1 KR101522445 B1 KR 101522445B1
Authority
KR
South Korea
Prior art keywords
encryption key
security
decryption
key
client computer
Prior art date
Application number
KR1020117014862A
Other languages
English (en)
Other versions
KR20110096554A (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 KR20110096554A publication Critical patent/KR20110096554A/ko
Application granted granted Critical
Publication of KR101522445B1 publication Critical patent/KR101522445B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • 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
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 서비스 프로세스 간의 의존 관계를 파악하고, 서비스 프로세스의 효율적이고 안전한 실행을 위해, 기밀 파일을 보호하기 위한 클라이언트 컴퓨터를 제공한다. 이 클라이언트 컴퓨터는 기밀 파일을 암호화 키를 이용하여 암호화하고 및 암호화된 기밀 파일을 암호화 키에 대응하는 복호화 키를 이용하여 복호화하는 암호화-복호화부 - 암호화된 기밀 파일은 암호화 키 ID가 들어있고, 암호화 키 및 복호화 키는 암호화 키 ID에 대응함 -, 암호화 키를 저장하는 암호화 키 저장부, 복호화 키를 저장하는 복호화 키 저장부, 클라이언트 컴퓨터의 시큐리티 준수 요건을 저장한 준수 요건 저장부 - 시큐리티 준수 요건은 서버 컴퓨터로부터 송신됨 -, 어플리케이션 소프트웨어에 의한 기밀 파일의 리드 명령 또는 라이트 명령에 따라, 클라이언트 컴퓨터가 시큐리티 준수 요건을 준수하고 있는지를 판단하는 시큐리티 요건 감시부 - 클라이언트 컴퓨터가 시큐리티 준수 요건을 준수하고 있는 경우, 라이트 명령에 응답하여, 암호화 키 및 암호화 키에 대응하는 암호화 키 ID를 암호화 키 저장부로부터 암호화-복호화부로 보내거나, 리드 명령에 응답하여, 암호화된 기밀 파일에 들어있는 암호화 키 ID에 대응하는 복호화 키를 복호화 키 저장부로부터 암호화-복호화부로 보냄 - 를 포함한다. 또한 본 발명은 클라이언트 컴퓨터와 접속하는 것이 가능한 서버 컴퓨터를 제공한다.

Description

기밀 파일을 보호하기 위한 클라이언트 컴퓨터, 및 그 서버 컴퓨터, 및 그 방법 및 컴퓨터 프로그램{CLIENT COMPUTER FOR PROTECTING CONFIDENTIAL FILE, SERVER COMPUTER THEREFOR, METHOD THEREFOR, AND COMPUTER PROGRAM}
본 발명은 기밀 파일(confidential file)을 보호하기 위한 클라이언트 컴퓨터, 및 그 서버 컴퓨터, 및 그 방법 및 컴퓨터 프로그램과 관련된다.
파일 공유 소프트웨어, 예를 들면 P2P 등에 의한 기밀 정보 유출 사건이 빈번히 발생하고 있다. 이는 퍼스널 컴퓨터(이하, PC)의 시큐리티 대응(security guard)이 불충분한 것에 기인하고 있다. 기밀 정보 유출의 재발을 방지하기 위해, 기업 혹은 관공서는 이하와 같은 대책을 수행하고 있다.
* 시스템 관리자는 각 유저가 소유하는 PC에 대해서 시큐리티 대응을 추진한다.
시큐리티 소프트웨어, 예를 들어, 안티 바이러스 소프트웨어 및 스파이웨어 감시 소프트웨어 도입 등을 도입하고, 각 유저에 시큐리티 준수 요건의 준수를 지도한다.
정의한 시큐리티 준수 요건을 각 유저의 PC가 만족하는지를 감시하는 헬스 체크 유틸리티(health check utility)를 각 PC에 도입한다.
* 시스템 관리자는 시큐리티 대응이 불충분한 PC에 접속될 우려가 있는 착탈식 매체(removable media), 예를 들어, 휴대용 하드 디스크, USB 메모리, 카드 메모리 등을 사용 금지한다. 사용 금지하기 위해, BIOS 레벨로 USB 슬롯의 사용을 불가하게 하고, BIOS에의 액세스를 패스워드에 의해 금지한다.
* 시스템 관리자는 업무에 종사하는 유저 이외의 정보 열람을 방지하기 위해, 파일의 암호화를 지도한다.
하지만, 상기 대응(guard)을 취해도, 시큐리티 소프트웨어의 정의 파일을 갱신하는 것을 잊어버리는 것에 의한 부정 침입이 있을 수 있다. 또한, 상기 대응은 파일을 외부에 반출하는 경우의 추가 작업, 혹은 파일 조작마다 암호화 작업을 유저에게 강요한다. 그 결과, 유저의 이용편의성(usability)을 저하시키는 동시에, 오피스 워크의 작업 효율을 떨어뜨리게 된다.
하기 특허 문헌 1은, 내부 네트워크의 단말 장치가 외부의 네트워크에 접속할 때에, 상기 단말 장치가 가진 시큐리티에 관한 이력 정보와, 시큐리티에 관한 규약 정보를 비교하고, 상기 이력 정보가 규약 정보를 만족하고 있는지를 판정하여, 단말 장치의 접속을 제어하는 접속 제어 장치를 기재한다(특허 문헌 1의 제 00007 단락 참조). 하지만, 특허 문헌 1은 네트워크의 접속에 대한 기술로서, 기밀 파일의 보호에 대한 발명은 아니다.
특허 문헌 1 : 특허 공개 2006-33753호 공보
본 발명의 목적은 유저의 이용편의성을 잃지 않고, 파일 공유 소프트웨어 등에 기인하는 정보 누설의 위험성을 없애는 것이다.
본 발명은 기밀 파일을 보호하기 위한 클라이언트 컴퓨터를 제공한다. 상기 클라이언트 컴퓨터는 네트워크를 통하여 서버 컴퓨터와 접속하는 것이 가능하다. 상기 클라이언트 컴퓨터는 상기 기밀 파일을 암호화 키(encryption key)를 이용하여 암호화하고 상기 암호화된 기밀 파일을 상기 암호화 키에 대응하는 복호화 키(decryption key)를 이용하여 복호화하기 위한 암호화-복호화부(encryption-decryption unit)와 - 여기서, 상기 암호화된 기밀 파일은 암호화 키 ID가 들어가 있고, 상기 암호화 키 및 상기 복호화 키는 상기 암호화 키 ID에 대응함 -,
상기 암호화 키를 저장하기 위한 암호화 키 저장부(encryption key storing unit)와,
상기 복호화 키를 저장하기 위한 복호화 키 저장부(decryption key storing unit)와,
상기 클라이언트 컴퓨터의 시큐리티 준수 요건을 저장한 준수 요건 저장부(compliance requirements storing unit)와 - 여기서, 상기 시큐리티 준수 요건은 상기 서버 컴퓨터로부터 송신됨 -,
어플리케이션 소프트웨어에 의한 기밀 파일의 리드 명령 또는 라이트 명령에 따라, 상기 클라이언트 컴퓨터가 상기 시큐리티 준수 요건을 준수하고 있는지를 판단하기 위한 시큐리티 요건 감시부(security requirements monitoring unit) - 여기서, 상기 클라이언트 컴퓨터가 상기 시큐리티 준수 요건을 준수하고 있는 경우에, 상기 라이트 명령에 응답하여, 암호화 키 및 상기 암호화 키에 대응하는 암호화 키 ID를 상기 암호화 키 저장부로부터 상기 암호화-복호화부로 보내거나, 상기 리드 명령에 응답하여, 상기 암호화된 기밀 파일이 들어간 암호화 키 ID에 대응하는 복호화 키를 상기 복호화 키 저장부로부터 상기 암호화-복호화부로 보냄 - 를 포함한다.
본 발명의 하나의 실시 태양에서, 상기 시큐리티 요건 감시부는,
소정의 시간에 상기 서버 컴퓨터와 통신하고,
상기 클라이언트 컴퓨터의 유저 정보의 검증 및 상기 시큐리티 준수 요건의 버전의 검증을 상기 서버 컴퓨터에 요구하고,
상기 서버 컴퓨터 상에서의 상기 유저 정보의 검증이 성공하고 상기 클라이언트 컴퓨터의 상기 버전이 상기 서버 컴퓨터에 저장된 시큐리티 준수 요건의 최신 버전과 일치한 경우, 상기 최신 버전의 시큐리티 준수 요건에 대응하는 암호화 키, 복호화 키, 및 상기 암호화 키 및 복호화 키에 대응하는 암호화 키 ID를 상기 서버 컴퓨터로부터 수신한다.
본 발명의 하나의 실시 태양에서, 상기 시큐리티 요건 감시부는 상기 클라이언트 컴퓨터가 상기 네트워크에 접속되고 상기 서버 컴퓨터에 미도달(not reach)인 경우에 상기 암호화 키 저장부 및 상기 복호화 키 저장부를 락(lock)한다.
본 발명의 하나의 실시 태양에서, 상기 시큐리티 요건 감시부는 상기 클라이언트 컴퓨터가 상기 네트워크로부터 연결이 끊긴(disconnect) 경우에, 상기 암호화 키 저장부 및 상기 복호화 키 저장부의 락을 해제(unlock)한다.
본 발명의 하나의 실시 태양에서, 상기 시큐리티 요건 감시부는 상기 클라이언트 컴퓨터의 유저 정보의 검증 및 상기 시큐리티 준수 요건의 버전의 검증을 상기 서버 컴퓨터에 요구하고, 상기 검증이 성공하는 것에 따라, 상기 락을 해제한다.
본 발명의 하나의 실시 태양에서, 상기 시큐리티 요건 감시부는 상기 클라이언트 컴퓨터가 상기 시큐리티 준수 요건을 준수하고 있지 않은 경우에, 상기 암호화 키 저장부에 저장된 암호화 키, 및 상기 복호화 키 저장부에 저장된 복호화 키를 삭제한다.
본 발명의 하나의 실시 태양에서, 상기 시큐리티 요건 감시부는 상기 준수 요건 저장부에 시큐리티 준수 요건이 저장되어 있지 않은 경우에, 상기 암호화 키 저장부에 저장된 암호화 키, 및 상기 복호화 키 저장부에 저장된 복호화 키를 삭제한다.
본 발명의 하나의 실시 태양에서, 상기 시큐리티 요건 감시부는 시큐리티 소프트웨어로부터의 경고를 수신하는 것에 따라, 상기 암호화 키 저장부에 저장된 암호화 키, 및 상기 복호화 키 저장부에 저장된 복호화 키를 삭제한다.
본 발명의 하나의 실시 태양에서, 상기 시큐리티 요건 감시부는 상기 복호화 키가 상기 복호화 키 저장부에 없는 경우, 상기 서버 컴퓨터에, 상기 복호화 키의 요구 명령, 유저 정보, 및 상기 복호화 키에 대응하는 암호화 키 ID를 송신하고,
상기 서버 컴퓨터로부터 상기 암호화 키 ID에 대응하는 복호화 키를 수신하는 것에 따라, 상기 수신한 복호화 키를 상기 암호화-복호화부로 보낸다.
본 발명의 하나의 실시 태양에서, 상기 시큐리티 요건 감시부는 상기 암호화 키가 상기 암호화 키 저장부에 없는 경우, 상기 암호화-복호화부에 암호화 키를 취득할 수 없다는 것을 통지한다.
본 발명의 하나의 실시 태양에서, 상기 시큐리티 요건 감시부는 상기 클라이언트 컴퓨터가 상기 시큐리티 준수 요건을 준수하고 있는지를 소정의 사이클마다 판단한다.
본 발명의 하나의 실시 태양에서, 상기 암호화-복호화부는 복호화하는 기밀 파일에 들어있는 암호화 키 ID를 상기 기밀 파일로부터 취득하고, 상기 암호화 키 ID를 상기 시큐리티 요건 감시부에 보내고, 상기 시큐리티 요건 감시부로부터 받은 복호화 키를 이용하여, 암호화된 기밀 파일을 복호화한다.
본 발명의 하나의 실시 태양에서, 상기 암호화-복호화부는 상기 시큐리티 요건 감시부로부터 받은 암호화 키를 이용하여 기밀 파일을 암호화하고, 상기 암호화 된 기밀 파일에 상기 암호화 키에 대응하는 암호화 키 ID를 집어넣는다.
본 발명의 하나의 실시 태양에서, 상기 시큐리티 준수 요건의 준수는 시큐리티 소프트웨어에 의한 위협 경고가 없다는 것, 클라이언트 컴퓨터의 기동 패스워드가 걸려 있는 것, 또는 아이들(idle) 시의 스크린 락이 설정된 것 중 적어도 하나를 포함한다.
본 발명은 또한 상기의 클라이언트 컴퓨터와 접속하는 것이 가능한 서버 컴퓨터를 제공한다. 상기 서버 컴퓨터는 상기 클라이언트 컴퓨터의 유저의 액세스 권한 정보를 저장하는 액세스 권한 저장부와,
상기 클라이언트 컴퓨터에 송신하기 위한 시큐리티 준수 요건을 저장하는 서버 측 준수 요건 저장부와,
암호화 키, 상기 암호화 키에 대응하는 복호화 키, 상기 암호화 키 및 상기 복호화 키에 대응하는 암호화 키 ID, 및 시큐리티 준수 요건의 버전을 포함하는 레코드를 저장하는 암호화 키-복호화 키 저장부와,
상기 클라이언트 컴퓨터로부터 유저 정보의 검증 요구를 수신하는 것에 따라, 상기 클라이언트 컴퓨터로부터 송신된 유저 정보를 상기 액세스 권한 저장부에 저장된 액세스 권한 정보와 대조하고, 및 상기 대조가 일치하는 것에 따라, 상기 클라이언트 컴퓨터로부터 송신된 시큐리티 준수 요건의 버전을 상기 시큐리티 요건 저장부에 저장된 최신 버전과 비교하는 시큐리티 검증부를 포함한다.
본 발명의 하나의 실시 태양에서, 암호화 키-복호화 키 작성부는 상기 시큐리티 준수 요건의 갱신마다, 암호화 키, 상기 암호화 키에 대응하는 복호화 키, 상기 암호화 키 및 상기 복호화 키에 대응하는 암호화 키 ID, 및 갱신된 시큐리티 준수 요건의 버전을 포함하는 레코드를 추가한다.
본 발명의 하나의 실시 태양에서, 상기 검증부는 상기 클라이언트 컴퓨터로부터 송신된 시큐리티 준수 요건의 버전이 상기 시큐리티 요건 저장부에 저장된 최신 버전과 일치하는 것에 따라,
상기 최신 버전의 시큐리티 준수 요건에 대응하는 암호화 키, 복호화 키, 상기 암호화 키 및 상기 복호화 키에 대응하는 암호화 키 ID, 및 상기 최신 버전의 시큐리티 준수 요건을 상기 클라이언트 컴퓨터로 송신하다.
본 발명의 하나의 실시 태양에서, 상기 시큐리티 검증부는 상기 클라이언트 컴퓨터로부터 상기 복호화 키의 송신 요구를 수신하는 것에 따라, 상기 송신 요구와 함께 송신된 유저 정보를 상기 액세스 권한 저장부에 저장된 액세스 권한과 대조하고, 대조가 일치하는 것에 따라, 상기 복호화 키, 및 상기 암호화 키 및 상기 복호화 키에 대응하는 암호화 키 ID를 상기 클라이언트 컴퓨터에 송신한다.
본 발명은 또한, 네트워크를 통하여 서버 컴퓨터와 접속하는 것이 가능한 클라이언트 컴퓨터 상의 기밀 파일을 보호하기 위한 방법을 제공한다. 상기 방법은, 클라이언트 컴퓨터에 하기 단계를 실행시킨다. 상기 단계는,
어플리케이션 소프트웨어에 의한 기밀 파일의 리드 명령 또는 라이트 명령에 따라, 상기 클라이언트 컴퓨터가 상기 서버 컴퓨터로부터 송신된 시큐리티 준수 요건을 준수하고 있는지를 판단하는 단계와 - 여기서, 상기 시큐리티 준수 요건은 준수 요건 저장부에 저장됨 -,
상기 준수 상황이 상기 시큐리티 준수 요건을 준수하고 있는 경우, 상기 라이트 명령에 응답하여, 암호화 키를 이용하여 상기 기밀 파일을 암호화하는 것과 - 여기서, 상기 암호화 키는 암호화 키 저장부에 저장됨 -, 상기 암호화된 파일에 상기 암호화 키에 대응하는 암호화 키 ID를 집어넣는 것을 실행하는 단계와, 또는, 상기 리드 명령에 응답하여, 암호화된 기밀 파일에 들어있는 암호화 키 ID에 대응하는 복호화 키를 이용하여, 암호화된 기밀 파일을 복호화하는 것 - 여기서, 상기 복호화 키는 복호화 키 저장부에 저장됨 - 을 실행하는 단계를 포함한다.
본 발명의 하나의 실시 태양에서, 상기 방법은 클라이언트 컴퓨터에 하기 단계를 더 실행시킨다. 상기 단계는,
상기 클라이언트 컴퓨터가 상기 시큐리티 준수 요건을 준수하지 않은 경우, 상기 암호화 키 저장부에 저장된 암호화 키, 및 상기 복호화 키 저장부에 저장된 복호화 키를 삭제하는 단계,
시큐리티 준수 요건이 준수 요건 저장부에 저장되어 있지 않은 경우, 상기 암호화 키 저장부에 저장된 암호화 키, 및 상기 복호화 키 저장부에 저장된 복호화 키를 삭제하는 단계, 또는,
시큐리티 소프트웨어로부터의 경고를 수신한 경우, 상기 암호화 키 저장부에 저장된 암호화 키, 및 상기 복호화 키 저장부에 저장된 복호화 키를 삭제하는 단계를 포함한다.
본 발명의 하나의 실시 형태에서, 상기 방법은 클라이언트 컴퓨터에 하기 단계를 더 실행시킨다. 상기 단계는,
상기 복호화 키가 상기 복호화 키 저장부에 없는 경우, 상기 서버 컴퓨터에, 상기 복호화 키의 요구 명령, 유저 명령, 및 상기 복호화 키에 대응하는 암호화 키 ID를 송신하는 단계와,
상기 서버 컴퓨터로부터 상기 암호화 키 ID에 대응하는 복호화 키를 수신하는 것에 따라, 상기 수신한 복호화 키를 이용하여 상기 암호화된 기밀 파일을 복호화하는 단계를 포함한다.
본 발명은 또한, 네트워크를 통하여 서버 컴퓨터와 접속하는 것이 가능한 클라이언트 컴퓨터 상의 기밀 파일을 보호하기 위한 방법을 제공한다. 상기 방법은, 클라이언트 컴퓨터에 하기 단계를 실행시키는 것을 포함한다. 상기 단계는 어플리케이션 소프트웨어에 의한 기밀 파일의 리드 명령 또는 라이트 명령에 따라, 상기 클라이언트 컴퓨터가 상기 서버 컴퓨터로부터 송신된 시큐리티 준수 요건을 준수하고 있는지를 판단하는 단계와 - 여기서, 상기 시큐리티 준수 요건은 준수 요건 저장부에 저장됨 -,
상기 클라이언트 컴퓨터가 상기 시큐리티 준수 요건을 준수하고 있는 경우, 상기 라이트 명령에 응답하여, 암호화 키를 이용하여 상기 기밀 파일을 암호화하는 것과 - 여기서, 상기 암호화 키는 암호화 키 저장부에 저장됨 -, 상기 암호화된 파일에 상기 암호화 키에 대응하는 암호화 키 ID를 집어넣는(embed) 것을 실행하는 단계, 또는
상기 리드 명령에 응답하여, 암호화된 기밀 파일에 들어있는 암호화 키 ID에 대응하는 복호화 키를 이용하여, 암호화된 기밀 파일을 복호화하는 것 - 여기서, 상기 복호화 키는 복호화 키 저장부에 저장됨 - 을 실행하는 단계를 포함하고,
상기 클라이언트 컴퓨터가 상기 시큐리티 준수 요건을 준수하고 있지 않은 경우, 상기 암호화 키 저장부에 저장된 암호화 키, 및 상기 복호화 키 저장부에 저장된 복호화 키를 삭제하는 단계와,
상기 서버 컴퓨터에 시큐리티 준수 요건의 송부를 요구하는 단계를 실행하는 단계를 포함한다.
본 발명은 또한, 클라이언트 컴퓨터의 기밀 파일을 보호하기 위한 컴퓨터 프로그램을 제공한다. 상기 컴퓨터 프로그램은, 클라이언트 컴퓨터에, 상기 중 어느 하나에 기재의 방법의 각 단계를 실행시킨다.
본 발명의 실시 형태에 따르지 않는 PC 상에서는 시큐리티 준수가 보증되지 않기 때문에, 기밀 파일에의 액세스를 거절하는 것이 가능하다. 또한, 본 발명의 실시 태양에 따르는 PC 상에서는, 통상의 오피스 워크 이외의 추가 작업, 예를 들면 암호화 소프트의 기동 또는 조작을 생략하는 것이 가능하다. 또한, 본 발명의 실시 태양에 따르는 PC 간에는, 특수한 디바이스 또는 유저에 의한 추가 작업을 필요로 함이 없이, 데이터 교환을 하는 것이 가능하다. 또한, 본 발명의 실시 태양에 의하면, 시큐리티 준수에 대응이 안 되는 PC 상에서, 기밀 파일에 재차 액세스하는 것이 거절된다. 또한, 본 발명의 실시 태양에 의하면, 정보 누설의 위험성이 없는 온라인 환경에 있는 PC 상에서는, 시큐리티 준수 상황에 따라, 기밀 파일에의 액세스 허가를 계속하기 위해, 유저의 작업성이 확보된다. 또한, 본 발명의 실시 태양에 의하면, 기밀 정보의 확산을 방지하기 위해, 기밀 파일에는 허가를 얻은 유저만이 열람 가능하게 한다. 이것은 시큐리티 준수는 고려하지 않는다.
도 1은 본 발명의 실시 태양인, 클라이언트 컴퓨터(101)의 구성 예를 나타낸다.
도 2는 본 발명의 실시 태양인, 서버 컴퓨터(121)의 구성의 예를 나타낸다.
도 3은 본 발명의 실시 태양인, 클라이언트 컴퓨터(101) 및 서버 컴퓨터(121)의 각부에 포함되는 컨텐츠의 예를 나타낸다.
도 4는 본 발명의 실시 태양인, 클라이언트 컴퓨터(101) 및 서버 컴퓨터(121)와의 사이의 데이터의 흐름을 나타낸다.
도 5는 본 발명의 실시 태양인, 암호화-복호화부(103)에 의한 파일의 암호화, 및 파일의 라이트의 동작 흐름도를 나타낸다.
도 6은 본 발명의 실시 태양인, 암호화-복호화부(103)에 의한 파일의 복호화, 및 파일의 리드의 동작 흐름도를 나타낸다.
도 7은 본 발명의 실시 태양인, 시큐리티 요건 감시부(102)의 동작 흐름도를 나타낸다.
도 8은 본 발명의 실시 태양인, 시큐리티 요건 감시부(102)에 의한 파일 조작의 동작 흐름도를 나타낸다.
도 9는 본 발명의 실시 태양인, 시큐리티 요건 감시부(102)에 의한 암호화 된 기밀 파일의 리드 처리 시의 동작 흐름도를 나타낸다.
도 10은 본 발명의 실시 태양인, 시큐리티 요건 감시부(102)에 의한 파일의 라이트 처리 시의 동작 흐름도를 나타낸다.
도 11은 본 발명의 실시 태양인, 시큐리티 검증부(122)의 동작 흐름도를 나타낸다.
도 12는 본 발명의 실시 태양인, 시큐리티 검증부(122)에 있어서 유저 정보의 검증 처리의 동작 흐름도를 나타낸다.
도 13은 본 발명의 실시 태양인, 시큐리티 검증부(122)에 있어서 준수 요건의 송부 요구 처리의 동작 흐름도를 나타낸다.
도 14는 본 발명의 실시 태양인, 시큐리티 검증부(122)에 있어서 복호화 키의 송부 요구 처리의 동작 흐름도를 나타낸다.
도 15는 본 발명의 실시 태양인, 암호화 키-복호화 키 작성부(123)에 있어서 준수 요건의 추가 이벤트 발생 시의 동작 흐름을 나타낸다.
도 16은 본 발명의 실시 형태에 있어서, 데이터를 주고 받을 때의 내용을 나타낸다.
도 17은 본 발명의 실시 형태에 있어서, 클라이언트 컴퓨터(101) 및 서버 컴퓨터(121)의 하드웨어의 블록 도를 나타낸다.
이하, 도면에 따라서 본 발명의 실시 형태를 설명한다. 본 실시 형태는 본 발명의 바람직한 태양을 설명하기 위한 것이며, 본 발명의 범위를 여기에서 나타낸 것에 한정하여 해석하여서는 아니될 것이다. 또한, 이하의 도면들을 통해, 특별히 부정하지 않는 한, 동일한 부호는 동일한 대상을 가리킨다.
도 1은 본 발명의 실시 태양인, 클라이언트 컴퓨터(101)의 구성의 예를 나타낸다.
클라이언트 컴퓨터(101)는 시큐리티 요건 감시부(102), 암호화-복호화부(103), 준수 요건 저장부(클라이언트 측)(104), 암호화 키 저장부(105), 복호화 키 저장부(106), 암호화 대상 저장부(107)를 포함한다. 또한, 클라이언트 컴퓨터(101)에서는, 시큐리티 소프트웨어(108), 예를 들면, 안티 바이러스 소프트웨어(109) 및 스파이웨어 감시 소프트웨어(110), 및 일반 어플리케이션(111)이 기억 장치(도시 하지 않음) 상에 인스톨되어 있다. 또한, 클라이언트 컴퓨터(101)에서는, 암호화 키 ID(112)를 포함하는 암호화된 기밀 파일(113) 또는 통상 파일(114)이 기억 장치(도시하지 않음) 상에 저장될 수 있다.
시큐리티 요건 감시부(102)는 서버 컴퓨터(121)에 대해서, 유저 정보의 검증을 요구하고, 시큐리티 준수 요건, 암호화 키, 복호화 키, 암호화 키 ID, 및 액세스 권한의 가부의 송신을 요구한다. 시큐리티 요건 감시부(102)는 또한, 시큐리티 소프트웨어로부터의 리포트를 수신한다. 상기 리포트는 예를 들면, 안티 바이러스 소프트웨어에 의한 바이러스 검출의 경고, 스파이웨어 감시 소프트웨어에 의한 스파이웨어 활동의 검출의 경고이다. 시큐리티 요건 감시부(102)는 또한, 클라이언트 컴퓨터(101)의 준수 상황에 근거하는 암호화 또는 복호화의 허가 또는 불허가의 결정을 수행한다. 그리고, 시큐리티 요건 감시부(102)는 준수 상황이 지켜지지 않는 경우에, 암호화 키 저장부(105) 및 복호화 키 저장부(106)에 저장된 암호화 키 및 복호화 키를 삭제한다. 시큐리티 요건 감시부(102)는 또한, 네트워크에의 접속 판정 및 서버 컴퓨터(121)에의 접속 판정을 수행하고, 클라이언트 컴퓨터(101)가 네트워크에 접속하고, 서버 컴퓨터(121)에 접속할 수 없는 경우에, 암호화 키 저장부(105) 및 복호화 키 저장부(106)를 락한다.
암호화-복호화부(103)는 암호화 키를 사용하여 기밀 파일(113)을 암호화하고, 암호화된 기밀 파일의 기록부에의 라이트, 및 복호화 키를 사용하여 암호화된 기밀 파일(113)을 복호화하고, 복호화된 기밀 파일의 리드를 실행한다. 암호화-복호화부(103)는 기밀 파일이 아닌 통상 파일의 기록부에의 라이트 및 리드를 실행한다.
준수 요건 저장부(클라이언트 측)(104)는 준수 요건의 버전 및 준수 요건을 포함한다. 준수 요건은 클라이언트 컴퓨터(101)가 준수해야 할 요건을 규정한다. 예를 들면, 시큐리티 소프트웨어에 준비된 요건을 이용할 수 있다. 준수 요건의 예는 하기와 같다. 암호화-복호화부(103)가 기밀 파일의 암호화 및 복호화를 자동적으로 수행하기 위해서, 준수 요건을 만족하지 않는 클라이언트 컴퓨터로부터는, 상기 기밀 파일에의 액세스가 거부된다.
* 시큐리티 소프트웨어가 도입되어 있는가?
* 갱신 데이터가 인스톨되어 있는가?
* 시큐리티 소프트웨어로부터 위협 경고가 있었는가?
* 하드 디스크 또는 리무벌 디스크에 패스워드가 적용되어 있는가?
* 스크린 세이버에 패스워드가 적용되어 있는가?
* 파이어월이 도입되어 있는가?
* 네트워크의 공유 정보가 소정의 이름인가?
* 메일 소프트웨어에 암호화가 설정되어 있는가?
* 어카운트 ID가 소정의 문자 수 이상으로 설정되어 있는가?
* 어카운트 패스워드가 소정의 기간마다 갱신되어 있는가?
* 오퍼레이팅 시스템의 배치가 적용되어 있는가?
* 오퍼레이팅 시스템의 서비스 팩이 적용되어 있는가?
* BIOS의 설정 조건이 소정의 규칙에 따르고 있는가?
준수 요건은 서버 컴퓨터(121)로부터 클라이언트 컴퓨터(101)로 송신된다. 준수 요건은 서버 컴퓨터(121)에서 갱신된다. 갱신된 준수 요건은 서버 컴퓨터(121)로부터 클라이언트 컴퓨터(101)로 송신된다. 준수 요건의 갱신마다, 갱신된 준수 요건에 새로운 버전이 부여된다. 준수 요건을 저장하지 않은 컴퓨터에서는, 시큐리티 준수의 보증이 되어 있지 않기 때문에, 유저에 의한 기밀 파일에의 액세스가 거부된다.
암호화 키 저장부(105)는 암호화 키 ID 및 상기 암호화 키 ID에 대응된 암호화 키를 저장하는 기록 매체이다. 암호화 키는 기밀 파일의 암호화에 이용되는 키이다. 암호화 키 및 암호화 키 ID는 서버 컴퓨터(121)로부터 송신된다. 암호화 키는 암호화 키 ID에 의해 식별된다. 상기 암호화 키와 짝을 이루는 복호화 키가 또 같은 암호화 키 ID에 의해 식별되기 때문에, 암호화 키와 복호화 키의 짝을 발견하는 것이 가능하다. 암호화 키 저장부(105)는 전형적으로는, 암호화 키 캐시이다. 암호화 키가 암호화 키 캐시 내에 저장되는 것은 시큐리티 준수 요건이 변경되었을 때에, 암호화 키 캐시를 클리어할 필요가 있기 때문이다. 암호화 키 캐시를 클리어 한다는 것은, 암호화 키 캐시 내의 암호화 키를 삭제하는 것을 포함한다.
복호화 키 저장부(106)는 암호화 키 ID 및 상기 암호화 키 ID에 대응된 복호화 키를 저장하는 기록 매체이다. 복호화 키는 암호화된 기밀 파일의 복호화에 이용되는 키이다. 복호화 키 및 암호화 키 ID는 서버 컴퓨터(121)로부터 송신된다. 복호화 키는 암호화 키 ID에 의해 식별된다. 상기 복호화 키와 짝을 이루는 암호화 키가 또 같은 암호화 키 ID에 의해 식별되기 때문에, 복호화 키와 암호화 키의 짝을 발견하는 것이 가능하다. 복호화 키 저장부(106)는 전형적으로는, 복호화 키 캐시 데이터베이스이다. 복호화 키가 데이터 베이스 내에 저장되는 것은, 기밀 파일에 의해, 복호화하기 위한 복호화 키가 다르기 때문에, 복수의 복호화 키를 데이터 베이스로서 보유할 필요가 있기 때문이다.
암호화 대상 저장부(107)는 암호화해야 하는 파일을 특정하기 위한 데이터를 저장한다. 암호화 대상 저장부(107)는 전형적으로는, 암호화 대상 데이터베이스이다. 암호화해야 하는 파일을 특정하기 위한 데이터는, 예를 들면, 파일의 확장자가 소정의 확장자인지, 파일 명에 소정의 문자열이 포함되어 있는지, 파일 내의 데이터에 소정의 문자 열이 포함되어 있는지, 파일이 착탈식 매체(removable media)에 의존하는지에 의해 결정될 수 있다. 소정의 문자열은, 예를 들면 기밀인 것을 나타내는 문자이고, 예를 들어, '암호', '기밀', '비밀' 이다.
시큐리티 소프트웨어(108)는 예를 들면 안티 바이러스 소프트웨어(109) 및 스파이웨어 감시 소프트웨어(110)를 포함하지만 이것으로 한정되지는 않는다. 안티 바이러스 소프트웨어(109)는 바이러스 소프트웨어에 대해서 유효한 소프트웨어이다. 스파이웨어 감시 소프트웨어(110)는 스파이웨어, 애드웨어, 트로이의 목마, 또는 현재 실행 중인 프로세스를 감시하는 소프트웨어이다.
일반 어플리케이션(111)은 예를 들면, 워드 프로세서 소프트웨어, 스프레드 시트 소프트웨어, 프레젠테이션 소프트웨어, 드로잉 소프트웨어이다.
암호화 키 ID(112)는, 예를 들면 바이너리 형식에서, 기밀 파일(113)에 들어있다. 암호화 키 ID는 암호화된 기밀 파일을 복호화하기 위해 이용하는 복호화 키를 특정하기 위해서, 동일 암호화 키 ID가 암호화 키 및 상기 암호화 키와 짝을 이루는 복호화 키에 대응된다.
기밀 파일(113)이란, 제 3자에 대해서 공개하는 것을 바라지 않는 또는 바랄 수 없는 내용을 포함하는 파일이다. 기밀 파일은, 예를 들면, 비밀 파일, 사외 비밀 파일, 공개 전 파일, 특허 출원 파일, 및 관공서 제출용 파일이다.
통상 파일(114)이란 제 3자에 대해서 공개해도 상관없다는 내용을 포함하는 파일이다.
도 2는 본 발명의 실시 형태인, 서버 컴퓨터(121)의 구성의 예를 나타낸다.
서버 컴퓨터(121)는 시큐리티 검증부(122), 암호화 키-복호화 키 작성부(123)를 포함한다. 또는 서버 컴퓨터(121)는 준수 요건 저장부(서버 측)(124), 암호화 키-복호화 키 저장부(125), 및 액세스 권한 저장부(126)를 포함한다.
시큐리티 검증부(122)는 클라이언트 컴퓨터(101)의 준수 요건의 버전 및 유저 정보에 근거하여, 준수 요건 및 암호화 키 및 복호화 키를 준수 요건 저장부(서버 측)(124), 암호화 키-복호화 키 저장부(125)로부터 선택하여 클라이언트 컴퓨터(101)에 송신한다.
암호화 키-복호화 키 작성부(123)는 준수 요건의 갱신에 근거하여, 상기 갱신된 준수 요건에 대응하는 새로운 암호화 키 및 상기 암호화 키에 대응하는 복호화 키를 작성한다.
준수 요건 저장부(서버 측)(124)는 각 클라이언트 컴퓨터(101)가 준수해야 할 준수 요건을 준수 요건의 버전에서 관리하고 저장한다.
암호화 키-복호화 키 저장부(125)는 암호화 키 ID(112), 준수 요건의 버전과, 암호화 키 및 복호화 키를 관련지어 저장한다.
액세스 권한 저장부(126)는 클라이언트 컴퓨터(101)를 이용가능한 유저의 액세스권(access authority)을 저장한다. 따라서, 클라이언트 컴퓨터(101)의 유저는 액세스 권한을 가진 것을 서버 컴퓨터(121)에 미리 등록할 필요가 있다. 서버 컴퓨터(121)는 상기 등록에 의해서, 클라이언트 컴퓨터(101)의 유저를 관리하는 것이 가능하다.
도 3은 본 발명의 실시 태양인, 클라이언트 컴퓨터(101) 및 서버 컴퓨터(121)의 각 부에 포함되는 컨텐츠의 예를 나타낸다.
클라이언트 컴퓨터(101)의 준수 요건 저장부(클라이언트 측)(104), 암호화 키 저장부(105), 복호화 키 저장부(106), 암호화 대상 저장부(107)는 하기 컨텐츠를 포함한다.
준수 요건 저장부(클라이언트 측)(104)는 준수 요건의 버전 및 상기 준수 요건의 버전에 대응하는 준수 요건을 포함한다. 준수 요건의 버전 및 준수 요건은 서버 컴퓨터(121)의 준수 요건 저장부(서버 측)(124)로부터 얻을 수 있다.
암호화 키 저장부(105)는, 암호화 키 ID 및 상기 암호화 키 ID에 대응된 암호화 키를 하나의 레코드로서 포함한다. 암호화 키는, 예를 들면, 공통 키 방식에 있어서 공통 키, 또는 공개 키 암호 방식에 있어서 비밀 키이다. 암호화 키 ID 및 암호화 키는 서버 컴퓨터(121)의 암호화 키-복호화 키 저장부(125)로부터 얻을 수 있다.
복호화 키 저장부(106)는 암호화 키 ID 및 상기 암호화 키 ID에 대응된 복호화 키를 하나의 레코드로서 포함한다. 복호화 키는, 예를 들면, 공통 키 방식에 있어서 공통 키, 또는 공개 키 암호 방식에 있어서 공개 키이다. 같은 암호화 키 ID에 관련된 암호화 키와 복호화 키가 페어의 키이다. 암호화 키 ID 및 복호화 키는 서버 컴퓨터(121)의 암호화 키-복호화 키 저장부(125)로부터 얻을 수 있다.
암호화 대상 저장부(107)는 비밀 파일로 해야 할 파일의 정보를 포함한다. 기밀 파일로 해야 할 지는, 준수 요건 내에 규정되어 있거나, 혹은 암호화 대상 정보가 클라이언트 컴퓨터(101)에 직접 입력된다.
서버 컴퓨터(121)의 준수 요건 저장부(서버 측)(124), 암호화 키-복호화 키 저장부(125), 액세스 권한 저장부(126)는 하기 컨텐츠를 포함한다. 준수 요건 저장부(서버 측)(124)는 준수 요건의 버전 및 상기 준수 요건의 버전에 대응하는 준수 요건을 포함한다. 클라이언트 컴퓨터(101)의 요구에 따라, 준수 요건의 버전 및 준수 요건이 클라이언트 컴퓨터(101)에 송신된다.
암호화 키-복호화 키 저장부(125)는 암호화 키 ID, 상기 암호화 키 ID에 대응된 암호화 키, 상기 암호화 키 ID에 대응된 복호화 키, 및 준수 요건의 버전을 하나의 레코드로서 포함한다. 클라이언트 컴퓨터(101)의 요구에 따라, 암호화 키 ID 및 암호화 키, 또는 암호화 키 ID 및 복호화 키가 클라이언트 컴퓨터(101)에 송신된다.
액세스 권한 저장부(126)는 클라이언트 컴퓨터(101)의 유저 정보, 및 상기 유저 각각의 액세스 권한의 가부를 포함한다.
도 4는 본 발명의 실시 태양인, 클라이언트 컴퓨터(101)와 서버 컴퓨터(121)와의 사이의 데이터의 흐름을 나타낸다.
클라이언트 컴퓨터(101)와 서버 컴퓨터(121)와의 사이의 통신은 암호화하여 수행된다(141). 암호화 통신의 방법은, 예를 들면, SSL, Open SSH이다.
클라이언트 컴퓨터(101)는 서버 컴퓨터(122)에 대해서, 유저 정보의 검증 요구(142), 시큐리티 준수 요건의 송부 요구(143), 암호화 키 및 복호화 키, 또는 복호화 키의 송부 요구(144)를 송신한다.
서버 컴퓨터(121)는 클라이언트 컴퓨터(101)에 대해서, 유저 정보의 검증 결과에 근거하여, 암호화 키 ID, 암호화 키, 복호화 키, 시큐리티 준수 요건을 송부한다(145). 또한, 서버 컴퓨터(121)는 SSL에 의한 암호화 통신을 이용하여, 암호화 키 및 복호화 키의 양쪽을 클라이언트 컴퓨터(101)에 동시에 송신할 수 있다.
도 5는 본 발명의 실시 태양인, 암호화-복호화부(103)에 의한 파일의 암호화, 및 파일의 라이트의 동작 흐름도를 나타낸다.
단계(201)에서는, 일반 어플리케이션(111)의 라이트 이벤트가 발생하는 것에 따라, 암호화-복호화부(103)는 상기 라이트의 명령을 후크(hook)한다.
단계(202)에서, 암호화-복호화부(103)는 라이트 대상인 파일의 정보를 취득한다. 파일의 정보는, 예를 들면, 상기 파일이 착탈식 디바이스(removable device)에 존재하는지, 암호화 지정 폴더에 존재하는지, 파일 명이 소정의 문자열을 포함하는지, 파일의 내용이 소정의 문자열을 포함하는지 이다. 소정의 문자열은, 예를 들면 기밀인 것을 나타내는 문자로서, 예를 들어, '암호', '기밀', '비밀'이다. 착탈식 디바이스란, 외장 하드디스크, 각종 메모리 카드, 메모리 기록 매체이다.
단계(203)에서, 암호화-복호화부(103)는 상기 취득한 파일의 정보를 시큐리티 요건 감시부(102)로 송신한다.
단계(204)에서, 시큐리티 요건 감시부(102)는 암호화-복호화부(103)로부터 송신된 파일의 정보와, 암호화 대상 저장부(107)에 저장된 정보를 비교하고, 라이트 대상의 파일이 기밀 파일인지를 판단한다. 시큐리티 요건 감시부(102)는 라이트 대상의 파일이 기밀 파일인지 또는 기밀 파일이 아닌지의 판단 결과를 암호화-복호화부(103)로 송신한다. 상기 판단 결과의 송신은, 예를 들면, 파일 타입이 기밀 또는 통상의 송신을 하는 것에 의해 수행된다. 라이트 대상 파일이 기밀 파일이 아닌 경우, 즉 통상 파일(114)인 경우, 시큐리티 요건 감시부(102)는 통상 파일이라는 취지, 예를 들면 파일 타입(통상)을 암호화-복호화부(103)로 송신한다. 암호화-복호화부(103)는 상기 파일 타입(통상)을 수신하고, 처리를 단계(205)에 진행한다.
한편, 라이트 대상 파일이 기밀 파일인 경우, 처리는 단계(206)에 진행한다.
단계(205)에서, 암호화-복호화부(103)는 상기 파일이 통상 파일이기 때문에, 암호화하지 않고 상기 파일을 기억부에 라이트(통상 라이트)한다.
단계(206)에서는, 상기 파일이 기밀 파일이기 때문에, 시큐리티 요건 감시부(102)는 상기 기밀 파일을 암호화하기 위한 암호화 키가 암호화 키 저장부(105)에 있는지를 확인한다. 암호화 키가 암호화 키 저장부(105)에 있는 경우, 시큐리티 요건 감시부(102)는 암호화 키를 암호화-복호화부(103)에 보낸다. 암호화-복호화부(103)는 암호화 키의 취득에 동반하여, 처리를 단계(208)에 진행한다. 한편, 암호화 키가 암호화 키 저장부(105)에 없는 경우, 시큐리티 요건 감시부(102)는 암호화-복호화부(103)에 암호화 키를 취득할 수 없다는 것을 통지한다. 암호화-복호화부(103)는 상기 통지를 받아, 처리를 단계(207)에 진행한다.
단계(207)에서는, 암호화 키가 암호화 키 저장부(105)에 저장되어 있지 않기 때문에, 암호화-복호화부(103)는 서버 컴퓨터(121)와 네트워크 접속하는 것을 유저에게 요구한다. 서버 컴퓨터(121)와 네트워크 접속이 된 경우, 암호화 키의 송신 요구를 서버 컴퓨터(121)에 송신한다(하기 도 6A 및 도 6B의 유저 정보의 검증 처리 참조). 네트워크 접속하는 것을 유저에게 요구하는 것은, 예를 들면, 유저에 서버 컴퓨터(121)와 네트워크 접속할 수 있는 환경에 이동하는 것을 요구하는 것을 포함한다. 대체로, 암호화-복호화부(103)는 유저에 대응을 요구한다. 유저에 의한 대응은, 예를 들면, 유저 자신에 의해 파일을 암호화하는 것이다.
단계(208)에서, 암호화-복호화부(103)는 암호화 키 저장부(105)로부터의 암호화 키를 사용하여 파일을 암호화하고, 암호화된 파일을 기억부에 라이트한다.
단계(209)에서, 암호화-복호화부(103)는 상기 암호화에 사용한 암호화 키에 대응하는 암호화 키 ID를 암호화된 파일에 집어 넣는다. 암호화 키 ID는, 암호화 키 저장부(105)로부터 취득된다.
단계(210)에서, 단계(205, 207 및 209)의 처리의 종료를 수신하여, 일반 어플리케이션의 라이트 이벤트 처리를 종료한다.
도 6은 본 발명의 실시 태양인, 암호화-복호화부(103)에 의한 파일의 복호화, 및 파일의 리드의 동작 흐름도를 나타낸다.
단계(211)에서, 일반 어플리케이션(111)의 리드 이벤트가 발생하는 것에 따라, 암호화-복호화부(103)는 상기 리드의 명령을 후크한다.
단계(212)에서, 암호화-복호화부(103)는 리드 대상인 파일의 정보를 취득한다. 그리고, 암호화-복호화부(103)는 상기 리드 대상의 파일이 암호화되어 있는지를 확인한다. 파일이 암호화되어 있는지의 확인은, 예를 들면, 파일의 확장자가 암호화 파일의 확장자인지, 일반 어플리케이션의 확장자인지를 식별하는 것으로 수행된다. 리드 대상 파일이 암호화되어 있지 않은 경우, 처리는 단계(213)에 진행한다. 한편, 리드 대상 파일이 암호화되어 있는 경우, 처리는 단계(214)에 진행한다.
단계(213)에서, 리드 대상 파일이 암호화되어 있기 않기 때문에, 암호화-복호화부(103)는 일반 어플리케이션에 통상대로 파일을 제공한다. 일반 어플리케이션은 제공된 파일을 그대로 리드한다.
단계(214)에서, 리드 대상의 파일이 암호화되어 있기 때문에, 암호화-복호화부(103)는 리드 대상 파일로부터 암호화 키 ID를 취득한다.
단계(215)에서, 암호화-복호화부(103)는 취득한 암호화 키 ID를 시큐리티 요건 감시부(102)에 송신한다.
단계(216)에서, 시큐리티 요건 감시부(102)는 암호화-복호화부(103)로부터의 암호화 키 ID에 대응하는 복호화 키를 복호화 키 저장부(106)로부터 검색한다. 상기 검색은 암호화 키 ID를 사용하고, 예를 들면 쿼리를 이용하여 실행된다. 시큐리티 요건 감시부(102)는 상기 암호화 키 ID를 가진 레코드를 발견하는 것으로, 상기 레코드 내의 복호화 키가 검색 대상인 복호화 키인 것을 특정할 수 있다. 복호화 키가 복호화 키 저장부(106)에 없는 경우, 시큐리티 요건 감시부(102)는, 복호화 키가 리드 불가라는 취지를 암호화-복호화부(103)에 보낸다. 암호화-복호화부(103)는 처리를 단계(217)에 진행한다. 대체로, 복호화 키가 복호화 키 저장부(106)에 없는 경우, 시큐리티 요건 감시부(102)는 유저 정보 및 암호화 키 ID를 서버 컴퓨터(121)에 송신한다. 그 결과, 서버 컴퓨터(121)로부터 복호화 키를 취득한 경우, 복호화 키 저장부(106)에 상기 취득한 복호화 키 및 암호화 키 ID를 하나의 레코드로서 기록한다. 또한, 시큐리티 요건 감시부(102)는 암호화-복호화부(103)에 상기 취득한 복호화 키를 보낸다. 암호화-복호화부(103)는 처리를 단계(218)에 진행한다. 또한, 복호화 키가 복호화 키 저장부(106)에 있는 경우, 시큐리티 요건 감시부(102)는 복호화 키가 리드 가능하다는 취지를 암호화-복호화부(103)로 보낸다. 암호화-복호화부(103)는 처리를 단계(218)에 진행한다.
단계(217)에서, 복호화 키가 복호화 키 저장부(106)에 없기 때문에, 암호화-복호화부(103)는 일반 어플리케이션(111)에 파일을 리드할 수 없다는 취지를 알린다.
단계(218)에서, 복호화 키가 복호화 키 저장부(106)에 있기 때문에, 시큐리티 요건 감시부(102)는 복호화 키 저장부(106)로부터의 복호화 키를 암호화-복호화부(103)로 송신한다.
단계(219)에서, 암호화-복호화부(103)는 복호화 키 저장부(106)로부터의 복호화 키를 사용하여, 암호화된 파일을 복호화하고, 복호화된 파일을 기억부에 라이트 한다. 일반 어플리케이션은 상기 복호화된 파일을 리드한다.
단계(220)에서, 단계(213, 217 및 219)의 처리의 종료를 수신하여, 일반 어플리케이션의 라이트 이벤트를 종료한다.
도 7은 본 발명의 실시 태양인, 시큐리티 요건 감시부(102)의 동작 흐름도를 나타낸다.
단계(301)에서, 시큐리티 요건 감시부(102)는 클라이언트 컴퓨터(101)의 오퍼레이팅 시스템의 기동과 함께 기동한다.
단계(302)에서, 시큐리티 요건 감시부(102)는 본 발명의 실시 태양에 따르는 클라이언트 컴퓨터(101)에 로그인하기 위한 유저 정보의 입력을 촉구한다. 상기 유저 정보는 서버 컴퓨터의 액세스 권한 저장부(126)에서 관리된다. 또한, 단계(302)에서는, 유저 정보의 입력을 촉구하는 것만으로, 상기 유저가 액세스 권한을 가졌는지, 하기 단계(314)에 있어서 확인된다.
단계(303)에서, 시큐리티 요건 감시부(102)는 준수 요건 저장부(104)에 준수 요건이 저장되어 있는지를 확인한다. 준수 요건 저장부(104)에 준수 요건이 저장되어 있지 않은 경우, 처리는 단계(304)에 진행한다. 준수 요건 저장부(104)에 준수 요건이 저장되어 있는 경우, 처리는 단계(305)에 진행한다.
단계(304)에서, 시큐리티 요건 감시부(102)는 암호화 키 저장부(105)의 암호화 키 및 복호화 키 저장부(106)의 복호화 키를 삭제한다.
단계(305)에서, 시큐리티 요건 감시부(102)는 준수 요건 저장부(104)로부터 준수 요건을 리드한다.
단계(306)에서, 시큐리티 요건 감시부(102)는 클라이언트 컴퓨터(101)가 준수 요건을 준수하고 있는지를 확인한다. 준수 요건이 준수되어 있는 경우, 처리는 단계(307)로 진행된다. 한편, 준수 요건이 준수되어 있지 않은 경우, 처리는 단계(304)로 진행된다.
단계(307)에서, 시큐리티 요건 감시부(102)는 클라이언트 컴퓨터(101)가 네트워크에 접속되어 있는지, 즉 온라인인지를 확인한다. 온라인이 아닌 경우, 처리는 단계(308)로 진행된다. 온라인인 경우, 처리는 단계(309)로 진행된다.
단계(308)에서, 시큐리티 요건 감시부(102)는 암호화 키 저장부(105) 및 복호화 키 저장부(106)의 락이 걸려 있는 경우, 그 락을 해제한다. 락이 걸려 있는 경우란, 단계(313)에 있어서 락이 걸려, 루프에 의해 단계(308)로 리턴하는 경우이다.
단계(310)에서, 시큐리티 요건 감시부(102)는 변수 Online에 0(오프라인을 의미함), 및 변수 Reachable에 0(서버 컴퓨터에 도달하지 않음)을 각각 설정하고, 처리를 단계(311)로 진행된다.
단계(311)에서, 시큐리티 요건 감시부(102)는 도 4에 나타낸 파일 조작 처리를 한다. 파일 처리 내용은 변수 Online 및 변수 Reachable의 각각의 값, 및 도 4에 나타낸 단계 조건에 의해 달라진다.
단계(312)에서, 시큐리티 요건 감시부(102)는 도 4에 나타낸 파일 조작 처리가 정상으로 종료했는지를 확인한다. 정상으로 종료한 경우, 단계(305)에 리턴한다. 정상으로 종료하지 않은 경우, 단계(304)로 리턴한다.
단계(309)에서, 시큐리티 요건 감시부(102)는 클라이언트 컴퓨터(101)가 서버 컴퓨터(121)에 접속할 수 있는지를 확인한다. 접속할 수 없는 경우, 처리는 단계(313)로 진행된다. 접속할 수 있는 경우, 처리는 단계(314)로 진행된다.
단계(313)에서, 클라이언트 컴퓨터(101)가 서버 컴퓨터(121)에 접속할 수 없기 때문에, 시큐리티 요건 감시부(102)는 암호화 키 저장부(105) 및 복호화 키 저장부(106)를 락한다. 락은, 단계(307)에 있어서 Yes(즉, 온라인 상태(네트워크에 접속할 수 있다))이고, 그리고 단계(309)에 있어서 No(즉, 서버 불도달(서버와 통신할 수 없다))인 경우에 수행된다.
단계(315)에서, 시큐리티 요건 감시부(102)는 변수 Online에 1(온라인이다), 및 Reachable에 0(서버 컴퓨터에 도달하지 않음)을 각각 설정하고, 처리는 단계(316)로 진행된다.
단계(316)에서, 시큐리티 요건 감시부(102)는 도 4에 나타낸 파일 조작 처리를 한다. 파일 처리 내용은, 변수 Online 및 변수 Reachable의 각 값, 및 도 4에 나타낸 단계의 조건문에 의해 달라진다.
단계(317)에서, 시큐리티 요건 감시부(102)는 도 4에 나타낸 파일 조작 처리가 정상으로 종료했는지를 확인한다. 정상으로 종료한 경우, 단계(305)로 리턴한다. 정상으로 종료하지 않은 경우, 단계(304)로 리턴한다.
단계(314)에서, 시큐리티 요건 감시부(102)는 단계(302)에서 취득한 유저 정보를 사용하여, 로그인한 유저에게 액세스 권한이 있는지의 검증 요구를 서버 컴퓨터(121)로 보낸다. 시큐리티 요건 감시부(102)는 액세스 권한이 있는지의 정보가 서버 컴퓨터(121)로부터 되돌아 오면, 처리를 단계(318)로 진행한다.
단계(318)에서, 시큐리티 요건 감시부(102)는 유저에게 액세스 권한이 있다고 하는 회답이 서버 컴퓨터(121)로부터 있는 경우, 처리를 단계(319)에 진행한다. 한편, 시큐리티 요건 감시부(102)는, 유저에게 액세스 권한이 없다고 하는 회답이 서버 컴퓨터(121)로부터 있는 경우, 처리를 단계(304)로 리턴한다.
단계(319)에서, 시큐리티 요건 감시부(102)는 클라이언트 컴퓨터(101)로부터 송신된 준수 요건의 버전과 서버 컴퓨터(121)의 준수 요건 저장부(124)에 저장된 준수 요건의 최신의 버전이 일치했는지의 정보를 서버 컴퓨터의 시큐리티 검증부(122)로부터 수신한다. 준수 요건의 상기 버전이 일치하지 않는 경우, 처리는, 단계(320)에 진행한다. 한편, 준수 요건의 상기 버전이 일치하는 경우, 처리는 단계(322)로 진행된다. 단계(319)에서는, 준수 요건의 상기 버전이 일치하기까지, 처리가 단계(322)로 진행되는 경우는 없다. 단계(320)에서, 준수 요건의 상기 버전이 일치하기 않기 때문에, 클라이언트 컴퓨터(101)는 서버 컴퓨터(121)에 대해서, 최신의 준수 요건의 송부를 요구한다.
단계(321)에서, 시큐리티 요건 감시부(102)는 서버 컴퓨터(121)의 준수 요건 저장부에 저장된 최신의 준수 요건, 및 상기 최신의 준수 요건의 버전을, 준수 요건 저장부(104)에 저장되어 있는 준수 요건, 및 그 준수 요건의 버전으로 덮어쓰기 한다. 상기 덮어쓰기에 의해, 클라이언트 측의 준수 요건 저장부(104)가 갱신된다. 덮어쓰기 후, 단계(305)로 돌아온다.
단계(322)에서, 준수 요건의 상기 버전이 일치하기 때문에, 시큐리티 요건 감시부(102)는 암호화 키 저장부(105) 및 복호화 키 저장부(106)의 락이 걸려 있는 경우에, 그 락을 해제한다. 락이 걸려 있는 경우란, 단계(313)에 있어서 락이 결려, 루프에 의해 단계(322)로 리턴하는 경우이다.
단계(323)에서, 시큐리티 요건 감시부(102)는 암호화 키 ID를 사용하여, 복호화 키 저장부(106)를 스캔(scan)한다.
단계(324)에서, 암호화 키 ID에 대응하는 복호화 키가 복호화 키 저장부(106) 중에 존재하지 않는 경우, 처리는 단계(325)로 진행된다. 한편, 암호화 키 ID에 대응하는 복호화 키가 복호화 키 저장부(106) 중에 존재하는 경우, 처리는 단계(327)로 진행된다.
단계(325)에서, 복호화 키가 복호화 키 저장부(106) 중에 존재하지 않기 때문에, 시큐리티 요건 감시부(102)는 암호화 키 ID 및 상기 암호화 키 ID에 대응하는 암호화 키를 암호화 키 저장부(105)에 덮어쓰기 한다. 계속해서, 처리는 단계(326)로 진행된다.
단계(326)에서, 시큐리티 요건 감시부(102)는 상기 암호화 키 ID 및 상기 암호화 키 ID에 대응하는 복호화 키를 복호화 키 저장부(106)에 추가한다.
단계(327)에서, 시큐리티 요건 감시부(102)는 변수 Online에 1(온라인이다), 및 변수 Reachable에 1(서버 컴퓨터에 도달한다)을 설정하고, 처리를 단계(316)로 진행한다.
단계(328)에서, 클라이언트 컴퓨터(101)가 온라인이 아닌 경우, 처리는 단계(329)로 진행된다. 한편, 클라이언트 컴퓨터(101)가 온라인인 경우, 처리는 단계(330)로 진행된다.
단계(329)에서, 클라이언트 컴퓨터(101)가 온라인이 아니기 때문에, 시큐리티 요건 감시부(102)는 변수 Online에 0(온라인이 아니다), 변수 Reachable에 0(서버 컴퓨터에 도달하지 않음)을 설정하고, 처리를 단계(332)로 진행한다.
단계(332)에서, 시큐리티 요건 감시부(102)는 도 4에 나타낸 파일 조작 처리를 한다. 파일 처리 내용은 변수 Online 및 변수 Reachable의 각 값, 및 도 4에 나타낸 단계의 조건문에 의해 달라진다.
단계(330)에서, 시큐리티 요건 감시부(102)는 클라이언트 컴퓨터(101)가 서버 컴퓨터(121)에 접속할 수 있는지를 확인한다. 접속할 수 없는 경우, 처리는 단계(331)로 진행한다. 접속할 수 있는 경우, 처리는 단계(320)로 진행된다.
단계(331)에서, 시큐리티 요건 감시부(102)는 변수 Online에 1(온라인이다), 변수 Reachable에 0(서버 컴퓨터에 도달하지 않음)을 설정하고, 처리를 단계(332)로 진행한다.
단계(332)에서, 시큐리티 요건 감시부(102)는 도 4에 나타낸 파일 조작 처리를 한다. 파일 처리 내용은 변수 Online 및 변수 Reachable의 각 값, 및 도 4에 나타낸 단계의 조건문에 의해 달라진다.
도 8은 본 발명의 실시 태양인, 시큐리티 요건 감시부(102)에 의한 파일 조작의 동작 흐름도를 나타낸다.
단계(341)는 도 7의 단계(311, 316 및 332)에 의한 파일 조작 처리의 서브루틴의 불러내기에 의해 개시된다.
단계(342)는 시큐리티 요건 감시부(102)가 암호화-복호화부(103)로부터 리드 요구가 있는지를 확인한다. 리드 요구가 있는 경우, 처리는 단계(344)로 진행된다. 한편, 리드 요구가 없는 경우, 처리는 단계(343)로 진행된다.
단계(344)에서, 암호화-복호화부(103)로부터 파일의 리드 요구가 있었기 때문에, 시큐리티 요건 감시부(102)는 도 9에 나타낸 파일의 리드 처리의 서브루틴을 불러낸다.
단계(345)에서, 시큐리티 요건 감시부(102)는 파일의 리드 처리가 정상으로 종료했는지를 판단한다. 정상으로 종료한 경우, 처리는 단계(348)로 진행된다. 한편, 정상으로 종료하지 않은 경우, 처리는 단계(346)로 진행된다.
단계(346)에서, 단계(345)의 결과를 수신하여, 서브루틴의 리턴 값으로서 이상 종료가 보내진다.
단계(343)에서, 시큐리티 요건 감시부(102)는 암호화-복호화부(103)로부터 라이트 요구가 있는지를 확인한다. 라이트 요구가 있는 경우, 처리는 단계(347)로 진행된다. 한편, 라이트 요구가 없는 경우, 처리는 단계(348)로 진행된다.
단계(347)에서, 암호화-복호화부(103)로부터 파일의 라이트 요구가 있었기 때문에, 시큐리티 요건 감시부(102)는 도 10에 나타낸 파일의 라이트 처리의 서브루틴을 불러낸다. 상기 라이트 처리의 서브루틴의 종료 후, 처리는 단계(348)로 진행된다.
단계(348)에서, 시큐리티 요건 감시부(102)는 시큐리티 소프트웨어(108)로부터 상황 정보를 취득한다.
단계(349)에서, 시큐리티 요건 감시부(102)는 시큐리티 소프트웨어(108)로부터의 상황 정보가 위협을 발견했는지를 확인한다. 위협이 발견된 경우, 처리는 단계(346)로 진행된다. 한편, 위협이 발견되지 않은 경우, 처리는 단계(350)로 진행된다.
단계(346)에서, 단계(349)의 결과를 수신하여, 서브루틴의 리턴 값으로서 이상 종료가 보내진다. 상기 리턴 값은 도 7의 단계(312 및 317)의 정상 종료인지의 판단 처리에 사용된다.
단계(350)에서, 시큐리티 요건 감시부(102)는, 변수 Online이 0이고 그리고 현재 온라인지를 확인한다. 변수 Online은, 도 7의 단계(310, 327, 329 및 331)에 있어서 설정된다. 변수 Online이 0이라는 것은 파일 조작 처리의 서브루틴에 들어가기 전에 '온라인이 아니었다' 는 것을 나타낸다. 즉, 여기에서는, 변수 Online의 값을 확인하고, 0이라면 Yes, 0이 아니면 No를 보낸다. 따라서, 판정식 '변수 Online == 0'은 변수 Onine이 0이면, Yes를 보낸다. 변수 Online이 0이고 그리고 현재 온라인인 경우, 처리는 단계(351)로 진행된다. 한편, 변수 Online이 0이고 그리고 현재 온라인이 아닌 경우, 처리는 단계(352)로 진행된다.
단계(351)에서, 변수 Online이 0이고 현재 온라인이기 때문에, 시큐리티 요건 감시부(102)는 암호화 키 저장부(105) 및 복호화 키 저장부(106)를 락한다.
단계(352)에서, 시큐리티 요건 감시부(102)는 변수 Reachable이 0이고, 그리고 현재 서버 도달인지를 확인한다. 변수 Reachable은 도 7의 단계(310, 327, 329 및 331)에 있어서 설정된다. 변수 Reachable이 0이라는 것은, 파일 조작 처리의 서브루틴에 들어가기 전에 '서버에 도달하지 못한 경우' 를 나타낸다. 즉, 여기에서는, 변수 Reachable의 값을 확인하고, 0이면 Yes를, 0이 아니면 No를 보낸다. 따라서, 판정식 '변수 Reachable==0'은 변수 Reachable이 0이면, Yes를 보낸다. 변수 Reachable가 0이고 현재 서버 도달인 경우, 처리는 단계(354)로 진행된다. 한편, 변수 Reachable이 0이고 현재 서버 도달이 아닌 경우, 처리는 단계(353)로 진행된다.
단계(353)에서, 시큐리티 요건 감시부(102)는 규정 시간이 경과했는지를 확인한다. 규정시간에는, 시스템 관리자가 적당하다고 생각하는 기간이 설정될 수 있다. 상기 규정 시간의 값이 클라이언트 컴퓨터가 서버 컴퓨터에 도달할 수 있는 상태에 있어서, 상기 서버 컴퓨터에 유저 정보의 검증을 요구하지 않는 기간의 최장치가 된다. 규정 시간이 경과한 경우, 처리는 단계(354)에 진행한다. 한편, 규정 시간이 경과하지 않은 경우, 처리는 단계(342)로 리턴한다.
단계(354)에서, 단계(351, 352 또는 353)의 처리의 종료를 받아, 서브루틴의 리턴 값으로서 정상 종료가 보내진다. 상기 리턴 값은 도 7의 단계(312 및 317)의 정상 종료인지의 판단 처리에 사용된다.
도 9는 본 발명의 실시 태양인, 시큐리티 요건 감시부(102)에 의해 암호화된 기밀 파일의 리드 처리 시의 동작 흐름도를 나타낸다.
단계(361)는 도 8의 단계(344)에 의한 파일의 리드 처리의 서브루틴의 불러내기에 의해 개시된다.
단계(362)에서, 시큐리티 요건 감시부(102)는 암호화-복호화부(103)로부터 복호화 키를 검색하기 위해, 리드 대상의 파일에 들어있는 암호화 키 ID를 수신한다.
단계(363)에서, 시큐리티 요건 감시부(102)는 복호화 키 저장부(106)가 락 중인지를 확인한다. 락 중인 경우, 처리는 단계(364)로 진행된다. 락 중이 아닌 경우, 처리는 단계(365)로 진행된다.
단계(364)에서, 복호화 키 저장부(106)가 락 중이기 때문에, 시큐리티 요건감시부(102)는 암호화-복호화부(103)에 암호화된 기밀 파일이 리드할 수 없다는 것을 통지한다.
단계(365)에서, 복호화 키 저장부(106)가 락 중이 아니기 때문에, 시큐리티 요건 감시부(102)는 복호화 키 저장부(106)에 암호화 키 ID를 사용하여 쿼리를 실행하고, 복호화 키를 스캔한다.
단계(366)에서, 복호화 키를 취득한 경우, 처리는 단계(373)로 진행된다. 한편, 복호화 키를 취득 못한 경우, 처리는 단계(367)로 진행된다.
단계(367)에서, 시큐리티 요건 감시부(102)는 변수 Reachable이 1인지를 확인한다. 변수 Reachable은 도 7의 단계(310, 327, 329 및 331)에서 설정된다. 변수 Reachable이 1이라는 것은, 파일 조작 처리의 서브루틴에 들어가기 전에, '서버에 도달한 경우' 를 나타낸다. 즉, 여기에서는, 변수 Reachable의 값을 확인하고, 1이면 Yes, 1이 아니면 No를 보낸다. 따라서, 판정식 '변수 Reachable==1'은 변수 Reachable이 1이면, Yes를 보낸다. 변수 Reachable이 1이 아닌 경우, 처리는 단계(364)로 진행된다. 한편, 변수 Reachable이 1인 경우, 처리는 단계(368)로 진행된다.
단계(368)에서, 시큐리티 요건 감시부(102)는 서버 컴퓨터(121)에 복호화 키를 요구한다. 시큐리티 요건 감시부(102)는 상기 요구를 위해서, 클라이언트 컴퓨터(101)의 유저 정보 및 암호화 키 ID를 서버 컴퓨터(121)로 송신한다.
단계(369)에서, 시큐리티 요건 감시부(102)는 클라이언트 컴퓨터(101)의 유저에게 권한이 있는지의 검증을 서버 컴퓨터(121)에 요구한다. 상기 유저에게 권한이 없는 경우, 처리는 단계(370)로 진행된다. 상기 유저에게 권한이 있는 경우, 처리는 단계(372)로 진행된다.
단계(370)에서, 유저가 권한을 가지고 있지 않기 때문에, 시큐리티 요건 감시부(102)는 암호화-복호화부(103)에 파일을 리드할 수 없다는 취지의 통지를 수행한다.
단계(371)에서, 단계(370)의 결과를 수신하여, 서브루틴의 리턴 값으로서 이상 종료가 보내진다. 상기 리턴 값은 도 8의 단계(345)의 정상 종료인지의 판단 처리에 사용된다.
단계(372)에서, 유저가 권한을 가지고 있기 때문에, 시큐리티 요건 감시부(102)는 암호화 키 ID 및, 서버 컴퓨터(121)로부터 수취한 복호화 키를 하나의 레코드로서 복호화 키 저장부(106)에 추가한다.
단계(373)에서, 시큐리티 요건 감시부(102)는 암호화-복호화부(103)에, 암호화된 기밀 파일을 리드할 수 있다는 취지, 및 복호화 키를 보낸다.
단계(374)에서, 단계(364 또는 373)의 처리의 종료를 수신하여, 서브루틴의 리턴 값으로서 정상 종료가 보내진다. 상기 리턴 값은, 도 8의 단계(345)의 정상 종료인지의 판단 처리에 사용된다.
도 10은 본 발명의 실시 태양인, 시큐리티 요건 감시부(102)에 의한 파일의 라이트 처리 시의 동작 흐름도를 나타낸다.
단계(381)는, 도 8의 단계(347)에 의한 파일의 라이트 처리의 서브루틴의 불러내기에 의해 개시된다.
단계(382)에서 시큐리티 요건 감시부(102)는 암호화-복호화부(103)로부터, 라이트 대상인 파일의 정보를 취득한다.
단계(383)에서, 시큐리티 요건 감시부(102)는 상기 취득한 파일의 정보에서, 암호화 대상 저장부(107)를 스캔하고, 라이트 대상 파일에 대한 정보를 취득한다.
단계(384)에서, 시큐리티 요건 감시부(102)는 암호화-복호화부(103)로부터 송신된 파일의 정보와, 암호화 대상 저장부(107)로부터 취득한 정보를 비교하고, 라이트 대상의 파일이 기밀 파일인지 통상 파일인지를 판단한다. 기밀 파일이 아닌 경우, 처리는 단계(385)로 진행된다. 한편, 기밀 파일인 경우, 처리는 단계(386)로 진행된다.
단계(385)에서, 시큐리티 요건 감시부(102)는 암호화-복호화부(103)에 기밀 파일이 아니라는 취지, 혹은 통상 파일이라는 것을 통지한다.
단계(386)에서, 기밀 파일인 경우에, 시큐리티 요건 감시부(102)는 암호화 키 저장부(105)가 락 중인지를 확인한다. 암호화 키 저장부(105)가 락되어 있는 경우, 처리는 단계(387)로 진행된다. 한편, 암호화 키 저장부(105)가 락되어 있지 않은 경우, 처리는 단계(388)로 진행된다.
단계(387)에서, 암호화 키 저장부(105)가 락되어 있기 때문에, 시큐리티 요건 감시부(102)는 암호화-복호화부(103)에 기밀 파일 그 자체, 및 상기 기밀 파일을 라이트하기 위한 암호화 키를 제공할 수 없다는 취지를 통지한다. 단계(387)에 도달하기 위해서는, 클라이언트 컴퓨터(101)가 온라인인지, 또는 클라이언트 컴퓨터(101)가 온라인이고 그리고 서버 컴퓨터(121)에 미도달인 경우이기 때문에, 어느 경우라도 암호화 키를 제공할 수 없다.
단계(389)에서, 시큐리티 요건 감시부(102)는 암호화 키 저장부(105)로부터, 암호화 키 ID 및 암호화 키를 취득한다.
단계(390)에서, 시큐리티 요건 감시부(102)는 암호화-복호화부(103)에 대상이 기밀 파일이라는 것, 및 상기 기밀 파일을 라이트하기 위한 암호화 키를 제공할 수 있다는 취지를 통지하고, 암호화 키 ID 및 상기 암호화 키를 보낸다.
단계(391)에서, 단계(385, 387 또는 390)의 처리의 종료를 받아, 서브루틴의 리턴 값으로서 정상 종료가 보내진다. 그 결과, 도 8의 단계(347)가 종료하고, 처리는 단계(348)로 진행된다.
도 11은 본 발명의 실시 태양인, 시큐리티 검증부(122)의 동작 흐름도를 나타낸다.
단계(401)에서, 시큐리티 검증부(122)는 서버 컴퓨터(121)의 오퍼레이팅 시스템의 기동과 함께 기동한다.
단계(402)에서, 시큐리티 검증부(122)는 클라이언트 컴퓨터(101)로부터, 유저 정보의 검증 요구를 수신했는지를 확인한다. 검증 요구를 수신한 경우, 처리는 단계(403)로 진행된다. 한편, 검증 요구를 수신하지 못한 경우, 처리는 단계(404)로 진행된다.
단계(403)에서, 검증 요구를 수신했기 때문에, 시큐리티 검증부(122)는 유저 정보의 검증 처리를 수행한다. 유저 정보의 검증 처리는 도 12에 나타낸 서브루틴을 불러내는 것으로 실행된다.
단계(404)에서, 시큐리티 검증부(122)는 클라이언트 컴퓨터(101)로부터, 준수 요건의 송부 요구를 수신했는지를 확인한다. 준수 요건의 송부 요구를 수신한 경우, 처리는 단계(405)로 진행된다. 한편, 준수 요건의 송부 요구를 수신하지 않은 경우, 처리는 단계(406)로 진행된다.
단계(405)에서, 송부 요구를 수신했기 때문에, 시큐리티 검증부(122)는 준수 요건의 송부 요구 처리를 수행한다. 준수 요건의 송부 요구 처리는 도 13에 나타낸 서브루틴을 불러내는 것으로 실행된다.
단계(406)에서, 시큐리티 검증부(122)는 클라이언트 컴퓨터(101)로부터, 복호화 키의 송부 요구를 수신했는지를 확인한다. 복호화 키의 송부 요구를 수신한 경우, 처리는 단계(407)로 진행된다. 한편, 복호화 키의 송부 요구를 수신하지 못한 경우, 처리는 단계(402)로 리턴한다.
단계(407)에서, 복호화 키의 송부 요구를 수신했기 때문에, 시큐리티 검증부(122)는 복호화 키의 송부 요구 처리를 수행한다. 복호화 키의 송부 요구 처리는 도 14에 나타낸 서브루틴을 불러내는 것으로 실행된다.
도 12는 본 발명의 실시 태양인, 시큐리티 검증부(122)에 있어서 유저 정보의 검증 처리의 동작 흐름도를 나타낸다.
단계(411)는 도 11의 단계(403)에 의한 유저 정보의 검증 처리의 서브루틴 불러내기에 의해 개시된다.
단계(412)에서, 시큐리티 검증부(122)는 클라이언트 컴퓨터(101)로부터, 유저 정보 및 준수 요건의 버전을 수신한다.
단계(413)에서, 시큐리티 검증부(122)는 액세스 권한 저장부(126)에 상기 수신한 유저 정보로 쿼리를 실행하고, 액세스 권한 정보를 취득한다.
단계(414)에서, 시큐리티 검증부(122)는 클라이언트 컴퓨터(101)의 유저에게 권한이 있는지를 판단한다. 상기 유저에게 권한이 없는 경우, 처리는 단계(415)로 진행된다. 한편, 상기 유저에게 권한이 있는 경우, 처리는 단계(416)로 진행된다.
단계(415)에서, 클라이언트 컴퓨터(101)의 유저에게 권한이 없기 때문에, 시큐리티 검증부(122)는 클라이언트 컴퓨터(101)로 상기 유저의 액세스 권한이 없다는 취지를 통지한다.
단계(416)에서, 클라이언트 컴퓨터(101)의 유저에게 권한이 있기 때문에, 시큐리티 검증부(122)는 서버 측의 준수 요건 저장부(124)로부터, 최신의 준수 요건의 버전을 취득한다.
단계(417)에서, 시큐리티 검증부(122)는 클라이언트 컴퓨터(101)로부터 송신된 준수 요건의 버전이 상기 최신의 준수 요건의 버전과 일치하는지를 확인한다. 상기 버전이 일치하지 않는 경우, 처리는 단계(418)로 진행된다. 한편, 상기 버전이 일치하는 경우, 처리는 단계(419)로 진행된다.
단계(418)에서, 상기 버전이 일치하기 않기 때문에, 시큐리티 검증부(122)는, 클라이언트 컴퓨터(101)에, 유저의 액세스 권한은 있지만, 준수 요건의 버전이 불일치라는 취지를 통지한다. 여기에서, 단계(418)에서는, 준수 요건의 버전이 일치하기 않기 때문에, 암호화 키 ID, 암호화 키 및 복호화 키는 클라이언트 컴퓨터(101)로 보내지는 경우는 없다.
단계(419)에서, 시큐리티 검증부(122)는 암호화 키-복호화 키 저장부(125)에 준수 요건의 버전으로 쿼리를 실행한다. 그리고, 시큐리티 검증부(122)는 준수 요건의 버전에 대응하는 암호화 키 ID, 암호화 키 및 복호화 키를 취득한다.
단계(420)에서, 상기 버전이 일치하기 때문에, 시큐리티 검증부(122)는 클라이언트 컴퓨터(101)에, 유저의 액세스 권한이 있다는 것, 및 클라이언트 컴퓨터(101)로부터 송신된 준수 요건의 버전과 서버 컴퓨터(121)의 준수 요건 저장부(124)에 저장된 준수 요건의 최신의 버전이 일치한 것을 통지하는 것과 함께, 상기 취득한 암호화 키 ID, 암호화 키 및 복호화 키를 클라이언트 컴퓨터(101)로 보낸다.
단계(421)에서, 시큐리티 검증부(122)는 단계(415, 418 및 420)의 처리의 종료를 받아, 유저 정보의 검증 처리의 서브루틴을 종료한다. 그리고, 처리는 도 11의 단계(402)로 리턴한다.
도 13은 본 발명의 실시 태양인, 시큐리티 검증부(122)에 있어서 준수 요건의 송부 요구 처리의 동작 흐름도를 나타낸다.
단계(431)는 도 11의 단계(405)에 의한 준수 요건의 송부 요구 처리의 서브루틴의 불러내기에 의해 개시된다.
단계(432)에서, 시큐리티 검증부(122)는 서버 컴퓨터(121)의 준수 요건 저장부(124)로부터, 최신의 준수 요건의 버전 및 상기 버전에 대응하는 준수 요건을 추출한다.
단계(433)에서, 시큐리티 검증부(122)는 상기 추출한 준수 요건의 버전 및 준수 요건을 클라이언트 컴퓨터(101)로 보낸다.
단계(434)에서 시큐리티 검증부(122)는 단계(433)의 처리의 종료를 받아, 준수 요건의 송부 요구 처리의 서브루틴을 종료한다. 그리고, 처리는 도 11의 단계(402)로 리턴한다.
도 14는 본 발명의 실시 태양인, 시큐리티 검증부(122)에 있어서 복호화 키의 송부 요구 처리의 동작 흐름도를 나타낸다.
단계(441)는 도 11의 단계(407)에 의한 복호화 키의 송부 요구 처리의 서브루틴 불러내기에 의해 개시된다.
단계(442)에서, 시큐리티 검증부(122)는 클라이언트 컴퓨터(101)로부터, 유저 정보 및 암호화 키 ID를 수신한다.
단계(443)에서, 시큐리티 검증부(122)는 액세스 권한 저장부(126)에 상기 수신한 유저 정보로 쿼리를 실행하고, 액세스 권한 정보를 취득한다.
단계(444)에서, 시큐리티 검증부(122)는 클라이언트 컴퓨터(101)의 유저에게 권한이 있는지를 판단한다. 상기 유저에게 권한이 없는 경우, 처리는 단계(445)로 진행된다. 한편, 상기 유저에게 권한이 있는 경우, 처리는 단계(446)로 진행된다.
단계(445)에서, 클라이언트 컴퓨터(101)의 유저에게 권한이 없기 때문에, 시큐리티 검증부(122)는 클라이언트 컴퓨터(101)에 유저의 액세스 권한이 없다는 취지를 통지한다.
단계(446)에서, 클라이언트 컴퓨터(101)의 유저에게 권한이 있기 때문에, 시큐리티 검증부(122)는 암호화 키-복호화 키 저장부(125)에 암호화 키 ID로 쿼리를 실행한다. 그리고, 시큐리티 검증부(122)는 암호화 키 ID에 대응하는 복호화 키를 취득한다.
단계(447)에서, 클라이언트 컴퓨터(101)의 유저에게 권한이 있기 때문에, 시큐리티 검증부(122)는 클라이언트 컴퓨터(101)에, 상기 유저의 액세스 권한이 있다는 취지를 통지하는 것과 함께, 상기 취득한 복호화 키를 클라이언트 컴퓨터(101)에 보낸다.
단계(448)에서, 시큐리티 검증부(122)는 단계(445 또는 447)의 처리의 종료를 받아, 유저 정보의 검증 처리의 서브루틴을 종료한다. 그리고, 처리는 도 11의 단계(402)로 리턴한다.
도 15는 본 발명의 실시 태양인, 암호화 키-복호화 키 작성부(123)에 있어서 준수 요건의 추가 이벤트 발생 시의 동작 흐름도를 나타낸다.
단계(501)에서, 암호화 키-복호화 키 작성부(123)는 준수 요건의 갱신이 있어, 서버 측의 준수 요건 저장부(124)에 준수 요건의 추가 이벤트가 발생한 것을 확인한다.
단계(502)에서, 암호화 키-복호화 키 작성부(123)는 암호화 키 ID를 결정한다.
단계(503)에서, 암호화 키-복호화 키 작성부(123)는 서버 측의 준수 요건 저장부(124)로부터 최신의 준수 요건의 버전을 취득한다.
단계(504)에서, 암호화 키-복호화 키 작성부(123)는 상기 암호화 키 ID에 대응된 암호화 키를 작성한다.
단계(505)에서, 암호화 키-복호화 키 작성부(123)는 상기 암호화 키 ID에 대응되고, 그리고 상기 작성된 암호화 키와 짝인 복호화 키를 작성한다.
단계(506)에서, 암호화 키-복호화 키 작성부(123)는 암호화 키 ID, 암호화 키, 복호화 키, 및 준수 요건의 버전을 1 레코드로서, 암호화 키-복호화 키 저장부(125)에 추가한다.
단계(507)에서, 암호화 키-복호화 키 작성부(123)는 단계(506)의 처리의 종료를 받아, 준수 요건의 추가 이벤트 발생 시의 처리를 종료한다.
도 16은 본 발명의 실시 형태에 있어서, 데이터가 주고 받을 시의 내용을 나타낸다.
각 요구 원은 각 요구 처에 대해서, 요구 원 송신 데이터를 송신한다. 각 요구 처는, 그것에 따라, 각 요구 원에 대해서, 요구 처 송신 데이터를 송신한다.
도 17은 본 발명의 실시 형태에 있어서, 클라이언트 컴퓨터(101) 및 서버 컴퓨터(121)의 하드웨어의 블록도를 나타낸다.
본 발명의 실시 예에 따른 클라이언트 컴퓨터(101) 및 서버 컴퓨터(121)(이하, 단순히 컴퓨터 시스템(701)이라고 함)는, CPU(702)와 메인 메모리(703)를 포함하고, 이것들은 버스(704)에 접속된다. CPU(702)는 바람직하게는, 32비트 또는 64비트의 아키텍처에 근거하는 것이며, 예를 들면, 인텔사의 Xeon(상표) 시리즈, Core(상표) 시리즈, Atom(상표) 시리즈, Pentium(상표) 시리즈, Celeron(상표) 시리즈, AMD사의 Phenom(상표) 시리즈, Athlon(상표) 시리즈, Turion(상표) 시리즈 및 Sempron(상표) 등을 사용할 수 있다. 버스(704)에는, 디스플레이 컨트롤러(705)를 통하여, LCD 모니터 등의 디스플레이(706)가 접속된다. 디스플레이(706)는, 그 컴퓨터 시스템(701) 상에서 동작 중의 소프트웨어에 대한 정보를, 적당한 그래픽 인터페이스로 표시하기 위해 사용된다. 버스(704)에는 또, IDE 또는 SATA 컨트롤러(707)를 통하여, 하드 디스크 또는 실리콘 디스크(708)와, CD-ROM, DVD 또는 Blu-ray 드라이브(709)가 접속된다. CD-ROM, DVD 또는 BD드라이브(709)는, 필요에 따라, CD-ROM, DVD-ROM 또는 BD로부터 프로그램을 하드 디스크 또는 실리콘 디스크(708)에 도입하기 위해 사용된다. 버스(704)에는 또, 키보드 마우스 컨트롤러(710)를 통하여, 혹은 USB 컨트롤러(도시하지 않음)를 통하여, 키보드(711) 및 마우스(712)가 접속된다.
통신 인터페이스(714)는 예를 들면 이더넷(상표) 프로토콜에 따르는 것이고, 통신 컨트롤러(713)를 통하여 버스(704)에 접속된다. 통신 인터 페이스(714)는, 컴퓨터 시스템(701) 및 통신 회로(715)를 물리적으로 접속하는 역할을 맡고, 컴퓨터 시스템(701)의 오퍼레이팅 시스템의 통신 기능의 TCP/IP 통신 프로토콜에 대해서, 네트워크 인터페이스 층을 제공한다. 통신 회선은, 유선 LAN 환경, 혹은 예를 들면 IEEE902.11a/b/g/n 등의 무선 LAN 접속 규격에 근거하는 무선 LAN 환경이어도 된다.
이상, 실시 형태에 근거하여 본 발명을 설명하였는데, 본 실시 형태에 기재된 내용은, 본 발명의 한 예이며, 당업자라면, 본 발명의 기술적 범위를 벗어나지 않고서, 여러 가지의 변형 예를 생각해 낼 수 있다는 것을 알 수 있을 것이다.

Claims (23)

  1. 기밀 파일을 보호하기 위한 클라이언트 컴퓨터 - 상기 클라이언트 컴퓨터는 네트워크를 통하여 서버 컴퓨터와 접속하는 것이 가능함 - 로서, 상기 클라이언트 컴퓨터는,
    상기 기밀 파일을 암호화 키를 이용하여 암호화하고, 암호화된 기밀 파일을 상기 암호화 키에 대응하는 복호화 키를 이용하여 복호화하기 위한 암호화-복호화부(encryption-decryption unit) - 상기 암호화된 기밀 파일에는 암호화 키 ID가 들어있고, 상기 암호화 키 및 상기 복호화 키는 상기 암호화 키 ID에 대응함 -;
    상기 암호화 키를 저장하기 위한 암호화 키 저장부(encryption key storing unit);
    상기 복호화 키를 저장하기 위한 복호화 키 저장부(decryption key storing unit);
    상기 클라이언트 컴퓨터의 시큐리티 준수 요건을 저장하는 준수 요건 저장부(compliance requirements storing unit) - 상기 시큐리티 준수 요건은 상기 서버 컴퓨터로부터 송신됨 -; 및
    어플리케이션 소프트웨어에 의한 기밀 파일의 리드(read) 명령 또는 라이트(write) 명령에 따라, 상기 클라이언트 컴퓨터가 상기 시큐리티 준수 요건을 준수하고 있는지 아닌지를 판단하기 위한 시큐리티 요건 감시부(security requirements monitoring unit);를 포함하고,
    상기 시큐리티 요건 감시부는, 상기 클라이언트 컴퓨터가 상기 시큐리티 준수 요건을 준수하고 있는 경우, 상기 라이트 명령에 응답하여, 암호화 키 및 상기 암호화 키에 대응하는 암호화 키 ID를 상기 암호화 키 저장부로부터 상기 암호화-복호화부로 보내거나, 상기 리드 명령에 응답하여, 상기 암호화된 기밀 파일에 들어있는 암호화 키 ID에 대응하는 복호화 키를 상기 복호화 키 저장부로부터 상기 암호화-복호화부로 보내는
    클라이언트 컴퓨터.
  2. 제1항에 있어서, 상기 시큐리티 요건 감시부는, 소정의 시간에 상기 서버 컴퓨터와 통신하고,
    상기 클라이언트 컴퓨터의 유저 정보의 검증 및 상기 시큐리티 준수 요건의 버전의 검증을 상기 서버 컴퓨터에 요구하고,
    상기 서버 컴퓨터 상에서의 상기 유저 정보의 검증이 성공하고 상기 클라이언트 컴퓨터의 상기 버전이 상기 서버 컴퓨터에 저장된 시큐리티 준수 요건의 최신 버전과 일치한 경우, 상기 최신 버전의 시큐리티 준수 요건에 대응하는 암호화 키, 복호화 키, 및 상기 암호화 키 및 복호화 키에 대응하는 암호화 키 ID를 상기 서버 컴퓨터로부터 수신하는,
    클라이언트 컴퓨터.
  3. 제1항에 있어서, 상기 시큐리티 요건 감시부는, 상기 클라이언트 컴퓨터가 상기 네트워크에 접속되고 상기 서버 컴퓨터에 미도달(not reach)인 경우, 상기 암호화 키 저장부 및 상기 복호화 키 저장부를 락(lock)하는,
    클라이언트 컴퓨터.
  4. 삭제
  5. 삭제
  6. 제1항에 있어서, 상기 시큐리티 요건 감시부는, 상기 클라이언트 컴퓨터가 상기 시큐리티 준수 요건을 준수하고 있지 않은 경우, 상기 암호화 키 저장부에 저장된 암호화 키, 및 상기 복호화 저장부에 저장된 복호화 키를 삭제하는,
    클라이언트 컴퓨터.
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 제1항에 기재된 클라이언트 컴퓨터와 접속하는 것이 가능한 서버 컴퓨터에 있어서,
    상기 클라이언트 컴퓨터의 유저의 액세스 권한 정보를 저장하는 액세스 권한 저장부(access authority storing unit)와,
    상기 클라이언트 컴퓨터에 송신하기 위한 시큐리티 준수 요건을 저장하는 서버 측 준수 요건 저장부(server side compliance requirements storing unit)와,
    암호화 키, 상기 암호화 키에 대응하는 복호화 키, 상기 암호화 키 및 상기 복호화 키에 대응하는 암호화 키 ID, 및 시큐리티 준수 요건의 버전을 포함하는 레코드를 저장하는 암호화 키-복호화 키 저장부(encryption key-decryption key storing unit)와,
    상기 클라이언트 컴퓨터로부터 유저 정보의 검증 요구를 수신하는 것에 따라, 상기 클라이언트 컴퓨터로부터 송신된 유저 정보를 상기 액세스 권한 저장부에 저장된 액세스 권한 정보와 대조해 보고, 상기 대조가 일치하는 것에 따라, 상기 클라이언트 컴퓨터로부터 송신된 시큐리티 준수 요건의 버전을 상기 시큐리티 요건 저장부에 저장된 최신 버전과 비교하는 시큐리티 검증부(security verifying)를 포함하는,
    서버 컴퓨터.
  16. 삭제
  17. 삭제
  18. 삭제
  19. 네트워크를 통하여 서버 컴퓨터와 접속하는 것이 가능한 클라이언트 컴퓨터 상의 기밀 파일을 보호하기 위한 방법에 있어서,
    어플리케이션 소프트웨어에 의한 기밀 파일의 리드(read) 명령 또는 라이트(write) 명령에 따라, 상기 클라이언트 컴퓨터가 상기 서버 컴퓨터로부터 송신된 시큐리티 준수 요건을 준수하고 있는지를 판단하는 단계 - 상기 시큐리티 준수 요건은 준수 요건 저장부에 저장됨 -;
    상기 시큐리티 요건이 준수되고 있는 경우,
    상기 라이트 명령에 응답하여,
    암호화 키를 이용하여 상기 기밀 파일을 암호화하는 단계 - 상기 암호화 키는 암호화 키 저장부에 저장됨 - 및 암호화된 기밀 파일에 상기 암호화 키에 대응하는 암호화 키 ID를 집어넣는 단계(embedding)를 실행하는 단계;
    상기 리드 명령에 응답하여,
    상기 암호화된 기밀 파일에 들어있는 상기 암호화 키 ID에 대응하는 복호화 키를 이용하여, 상기 암호화된 기밀 파일을 복호화하는 단계 - 상기 복호화 키는 복호화 키 저장부에 저장됨 - 를 실행하는 단계;를 포함하는,
    방법.
  20. 제19항에 있어서, 상기 클라이언트 컴퓨터가 상기 시큐리티 준수 요건을 준수하고 있지 않은 경우, 시큐리티 준수 요건이 준수 요건 저장부에 저장되어 있지 않은 경우, 또는 시큐리티 소프트웨어로부터의 경고를 수신하는 경우,
    상기 암호화 키 저장부에 저장된 암호화 키, 및 상기 복호화 키 저장부에 저장된 복호화 키를 삭제하는 단계를 더 포함하는,
    방법.
  21. 제19항에 있어서, 상기 복호화 키가 상기 복호화 키 저장부에 없는 경우, 상기 서버 컴퓨터로, 상기 복호화 키의 요구 명령, 유저 정보, 및 상기 복호화 키에 대응하는 암호화 키 ID를 송신하는 단계와,
    상기 서버 컴퓨터로부터 상기 암호화 키 ID에 대응하는 복호화 키를 수신하는 것에 따라, 상기 수신한 복호화 키를 이용하여 상기 암호화된 기밀 파일을 복호화하는 단계를 더 포함하는,
    방법.
  22. 네트워크를 통하여 서버 컴퓨터와 접속하는 것이 가능한 클라이언트 컴퓨터 상의 기밀 파일을 보호하기 위한 방법에 있어서,
    어플리케이션 소프트웨어에 의한 기밀 파일의 리드(read) 명령 또는 라이트(write) 명령에 따라, 상기 클라이언트 컴퓨터가 상기 서버 컴퓨터로부터 송신된 시큐리티 준수 요건을 준수하고 있는지를 판단하는 단계 - 상기 시큐리티 준수 요건은 준수 요건 저장부에 저장됨 -;
    상기 클라이언트 컴퓨터가 상기 시큐리티 준수 요건을 준수하고 있는 경우,
    상기 라이트 명령에 응답하여,
    암호화 키를 이용하여 상기 기밀 파일을 암호화하는 단계 - 상기 암호화 키는 암호화 키 저장부에 저장됨 -, 및 암호화된 기밀 파일에 상기 암호화 키에 대응하는 암호화 키 ID를 집어넣는 단계(embedding)를 실행하는 단계; 또는
    상기 리드 명령에 응답하여,
    상기 암호화된 기밀 파일에 들어있는 상기 암호화 키 ID에 대응하는 복호화 키를 이용하여, 암호화된 기밀 파일을 복호화하는 단계 - 상기 복호화 키는 복호화 키 저장부에 저장됨 - 를 실행하는 단계;를 포함하고,
    상기 클라이언트 컴퓨터가 상기 시큐리티 준수 요건을 준수하고 있지 않은 경우,
    상기 암호화 키 저장부에 저장된 암호화 키, 및 상기 복호화 키 저장부에 저장된 복호화 키를 삭제하고, 상기 서버 컴퓨터에 시큐리티 준수 요건의 송부(send)를 요구하는 것을 실행하는 단계;를 포함하는,
    방법.
  23. 컴퓨터 판독가능 매체에 있어서,
    상기 컴퓨터 판독가능 매체는 클라이언트 컴퓨터 기밀 파일을 보호하기 위한 컴퓨터 프로그램을 포함하고, 상기 컴퓨터 프로그램은, 상기 클라이언트 컴퓨터에 의해 제19항 내지 제22항 중 어느 한 항에 기재된 방법의 각 단계를 실행시키는,
    컴퓨터 판독가능 매체.
KR1020117014862A 2008-11-28 2009-11-20 기밀 파일을 보호하기 위한 클라이언트 컴퓨터, 및 그 서버 컴퓨터, 및 그 방법 및 컴퓨터 프로그램 KR101522445B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JPJP-P-2008-304859 2008-11-28
JP2008304859 2008-11-28
PCT/JP2009/069745 WO2010061801A1 (ja) 2008-11-28 2009-11-20 機密ファイルを保護するためのクライアント・コンピュータ、及びそのサーバ・コンピュータ、並びにその方法及びコンピュータ・プログラム

Publications (2)

Publication Number Publication Date
KR20110096554A KR20110096554A (ko) 2011-08-30
KR101522445B1 true KR101522445B1 (ko) 2015-05-21

Family

ID=42223858

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117014862A KR101522445B1 (ko) 2008-11-28 2009-11-20 기밀 파일을 보호하기 위한 클라이언트 컴퓨터, 및 그 서버 컴퓨터, 및 그 방법 및 컴퓨터 프로그램

Country Status (7)

Country Link
US (2) US8245042B2 (ko)
EP (1) EP2345977B1 (ko)
JP (1) JP5270694B2 (ko)
KR (1) KR101522445B1 (ko)
CN (1) CN102227734B (ko)
CA (1) CA2738466C (ko)
WO (1) WO2010061801A1 (ko)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5597514B2 (ja) * 2010-10-19 2014-10-01 株式会社日立システムズ セキュリティ診断システムおよび方法ならびにプログラム
MY151316A (en) * 2010-10-20 2014-05-15 Mimos Berhad A method for creating and verifying digital signature in a server
MY151312A (en) * 2010-10-20 2014-05-15 Mimos Berhad A method and system for file encryption and decryption in a server
JP5673045B2 (ja) * 2010-12-03 2015-02-18 株式会社リコー 組み込み機器、暗号化・復号方法、プログラム
US9930066B2 (en) 2013-02-12 2018-03-27 Nicira, Inc. Infrastructure level LAN security
US9836281B2 (en) * 2013-03-12 2017-12-05 Greg J. Wright Encryption method and system using a random bit string encryption key
CN104754608B (zh) * 2013-12-25 2019-06-28 腾讯科技(深圳)有限公司 实现移动终端性能监控的方法和系统
US9438627B2 (en) * 2014-06-11 2016-09-06 International Business Machines Corporation Shared security utility appliance for secure application and data processing
US11087006B2 (en) * 2014-06-30 2021-08-10 Nicira, Inc. Method and apparatus for encrypting messages based on encryption group association
WO2016045746A1 (en) * 2014-09-26 2016-03-31 Irdeto B.V. A challenge-response method and associated computing device
KR101657902B1 (ko) * 2015-07-13 2016-09-19 엘에스산전 주식회사 사용자 권한 인증 서비스 제공 방법
US10623184B2 (en) 2015-09-29 2020-04-14 International Business Machines Corporation Smart resource access for decrypted information
KR102576417B1 (ko) * 2015-11-19 2023-09-08 로베르트 보쉬 게엠베하 네트워크화된 컴퓨터를 통한 임베디드 디바이스에 대한 보안 액세스 제어
US10798073B2 (en) 2016-08-26 2020-10-06 Nicira, Inc. Secure key management protocol for distributed network encryption
CN109150814B (zh) * 2017-06-28 2022-12-02 西安中兴新软件有限责任公司 数据处理方法及其装置、终端、存储介质
CN107483426A (zh) * 2017-08-08 2017-12-15 深圳市鼎晟开元科技有限公司 安防设备安全通讯方法、服务器及存储介质
CN107682538A (zh) * 2017-09-27 2018-02-09 北京小米移动软件有限公司 应用界面的显示方法及装置
CN108965302B (zh) * 2018-07-24 2021-10-15 苏州科达科技股份有限公司 媒体数据传输系统、方法、装置及存储介质
US11971995B2 (en) * 2020-07-15 2024-04-30 Kyndryl, Inc. Remediation of regulatory non-compliance
US11928515B2 (en) 2020-12-09 2024-03-12 Dell Products L.P. System and method for managing resource allocations in composed systems
US11934875B2 (en) 2020-12-09 2024-03-19 Dell Products L.P. Method and system for maintaining composed systems
US20230016069A1 (en) * 2021-07-09 2023-01-19 Vmware, Inc. Device data-at-rest security using extended volume encryption data
US11947697B2 (en) * 2021-07-22 2024-04-02 Dell Products L.P. Method and system to place resources in a known state to be used in a composed information handling system
US12013768B2 (en) 2021-07-22 2024-06-18 Dell Products L.P. Method and system for automated healing of hardware resources in a composed information handling system
US12008412B2 (en) 2021-07-28 2024-06-11 Dell Products Resource selection for complex solutions
US11928506B2 (en) 2021-07-28 2024-03-12 Dell Products L.P. Managing composition service entities with complex networks
JP2023045300A (ja) 2021-09-21 2023-04-03 株式会社東芝 ディスク装置および記憶装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020041857A (ko) * 2000-11-29 2002-06-05 오경수 공개키 기반구조에서 개인키 이동과 로밍서비스를 위한이중암호화 및 송/수신방법
KR20060044410A (ko) * 2004-03-19 2006-05-16 마이크로소프트 코포레이션 컴퓨팅 시스템의 효율적이고 안전한 인증
JP2008097414A (ja) * 2006-10-13 2008-04-24 Nec Infrontia Corp 情報処理システムおよび情報処理方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3871630B2 (ja) * 2002-08-29 2007-01-24 株式会社エヌ・ティ・ティ・データ アクセス制御装置及び方法
US7444508B2 (en) * 2003-06-30 2008-10-28 Nokia Corporation Method of implementing secure access
US7398390B2 (en) * 2003-08-08 2008-07-08 Hewlett-Packard Development Company, L.P. Method and system for securing a computer system
JP2008026925A (ja) * 2004-06-29 2008-02-07 Easy Systems Japan Kk ファイル管理プログラム
JP4416593B2 (ja) * 2004-07-21 2010-02-17 富士通株式会社 ネットワーク接続制御方法及びネットワーク接続制御システム
JP2006097414A (ja) * 2004-09-30 2006-04-13 Tokai Kogyo Co Ltd グレージングチャンネル
US20080049934A1 (en) * 2004-12-14 2008-02-28 Senichi Onoda Management Server Device, Content Repoduction Device, and Recording Medium
JP2008539502A (ja) * 2005-04-29 2008-11-13 コンテントガード ホールディングズ インコーポレイテッド 検証
CN101243686A (zh) * 2005-08-08 2008-08-13 松下电器产业株式会社 加密内容及提供解密密钥的系统
US20090147960A1 (en) * 2006-03-17 2009-06-11 Matsushita Electric Industrial Co., Ltd. Content search device
US8601590B2 (en) * 2006-04-27 2013-12-03 Panasonic Corporation Content distribution system
JP4256415B2 (ja) * 2006-09-04 2009-04-22 株式会社日立製作所 暗号化装置、復号装置、情報システム、暗号化方法、復号方法及びプログラム
US9338166B2 (en) * 2008-11-04 2016-05-10 Adobe Systems Incorporated System and method for a single request and single response authentication protocol
US20100125897A1 (en) * 2008-11-20 2010-05-20 Rahul Jain Methods and apparatus for establishing a dynamic virtual private network connection

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020041857A (ko) * 2000-11-29 2002-06-05 오경수 공개키 기반구조에서 개인키 이동과 로밍서비스를 위한이중암호화 및 송/수신방법
KR20060044410A (ko) * 2004-03-19 2006-05-16 마이크로소프트 코포레이션 컴퓨팅 시스템의 효율적이고 안전한 인증
JP2008097414A (ja) * 2006-10-13 2008-04-24 Nec Infrontia Corp 情報処理システムおよび情報処理方法

Also Published As

Publication number Publication date
CN102227734B (zh) 2014-02-26
US20130124861A1 (en) 2013-05-16
WO2010061801A1 (ja) 2010-06-03
US20100138656A1 (en) 2010-06-03
EP2345977B1 (en) 2017-04-05
CA2738466A1 (en) 2010-06-03
EP2345977A4 (en) 2016-04-06
JPWO2010061801A1 (ja) 2012-04-26
CN102227734A (zh) 2011-10-26
EP2345977A1 (en) 2011-07-20
US8245042B2 (en) 2012-08-14
JP5270694B2 (ja) 2013-08-21
CA2738466C (en) 2018-03-13
KR20110096554A (ko) 2011-08-30

Similar Documents

Publication Publication Date Title
KR101522445B1 (ko) 기밀 파일을 보호하기 위한 클라이언트 컴퓨터, 및 그 서버 컴퓨터, 및 그 방법 및 컴퓨터 프로그램
KR101335133B1 (ko) 상황 기반 데이터 보호
US7743413B2 (en) Client apparatus, server apparatus and authority control method
JP4089171B2 (ja) 計算機システム
EP1821234A2 (en) Document access control system and method for performing document access control
US10164980B1 (en) Method and apparatus for sharing data from a secured environment
KR20080070779A (ko) 노드에서 유저 데이터를 보호하는 방법 및 시스템
JP2007241513A (ja) 機器監視装置
JP2009510808A (ja) インテリジェンスベースのセキュリティのシステムおよび方法
KR20060045000A (ko) 파일 락커 및 파일 락커를 제공하고 사용하기 위한메커니즘
JP4786501B2 (ja) データ管理システム、データ管理方法、情報処理装置
US20030044018A1 (en) Apparatus for and method of controlling propagation of decryption keys
JP4044126B1 (ja) 情報漏洩抑止装置、情報漏洩抑止プログラム、情報漏洩抑止記録媒体、及び情報漏洩抑止システム
WO2020066493A1 (ja) 情報処理システム、情報処理方法及び情報処理プログラム
JP4471129B2 (ja) 文書管理システム及び文書管理方法、文書管理サーバ、作業端末、並びにプログラム
WO2001073533A1 (en) System and method for safeguarding electronic files and digital information in a network environment
JP2007179357A (ja) コンピュータプログラムのインストール方法
KR100523843B1 (ko) 디지털 저작권 관리 클라이언트에서의 접근권한 제어를위한 접근 제어 목록 기반의 제어 장치
US20240070303A1 (en) File Encapsulation Validation
KR20100101769A (ko) 컴퓨터용 데이터 보안시스템 및 데이터 보안방법
CN116842545A (zh) 一种基于文件加密的数据防勒索方法及系统
JP4801777B2 (ja) 認証処理システム、及び認証処理方法、並びにプログラム
KR20080030457A (ko) 정보누설억제장치, 정보누설억제 프로그램, 정보누설억제기록매체 및 정보누설억제 시스템
JPWO2004055681A1 (ja) 電子メール装置、電子メールシステム及び電子メール送信方法
JP2006120093A (ja) ネットワーク接続方法及びネットワーク接続装置及びこのネットワーク接続装置を用いたライセンス管理方法

Legal Events

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

Payment date: 20180427

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190430

Year of fee payment: 5