KR20040088461A - 전자계산기의 파일 시스템 드라이버의 제어 방법, 그프로그램 및 프로그램의 기록 매체 - Google Patents

전자계산기의 파일 시스템 드라이버의 제어 방법, 그프로그램 및 프로그램의 기록 매체 Download PDF

Info

Publication number
KR20040088461A
KR20040088461A KR10-2004-7006909A KR20047006909A KR20040088461A KR 20040088461 A KR20040088461 A KR 20040088461A KR 20047006909 A KR20047006909 A KR 20047006909A KR 20040088461 A KR20040088461 A KR 20040088461A
Authority
KR
South Korea
Prior art keywords
access
file
data
input
user
Prior art date
Application number
KR10-2004-7006909A
Other languages
English (en)
Other versions
KR100991895B1 (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 KR20040088461A publication Critical patent/KR20040088461A/ko
Application granted granted Critical
Publication of KR100991895B1 publication Critical patent/KR100991895B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • 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/606Protecting data by securing the transmission between two devices or processes
    • 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/6227Protecting 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 where protection concerns the structure of data, e.g. records, types, queries
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/81Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer by operating on the power supply, e.g. enabling or disabling power-on, sleep or resume operations
    • 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/2105Dual mode as a secondary aspect
    • 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/2137Time limited access, e.g. to a computer or data
    • 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
    • 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/2143Clearing memory, e.g. to prevent the data from being stolen
    • 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/2151Time stamp
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99956File allocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명의 전자계산기의 파일 시스템 드라이버의 제어 방법, 그 프로그램 및 프로그램의 기록 매체는 전자계산기의 기억장치에 기억되어 있는 파일에의 액세스를 커널 모드에서 제어한다.
응용 프로그램(4)으로부터 전자계산기(11)의 파일 시스템의 특정 파일에 액세스 할 때, OS(3)의 커널 모드(8)에서, 액세스를 수신하고, 파일 시스템의 파일명, 액세스 방법으로 이루어지는 액세스 제어 데이터베이스(36)를 참조하여, 특정 파일에의 액세스가 액세스 제어 데이터베이스(6)에 미리 규정된 조건에 합치하지 않을 때, 액세스를 파기한다.

Description

전자계산기의 파일 시스템 드라이버의 제어 방법, 그 프로그램 및 프로그램의 기록 매체{COMPUTER FILE SYSTEM DRIVER CONTROL METHOD, PROGRAM THEREOF, AND PROGRAM RECORDING MEDIUM}
전자계산기의 파일 시스템은 여러 가지 종류가 있고, 파일 시스템은 전자계산기의 OS(Operating System)의 파일 시스템 드라이버(file system driver)에 의해 제어되고 관리되어 있다. 인터넷(internet)으로부터 다운로드(download)한 파일 등은 전자계산기의 하드디스크 등의 보조기억장치에 보존하여 이용하고 있다. 이러한 파일을 사용자(user)가 의식하여 삭제하지 않는 한 삭제되는 일은 거의 없다.
<전자계산기의 구성>
전자계산기는, 중앙 연산 처리장치(CPU), 기억장치(메모리, 하드디스크 등), 입력장치(키보드, 마우스 등), 출력장치(디스플레이 등), 주변기기(프린터, 스캐너등)에 접속하기 위한 카드 슬롯(card slot) 등의 많은 하드웨어 자원으로 이루어지고, 한편 기억장치에 기억되어 있는 OS(Operating System)에 의해 이러한 하드웨어가 제어되어 동작한다.
전자계산기에서 동작하는 각종 응용 프로그램은 OS상에서 동작한다. OS는 전자계산기의 모든 동작을 제어하고, 다른 하드웨어 사양의 차이를 흡수하고, 응용 프로그램에 공통의 환경을 제공하는 것이다. 즉, OS는 키보드 입력이나 화면 출력이라고 하는 입출력 기능, 디스크나 메모리의 관리 등, 많은 응용 프로그램 (application program)으로부터 공통으로 이용되는 기본적인 기능을 제공하고, 전자계산기의 시스템 전체를 관리하는 소프트웨어로,「기본 소프트웨어」라고도 불리는 일이 있다.
전자계산기의 하드웨어는 복수의 메이커(maker)에 의해 생산되고, 메이커에 따라 그 사양이 다른 것이 있다. 전자계산기를 이용하는 프로그램 개발자에 있어서는, 이 하드웨어의 사양의 차이를 의식하지 않고, 응용 프로그램의 개발을 하는 것이 바람직하다. 하드웨어의 이 사양의 차이는 OS가 흡수하고 응용 프로그램에 대해서 공통의 환경을 제공한다.
응용 프로그램의 개발자는, OS가 제공하는 기능을 이용함으로써, 개발의 수고를 생략할 수가 있어 응용 프로그램의 조작성을 통일할 수가 있다. 어떤 OS 전용으로 개발된 응용 프로그램은, 기본적으로는 그 OS가 동작하는 어떠한 전자계산기에서도 이용할 수 있다.
OS에는, MS-DOS(등록상표), UNIX(등록상표), Linux, FreeBSD(등록상표) 등으로 대표되는 수많은 종류가 있고, 기업이나 가정의 일반 사용자가 이용하는 OS로서 가장 인기가 있는 것은 Microsoft사의 Windows 시리즈이다. DTP 업계나 멀티미디어 업계에서는, Apple사의 Mac OS(등록상표)가 널리 이용되고 있다. 기업의 서버나 학술 기관에서는 각사의 UNIX계의 OS나, 무상 배포되어 있는 Linux나 FreeBSD 등의 UNIX계의 OS가 사용되는 일이 많다. 최근, 서버용의 OS로서 Microsoft사의 WindowsNT/2000(등록상표)이 시장점유율을 확대해 가고 있다.
<종래의 아키텍처(architecture)>
여기서, 도 12에는 OS의 대표적인 것으로서 WindowsNT/2000(등록상표)의 아키텍처의 개요를 도시하고 있다. 도 12로부터 알 수 있듯이, WindowsNT/2000은, 전체적으로 개략하면, 하드웨어(2), OS(3), 실제의 사용자가 요구하는 기능을 실현하는 응용 프로그램(4)라고 하는 계층 구조로 이루어져 있다. 마이크로 커널(micro kernel)(51)은 OS(3)의 전체적인 관리를 하기 위한 프로그램이고, 마이크로 커널(51)의 계층을 중심으로 하여, 그 층의 상에서 동작하는 각종 소프트웨어(커널 모드 소프트웨어(kernel mode software)가 커널 모드(8)를 구성하고 있다(후술의 설명을 참조). 그리고, 최상의 계층에 있는 응용 프로그램(4)이 사용자 모드(9)에서 동작하고 있다(후술의 설명을 참조).
OS(3)는 크게 나누어, 실행(executive)(50), 마이크로 커널(51), 하드웨어 추상화층(HAL)(52)로 이루어지는 계층 구조를 가진다. HAL(52)는, 하드웨어(2)의 바로 상의 층에 위치한 하드웨어의 제어를 중시한 프로그램으로, 프로세서 등의 다종다양한 하드웨어의 사양을 흡수하고, 상위층의 서비스(마이크로 커널(51), 실행(50) 등)에 같은 환경(기종에 의존하지 않음)을 제공하기 위한 프로그램이다.
마이크로 커널(51)은, 시스템 전체의 기본적인 기능을 제공하는 것이다. 실행(50)은, 마이크로 커널(51), HAL(52)에서 제공되는 서비스 기능을 이용하여 OS(3)의 주된 서비스의 제공을 실현하기 위한 프로그램의 총체이다. 실행(50)에는, 캐쉬 매니저(cache manager)(53), 오브젝트 매니저(object manager)(54), 프로세스 매니저(process manager)(55), 메모리 관리 프로그램(56), I/O 매니저 (Input/ Output manager)(57) 등의 대표적인 실행 프로그램이 포함되어 있다.
오브젝트 매니저(54)는, 동작하고 있는 오브젝트(어떤 목적의 기능을 실현하기 위한 프로그램)를 감시하고 제어·조정을 하기 위한 프로그램이다. 프로세스 매니저(55)는, 동작하고 있는 프로세스(어떤 기능만을 행하기 위한 프로그램)를 감시하고 조정을 하기 위한 프로그램이다. 캐쉬 매니저(53)와 MS-DOS메모리 관리 프로그램(56)은, 메모리·가상 메모리를 제어·조정하기 위한 프로그램이다. I/O 매니저(57)는, OS(3)의 입출력 기능을 감시·제어하는 프로그램이다. 전자계산기가 이 실행(50)에서 동작할 때 커널 모드(8)로 불려지고 있다.
커널 모드(8)에서는, OS(3)를 조작하기 위한 모든 명령이 실행 가능이고, 만일 잘못된 명령을 실행하면 시스템 전체에 악영향을 미칠 수도 있다. 또, OS(3)의 기능에는, 응용 프로그램 등의 사용자에 대해서 완전하게 개방되어 있는 사용자 모드(9)가 있다. 이 사용자 모드(9)에서는, 시스템에 악영향을 주지 않게, OS(3)를 조작하는 명령을 제한하고 있다. 시스템에 악영향을 줄 것 같은 명령을 시스템이자동적으로 파악해 주기 때문에, 사용자에 있어서 쓰기 쉬운 환경으로 되어 있다.
그러나, 이러한 제한을 마련하는 것은 OS(3)의 기능의 제한과 같은 것이므로, 사용자 모드(9)에서 동작하는 응용 프로그램(4)은, 하드웨어(2)에 관련되는 부분에는 직접 액세스 할 수 없게 되어, 커널 모드(8)를 경유해야 한다. 커널 모드(8)는 OS(3)의 기능을 완전히 사용하는 것이 가능하고, 각 입출력장치에도 완전하게 액세스(access) 할 수 있다. 또, 커널 모드(8)에서 동작하는 프로그램은 사용자 모드(9)의 프로그램보다 우선적으로 처리되어 높은 성능을 얻을 수 있다.
디바이스 드라이버(device driver)(5)는 OS(3)에 속하고, 전자계산기의 외부 하드웨어를 관리하기 위한 소프트웨어이고, 커널 모드(8)에서 동작한다. 통상, 디바이스 드라이버(5) 하나에 대해서 같은 속성을 갖는 디바이스가 하나만 존재한다. 사용자 모드(9)에서 동작하는 응용 프로그램(4)은, 각 디바이스에 액세스하기 위해서 디바이스 드라이버(5)를 경유해야 한다.
예를 들면, 도 13에 나타내듯이 디바이스 A로부터 디바이스 B로 데이터를 전송하는 경우에는, 데이터의 흐름은 「디바이스 A」→「디바이스 드라이버 A」→(커널 모드(8)로부터 사용자 모드(9)로 동작 모드의 전환)「응용 프로그램(4)」(사용자 모드(9)로부터 커널 모드(8)로 동작 모드의 전환)→「디바이스 드라이버 B」→「디바이스 B」로 되고, 시스템은 커널 모드(8)로부터 사용자 모드(9)로 또는 사용자 모드(9)로부터 커널 모드(8)로 동작 모드의 전환을 하면서 처리를 진행시키고 있다.
사용자 모드(9)와 커널 모드(8)의 전환은 시간이 걸리는 처리로, 화상 데이터 등과 같은 대량의 데이터를 전송할 때, 전송 속도가 늦어져 전송 시간이 걸린다. 이 때문에, 응용 레벨(application level)에서 전송 속도의 고속화를 도모하는 것이 곤란하다. 응용 프로그램(4)의 처리마다 사용자 모드(9)와 커널 모드(8)의 전환을 해야 하기 때문이다.
여기서, 종래의 디바이스간에 데이터 전송을 할 때의 동작 순서를 설명한다. 도 13은, 응용 프로그램(4) 및 디바이스 드라이버(5)와 동작 모드(8, 9)의 관계의 개요를 도시하고 있다. 도로부터 알 수 있듯이, 응용 프로그램(4)은 사용자 모드(9)에서 동작하고 있다.
디바이스 드라이버(5)는, OS(3)에 짜넣어져 커널 모드(8)에서 동작하고 있다. 전자계산기의 하드웨어(2)를 구성하는 디바이스(6)는, 각종의 내부 디바이스와 전자계산기에 접속되어 있는 외부 디바이스로 이루어지고, 각각 고유의 디바이스 드라이버(5)로부터만 제어된다. 즉, 디바이스(6)에의 액세스는 모두 디바이스 드라이버(5)를 개재(介在)하여 행해진다. 디바이스 드라이버(5)는, OS(3)를 개재하여, 응용 프로그램(4)으로부터의 명령에 의해 동작한다.
다음에 데이터 전송의 흐름을 도 14의 흐름도를 참조하면서 설명한다. 사용자 모드(9)에서 동작하는 응용 프로그램(4)이, 디바이스 A로부터 디바이스 B로 데이터를 전송할 때의 데이터의 흐름을 시스템의 동작 모드(8, 9)를 비교하면서 설명한다. 우선, 응용 프로그램(4)이 데이터의 전송 요구(명령)를 낸다(S50).
이 때는, 디바이스 A에 대해서 데이터 송신의 요구(S51), 디바이스 B에 대해서 데이터 수신의 요구를 낸다(S52). 시스템의 동작 모드는 사용자 모드(9)로부터커널 모드(8)에 전환된다. 디바이스 드라이버 A가 데이터 송신의 요구를 수신하고 (S53), 디바이스 A에 송신한다(S54). 디바이스 A가 데이터 송신의 요구를 수신하고 (S55), 데이터를 송신한다(S56). 송신된 데이터를 디바이스 드라이버 A가 수신하고 (S57), 이 데이터를 내부 처리하여(S58), 응용 프로그램(4)에 데이터를 송신한다 (S59).
시스템의 동작 모드가 커널 모드(8)로부터 사용자 모드(9)로 전환되고, 응용 프로그램(4)이 데이터를 수신하여 처리하고(S60, S61), 처리 결과를 디바이스 드라이버 B에 송신한다(S62). 시스템의 동작 모드는 다시 사용자 모드(9)로부터 커널 모드(8)로 전환된다. 디바이스 드라이버 B는 데이터를 수신하고(S63), 이 데이터를 내부 처리하고(S64), 결과를 디바이스 B에 송신한다(S65).
디바이스 B는 데이터를 수신하고(S66), 데이터 수신시의 정보를 디바이스 드라이버 B에 송신한다(S67). 디바이스 드라이버 B는 그 데이터 수신시의 정보를 수신하고(S68), 응용 프로그램(4)에 데이터 전송 완료를 통지한다(S69). 시스템은 사용자 모드(9)로 전환되고, 응용 프로그램(4)이 데이터 전송 완료를 수신하고(S70), 다음의 처리에 관계되고, 일련의 데이터 전송의 처리가 종료한다(S71).
이와 같이, 데이터는 「디바이스 A」→「디바이스 드라이버 A」→(동작 모드의 전환)「응용 프로그램(4)」(동작 모드의 전환)→「디바이스 드라이버 B」→「디바이스 B」로 전송된다. 이 동안, 시스템의 동작 모드는 커널 모드(8)와 사용자 모드(9)로 반복하여 전환되면서 동작하고 있다. 대량의 데이터를 취급하게 되면 이 동작 모드의 전환 처리의 수가 많아진다.
또한, 시스템상에 다른 응용 프로그램이 동시에 동작하고 있을 때, 이 응용 프로그램 때문에 시스템이 동작 모드의 전환을 하기 위해, 시스템 전체로서 동작 모드의 전환 회수가 많아지게 되고, 응용 프로그램끼리의 실행 처리가 늦어지는 원인이 된다. 이것은, 동작 모드의 전환 회수의 증대는 데이터의 송수신 처리의 저속화, 특히 화상 처리 등의 실시간성이 강하게 요구되는 경우는, 화면상에 표시되는 화상의 흐트러짐 등의 원인이 될 수도 있다.
이러한 시스템에 있어서, 시스템의 성능을 확보하기 위해서는 하드웨어 개발·설계 기술과 함께 그러한 하드웨어(2)를 제어하는 디바이스 드라이버(5)의 개발 기술이 중요하게 된다. 특히 화상 데이터와 같은 대량의 데이터의 전송을 할 때, 사용자 모드(9)와 커널 모드(8)의 전환을 줄여, 데이터 전송의 고속화를 도모하는 것이 바람직하다. 또, 데이터의 보전성이 강하게 요구되고 있을 때 사용자가 접하지 않는 커널 모드(8) 내에서 전송하는 것이 바람직하다. 특히, 패스워드 (password)를 이용하여 사용자 인증을 할 때는 비밀 데이터인 그 패스워드 데이터의 보전성이 매우 중요하게 된다.
<파일 시스템의 설명>
기억장치에 저장되어 있는 데이터의 집합에 이름을 붙인 것이 파일로 정의된다. 기억장치에 저장되어 있는 파일이 많아지면, 이러한 파일을 기능적으로 관리하는 것이 요구된다. 복수의 파일을 정리하고 디렉토리(directory)를 구성하여 관리하는 것이 일반적이다. 디렉토리는 파일만을 저장하는 것이 아니라, 다른 디렉토리도 저장할 수 있고, 함유 구조(nested structure)로 할 수 있고, 전체로서 트리(tree) 구조의 계층 구조로 되는 것이 많다. 이와 같이 파일이 모여 구성되는 전체의 구조를 파일 시스템이라고 부른다.
파일 시스템은 여러 가지 종류가 있고 그 대표적인 것을 예를 들면, FAT 파일 시스템, NTFS 로그베이스(log base) 파일 시스템, HPFS 파일 시스템 등이 있다. 전자계산기의 하드디스크 등의 기억장치에 저장되어 있는 파일에의 액세스는 파일 시스템 드라이버에 의해 제어된다.
도 15에는, 응용 프로그램(4), I/O 매니저(57), 파일 시스템 드라이버(58), 디스크 드라이버(59), 하드디스크(60)와 이러한 관계를 도시하고 있다. 응용 프로그램(4)으로부터의 독출(讀出) 요구는 커널 모드(8)의 I/0 매니저(57)가 제공하는 시스템 서비스로 향해진다.
WindowsNT(이하, NT라 함)의 경우는, 주변장치를 제어하고, 그것들과의 인터페이스를 제공하는 체제는 I/O 서브시스템(subsystem)이다. I/O 서브시스템은 모든 커널 모드 드라이버로 구성된다. 이 I/0 서브시스템 전체를 정의하고, 관리하는 것이 I/O 매니저(57)이다. 파일 시스템 드라이버(58)는 I/O 서브시스템의 구성 요소이고, I/O 매니저(57)가 정의하는 인터페이스(interface)에 준거해야 한다.
파일 시스템 드라이버(58)는, 하드디스크(60) 등의 보조기억장치에 정보를 저장하는 수단, 또, 보조기억장치에 기억되어 있는 정보을 검색하는 기능을 사용자에게 제공하는 것이다. 또, 파일 시스템 드라이버(58)는, 보조기억장치에 저장되어 있는 이 파일의 작성, 수정, 삭제를 하고, 파일간의 정보 전송을 용이하고 확실히제어하는 기능을 갖는다. 파일 시스템 드라이버(58)는, 응용 프로그램(4)에 있어서 적절한 방법으로 파일의 내용을 구축하는 기능도 갖추고 있다.
파일 속성 데이터는, 보조기억장치에 저장되어 있는 파일을 독출 전용인지, 기입 가능인지 등의 파일에 관한 정보로 이루어지는 데이터이다. 전자계산기의 파일 시스템에는 이러한 파일 속성 데이터를 상세하게 정하고 있다. 여기에는, 파일 작성 일시, 갱신 일시, 종류, 사이즈(size), 독출 전용(지정 가능), 은폐 파일(지정 가능) 등으로 하는 정보가 있다.
파일에 액세스 할 때, 파일 시스템 드라이버가 파일의 속성을 참조하여 액세스 방법을 확인한다. 독출 전용의 파일의 경우는, 기입할 수 없기 때문에, 기입 액세스 하려고 할 때, 기입할 수 없는 취지의 통지를 돌려준다. 파일에 액세스 할 때는, 파일 속성으로 결정된 액세스의 방법밖에 할 수 없게 설정되어 있다.
NT에서는 파일에의 액세스 권한은 설정되어 있다. 예를 들면, NT에서는, 시스템 기동시에 로그인(log in) 한 사용자는「관리자」,「사용자 1」등의 같이 레벨 또는 그룹으로 나누어져 있고, 사용자마다 액세스 할 수 있는 파일, 할 수 없는 파일을 설정할 수가 있다. 또, 어떤 사용자에 대해서는 독출 전용의 파일이, 다른 사용자에게는 기입도 할 수 있도록 설정될 수 있다.
종래의 파일 시스템을 사용하고 있으면, 사용자가 파일을 소정 회수밖에 액세스(독출, 기입, 여는(open) 등의 액세스) 할 수 없도록 제한하는 것이 매우 곤란하다. 파일마다 소정 기간 또는 시간대에 밖에 액세스 할 수 없도록 하는 것도 곤란하다. 이 때문에는 각각의 시간마다에 파일의 속성을 하나하나 변경하여 고쳐 쓰지 않으면 안 된다.
또, 사용자(이용자, 응용 프로그램)가 파일을 소정 회수 액세스(독출, 기입, 여는 등의 액세스) 하면 파일이 삭제되도록 설정하는 등과 사용자의 특정의 액세스에 대한 파일 제어가 어렵다.
본 발명은 상술과 같은 기술 배경을 기초로 이루어진 것이고, 하기의 목적을 달성한다.
본 발명의 목적은, 전자계산기의 기억장치에 기억되어 있는 파일에의 액세스를 커널 모드에서 제어하는 방법, 그 프로그램 및 프로그램의 기록 매체를 제공한다.
본 발명의 다른 목적은, 전자계산기의 파일 시스템에 액세스 한 액세스 로그(access log)를 커널 모드에서 취득하는 방법, 그 프로그램 및 프로그램의 기록 매체를 제공한다.
본 발명의 또 다른 목적은, 전자계산기의 파일 시스템에 액세스 한 액세스 로그를 보존한 파일을 네트워크에 전송하는 방법, 그 프로그램 및 프로그램의 기록 매체를 제공한다.
본 발명의 또 다른 목적은, 전자계산기의 파일 시스템의 파일이 특정의 액세스가 소정 회수 행해진 후에 미리 정해진 조건에서 제어되는 방법, 그 프로그램 및 프로그램의 기록 매체를 제공한다.
본 발명의 또 다른 목적은, 전자계산기를 이용하는 사용자가 개인 인증을 하고, 사용자로부터 전자계산기에의 액세스를 제어하는 방법, 그 프로그램 및 프로그램의 기록 매체를 제공한다.
본 발명의 전자계산기의 파일 시스템 드라이버의 제어 방법, 그 프로그램 및 프로그램의 기록 매체, 그 프로그램 및 프로그램의 기록 매체는 다음의 장점을 갖는다.
본 발명은 전자계산기의 파일 시스템에의 액세스는, 전자계산기의 OS의 동작 모드인 커널 모드에서 하므로, 파일 시스템 드라이버에 지장 없이 액세스 제어할 수 있다. 파일 시스템에의 액세스를 지정하는 데이터베이스를 이용하여 제어하기 때문에 파일에의 액세스를 제어하는 것이 자유롭게 된다.
본 발명은, 응용 프로그램과 디바이스 드라이버와의 공통의 인터페이스를 이용하고, 이 인터페이스 드라이버의 프로그램을 이용하여 파일 시스템에의 액세스를 제어하므로, 데이터의 비밀성이 보호되고, 데이터의 안전 전송을 도모할 수가 있다.
본 발명은, 사용자마다 액세스 범위, 권한을 설정하고, 전자계산기를 이용하는 사용자의 인증을 하고, 사용자가 액세스 할 수 있는 액세스 범위, 권한에 근거하여 파일 시스템에의 액세스를 커널 모드에서 제어할 수 있어 부정 액세스, 미등록의 사용자의 액세스 등을 방지할 수 있다.
발명은 전자계산기의 기록 매체에 기억되어 있는 파일에의 액세스를 제어하는 방법, 그 프로그램 및 프로그램의 기록 매체에 관한 것이다. 자세하게는, 전자계산기의 하드디스크 등의 기억장치에 기억되어 있는 파일에의 액세스 처리를 제어하는 방법, 그 프로그램 및 프로그램의 기록 매체에 관한 것이다.
도 1은 본 발명의 실시 형태를 나타내는 개념도이다.
도 2는 본 발명의 실시 형태의 동작을 나타내는 흐름도이다.
도 3은 공통 인터페이스 드라이버의 구성도이다.
도 4는 도 3의 동작을 나타내는 흐름도이다.
도 5는 액세스 로그 데이터베이스의 전송 수단을 나타내는 흐름도이다.
도 6은 파일 속성 데이터베이스의 예이다.
도 7은 제어 조건 데이터베이스의 예1(a), 예2(b)이다.
도 8은 액세스 로그 데이터베이스의 예이다.
도 9는 본 발명의 실시 형태 2의 개념도이다.
도 10은 본 발명의 실시 형태 2 동작을 나타내는 흐름도이다.
도 11은 본 발명의 실시 형태 2 동작을 나타내는 흐름도이다.
도 12는 Windows의 아키텍처를 나타내는 도이다.
도 13은 종래의 OS와 디바이스 드라이버의 개념도이다.
도 14는 종래의 디바이스 드라이버의 동작 수단을 나타내는 흐름도이다.
도 15는 파일 시스템 드라이버의 개념을 나타내는 도이다.
도 16은 본 발명의 실시 형태 4를 나타내는 개념도이다.
도 17은 본 발명의 실시 형태 4의 동작을 나타내는 흐름도이다.
도 18은 실시 형태 5의 개요를 나타내는 도이다.
도 19는 실시 형태 5의 키의 독취의 시간 간격을 나타내는 도이다.
도 20은 실시 형태 5의 입력 데이터의 예를 나타내는 도이다.
도 21은 실시 형태 5의 학습부의 프로그램의 예를 나타내는 흐름도이다.
도 22는 실시 형태 5의 식별부의 프로그램의 예를 나타내는 흐름도이다.
도 23은 실시 형태 5의 식별 결과를 나타내는 예이다.
도 24는 제어 데이터베이스의 예를 나타내는 도이다.
본 발명의 전자계산기의 파일 시스템 드라이버의 제어 방법은, 상기 OS의 모든 명령을 실행할 수 있는 동작 모드인 커널 모드에서, 상기 액세스를 수신하고, 상기 파일 시스템의 파일명, 액세스 방법으로 이루어지는 액세스 제어 데이터베이스를 참조하여, 상기 특정 파일에의 상기 액세스가 상기 액세스 제어 데이터베이스에 미리 규정된 조건에 합치하지 않을 때, 상기 액세스를 파기하는 것을 특징으로 한다.
상기 액세스가 상기 조건에 합치하고 있을 때는, 상기 파일 시스템을 제어하는 파일 시스템 드라이버에 상기 액세스를 송신하고, 상기 액세스 제어 데이터베이스의 상기 특정 파일에 대응하는 액세스 방법으로 소정의 변경을 하면 좋다.
또, 상기 액세스는, 파일을 작성하는, 파일을 여는, 파일을 닫는, 파일을 독출하는, 파일을 기입하는 동작중 적어도 하나 이상의 제어로 이루어지고, 제어 회수를 가지면 좋다.
또, 상기 제어 회수가 미리 설정된 소정값 이하, 또는 이상이 될 때, 상기 액세스가 파기되면 좋다.
또한, 상기 액세스의 이력을 로그 파일(log file)로서 보존하고, 로그 파일은 상기 전자계산기에 직접, 또는 네트워크를 개재하여 접속되어 있는 다른 전자계산기에 전송하면 좋다.
또한, 상기 전자계산기의 입력장치로부터 입력될 때, 입력 데이터를 분석하여, 상기 입력장치의 기능을 정지시키면 좋다.
또한, 키보드의 키로부터 입력하는 입력 특징을 이용하여 개인 인증을 하여 사용자를 특정하고, 상기 액세스 제어 데이터베이스를 참조하여 상기 사용자가 액세스 할 수 있는 범위를 나타내는 상기 조건을 취득하고, 상기 조건에 따라 상기 사용자의 액세스를 제어하면 좋다.
또한, 상기 전자계산기와 네트워크에 의해 접속되어 있는 서버의 기억장치에 사용자가 액세스 할 수 있는 범위를 나타내는 상기 조건을 갖는 제어 데이터베이스가 저장되어 있어, 상기 서버로 상기 개인 인증을 하고, 상기 개인 인증에서 식별한 상기 사용자의 상기 조건을 상기 제어 데이터베이스로부터 검색하여 취득하고, 상기 서버로부터, 상기 사용자의 액세스를 제어하는 명령을 상기 전자계산기에 송신하고, 상기 전자계산기에서는 상기 명령에 따라 상기 사용자의 상기 액세스를 제한, 중지, 시스템 잠금(lock) 중에서 하나 이상을 하면 좋다.
본 발명의 전자계산기의 파일 시스템 드라이버의 제어 프로그램 및 프로그램의 기록 매체는, 상기 OS의 모든 명령을 실행할 수 있는 동작 모드인 커널 모드에서, 상기 액세스 명령을 수신하는 응용 인터페이스 수단과, 상기 액세스 명령을 분석하고, 데이터의 흐름을 제어하는 흐름 제어 수단과, 상기 파일 시스템의 파일명 칼럼(column), 하나 이상의 액세스 방법 칼럼(column)으로 이루어지는 액세스 제어 데이터베이스를 참조하여, 참조 결과를 출력하는 참조 수단과, 상기 특정 파일 및 상기 액세스 명령에 관한 정보를 상기 참조 수단에 건네주고, 상기 액세스 명령에 대한 상기 참조 결과를 수신하여 판정을 하는 데이터 처리 수단과, 상기 파일 시스템을 제어하기 위한 파일 시스템 드라이버와, 상기 액세스 명령을 수신하여, 상기 파일 시스템 드라이버에 건네주고, 상기 파일 시스템 드라이버로부터 상기 액세스 명령의 실행 결과를 수신하는 파일 시스템 감시 드라이버 수단으로 이루어지는 것을 특징으로 한다.
상기 흐름 제어 수단의 분석 결과인 상기 특정 파일과 액세스 방법을 상기데이터 처리 수단에 건네주고, 상기 데이터 처리 수단에 의한 상기 판정의 결과가 이상으로 될 때, 상기 데이터 처리 수단은 상기 액세스 명령을 파기하면 좋다.
또, 상기 흐름 제어 수단의 분석 결과인 상기 특정 파일과 액세스 방법을 상기 데이터 처리 수단에 건네주고, 상기 데이터 처리 수단에 의한 상기 판정의 결과가 정상으로 될 때, 상기 데이터 처리 수단은 상기 액세스 명령을 파일 시스템 감시 드라이버 수단에 건네주고, 상기 데이터 처리 수단은 액세스 로그를 작성하면 좋다.
또한, 상기 참조 수단은, 상기 액세스 명령에 대응하는 변경을 상기 액세스 제어 데이터베이스에 넣으면 좋다.
또한, 상기 판정은, 상기 특정 파일에 대한 상기 액세스 방법 칼럼의 값이 소정의 값일 때 상기 이상 결과를 출력하는 상기 데이터 처리 수단이면 좋다.
또한, 상기 데이터 처리 수단은, 상기 액세스의 액세스 로그를 출력하면 좋다.
또한, 상기 입력 수단으로부터의 상기 입력 데이터를 수신하고, 분석하고, 상기 입력 데이터 중 특정의 데이터를 상기 응용(application) 인터페이스 수단에 제공하면 좋다.
또한, 상기 입력 수단은 키보드이고, 상기 기능의 정지는, 상기 키보드의 특정의 키로부터의 입력 데이터를 정지시키면 좋다.
또한, 상기 입력 수단은 마우스이고, 상기 기능의 정지는, 상기 마우스로부터 입력되는 특정 데이터를 정지시키면 좋다.
또한, 상기 전자계산기의 기억 수단에는, 상기 전자계산기를 이용하는 사용자를 개인 인증하기 위한 개인 인증 프로그램이 저장되어 있어, 상기 개인 인증 프로그램은 키보드의 키로부터 입력하는 키 입력을 취득하는 취득 수단과, 상기 키 입력의 입력 특징을 이용하여 상기 개인 인증을 하여 상기 사용자를 특정하는 제1 인증 수단과, 상기 액세스 제어 데이터베이스를 참조하여, 상기 사용자가 액세스 할 수 있는 범위를 나타내는 상기 조건을 취득하는 취득 수단과, 상기 사용자의 액세스를 제어하기 위해서 상기 조건을 상기 흐름 제어 수단에 송신하는 제어 수단으로 이루어지면 좋다.
또한, 상기 전자계산기와 네트워크에 의해 접속되어 있는 서버의 기억 수단에 제어 프로그램과 사용자의 개인 정보, 제어 조건으로 이루어지는 제어 데이터베이스가 기억되어 있고, 상기 전자계산기가 상기 키 입력을 상기 서버에 송신하는 송신 수단을 가지면 좋다. 상기 제어 프로그램이 상기 송신 수단에 의해 송신된 송신 데이터를 취득하는 수신 수단과, 상기 송신 데이터에 포함되는 상기 키 입력의 입력 특징을 이용하여 상기 개인 인증을 하여 상기 사용자를 특정하는 제2 인증 수단과, 상기 제어 데이터베이스를 참조하여, 상기 사용자가 액세스 할 수 있는 범위를 나타내는 상기 조건을 취득하는 데이터베이스 참조 수단과, 상기 사용자의 액세스를 제어하기 위해서 상기 조건과 제어 명령을 상기 전자계산기에 송신하는 제어 조건 송신 수단을 가지면 좋다.
본 발명의 전자계산기의 파일 시스템 드라이버의 제어 방법, 그 프로그램 및 프로그램의 기록 매체, 개인 인증을 상기 사용자가 상기 전자계산 기에 로그인 할때, 또는 연속적으로 온라인(on line) 인증하면 좋다.
또, 상기 서버로부터의 명령으로 상기 전자계산기의 시스템을 잠금(lock), 또는 상기 잠금의 해제를 하면 좋다. 또한, 상기 잠금된 상태의 상기 전자계산기의 전원을 끈 후, 전원을 넣을 때 상기 전자계산기의 동작 환경이 상기 전원을 끄기 직전의 상태가 유지되어 복귀되면 좋다.
다음에, 본 발명의 실시 형태를 설명한다.
<공통 인터페이스 드라이버의 개념>
도 1은 본 발명의 전자계산기의 인터페이스 드라이버 프로그램의 실시 형태를 나타내는 개념도이고, 공통 인터페이스 드라이버를 이용한 OS의 개념도이다. 도 2는 데이터를 전송할 때의 데이터 및 명령의 흐름을 나타내는 흐름도이다.
전자계산기(1)는 CPU, 메모리, 주변기기 등의 하드웨어(2)로 구성되고, 이러한 하드웨어(2)를 기억장치에 기억되어 있는 OS(3)에 의해 제어하여 동작시킨다. 최종 사용자(end user)가 사용하는 응용 프로그램(4)은 OS(3)가 제공하는 환경에서동작한다. OS(3)에는, 주변기기를 제어하는 디바이스 드라이버(5)가 포함되어 있고, 응용 프로그램(4)으로부터의 명령에 따라, 디바이스(6)를 제어하고, 디바이스 (6)로부터 데이터를 수신하거나, 디바이스(6)에 데이터를 송신하거나 한다.
본 실시 형태에서는, 공통 인터페이스 드라이버(7)는, 각 디바이스 드라이버 (5)의 공통의 창구로 되고, 응용 프로그램(4)과의 교환을 정리하여 행하고 있다. 또, 공통 인터페이스 드라이버(7)는, 응용 프로그램(4)으로부터의 명령에 의해, 디바이스(6)간의 데이터의 송수신도 제어할 수가 있다. 공통 인터페이스 드라이버(7)는, 디바이스 드라이버(A5)와 디바이스 드라이버(B5)간의 인터페이스로, 커널 모드(8)에서 동작하는 것이다.
디바이스(6)에는, 디바이스 A와 디바이스 B가 있고, 각각은 디바이스 드라이버 A와 디바이스 드라이버 B에 의해 제어된다. 디바이스 A로부터 디바이스 B에 데이터를 전송하는 경우의 데이터의 흐름을 도 2의 흐름도에 나타낸다. 사용자 모드(9)에서 동작하는 응용 프로그램(4)이, 디바이스 A로부터 디바이스 B로 데이터를 전송할 때(S1), 데이터 전송의 요구(명령)를 낸다(S2). 이 때는, 시스템의 동작 모드는 사용자 모드(9)이다.
시스템의 동작 모드는 커널 모드(8)로 전환되고, 공통 인터페이스 드라이버(7)는 응용 프로그램(4)으로부터의 데이터 전송의 요구를 수신하고(S3), 공통 인터페이스 드라이버(7)는 이 데이터 전송의 요구를 분석하여(S4), 각 처리부에 지시를 내린다. 디바이스 드라이버 A에 대해서 데이터 송신의 요구를 낸다(S5). 디바이스 드라이버 B에 대해서 데이터 수신의 요구를 낸다(S6).
디바이스 드라이버 A가 공통 인터페이스 드라이버(7)로부터의 데이터 송신의 요구를 수신하고(S7), 디바이스 A에 송신한다(S8). 디바이스 A가 데이터 송신의 요구를 수신하고(S9), 데이터를 디바이스 드라이버 A에 송신한다(S10). 디바이스 드라이버 A가 데이터를 수신하고(S11), 내부 처리하여(S12), 공통 인터페이스 드라이버(7)에 건네준다(S13). 공통 인터페이스 드라이버(7)는, 데이터를 수신하고, 압축·암호화 등의 처리를 하고(S14)나서, 결과를 디바이스 드라이버 B에 송신한다 (S15).
디바이스 드라이버 B는 공통 인터페이스 드라이버(7)로부터 데이터를 수신하고(S16), 내부 처리하고(S17), 이 내부 처리한 처리 결과를 디바이스 B에 송신한다 (S18). 디바이스 B는 데이터를 수신하고(S19), 데이터 수신시의 정보를 디바이스 드라이버 B에 송신한다(S20). 디바이스 드라이버 B는 그 데이터 수신시의 정보를 수신하고(S21), 데이터 전송 완료의 정보를 공통 인터페이스 드라이버(7)에 답신한다(S22).
공통 인터페이스 드라이버(7)는 데이터 전송 완료의 정보를 수신하고(S23), 응용 프로그램(4)에 데이터 전송 완료의 정보를 송신하여 다음의 명령을 대기한다 (S24). 여기서, 시스템의 동작 모드는 커널 모드(8)로부터 사용자 모드(9)로 전환되고, 응용 프로그램(4)이 데이터 전송 완료의 정보를 수신하고(S25), 다음의 처리에 관계한다.
이것으로, 데이터 전송의 일련의 작업이 종료한다(S26). 이와 같이, 데이터는 「디바이스 A」→「디바이스 드라이버 A」→「공통 인터페이스 드라이버(7)」→「디바이스 드라이버 B」→「디바이스 B」로 전송되고, 이 동안, 시스템의 동작 모드는 커널 모드(8)에서 동작하고, 모드의 전환을 할 필요가 없어진다.
또, 데이터는 사용자 모드(9)의 응용 프로그램(4)을 경유하지 않고 직접 커널 모드(8)에서 디바이스(6)간에 전송되어 대량의 데이터를 고속으로 전송할 수 있도록 된다. 또, 응용 프로그램(4)으로부터 직접 취급할 수 없는 커널 모드(8)에서 전송되고 있기 때문에 데이터의 보전성도 높아진다.
디바이스 B는, 키보드, 마우스 등의 입력장치를 비롯한 여러 가지 디바이스인 경우는, 각 디바이스는 각각 디바이스 드라이버를 갖추고 있다. 이러한 디바이스 드라이버(5)는 병렬로 공통 인터페이스 드라이버(7)에 접속되고, 공통 인터페이스 드라이버(7)를 통해 서로 또는 응용 프로그램(4)과 데이터의 교환을 한다.
공통 인터페이스 드라이버(7)는, 데이터 압축, 암호화, 복합화 등을 비롯한 처리를 하는 기능을 갖춤으로써, 응용 프로그램(4)으로부터 요구되었을 때에 이러한 기능을 사용하여 디바이스(6)간 또는 응용 프로그램(4)과 디바이스(6)간의 데이터 송수신을 고속으로 한다.
그 외에, 공통 인터페이스 드라이버(7)는 수신한 데이터의 시간을 나타내는 타임스탬프(time stamp) 기능을 갖춤으로써, 디바이스(6)로부터 받은 데이터 등에 타임스탬프를 할 수가 있다. 이 타임스탬프 기능을 사용하면, 디바이스로부터 입력되는 데이터의 입력 시간에 관한 정보를 정확하게 파악할 수가 있다.
특히, 사용자의 키 입력 등의 입력 특징을 이용하여 개인 인증을 하는 등의 입력 시간이 매우 중요하게 되는 경우는, 보다 정확한 시간을 파악 할 수 있도록된다.
<공통 인터페이스 드라이버의 실시 형태 1>
커널 모드(8)에서 동작하는 공통 인터페이스 드라이버(7)를 이용한 파일에의 액세스 제어의 실시 형태 1을 설명한다. 도 3에는, 전자계산기(11)의 하드디스크 (34)에 기억되어 있는 파일에 액세스 했을 때, 이 액세스를 제어하는 형태를 도시하고 있다. 도 4에는, 이 액세스 제어의 흐름을 나타내는 흐름도를 도시하고 있다.
전자계산기(11)에서 동작하고 있는 응용 프로그램(4)으로부터 하드디스크 (34)에 기억되어 있는 파일에 액세스 하려고 할 때는, 응용 프로그램(4)은 Windows가 표준으로 갖추어져 있는 인터페이스를 통해 파일에의 액세스 요구를 낸다. 이 때, 응용 프로그램(4)은, 공통 인터페이스 드라이버(7)를 경유하여, 하드디스크 (34)와의 데이터의 교환이 이루어진다.
공통 인터페이스 드라이버(7)는, 응용 인터페이스부(17), 흐름 제어부(25), 데이터 처리부(19), TDI 클라이언트 드라이버부(TDI client driver part)(20), 액세스 데이터 관리부(30), 암호화/복호화부(31), 파일 시스템 감시 드라이버부(32) 등으로 구성되고, 각 부분의 개략의 기능은 다음과 같다.
파일 시스템 감시 드라이버부(32)는, 흐름 제어부(25) 또는 데이터 처리부(19)로부터의 요구에 의해 파일 시스템 드라이버(33)와 데이터의 송수신을 하기 위한 것이다. 응용 인터페이스부(17)는, 응용 프로그램(4)과 공통 인터페이스 드라이버(7)간의 인터페이스를 제공하고, 응용 프로그램(4)으로부터의 파일 액세스요구 등의 명령을 수신하고, 그 실행 결과, 또는 흐름 제어부(25)로부터 수신한 그 외의 데이터를 응용 프로그램(4)에 송신하기 위한 것이다.
데이터 처리부(19)는, 파일의 속성 데이터의 작성과 액세스 데이터 관리부 (30), 암호화/복호화부(31), TDI 클라이언트 드라이버부(20)에의 입출력을 하기 위한 것이다.
TDI 클라이언트 드라이버부(20)는, 네트워크 드라이버(21)와 공통 인터페이스 드라이버(7)와의 인터페이스를 제공한다. 네트워크 드라이버(21)는, 프로토콜 드라이버(protocol diriver)(22)와 NDIS(Network Driver Interface Specification) 드라이버(23)로 구성되고, 네트워크 카드(16)를 제어하고, 네트워크(26)에 데이터를 전송할 때의 접속 확립과 프로토콜의 제어를 한다.
프로토콜 드라이버(22)는, 네트워크(26)에 데이터를 전송할 때의 통신 프로토콜을 제어하는 것이다. NDIS 드라이버(23)는, 프로토콜 드라이버(22)와 네트워크 카드(16)와의 인터페이스를 제공하는 것이다. TDI 클라이언트 드라이버부(20)는, 패킷(packet)화 된 데이터를 데이터 처리부(19)로부터 수신하여 프로토콜 드라이버 (22)로 출력한다.
흐름 제어부(25)는, 응용 인터페이스부(17)를 개재하여 수신한 응용 프로그램(4)으로부터의 명령 등을 해석하여, 데이터 처리부(19), 파일 시스템 감시 드라이버부(32) 등에 지시를 내려 제어하기 위한 것이다.
액세스 데이터 관리부(30)는, 하드디스크(34) 등의 보조기억장치에 저장되어 있는 파일에 관한 정보가 저장되어 있는 데이터베이스(35)를 참조·등록·제어하고관리하기 위한 것이다. 자세하게는, 파일에의 액세스의 로그, 제어 조건, 파일 속성 등의 데이터를 데이터베이스(35)에 등록·삭제하고, 참조한다.
파일 시스템 감시 드라이버부(32)는, 하드디스크(34) 등의 보조기억장치에 저장되어 있는 파일에의 액세스를 제공하는 파일 시스템 드라이버(33)와의 인터페이스를 제공하기 위한 것이다.
다음에 공통 인터페이스 드라이버(7)의 데이터의 흐름을 도 4의 흐름도를 참조하면서 설명한다.
응용 프로그램(4)이 파일에 액세스 할 때, 파일 액세스 요구를 Windows 표준의 인터페이스를 통해 출력한다(S100, S101). 이 액세스 요구를 공통 인터페이스 드라이버(7)의 응용 인터페이스부(17)가 수신한다(Sl02). 그리고, 파일 액세스 요구를 흐름 제어부(25)에 송신한다(S103).
흐름 제어부(25)는 이 파일 액세스 요구를 수신하고(Sl04), 해석한다(Sl05). 이 해석 결과는 데이터 처리부(19)에 송신한다(S106). 데이터 처리부(19)는 해석 결과를 수신하고(S107), 파일에의 액세스 정보를 참조하기 위해서 파일 속성 정보를 작성하여 액세스 데이터 관리부(30)에 송신한다(Sl08). 액세스 데이터 관리부(30)는 파일 속성 정보를 수신하고(Sl09), 데이터베이스(35) 내의 제어 조건 데이터베이스(36) 및 파일 속성 데이터베이스(37)를 참조한다(Sl10).
그리고, 타임 코드(time code)를 데이터 정보에 추가하여(S111), 참조 결과를 데이터 처리부(19)에 송신한다(S112). 데이터 처리부(19)는 참조 결과를 수신하고(S113), 참조 결과가 정상적인지의 판정을 한다(S114). 판정이 정상일 때는(Yes의 경우), 파일 액세스 요구를 파일 시스템 감시 드라이버부(32)에 송신한다 (S115). 파일 시스템 감시 드라이버부(32)는, 파일 액세스 요구를 수신하고(S116), 파일 액세스 요구를 파일 시스템 드라이버(33)에 송신하고(S117), 파일 시스템 드라이버(33)로부터의 응답을 대기한다(S118).
파일 시스템 드라이버(33)는, 하드디스크(34)에 액세스 하여 파일 조작을 하여 액세스 한 결과를 파일 시스템 감시 드라이버부(32)에 송신한다. 파일 시스템 감시 드라이버부(32)는 액세스 결과를 수신하고(S119), 흐름 제어부(25)에 송신한다(S120).
흐름 제어부(25)는, 액세스 결과를 수신하고(S121), 응용 인터페이스부(17)에 송신한다(S122). 응용 인터페이스부(17)는 액세스 결과를 수신하고(S123), 이 액세스 결과를 응용 프로그램(4)에 송신한다(S124). 응용 프로그램(4)은, 파일 액세스 요구에 대한 응답을 수신하고, 다음의 처리에 관계한다(S133).
데이터 처리부(19)에서의 판정 결과가 정상적이지 않은 경우는(S114가 No의 경우), 데이터 처리부(19)는 액세스 요구를 파기하고(S125), 액세스 요구를 파기한 취지의 액세스 요구 파기의 통지를 흐름 제어부(25)에 송신한다(S126). 그리고, 데이터 처리부(19)는 액세스 요구 파기의 통지를 데이터 정보에 추가하여(S127), 이상으로 액세스 데이터 관리부(30)에 송신한다(S128).
흐름 제어부(25)는, 액세스 요구 파기의 통지를 나타내는 이상을 수신하고 (S129), 이것을 응용 인터페이스부(17)에 송신한다(S130). 응용 인터페이스부(17)는 이 이상을 수신하고(S131), 응용 프로그램(4)에 송신한다(S132). 응용 프로그램(4)은, 파일 액세스 요구에 대한 응답을 수신하고, 다음의 처리에 관계한다(S133).
<액세스 로그 데이터베이스(38)의 전송 흐름>
다음에, 도 5에 도시한 데이터베이스(35)의 백업에 대해서 기술한다.
흐름 제어부(25)는 액세스 로그 데이터베이스(38)의 보존량을 감시하고, 소정의 값 이상으로 되면 그 백업(backup) 작업 또는 네트워크(26) 상의 서버에의 전송을 지시한다. 흐름 제어부(25)로부터 지시가 내려지고, 작업이 개시되고(S150), 액세스 로그의 보존량을 확인한다(S151). 액세스 로그 데이터베이스(38)의 보존량이 소정의 값 이상인지를 판정한다(S152). 소정의 보존량이 되지 않는 경우는(No의 경우), 작업을 중단하고(S153), 종료한다(S163).
액세스 로그 보존량이 소정의 값 이상으로 되어 있는 경우는(Yes의 경우), 데이터 처리부(19)에 액세스 로그 데이터베이스(38)의 데이터 전송의 지시를 한다 (S154). 데이터 처리부(19)는, 데이터 전송 지시를 수신하고(S155), 액세스 데이터 관리부(30)에 데이터 전송을 요구한다(S156). 액세스 데이터 관리부(30)는 데이터 전송의 요구를 수신하고(S157), 액세스 로그 데이터베이스(38)로부터 데이터를 취득하고, 데이터 처리부(19)에 이 데이터를 전송한다(S158). 데이터 처리부(19)는, 전송되어 온 데이터를 수신하고(S159), 네트워크(26)에로의 송신 데이터를 작성한다(S160).
네트워크(26)에로의 송신 데이터를 작성할 때는, 데이터 기밀 유지를 위해 암호화 처리를 할 필요가 있는 경우는, 암호화/복호화부(31)에서 암호화 처리를 한다. 암호화 된 데이터는, 네트워크(26)에 송신하기 위해서 패킷화하여 송신 데이터를 작성한다(S161). 송신 데이터는 TDI 클라이언트 드라이버부(20)에 송신되고, TDI 클라이언트 드라이버부(20)가 네트워크(26)에 송신 데이터를 송신한다(S162). 따라서 일련의 작업이 종료한다(S163).
<파일 속성 데이터의 예>
도 6에는, 파일 속성 데이터베이스(37)의 구성예를 도시하고 있다. 파일 속성 데이터베이스(37)는, 파일명(101), 작성 일시(102), 갱신 일시(103), 액세스 일시(104), 은폐 파일(105), 독출 전용(106), 사이즈(107), 액세스 권한자(108) 등의 항목으로 되어있다. 파일명(101)은, 파일의 이름, 파일의 종류를 표현하는 확장자도 포함하고 있다. 파일명(101)은 패스(path) 첨부이어도 좋다.
작성 일시(102), 갱신 일시(103), 액세스 일시(104)는 각각 파일을 작성한 일시, 파일을 마지막으로 갱신한 일시, 파일에 액세스 한 최종 일시이다. 파일을 통상 안보이도록 하는 데는 은폐 파일(105)의 항목, 독출 전용으로 하는 데는 독출 전용(106)의 항목을 각각「yes」로 한다. 그렇지 않을 때는「no」이다. 사이즈 (107)의 항목은 파일의 사이즈를 바이트로 나타낸 것이다. 액세스 권한자(108)는 파일에 액세스 할 수 있는 사용자의 속성을 나타낸다.
예를 들면, open(109)은 누구라도 액세스 할 수 있고, owner(110)는 이 시스템에「owner」로서 로그인한 사용자만이 액세스 할 수 있고, Administrator(111)은 시스템의 관리자이다. 또, Taro/pswd(112)와 같이 특정의 사용자(Taro)를 패스워드(pswd01) 첨부로 지정할 수가 있다.
<제어 조건 데이터베이스의 예>
도 7에는, 제어 조건 데이터베이스(36)의 구성예를 2개 도시하고 있다. 도 7의 표(a)의 예에서는, 파일명(101), 작성(113), 여는(114), 닫는(115), 독출하는 (116), 기입하는(117) 등의 항목이 있다. 파일명(101)은, 파일의 이름이고, 확장자까지 포함되어 있고, 파일의 패스도 포함되어 있으면 좋다. 또한, 계속되는 작성(113), 여는(114), 닫는(115), 독출하는(116), 기입하는(117) 등의 항목은, 파일에 액세스 하는 방법이고, 각각 파일을 작성하는, 여는, 닫는, 독출하는, 기입하는 것을 의미한다.
미리 각 항목에「O」가 들어가 있으면, 이 항목에 대응하는 액세스는 되지 않는다고 결정해 둘 수가 있다. 1 이상의 숫자인 경우는, 액세스 할 수 있다고 하면, 사용자가 액세스 할 때 마다 그것을 감산하여 개서할 수 있다. 이러한 작업은, 데이터 처리부(19), 액세스 데이터 관리부(30)가 행할 수가 있고, 액세스에 카운터 (counter)를 첨부하여 관리할 수가 있다.
예를 들면, 「C:¥folder1¥failename01.abc」의 경우는,「기입하는(117)」항목에「4」의 값이 있고, 기입 액세스 할 때 마다 하나씩 감산해 나가면 4회까지 기입의 액세스가 가능하다. 4회 액세스 한 후는, 값이「O」로 되고, 기입을 할 수 없게 된다. 그 외의 항목도 마찬가지이다. 이와 같이 하면, 파일에의 액세스를 그 액세스의 종류·방법에 따라 카운터 첨부의 관리 및 제어를 자유롭게 할 수 있다.
도 7의 표(b)의 2번째의 예에서는, 사용자(118)의 항목을 한층 더 마련하고, 상술의 카운터 첨부의 액세스 제어를 사용자마다 하고 있다. 예를 들면, 「Taro」등과 같이 사용자 마다 파일의 액세스 제어를 하고 있다. 또, 액세스 할 수 있는 기간을 나타내는「기간(119)」, 액세스 할 수 있는 시간대를 나타내는「시간대 (120)」등과 같은 항목도 추가하여 관리해도 좋다.
기간(119)은 연월일을 시작과 종료를, 시간대는 24시간으로 시작과 종료를 표시하고 서로 「:」으로 단락을 짓고 있다.
이 경우는, 어떤 사용자(118)가 등록된 파일명(101)의 파일에, 등록된 특정의 기간(119)의 시간대(120)에만 결정된 방법으로만 액세스 할 수 있도록 된다. 예를 들면,「C:¥folder1¥failename01.abc」에는, Taro, Hanako, Everyone가 독출될 수 있지만(값이 1 이상이다.), 액세스 할 수 있는 시간대(120)가 각각 9시 30분부터 17시 30분까지, 14시부터 17시까지, 8시부터 22시까지로 되어 있다.
<액세스 로그 데이터베이스 예>
도 8에는, 파일에 액세스 한 액세스 로그를 기록한 액세스 로그 데이터베이스(38)의 구성예를 도시하고 있다. 액세스 로그 데이터베이스(38)는, 사용자(118), 파일명(101), 작성(113), 여는(114), 닫는(115), 독출하는(116), 기입하는(117), 타임 코드(121) 등의 항목으로 이루어져 있다. 각 사용자(118)는 액세스 한 사용자명이고, 파일명(101)은 사용자(118)가 액세스 한 파일의 이름이다. 파일명(101)은, 파일의 확장자와 파일의 보존처를 나타내는 패스가 첨부되어 있는 편이 바람직하다.
그 외의 작성(113), 여는(114), 닫는(115), 독출하는(116), 기입하는(117) 등의 항목은 액세스의 방법에 의한 것으로, 값이「1」로 된 것은 그 때의 액세스를 나타낸다. 타임 코드(121)는 액세스 한 일시를 나타낸다. 예를 들면, 액세스 로그 데이터베이스(38)를 보아, 2001년 12월 10일의 18시 6분 0초에「C:¥folder1¥ failename01.abc」를 작성(작성(113)의 값이「1」이다.) 하고, 2002년 1월 5일 1시 6분 30초에 이 파일을 열고 있다(여는(114)의 값이「1」이다.)고 안다. 그 때의 사용자(118)는「Taro」이다.
이 액세스 로그 데이터베이스(38)는, 흐름 제어부(25)의 지시로 데이터 처리부(19)에서 작성되어, 액세스 데이터 관리부(30)에 의해 데이터베이스(35)에 기입된다. 액세스 로그 데이터베이스(38)의 데이터가 소정의 보존량 이상이 되면, 네트워크(26) 상의 서버 또는 전자계산기에 송신되어 보존된다. 또, 로컬(local) 하드디스크(34) 등의 보조기억장치에 저장하여 백업을 취하여도 좋다.
<실시 형태 2>
도 9에는, 실시 형태 2의 개념도를 도시하고 있다. 본 실시 형태 2는 실시 형태 1과 기본적으로 같은 것으로, 이 설명에서는 실시 형태 1과 다른 부분만을 기술한다. 전자계산기(11)가 네트워크(26)를 개재하여 로그 서버(28)와 접속되어 있다. 로그 서버(28)는, 로그 데이터베이스(이하, 로그 데이터베이스라고 한다.)(28)를 가지고, 전자계산기(11)로부터 송신되어 오는 액세스 로그가 보존되는 것이다.
본 실시 형태 2에서는, 응용 프로그램(4)으로부터의 액세스 명령은 데이터 처리부(19)에 의해, 네트워크에의 송신 데이터가 작성되어 TDI 클라이언트 드라이버부(20)에 의해 직접 로그 서버(28)에 송신된다. 따라서, 데이터베이스(35)는, 제어 조건 데이터베이스(36), 파일 속성 데이터베이스(37)로 구성된다. 액세스 데이터 관리부는, 제어 조건 데이터베이스(36)와 파일 속성 데이터베이스(37)의 참조·변경·갱신을 한다.
데이터 처리부(19)는 스텝 S114의 참조 결과의 판정을 하고(도 4의 흐름도를 참조), 판정 결과가 정상인 경우는, 액세스 요구를 파일 시스템 감시 드라이버부 (32)에 송신하고(S115), 액세스 로그를 작성하여, 네트워크(26) 상의 로그 서버 (28)에 송신한다. 이 송신 순서는, 도 10의 흐름도를 참조하면서 설명한다.
참조 결과가 정상일 때(S170), 데이터 처리부(19)는 액세스 로그를 작성한다 (S171). 그리고, 네트워크(26)에로의 송신 데이터를 작성한다(S172). 작성된 송신 데이터를 TDI 클라이언트 드라이버부(20)에 송신하고(S173), TDI 클라이언트 드라이버부(20)는 송신 데이터를 수신하고, 네트워크 드라이버(21)에 의해 네트워크에 송신한다(S174).
로그 서버(28)는, 이 송신 데이터를 수신하고, 송신 데이터로부터 액세스 로그를 취출하여 기억장치에 저장되어 있는 로그 데이터베이스(29)에 추가한다. 따라서, 로그 데이터베이스(29)를 참조함으로써, 전자계산기(11)의 하드디스크(34)에 저장되어 있는 파일에의 액세스를 파악할 수 있다.
로그 데이터베이스(29)의 구조는, 실시 형태 1에 나타낸 액세스 로그 데이터베이스(38)와 기본적으로 같기 때문에 그 설명은 생략한다. 그러나, 제어 조건 데이터베이스(36), 파일 속성 데이터베이스(37), 로그 데이터베이스(29)는 어디까지나 하나의 예이고, 업무용도, 파일 시스템의 특징 등에 따라, 또는 시스템의 설계상의 특징에 따라 구조는 다르다.
또, 전자계산기(11)가 키보드·마우스 등의 입력장치를 갖추고 있고, 이러한 입력장치로부터 사용자가 입력할 때의 버릇을 이용하여 사용자 인증을 하고, 이 사용자 인증을 본 실시 형태 2와 조합하는 시스템을 구축할 수 있다. 이 경우는, 부정 액세스, 특히 하드디스크의 파일에 대한 부정 액세스, 및 그에 대한 제어를 할 수 있다.
<실시 형태 3>
본 실시 형태 3은, 전술의 실시 형태 1 또는 2와 같은 것으로, 상세한 설명은 생략하고, 다른 부분의 설명만을 기술한다. 본 실시 형태 3에서는, 데이터 처리부(19)는, 파일 시스템의 파일을 삭제할 수 있는 명령을 내리는 기능을 가진다. 이 기능을 이용하여, 하드디스크(34)의 파일을 삭제하는 순서를 도 11의 흐름도에 의해 설명한다.
파일 시스템의 파일에 액세스 후, 데이터 처리부(19)의 지시로 액세스 데이터 관리부(30)는 제어 조건 데이터베이스(36)의 갱신을 한다(S180). 이 때, 갱신한 항목의 값을 확인한다(S181). 값이「O」으로 된 경우는, 데이터 처리부(19)로 통지한다(S182). 데이터 처리부(19)는 값「O」의 통지를 수신하고, 값이「O」이 된 파일을 삭제하도록 파일 삭제 명령을 출력 한다(S183).
이 명령은 파일 시스템 감시 드라이버부(32)가 수신하고(S184), 파일 시스템 드라이버(33)에 송신한다(185). 따라서, 파일 시스템 드라이버(33)는 파일의 삭제를 한다. 이와 같이, 제어 조건 데이터베이스(36)의 값을 설정하는 특정의 값으로 설정함으로써, 파일 시스템의 파일을 삭제하거나 하는 것이 가능하다.
제어 조건 데이터베이스(36)의 파일의 값이「1」로부터「O」이 되고, 이「O」의 값에 의해 데이터 처리부(19)가 파일 삭제의 명령을 내고 있다. 이것은, 파일을 1회만 액세스 하여 삭제하도록 되고, 다양한 면에서 응용할 수 있다. 일예로, 네트워크로부터 다운로드한 파일을 1회만 실행 후에 소멸하도록 설정할 수 있다.
<실시 형태 4>
도 16은, 본 발명의 실시 형태 4의 개념도를 도시하고 있다. 실시 형태 4는, 실시 형태 1 내지 3과 기본적으로 같으므로, 그 상세한 설명은 생략하고, 다른 부분만의 설명을 이하에 기술한다.
실시 형태 4에서는, 공통 인터페이스 드라이버(7)가, 전자계산기(11)의 마우스(27)와 키보드(15) 등의 입력장치를 제한하거나, 이 입력장치로부터 입력되는 조작을 제한·제어하거나 하는 기능을 가진다. 이러한 기능은, 공통 인터페이스 드라이버(7)의 마우스 감시 드라이버부(39), 키보드 감시 드라이버부(41)에 의해 이루어진다.
마우스(27)나 키보드(15)가 조작되면 그 입력 데이터는, 각각 마우스 드라이버(40), 키보드 드라이버(24)에 의해 마우스 감시 드라이버부(39), 키보드 감시 드라이버부(41)에 송신된다. 그리고, 입력 데이터는, 또한 마우스 감시 드라이버부 (39), 키보드 감시 드라이버부(41)로부터 데이터 처리부(19) 또는 흐름 제어부(25)에 송신된다.
입력장치로부터의 입력 데이터는, 마우스 감시 드라이버부(39) 또는 키보드 감시 드라이버부(41)로부터 데이터 처리부(19)에 송신되어, 흐름 제어부(25)를 통해 응용 인터페이스부(17)에 송신된다. 그리고, 입력 데이터는 응용 인터페이스부 (17)로부터 응용 프로그램(4)에 제공된다.
전자계산기(11)를 조작하고 있는 사용자는, 특정의 파일을 열거나, 복사 (copy)하거나, 프린트하거나 하는 일이 있고, 특히, 키보드(15)를 조작하여 이러한 조작을 할 수가 있다. 시스템 관리 책임자 또는 용도에 따라, 복사하지 않게, 또는 프린트하지 않게 하는 데는, 이 키보드(15) 등의 입력장치로부터 입력을 제한할 필요가 있다.
본 실시 형태 4의 동작을 도 17의 흐름도에 나타내고 있다. 이하, 흐름도를 설명한다.
데이터 처리부(19)는, 입력장치로부터 입력 데이터를 수신하고(S200), 입력 데이터를 해석한다(201). 여기서, 키보드(15)로부터의 데이터인지를 판정하고 (S202), 키보드(15)로부터의 데이터인 경우는, 그 입력 데이터가 입력 금지키로부터의 데이터인지를 판정하고(204), 입력 금지키로부터의 데이터인 경우는 입력 데이터를 파기한다(S207).
입력 금지키로부터의 데이터가 아닌 경우는, 입력 데이터를 흐름 제어부(25)에 송신한다(S208). 흐름 제어부(25)는, 입력 데이터를 수신하고(S209), 응용 인터페이스부(17)에 송신한다(S210). 응용 인터페이스부(17)는, 입력 데이터를 수신하고(S211), 응용 프로그램(4)에 송신한다(S212). 그리고, 입력장치로부터 입력 데이터가 입력될 때까지 대기한다(S213). 입력 데이터가 있는 경우는 스텝 S200로부터의 처리가 반복하여 이루어진다.
스텝 S202의 판정이 키보드(15)로부터의 데이터가 아닌 판정의 경우는(No 판정), 입력 데이터가 마우스(27)로부터의 데이터인지를 판정한다(S203). 마우스(27)로부터의 데이터의 경우는, 마우스(27)의 금지 조작의 데이터를 확인한다(S205). 금지 조작의 경우는 스텝 S207로 진행된다(상술의 S207을 참조).
마우스(27)로부터의 금지 조작이 아닌 것으로 판정된 경우는(S205), 스텝 S208로 진행된다. 스텝 S203의 판정으로 입력 데이터가 마우스(27)로부터의 데이터가 아닌 것으로 판정된 경우는, 입력 데이터를 파기한다(S206). 데이터 처리부(19)는, 스텝 S206, S207에서 입력 데이터를 파기하는 경우는 다음의 데이터가 입력될 때까지 대기한다(S213).
데이터 처리부(19)는, 입력장치로부터 입력 데이터를 수신하였을 때에, 이 입력 데이터를 어느 입력장치로부터 입력되고 있는지의 판정을 하고 있다(S202, S203). 그리고, 도시하지 않지만, 입력 데이터가 입력된 입력장치에 대응하는 제어 조건을 인출한다. 또는, 입력장치의 제어 조건은 미리 데이터 처리부(19) 또는 흐름 제어부(25)에 설정되어 있어도 좋다.
또는, 응용 프로그램(4)으로부터 특정의 파일에 대한 액세스가 있었을 때에, 그 파일에 대한 제어 조건 중에 데이터베이스(35)에서 설정해도 좋다. 이의 경우는, 데이터 처리부(19)는 데이터베이스(35)를 참조할 때에, 입력장치의 제어 조건이 있을 때는, 입력장치로부터의 입력 데이터를 체크하는 동작 모드로 들어간다.
이와 같이 설정하면, 사용자가 어떤 파일을 열거나 할 때, 그 파일을 읽는 것만 되고, 복사, 인쇄, 편집 등의 작업을 할 수 없게 설정할 수 있다.
<실시 형태 5>
도 18에는, 실시 형태 5의 개요를 도시하고 있다. 실시 형태 5의 시스템은, 적어도 클라이언트(201)와 서버(202)로 구성된다. 클라이언트(201)와 서버(202)는 네트워크(203)에 의해 서로 접속되고, 데이터의 송수신을 한다. 네트워크(203)는 클라이언트(201)와 서버(202)가 데이터의 송수신을 하는 것이 가능한 LAN(Locl Area Network) 또는 인터넷 등의 유선 또는 무선의 어떠한 네트워크이어도 좋다.
클라이언트(201)는, 적어도 키보드(15)와 LAN 보드(16)를 갖는 전자계산기이다. 클라이언트(201)에는 공통 인터페이스 드라이버(7)가 인스톨(install) 되어있다. 또, 데이터베이스(35)(도 3을 참조)를 가지고 있고, 공통 인터페이스 드라이버 (7)는 실시 형태 1 내지 4의 공통 인터페이스 드라이버(7)와 같은 기능을 가지기 때문에 여기에서는 상세하게 기술하지 않는다. 공통 인터페이스 드라이버(7)는 사용자가 키보드(15)로부터 입력하는 데이터를 취득하여 서버(202)에 송신하는 기능을 가진다. 자세하게는, 사용자가 누르거나 또는 떼거나 하는 키의 식별 데이터와그 시간 데이터를 포함하는 입력 데이터를 취득하여 서버(202)에 송신한다.
서버(202)에는, 사용자 인증 프로그램(204)이 인스톨 되어 있다. 서버(202)는, 사용자가 키보드(15)로부터 입력할 때의 입력 특징을 나타내는 데이터로 이루어지는 사용자 데이터베이스(205)를 갖는다. 사용자 인증 프로그램(204)은, 클라이언트(201)로부터 송신되어 오는 입력 데이터를 수신하고, 그 입력 데이터를 사용자 데이터베이스(205)의 데이터와 비교하면서 해석을 하여 사용자를 특정한다.
또, 서버(202)는 제어 데이터베이스(211)를 갖는다. 제어 데이터베이스(211)에는 사용자를 액세스 할 수 있는 범위을 지정한 데이터가 저장되어 있다. 예를 들면, 제어 데이터베이스(211)는, 도 7에 도시한 제어 조건 데이터베이스의 제어 조건이어도 좋다.
사용자 인증 프로그램(204)은 사용자의 특정을 하고, 제어 프로그램(210)은 그 결과를 이용하여 제어 데이터베이스(210)를 참조하고, 사용자에 관한 액세스 범위의 데이터를 취득하여 클라이언트(201)에 송신한다. 클라이언트(201)가 이 액세스 범위의 데이터를 수신하고, 제어 조건 데이터베이스(36)에 저장하고, 파일 시스템에의 액세스, 입력장치로부터의 입력을 제어할 수 있다. 이 클라이언트에서의 동작은 상술한 실시 형태 1 내지 4에 상세하게 설명하고 있다. 이 때문에 자세한 설명은 생략하고, 서버(202)에서의 동작을 중심으로 설명한다.
<LVQ(Learning Vector Quantization)의 개요>
사용자 인증 프로그램(204)은, 입력 데이터를 해석할 때, 신경 회로망(neural network) 기법을 이용하여 데이터 해석을 한다. 예를 들면, 학습 벡터 양자화 알고리즘(Learning Vector Quantization, 이하 간략히 LVQ라고 한다. )을 이용하고 있다. LVQ는 T.Kohonen에 의해 개발된 기법이고, LVQ1로부터 LVQ3까지 복수의 버전(version)이 있다.
본 실시 형태 5에서는 LVQ1를 이용했다. 그 외의 LVQ 알고리즘이나 신경 회로망 기법의 알고리즘을 이용해도 좋다. LVQ에 대한 상세한 설명은, T.Kohonen저 「"Se1f-Organizing Maps"(Springer Series in Information Sciences, 30, 2000; Springer Ver1ag)」등에 기재되어 있는 공지 기술이므로 여기에서는 상세하게 기술하지 않는다.
초기 상태에 주어지는 표본 데이터(이하, 교사 데이터(teacher data)라 한다.)를 복수의 특징 벡터로 특징지워지는 클래스(class)로 나누어 양자화 하고, 입력 벡터와 각 특징 벡터와의 거리를 계산한다. 이 거리가 가장 가까운 특징 벡터가 속하는 클래스를 입력 벡터가 속하는 클래스로 판정하는 방법이다.
LVQ1은 다음 식에 의해 표현되고, 학습은 다음과 같이 이루어진다. 초기 상태에서는, 클래스를 특징지우는 복수의 특징 벡터가 주어지고 있다. 입력된 교사 데이터와 모든 특징 벡터와의 거리를 계산하고, 거리가 제일 가까운 특징 벡터가 속하는 클래스를 교사 데이터가 속하는 클래스로 추정할 수가 있다.
지정 개수의 특징 벡터를 클래스마다 생성하여, 난수(random number)를 이용하여 이것을 초기화 하여 학습을 개시한다. 이 때의 난수의 값은 각 클래스의 벡터 데이터의 최대·최소치의 사이이다. 아래의 식1에 따라 특징 벡터를 갱신하여 학습을 한다. 이 학습을 소정 회수함으로써, 교사 데이터에 대해서 최적인 특징 벡터를 얻는다.
mi, mj는 교사 데이터 x에 대해서 가장 가까운 거리에 있는 특징 벡터이다. mi는 교사 데이터 x와 다른 클래스에 속하는 경우, mj는 교사 데이터 x와 같은 클래스에 속하는 경우이다.(t)는 계수로, 0으로부터 1의 값을 취한다.
mi(t+1) = mi(t)-(t)[x(t)-mi(t)]
mj(t+1) = mj(t)+(t)[x(t)-mj(t)] …… (식 1)
mk(t+1) = mk(t), 여기서 k≠i,j
<개인 특징>
본 실시 형태 5에서, 사용자의 입력 특징은 사용자가 특정의 키를 누르는(depressing) 시간, 그 키를 떼는 시간을 이용하여 다음과 같이 나타낸다. 키를 누를 때의 누름 시간(depress time), 누른 키를 뗄(releasing) 때의 뗌 시간(release time)을 이용한다. 사용자가 타이핑(typing) 하는 키는 그 전후에 타이핑한 키(key)와의 상대 관계에 의해 사용자의 입력 특징으로 된다.
도 19에는, 그 예를 도시하고 있다. 사용자의 입력 특징을 나타내는 데이터로서 다음의 종류의 시간을 이용하고 있다. 도의 횡축은 시간축이다. 아래로 향한 큰 화살표로 키를 누른 동작의 시간을 나타내고 있다. 마찬가지로 위로 향한 큰 화살표에서는 키를 뗀 동작의 시간을 나타내고 있다. 이 두개의 화살표가 1조가 되어 하나의 키를 누르고 떼어 타이핑하는 동작을 나타낸다. 공통 인터페이스 드라이버(7)는, 사용자가 키보드(15)로부터 입력할 때 각 타이핑한 키를 식별하는 키 코드(key code), 키의 누름 시간, 뗌 시간을 취득하고, 입력 데이터로서 서버(202)에 송신한다.
도 19의 그래프(a)에는, 키1로부터 키3까지를 타이핑하는 예를 나타내고 있다. t1, t2, t3은 키1로부터 키2의 시간적인 상호 관계를 나타내고 있다. t1은 키1의 누름 시간부터 키2의 누름 시간까지의 시간, t2는 키1의 뗌 시간부터 키2의 누름 시간까지의 시간, t3은 키1의 뗌 시간부터 키2의 뗌 시간까지의 시간을 각각 나타내고 있다.
t1', t2', t3'는 t1, t2, t3의 경우와 마찬가지로 키2와 키3과의 시간적인 상호 관계를 각각 나타내고 있다. t2와 t2'는 키1의 뗌 시간, 키2의 누름 시간, 또는 키2의 뗌 시간, 키3의 누름 시간의 상대 관계에 의해 마이너스의 값을 취하는 것이 가능하다.
도 19의 그래프(b)에는, 키1로부터 키3까지를 타이핑하는 다른 예를 나타내고 있다. t4, t5, t4', t5', t4"는 키1로부터 키3의 시간적인 상호 관계를 나타내고 있다. t4는 키1의 누름 시간부터 키1의 뗌 시간까지의 시간, t5는 키1의 뗌 시간부터 키2의 누름 시간까지의 시간이다. t4'는 키2의 누름 시간부터 키2의 뗌 시간까지의 시간, t5'는 키2의 뗌 시간부터 키3의 누름 시간까지의 시간, t4"는 키3의 누름 시간부터 키3의 뗌 시간까지의 시간이다.
t5와 t5'는 키1의 뗌 시간, 키2의 누름 시간, 또는 키2의 뗌 시간, 키3의 누름 시간의 상대 관계에 의해 마이너스의 값을 취하는 것이 가능하다.
<클라이언트에서의 처리>
본 실시 형태 6에서는, 클라이언트(201)에서는 사용자가 키보드(15)로부터 입력할 때의 입력 데이터를 취하여 서버(202)에 송신한다. 클라이언트(201)에서는, 커널 모드에서 동작하는 공통 인터페이스 드라이버(7)로 키에 관한 데이터를 취득하고 있다. 공통 인터페이스 드라이버(7)의 동작에 대해서는 앞에서 본 실시 형태 1 내지 5에 있어서 상세하게 설명하고 있기 때문에 설명을 생략한다.
도 19에는, 공통 인터페이스 드라이버(7)로 취득하고 서버(202)에 송신하는 입력 데이터의 예를 도시하고 있다. 입력 데이터는,「번호」(210),「시간」(211), 「IP」(212),「키 코드」(213),「누름/뗌」(214)의 칼럼으로 이루어져 있다.「번호」(210)는 키의 데이터를 취득한 차례이고,「시간」(211)은 키의 데이터를 취득했을 때의 시간이다.「시간」(211)은 실시간의 100 나노초(nanosecond) 단위로 표시되어 있다.
「IP」(212)는 클라이언트(201)를 식별하기 위한 네트워크 상의 주소이다. 「키 코드」(213)는 키의 코드 번호이다.「키 코드」(213)는 국가 또는 국제기관에서 정해진 키 코드, 또는 키보드의 물리적인 코드 번호이어도 좋다. 「누름/뗌」 (214)은 키를 눌렀는지 또는 떼었는지 나타내는 칼럼으로, 「1」은 누름,「O」는 뗌에 대응한다.
공통 인터페이스 드라이버(7)는, 데이터 취입부(18)에 의해 키의 데이터를 취득하고, 데이터 처리부(19)로 키의 데이터에 시간 데이터를 부가하는 등을 하여 입력 데이터를 작성한다(도 3을 참조). 작성한 입력 데이터는 TDI 클라이언트 드라이버부(20)에 의해, LAN 보드 드라이버(21)를 거쳐 서버(202)에 송신된다.
<서버에서의 처리>
서버(202)에서는, 클라이언트(201)로부터 송신되어 오는 입력 데이터를 수신하여 입력 데이터 파일(206)로서 하드디스크나 메모리 등의 기억 매체에 보존한다. 서버(202)에서는, 미리 특정 사용자가 입력하는 데이터를 취득하여 사용자 데이터베이스(205)를 작성하고 있다. 사용자 인증 프로그램(204), 입력 데이터 파일(206)의 데이터를 사용자 데이터베이스(205)의 데이터와 비교하여 사용자 식별을 한다.
사용자 인증 프로그램(204)은 학습부(208)와 식별부(209)로 구성된다. 학습부(208)는 사용자 데이터베이스(205)로부터 특징 벡터를 생성하기 위한 프로그램이다. 식별부(209)는 입력 데이터를 특징 벡터와 비교하여 사용자의 식별을 하기 위한 프로그램이다. 이하, 각부의 상세한 기능을 나타낸다.
<학습부(208)>
학습부(208)에서는, 교사 데이터를 읽어 들여 특징 벡터를 구한다. 읽어 들인 교사 데이터로부터는, 예를 들면, 도 19로 예시한 것 같은 입력된 키, 그 누름, 뗌의 시간 데이터, 그 키의 전후에 입력된 키와 관련하는 시간 데이터를 구하여 특징 데이터로 한다. 도 19로 예시한 t1로부터 t3 또는 t4, t5는 그 일예이다. 읽어 들인 모든 교사 데이터에 대한 특징 데이터를 구하여, 전체 특징 데이터의 특징을 나타내는 특징 벡터를 구한다.
도 21의 흐름도에 학습부(208)의 동작 순서를 도시하고 있다. 서버(202)의 사용자 인증 프로그램(204)을 기동시키면, 학습부(208)가 실행된다(S400). 보존되어 있는 사용자 데이터베이스(205)로부터 교사 데이터를 읽어 들인다(S401). 사용자 데이터베이스(205)는, 텍스트(text), 바이너리(binary) 등의 형식의 파일로서 보존되어 있다. 지정된 수의 교사 데이터를 다 읽을 때까지 다음의 교사 데이터를 읽어 들인다(S402??S401).
읽어 들인 교사 데이터가 올바르게 읽어 들여졌는지를 판정한다(S403). 정확하게 읽어 들여질 수가 없었던 경우는, 학습부(208)의 프로그램을 강제 종료한다(S404). 정확하게 읽어 들여진 경우는 특징 벡터를 초기화 한다(S405). 특징 벡터의 초기화에서는 지정된 수의 특징 벡터를 생성하고, 난수를 이용하여 초기화 한다. 난수는 각 클래스의 벡터의 최대치와 최소치와의 사이의 값을 취한다.
그리고, 학습을 개시한다. 학습 회수의 초기화(L=O)를 하고(S406), LVQ 학습을 소정 회수 n만 한다(S407∼S409). LVQ 학습에서는 식1에 나타난 것과 같이 특징 벡터를 갱신한다.는 0.1로 고정하여 학습을 하고 있다.
학습을 소정 회수 n만 한 후, 학습한 결과인 특징 벡터를 써내어서(S410), 학습부(208)가 종료한다(S411). 특징 벡터는 텍스트 또는 바이너리 형식으로 출력되어 서버(402)의 기억장치에 기억된다.
<식별부(209)>
학습부(208)의 프로그램이 실행되어, 특징 벡터를 출력하여 종료하면, 식별부(209)의 프로그램이 실행된다. 도 22의 흐름도에는, 식별부(209)의 프로그램의 순서를 도시하고 있다. 식별부(209)의 프로그램이 개시되면(S420), 학습부(208)에서 출력된 특징 벡터를 읽어 들인다(S421). 특징 벡터를 읽어 들여, 검증하는 사용자의 입력 데이터를 읽어 들인다(S422).
입력 데이터는 클라이언트(201)로부터 송신되어 서버(202)에 입력 데이터 파일(206)로서 보존되어 있다. 입력 데이터를 다 읽으면, 식별 처리를 한다(S423). 식별 처리가 종료하면 식별 결과를 출력하여(S424), 다음의 입력 데이터를 읽어 들여 식별한다(S425→S422). 다음의 입력 데이터가 없는 또는 종료하는 지시가 있는 경우는 프로그램을 종료한다(S426).
<식별 결과>
식별부(209)의 프로그램에서 출력되는 식별 결과는 서버(202)의 기억장치에 텍스트 또는 바이너리 형식의 파일로서 기억된다. 도 23에는, 식별 결과의 예를 도시하고 있다. 식별 결과를「읽어 들임 파일」(220)의 행과「식별 결과」(221)의 열로 이루어지는 표로 도시하고 있다.「읽어 들임 파일」(220)의 행과「식별 결과」(221) 열은 각각 「A」,「B」…「G」의 각 행, 각 열로 구성되어 있다.
「읽어 들임 파일」(220)의 각 행은 입력 데이터를 나타내고,「식별 결과」(221)의 각 열은 교사 데이터의 각 특징 벡터를 나타낸다. 각 행과 각 열에 대한 교차하는 셀(cell)은, 입력 데이터가 각 특징 벡터에 속하는 비율을 퍼센트로 나타내고 있다. 식별부(209)의 프로그램은, 입력 데이터인「읽어 들임 파일 A」(222)를 읽어 들이고, 이 입력 데이터가 어느 특징 벡터에 속하는지를 구하고, 결과를 퍼센트로 출력하고 있다.
이 표로부터는, 클라이언트(201)의 키보드로부터 입력하고 있는 사용자가 누구인지를 판단할 수가 있다.「읽어 들임 파일 A」(222)의 사용자가,「특징 벡터 A」(224)를 갖는 사용자일 가능성은「75%」, 「특징 벡터 B」(225)를 갖는 사용자일 가능성은「6%」이다.「읽어 들임 파일 B」(223)의 사용자가,「특징 벡터 A」(224)를 갖는 사용자일 가능성은「0%」,「특징 벡터 B」(225)를 갖는 사용자일 가능성은 「100%」이다.
이와 같이, 각 사용자의 개인 특징에 의해 본인 특정은「10O%」의 것도 있지만, 다른 사용자의 특징과 비슷하기 때문에「70%」으로부터「80%」정도도 있다.
<제어 프로그램>
서버(202)는 제어 프로그램(210)을 갖는다. 이 제어 프로그램(210)은, 사용자 인증 프로그램(204)로 사용자 인증한 결과를 이용하여 클라이언트(201)를 이용하는 사용자의 액세스 권한, 액세스 할 수 있는 범위 등을 제어 데이터베이스(211)로부터 취득하여 클라이언트(201)에 송신하기 위한 프로그램이다.
제어 프로그램(210)은, 식별부(209)로부터 출력되는 식별 결과를 수신하여, 이 식별 결과의 사용자에 관한 데이터를 제어 데이터베이스(211)로부터 취득한다. 제어 프로그램(210)은, 제어 데이터베이스(211)로부터 취득한 데이터를 클라이언트 (201)에 송신한다.
도 24에는, 제어 데이터베이스(211)의 예를 도시하고 있다. 제어 데이터베이스(211)는 도 7의 제어 조건 데이터베이스(36)에 비해 클라이언트(122)가 추가되어 있다. 그 외의 동일 이름의 항목인 101, 113으로부터 120은 실시 형태 1에서 설명한 파일에의 액세스의 제어이다. 클라이언트(122)는 사용자가 이용하고 있는 클라이언트(201)를 나타내는 것으로, 네트워크상의 식별 주소로 나타내고 있다.
제어 데이터베이스(211)의 클라이언트(122)의 열에는 클라이언트(201)의 식별 주소와 이 클라이언트(201)를 이용할 수 있는 정당한 사용자의 이름이 사용자 (118)에 미리 저장되어 있다.
제어 프로그램(210)은, 식별부(209)의 식별 결과를 수신하여, 제어 데이터베이스(211)를 참조하고 식별 결과의 사용자가 정당한 사용자인지를 검색하여 결과 데이터를 클라이언트(201)에 송신한다. 결과 데이터에는, 사용자의 이름, 그 액세스 할 수 있는 범위, 파일에의 액세스 권한 등의 데이터가 포함된다. 정당한 사용자가 아닌 경우는, 클라이언트(201)를 이용하고 있는 사용자의 조작을 정지하는 명령을 포함한 결과 데이터를 클라이언트(201)에 송신한다.
클라이언트(201)는 서버(202)로부터의 데이터를 수신하여 그 제어 조건 데이터베이스(36)를 갱신한다. 따라서, 클라이언트(201)를 어느 사용자가 이용하고 있는지를 상시 식별할 수 있고, 그 사용자의 이용 상황에 따른 제어, 또는 부정 액세스자인 경우는 그 액세스를 정지할 수 있도록 되어있다. 제어 프로그램(210)과 사용자 인증 프로그램(204)은 동일의 프로그램을 구성하고, 연동하여 동작하는 프로그램이어도 좋다.
서버(202)에서의 개인 인증의 결과 부정 액세스자, 또는 사용자를 인증할 수 없었던 경우, 서버(202)로부터의 명령으로 클라이언트(201)의 시스템을 잠금할 수가 있다. 이 시스템 잠금의 해제는 서버(202)로부터의 명령 또는, 클라이언트(201)의 시스템 관리 책임자에 의한 액세스로 행할 수가 있다. 또한, 잠금된 상태로 클라이언트(201)의 전원을 끊고, 재차 전원을 넣을 때, 클라이언트(201)의 동작 환경이 전원을 끊기 직전의 상태가 유지되어 복귀되면 좋다. 이 때, 동작환경, 동작환경의 각종 파라미터가 클라이언트(201)의 하드디스크, 메모리 등의 기억장치에 보존된다.
본 발명은, 커널 모드에서 입력장치로부터 파일 시스템에의 액세스를 제어하고, 사용자마다 액세스 범위, 권한을 설정하고 있다. 또, 전자계산기를 이용하는 사용자의 인증을 하고, 사용자의 액세스 범위, 권한에 근거하여 파일 시스템에의 액세스를 커널 모드에서 제어하고 있다. 부정 액세스, 미등록의 사용자 등의 경우는 시스템 잠금까지 한다. 사용자의 인증은 사용자가 전자계산기에 최초로 액세스 할 때에, 또는 전자계산기를 이용하는 경우에 연속적으로 한다. 따라서, 보안 보호 관련의 분야, 예를 들면, 개인 정보, 국가 기밀 정보, 기업 비밀 등의 관리 시스템에 짜넣어 이용하면 보다 안전을 높이는 것이 가능하다.

Claims (37)

  1. 기억장치를 포함한 복수의 디바이스가 접속되어 있고, OS에 의해 동작하는 전자계산기가 존재하고,
    응용 프로그램으로부터 상기 전자계산기의 파일 시스템의 특정 파일에 액세스 할 때, 상기 액세스를 제어하는 방법에 있어서,
    상기 OS의 모든 명령을 실행할 수 있는 동작 모드인 커널 모드에서, 상기 액세스를 수신하고,
    상기 파일 시스템의 파일명, 액세스 방법으로 이루어지는 액세스 제어 데이터베이스를 참조하여, 상기 특정 파일에의 상기 액세스가 상기 액세스 제어 데이터베이스에 미리 규정된 조건에 합치하지 않을 때, 상기 액세스를 파기하는 것을 특징으로 하는 전자계산기의 파일 시스템 드라이버의 제어 방법.
  2. 제1항에 있어서,
    상기 액세스가 상기 조건에 합치하고 있을 때는, 상기 파일 시스템을 제어하는 파일 시스템 드라이버에 상기 액세스를 송신하고,
    상기 액세스 제어 데이터베이스의 상기 특정 파일에 대응하는 상기 액세스 방법으로 소정의 변경을 하는 것을 특징으로 하는 전자계산기의 파일 시스템 드라이버의 제어 방법.
  3. 제1 또는 2항에 있어서,
    상기 액세스 방법은, 파일을 작성하는, 파일을 여는, 파일을 닫는, 파일을 독출하는, 파일을 기입하는 동작 중 적어도 하나 이상의 제어 동작으로 이루어지고,
    상기 제어 동작이 제어 회수를 갖는 것을 특징으로 하는 전자계산기의 파일 시스템 드라이버의 제어 방법.
  4. 제3항에 있어서,
    상기 제어 회수가 미리 설정된 소정값 이하, 또는 이상이 될 때, 상기 액세스가 파기되는 것을 특징으로 하는 전자계산기의 파일 시스템 드라이버의 제어 방법.
  5. 제1 또는 2항에 있어서,
    상기 액세스의 이력을 로그 파일로서 보존하는 것을 특징으로 하는 전자계산기의 파일 시스템 드라이버의 제어 방법.
  6. 제5항에 있어서,
    상기 로그 파일를 상기 전자계산기에 직접, 또는 네트워크를 개재하여 접속되어 있는 다른 전자계산기에 전송하는 것을 특징으로 하는 전자계산기의 파일 시스템 드라이버의 제어 방법.
  7. 제1 또는 2항에 있어서,
    상기 액세스는, 상기 전자계산기의 입력장치인 키보드 또는 마우스로부터 입력되는 상기 파일 시스템에의 액세스이고,
    상기 조건에 의해 상기 입력장치의 기능을 정지시키는 것을 특징으로 하는 전자계산기의 파일 시스템 드라이버의 제어 방법.
  8. 제1 또는 2항에 있어서,
    키보드의 키로부터 입력하는 입력 특징을 이용하여 개인 인증을 하여 사용자를 특정하고,
    상기 액세스 제어 데이터베이스를 참조하여, 상기 사용자가 액세스 할 수 있는 범위를 나타내는 상기 조건을 취득하여,
    상기 사용자의 액세스를 제어하는 것을 특징으로 하는 전자계산기의 파일 시스템 드라이버의 제어 방법.
  9. 제8항에 있어서,
    상기 개인 인증은, 상기 전자계산기와 네트워크에 의해 접속되어 있는 서버에서 행하고,
    상기 서버의 기억장치에 사용자가 액세스 할 수 있는 범위를 나타내는 상기 조건을 갖는 제어 데이터베이스가 저장되어 있어,
    상기 개인 인증에서 식별한 상기 사용자의 상기 조건을 상기 제어 데이터베이스로 참조하여 취득하고,
    상기 서버로부터, 상기 사용자의 액세스를 제어하는 명령을 상기 전자계산기에 송신하고,
    상기 전자계산기에서는 상기 명령에 따라, 상기 사용자의 상기 액세스를 제한, 중지, 시스템 잠금(lock) 중에서 하나 이상을 하는 것을 특징으로 하는 전자계산기의 파일 시스템 드라이버의 제어 방법.
  10. 기억장치를 포함한 복수의 디바이스가 접속되어 있고, 전자계산기를 동작시키는 OS와,
    응용 프로그램으로부터 상기 전자계산기의 파일 시스템의 특정 파일에 액세스 할 때, 상기 응용 프로그램으로부터 요구되는 액세스 명령을 제어하는 수단으로서 상기 전자계산기를 기능시키는 액세스 제어 프로그램에 있어서,
    상기 OS의 모든 명령을 실행할 수 있는 동작 모드인 커널 모드에서, 상기 액세스 명령을 수신하는 응용 인터페이스 수단과,
    상기 액세스 명령을 분석하고, 데이터의 흐름을 제어하는 흐름 제어 수단과,
    상기 파일 시스템의 파일명 칼럼, 하나 이상의 액세스 방법 칼럼으로 이루어지는 액세스 제어 데이터베이스를 참조하여, 참조 결과를 출력하는 참조 수단과,
    상기 특정 파일 및 상기 액세스 명령에 관한 정보를 상기 참조 수단에 건네주고, 상기 액세스 명령에 대한 상기 참조 결과를 수신하여 판정을 하는 데이터 처리 수단과,
    상기 파일 시스템을 제어하기 위한 파일 시스템 드라이버와,
    상기 액세스 명령을 수신하여, 상기 파일 시스템 드라이버에 건네주고, 상기 파일 시스템 드라이버로부터 상기 액세스 명령의 실행 결과를 수신하는 파일 시스템 감시 드라이버 수단으로 이루어지는 것을 특징으로 하는 전자계산기의 파일 시스템 드라이버의 제어 프로그램.
  11. 청구항 10에 있어서,
    상기 흐름 제어 수단의 분석 결과인 상기 특정 파일과 액세스 방법을 상기 데이터 처리 수단에 건네주고,
    상기 데이터 처리 수단에 의한 상기 판정의 결과가 이상으로 될 때, 상기 데이터 처리 수단은 상기 액세스 명령을 파기하는 것을 특징으로 하는 전자계산기의 파일 시스템 드라이버의 제어 프로그램.
  12. 제 108항에 있어서,
    상기 흐름 제어 수단의 분석 결과인 상기 특정 파일과 액세스 방법을 상기 데이터 처리 수단에 건네주고,
    상기 데이터 처리 수단에 의한 상기 판정의 결과가 정상이 될 때, 상기 데이터 처리 수단은 상기 액세스 명령을 파일 시스템 감시 드라이버 수단에 건네주고,
    상기 데이터 처리 수단은 액세스 로그를 작성하는 것을 특징으로 하는 전자계산기의 파일 시스템 드라이버의 제어 프로그램.
  13. 제12항에 있어서,
    상기 참조 수단은, 상기 액세스 명령에 대응하는 변경을 상기 액세스 제어 데이터베이스에 넣는 것을 특징으로 하는 전자계산기의 파일 시스템 드라이버의 제어 프로그램,
  14. 제10 또는 11항에 있어서,
    상기 판정은, 상기 특정 파일에 대한 상기 액세스 방법 칼럼의 값이 소정의 값일 때 상기 이상 결과를 출력하는 상기 데이터 처리 수단에 의해 수행하는 것을 특징으로 하는 전자계산기의 파일 시스템 드라이버의 제어 프로그램.
  15. 제14항에 있어서,
    상기 액세스 방법 칼럼은, 파일을 작성하는, 파일을 여는, 파일을 닫는, 파일을 독출하는, 파일을 기입하는, 파일의 액세스 기간, 및 파일의 액세스 시간대의 칼럼 중 적어도 하나 이상의 칼럼으로 이루어지고, 상기 칼럼의 값은 정수, 기호, 및 단어로부터 선택되는 하나 이상으로 이루어지는 것을 특징으로 하는 전자계산기의 파일 시스템 드라이버의 제어 프로그램.
  16. 제10항에 있어서,
    상기 데이터 처리 수단은, 상기 액세스의 액세스 로그를 출력하는 것을 특징으로 하는 전자계산기의 파일 시스템 드라이버의 제어 프로그램.
  17. 제16항에 있어서,
    상기 전자계산기에 접속되어 있는 네트워크 카드에 의해 네트워크에 전송하기 위한 네트워크 출력 수단을 가지고,
    상기 네트워크 출력 수단에 의해 상기 액세스 로그를 상기 네트워크에 전송하는 것을 특징으로 하는 전자계산기의 파일 시스템 드라이버의 제어 프로그램.
  18. 제10항에 있어서,
    상기 전자계산기의 입력장치로부터 입력되는 입력 데이터를 수신하는 입력 수단을 가지고,
    상기 데이터 처리 수단이 상기 입력장치의 기능을 정지시키는 것을 특징으로 하는 전자계산기의 파일 시스템 드라이버의 제어 프로그램.
  19. 제18항에 있어서,
    상기 입력 수단으로부터의 상기 입력 데이터를 수신하여, 분석하고,
    상기 입력 데이터 중 특정의 데이터를 상기 응용 인터페이스 수단에 제공하는 것을 특징으로 하는 전자계산기의 파일 시스템 드라이버의 제어 프로그램.
  20. 제18 또는 19항에 있어서,
    상기 입력 수단은 키보드이고,
    상기 기능의 정지는, 상기 키보드의 특정의 키로부터의 입력 데이터를 정지시키는 것을 특징으로 하는 전자계산기의 파일 시스템 드라이버의 제어 프로그램.
  21. 제18 또는 19항에 있어서,
    상기 입력 수단은 마우스이고,
    상기 기능의 정지는, 상기 마우스로부터 입력되는 특정 데이터를 정지시키는 것을 특징으로 하는 전자계산기의 파일 시스템 드라이버의 제어 프로그램.
  22. 제10항에 있어서,
    상기 전자계산기의 기억 수단에는, 상기 전자계산기를 이용하는 사용자를 개인 인증하기 위한 개인 인증 프로그램이 저장되어 있어,
    상기 개인 인증 프로그램은, 키보드의 키로부터 입력하는 키 입력을 취득하는 취득 수단과,
    상기 키 입력의 입력 특징을 이용하여 상기 개인 인증을 하여 상기 사용자를 특정하는 제1 인증 수단과,
    상기 액세스 제어 데이터베이스를 참조하여, 상기 사용자가 액세스 할 수 있는 범위를 나타내는 상기 조건을 취득하는 취득 수단과,
    상기 사용자의 액세스를 제어하기 위해서 상기 조건을 상기 흐름 제어 수단에 송신하는 제어 수단으로 이루어지는 것을 특징으로 하는 전자계산기의 파일 시스템 드라이버의 제어 프로그램.
  23. 제22항에 있어서,
    상기 전자계산기와 네트워크에 의해 접속되어 있는 서버의 기억 수단에 제어 프로그램과 사용자의 개인 정보, 제어 조건으로 이루어지는 제어 데이터베이스가 기억되어 있고,
    상기 전자계산기가 상기 키 입력을 상기 서버에 송신하는 송신 수단을 가지고,
    상기 제어 프로그램이,
    상기 송신 수단에 의해 송신된 송신 데이터를 취득하는 수신 수단과,
    상기 송신 데이터에 포함되는 상기 키 입력의 입력 특징을 이용하여 상기 개인 인증을 하여 상기 사용자를 특정하는 제2 인증 수단과,
    상기 제어 데이터베이스를 참조하여, 상기 사용자가 액세스 할 수 있는 범위를 나타내는 상기 조건을 취득하는 데이터베이스 참조 수단과,
    상기 사용자의 액세스를 제어하기 위해서 상기 조건과 제어 명령을 상기 전자계산기에 송신하는 제어 조건 송신 수단을 갖는 것을 특징으로 하는 전자계산기의 파일 시스템 드라이버의 제어 프로그램.
  24. 기억장치를 포함한 복수의 디바이스가 접속되어 있고, 전자계산기를 동작시키는 OS와,
    응용 프로그램으로부터 상기 전자계산기의 파일 시스템의 특정 파일에 액세스 할 때, 상기 응용 프로그램으로부터 요구되는 액세스 명령을 제어하는 수단으로서 상기 전자계산기를 기능시키는 액세스 제어 프로그램의 기록 매체에 있어서,
    상기 OS의 모든 명령을 실행할 수 있는 동작 모드인 커널 모드에서, 상기 액세스 명령을 수신하는 응용 인터페이스 수단과,
    상기 액세스 명령을 분석하고, 데이터의 흐름을 제어하는 흐름 제어수단과,
    상기 파일 시스템의 파일명 칼럼, 하나 이상의 액세스 방법 칼럼으로 이루어지는 액세스 제어 데이터베이스를 참조하고, 참조 결과를 출력하는 참조 수단과,
    상기 특정 파일 및 상기 액세스 명령에 관한 정보를 상기 참조 수단에 건네주고, 이것에 대한 상기 참조 결과를 수신하여 판정을 하는 데이터 처리 수단과,
    상기 파일 시스템을 제어하기 위한 파일 시스템 드라이버와,
    상기 액세스 명령을 수신하여, 상기 파일 시스템 드라이버에 건네주고, 상기 파일 시스템 드라이버로부터 상기 액세스 명령의 실행 결과를 수신하는 파일 시스템 감시 드라이버 수단으로 이루어지는 것을 특징으로 하는 전자계산기의 파일 시스템 드라이버의 제어 프로그램의 기록 매체.
  25. 제24항에 있어서,
    상기 흐름 제어 수단의 분석 결과인 상기 특정 파일과 액세스 방법을 상기 데이터 처리 수단에 건네주고,
    상기 데이터 처리 수단에 의한 상기 판정의 결과가 이상으로 될 때, 상기 데이터 처리 수단은 상기 액세스 명령을 파기하는 것을 특징으로 하는 전자계산기의 파일 시스템 드라이버의 제어 프로그램의 기록 매체.
  26. 제24항에 있어서,
    상기 흐름 제어 수단의 분석 결과인 상기 특정 파일과 액세스 방법을 상기 데이터 처리 수단에 건네주고,
    상기 데이터 처리 수단에 의한 상기 판정의 결과가 정상이 될 때, 상기 데이터 처리 수단은 상기 액세스 명령을 파일 시스템 감시 드라이버 수단에 건네주고,
    상기 데이터 처리 수단은 액세스 로그를 작성하는 것을 특징으로 하는 전자계산기의 파일 시스템 드라이버의 제어 프로그램의 기록 매체.
  27. 제26항에 있어서,
    상기 참조 수단은, 상기 액세스 명령에 대응하는 변경을 상기 액세스 제어 데이터베이스에 넣는 것을 특징으로 하는 전자계산기의 파일 시스템 드라이버의 제어 프로그램의 기록 매체.
  28. 제24 또는 25항에 있어서,
    상기 판정은, 상기 특정 파일에 대한 상기 액세스 방법 칼럼의 값이 소정의 값일 때 상기 이상 결과를 출력하는 상기 데이터 처리 수단에 의해 수행하는 것을특징으로 하는 전자계산기의 파일 시스템 드라이버의 제어 프로그램의 기록 매체.
  29. 제28항에 있어서,
    상기 액세스 방법 칼럼은, 파일을 작성하는, 파일을 여는, 파일을 닫는, 파일을 독출하는, 파일을 기입하는, 파일의 액세스 기간, 및 파일의 액세스 시간대의 칼럼 중 적어도 하나 이상의 칼럼으로 이루어지고,
    상기 칼럼의 값은 정수, 기호, 및 단어로부터 선택되는 하나 이상으로 이루어지는 것을 특징으로 하는 전자계산기의 파일 시스템 드라이버의 제어 프로그램의 기록 매체.
  30. 제24항에 있어서,
    상기 데이터 처리 수단은, 상기 액세스의 액세스 로그를 출력하는 것을 특징으로 하는 전자계산기의 파일 시스템 드라이버의 제어 프로그램의 기록 매체.
  31. 제30항에 있어서,
    상기 전자계산기에 접속되어 있는 네트워크 카드에 의해 네트워크에 전송하기 위한 네트워크 출력 수단을 가지고,
    상기 네트워크 출력 수단에 의해 상기 액세스 로그를 상기 네트워크에 전송하는 것을 특징으로 하는 전자계산기의 파일 시스템 드라이버의 제어 프로그램의 기록 매체.
  32. 제24항으로부터 선택되는 1항에 있어서,
    상기 전자계산기의 입력장치로부터 입력되는 입력 데이터를 수신하는 입력 수단을 가지고,
    상기 데이터 처리 수단이 상기 입력장치의 기능을 정지시키는 것을 특징으로 하는 전자계산기의 파일 시스템 드라이버의 제어 프로그램의 기록 매체.
  33. 제32항에 있어서,
    상기 입력 수단으로부터의 상기 입력 데이터를 수신하여, 분석하고,
    상기 입력 데이터 중 특정의 데이터를 상기 응용 인터페이스 수단에 제공하는 것을 특징으로 하는 전자계산기의 파일 시스템 드라이버의 제어 프로그램의 기록 매체.
  34. 제32 또는 33항에 있어서,
    상기 입력 수단은 키보드이고,
    상기 기능의 정지는, 상기 키보드의 특정의 키로부터의 입력 데이터를 정지시키는 것을 특징으로 하는 전자계산기의 파일 시스템 드라이버의 제어 프로그램의 기록 매체.
  35. 제32 또는 33항에 있어서,
    상기 입력 수단은 마우스이고,
    상기 기능의 정지는, 상기 마우스로부터 입력되는 특정 데이터를 정지시키는 것을 특징으로 하는 전자계산기의 파일 시스템 드라이버의 제어 프로그램의 기록 매체.
  36. 제24항에 있어서,
    상기 전자계산기의 기억 수단에는, 상기 전자계산기를 이용하는 사용자를 개인 인증하기 위한 개인 인증 프로그램이 저장되어 있어,
    상기 개인 인증 프로그램은, 키보드의 키로부터 입력하는 키 입력을 취득하는 취득 수단과,
    상기 키 입력의 입력 특징을 이용하여 상기 개인 인증을 하여 상기 사용자를 특정하는 제1 인증 수단과,
    상기 액세스 제어 데이터베이스를 참조하여, 상기 사용자가 액세스 할 수 있는 범위를 나타내는 상기 조건을 취득하는 취득 수단과,
    상기 사용자의 액세스를 제어하기 위해서 상기 조건을 상기 흐름 제어 수단에 송신하는 제어 수단으로 이루어지는 것을 특징으로 하는 전자계산기의 파일 시스템 드라이버의 제어 프로그램의 기록 매체.
  37. 제36항에 있어서,
    상기 전자계산기와 네트워크에 의해 접속되어 있는 서버의 기억 수단에 제어프로그램과 사용자의 개인 정보, 제어 조건으로 이루어지는 제어 데이터베이스가 기억되어 있고,
    상기 전자계산기가 상기 키 입력을 상기 서버에 송신하는 송신 수단을 가지고,
    상기 제어 프로그램이,
    상기 송신 수단에 의해 송신된 송신 데이터를 취득하는 수신 수단과,
    상기 송신 데이터에 포함되는 상기 키 입력의 입력 특징을 이용하여 상기 개인 인증을 하여 상기 사용자를 특정하는 제2 인증 수단과,
    상기 제어 데이터베이스를 참조하여, 상기 사용자가 액세스 할 수 있는 범위를 나타내는 상기 조건을 취득하는 데이터베이스 참조 수단과,
    상기 사용자의 액세스를 제어하기 위해서 상기 조건과 제어 명령을 상기 전자계산기에 송신하는 제어 조건 송신 수단을 갖는 것을 특징으로 하는 전자계산기의 파일 시스템 드라이버의 제어 프로그램의 기록 매체.
KR1020047006909A 2002-02-27 2003-02-27 전자계산기의 파일 시스템 드라이버의 제어 방법 및 그 프로그램을 기록한 컴퓨터 판독 가능한 기록매체 KR100991895B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JPJP-P-2002-00050778 2002-02-27
JP2002050778 2002-02-27
PCT/JP2003/002209 WO2003073289A1 (en) 2002-02-27 2003-02-27 Computer file system driver control method, program thereof, and program recording medium

Publications (2)

Publication Number Publication Date
KR20040088461A true KR20040088461A (ko) 2004-10-16
KR100991895B1 KR100991895B1 (ko) 2010-11-04

Family

ID=27764288

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020047006909A KR100991895B1 (ko) 2002-02-27 2003-02-27 전자계산기의 파일 시스템 드라이버의 제어 방법 및 그 프로그램을 기록한 컴퓨터 판독 가능한 기록매체

Country Status (7)

Country Link
US (2) US7624135B2 (ko)
EP (1) EP1489516B1 (ko)
JP (2) JP4257909B2 (ko)
KR (1) KR100991895B1 (ko)
CN (1) CN100444128C (ko)
AU (1) AU2003211375A1 (ko)
WO (1) WO2003073289A1 (ko)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2523586A1 (en) * 2003-05-01 2004-11-11 Axonwave Software Inc. A method and system for concept generation and management
US9678967B2 (en) 2003-05-22 2017-06-13 Callahan Cellular L.L.C. Information source agent systems and methods for distributed data storage and management using content signatures
US20070276823A1 (en) * 2003-05-22 2007-11-29 Bruce Borden Data management systems and methods for distributed data storage and management using content signatures
EP2284749B1 (en) * 2004-04-26 2015-06-03 Sap Se Method, computer program and device for executing actions using data sets
US20080307522A1 (en) * 2004-07-05 2008-12-11 Science Park Corporation Data Management Method, Program For the Method, and Recording Medium For the Program
US7428642B2 (en) * 2004-10-15 2008-09-23 Hitachi, Ltd. Method and apparatus for data storage
CA2486103A1 (en) * 2004-10-26 2006-04-26 Platespin Ltd. System and method for autonomic optimization of physical and virtual resource use in a data center
US7721298B2 (en) * 2004-12-03 2010-05-18 Microsoft Corporation Operating system performance
US20060173803A1 (en) * 2005-01-28 2006-08-03 Morris Robert P Method and system for associating specific files with different applications
US7945917B2 (en) * 2005-05-31 2011-05-17 Science Park Corporation Monitoring method, monitoring system, system program and recording medium having program recorded thereon
US7464341B2 (en) * 2005-06-30 2008-12-09 International Business Machines Corporation Canceling window close commands
JP2007065825A (ja) * 2005-08-30 2007-03-15 Tsubasa System Co Ltd ドライブ装置のアクセス制御システム
US7523468B1 (en) * 2005-09-16 2009-04-21 Nvidia Corporation Virtual processing chains
US7523467B1 (en) * 2005-09-16 2009-04-21 Nvidia Corporation Virtual processing chains
US8656487B2 (en) 2005-09-23 2014-02-18 Intel Corporation System and method for filtering write requests to selected output ports
WO2007049625A1 (ja) * 2005-10-24 2007-05-03 Science Park Corporation 電子計算機のデータ管理方法、プログラム、及び記録媒体
US7587570B2 (en) * 2006-05-31 2009-09-08 International Business Machines Corporation System and method for providing automated storage provisioning
JP4791909B2 (ja) * 2006-08-21 2011-10-12 株式会社東芝 高速入出力機能を備える制御装置、及びその制御データの制御方法
JP5140978B2 (ja) * 2006-09-26 2013-02-13 カシオ計算機株式会社 クライアント装置およびプログラム
JP2008090491A (ja) * 2006-09-29 2008-04-17 Brother Ind Ltd Ftp通信システム
JP4653150B2 (ja) * 2007-10-11 2011-03-16 Sky株式会社 ファイル制御システム
US9225778B2 (en) * 2008-05-07 2015-12-29 Telefonaktiebolaget L M Ericsson (Publ) System for delivery of content to be played autonomously
US8732417B1 (en) * 2008-10-15 2014-05-20 Symantec Corporation Techniques for creating snapshots of a target system
WO2010071516A1 (en) 2008-12-18 2010-06-24 Telefonaktiebolaget L M Ericsson (Publ) Method for content delivery involving a policy database
JP5399094B2 (ja) * 2009-02-25 2014-01-29 株式会社日立情報通信エンジニアリング 補助記憶装置用フィルタドライバ手段を備えた電子計算機、補助記憶装置用フィルタドライバプログラム、及び、補助記憶装置用フィルタドライバプログラムの記録媒体
US9330274B2 (en) * 2009-03-13 2016-05-03 Symantec Corporation Methods and systems for applying parental-control policies to media files
JP5623712B2 (ja) * 2009-06-15 2014-11-12 キヤノン電子株式会社 情報処理装置、情報処理システム、制御方法、プログラム、及び記憶媒体
CN101841527A (zh) * 2010-03-05 2010-09-22 北京星网锐捷网络技术有限公司 网络通讯装置及方法
US9064111B2 (en) * 2011-08-03 2015-06-23 Samsung Electronics Co., Ltd. Sandboxing technology for webruntime system
US9244909B2 (en) * 2012-12-10 2016-01-26 General Electric Company System and method for extracting ontological information from a body of text
US9424267B2 (en) 2013-01-02 2016-08-23 Oracle International Corporation Compression and deduplication layered driver
JP6183034B2 (ja) * 2013-07-30 2017-08-23 富士通株式会社 アクセス制御プログラム、アクセス制御方法およびシステム
WO2016012754A2 (en) * 2014-07-21 2016-01-28 Alpha Metals, Inc. Low temperature high reliability alloy for solder hierarchy
RU2638735C2 (ru) * 2016-04-25 2017-12-15 Акционерное общество "Лаборатория Касперского" Система и способ оптимизации антивирусной проверки неактивных операционных систем
RU2639666C2 (ru) * 2016-04-25 2017-12-21 Акционерное общество "Лаборатория Касперского" Удаление следов вредоносной активности из операционной системы, которая в настоящий момент не загружена на компьютерном устройстве
US20180096127A1 (en) * 2016-09-30 2018-04-05 Salesforce.Com, Inc. Associating multiple e-learning identities with a single user

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4740890A (en) * 1983-12-22 1988-04-26 Software Concepts, Inc. Software protection system with trial period usage code and unlimited use unlocking code both recorded on program storage media
DE69027961T2 (de) * 1989-09-06 1997-01-09 Takeda Chemical Industries Ltd Protein, DNA und ihre Verwendung
JPH0696304A (ja) * 1992-09-14 1994-04-08 Toshiba Corp メモリカード
JPH06187213A (ja) * 1992-12-17 1994-07-08 Fuji Xerox Co Ltd ファイルアクセス履歴管理方式
JP3335801B2 (ja) * 1995-07-05 2002-10-21 株式会社日立製作所 異種ファイルへのアクセスを可能とする情報処理システム及びその制御方法
JPH09150566A (ja) * 1995-11-30 1997-06-10 Toshiba Corp 情報処理方法および情報処理装置
JPH10187317A (ja) * 1996-12-26 1998-07-14 Toshiba Corp コンピュータシステム及び同システムに適用するキーボード制御装置
WO1999010364A1 (en) * 1997-08-29 1999-03-04 Human Genome Sciences, Inc. Follistatin-3
US6249866B1 (en) * 1997-09-16 2001-06-19 Microsoft Corporation Encrypting file system and method
JPH11296423A (ja) * 1998-04-06 1999-10-29 Matsushita Electric Ind Co Ltd ファイル管理システム、ファイル管理装置および媒体
JP2000305654A (ja) * 1999-04-15 2000-11-02 Kazunari Men キーボードの入力特徴を用いた個人認証
JP2001084049A (ja) * 1999-09-09 2001-03-30 Canon Inc コンピュータ及びコンピュータのセキュリティ方法
AU7735600A (en) * 1999-10-01 2001-05-10 Infraworks Corporation Port blocking method and system
JP2001175524A (ja) 1999-12-17 2001-06-29 Sony Corp 情報処理装置および方法、並びにプログラム格納媒体
KR20020001046A (ko) * 2000-06-24 2002-01-09 문성수 드라이버 등록 시스템
JP2002229991A (ja) * 2001-01-31 2002-08-16 Fujitsu Ltd サーバ,ユーザ端末,情報提供サービスシステムおよび情報提供サービス方法
US7003670B2 (en) * 2001-06-08 2006-02-21 Musicrypt, Inc. Biometric rights management system
US7962950B2 (en) * 2001-06-29 2011-06-14 Hewlett-Packard Development Company, L.P. System and method for file system mandatory access control

Also Published As

Publication number Publication date
EP1489516B1 (en) 2019-10-02
CN1620647A (zh) 2005-05-25
JP4257909B2 (ja) 2009-04-30
WO2003073289A1 (en) 2003-09-04
JPWO2003073289A1 (ja) 2005-06-23
US8150897B2 (en) 2012-04-03
CN100444128C (zh) 2008-12-17
US7624135B2 (en) 2009-11-24
US20100030782A1 (en) 2010-02-04
EP1489516A4 (en) 2010-06-09
JP4350150B2 (ja) 2009-10-21
JP2008171433A (ja) 2008-07-24
AU2003211375A1 (en) 2003-09-09
KR100991895B1 (ko) 2010-11-04
EP1489516A1 (en) 2004-12-22
US20050120359A1 (en) 2005-06-02

Similar Documents

Publication Publication Date Title
KR100991895B1 (ko) 전자계산기의 파일 시스템 드라이버의 제어 방법 및 그 프로그램을 기록한 컴퓨터 판독 가능한 기록매체
JP4167300B2 (ja) データ処理方法および装置
JP3979285B2 (ja) 情報処理システム
US6272631B1 (en) Protected storage of core data secrets
EP0398492B1 (en) A flexible interface to authentication services in a distributed data processing system
US7895573B1 (en) Execution environment file inventory
US6122631A (en) Dynamic server-managed access control for a distributed file system
EP1166211B1 (en) Network vault
CN1773417B (zh) 聚集反病毒软件应用程序的知识库的系统和方法
US20050086447A1 (en) Program and apparatus for blocking information leaks, and storage medium for the program
CN101894225A (zh) 聚集反病毒软件应用程序的知识库的系统和方法
Gligor et al. Design and implementation of secure Xenix
JPH04310188A (ja) 文書/画像ライブラリのためのライブラリサービス方法
BRPI0616018A2 (pt) sistemas e métodos de segurança para redes de computador
US8683549B2 (en) Secure data storage and retrieval incorporating human participation
US7363328B2 (en) Method and system for modifying schema definitions
JP3976738B2 (ja) 機密文書管理装置、機密文書管理方法および機密文書管理プログラム
JPWO2003069491A1 (ja) 電子計算機の入力装置の入力特徴を用いた個人認証方法、そのプログラム及びプログラムの記録媒体
Bishop et al. Goal-oriented auditing and logging
KR20030090568A (ko) 단말기 내의 자원 보호 시스템 및 방법
Siriah et al. MongoDB with privacy access control
JP4371995B2 (ja) 共有ファイルのアクセス制御方法、システム、サーバ装置、及びプログラム
Vincenzetti et al. Anti tampering program
KR20020060517A (ko) 프로세스 아이디와 저장공간 아이디를 이용한 문서 파일보안 방법
JP2005011052A (ja) データベース管理方法およびシステム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
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: 20131010

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20141007

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150907

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160908

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20171012

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180913

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20190917

Year of fee payment: 10