KR101153152B1 - 강화된 보안 모델을 제공하는 시스템 및 방법 - Google Patents

강화된 보안 모델을 제공하는 시스템 및 방법 Download PDF

Info

Publication number
KR101153152B1
KR101153152B1 KR1020057011829A KR20057011829A KR101153152B1 KR 101153152 B1 KR101153152 B1 KR 101153152B1 KR 1020057011829 A KR1020057011829 A KR 1020057011829A KR 20057011829 A KR20057011829 A KR 20057011829A KR 101153152 B1 KR101153152 B1 KR 101153152B1
Authority
KR
South Korea
Prior art keywords
security
item
acl
delete delete
access
Prior art date
Application number
KR1020057011829A
Other languages
English (en)
Other versions
KR20060109286A (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 KR20060109286A publication Critical patent/KR20060109286A/ko
Application granted granted Critical
Publication of KR101153152B1 publication Critical patent/KR101153152B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • 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/2145Inheriting rights or properties, e.g., propagation of permissions or restrictions within a hierarchy
    • 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/99931Database or file accessing
    • 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/99931Database or file accessing
    • Y10S707/99939Privileged access

Abstract

본 발명은 계층적 데이터베이스 또는 저장 구조 내에 상주하는 (또는 관련된) 데이터 항목들에 대한 보안을 용이하게 하기 위한 시스템 및 방법론에 관한 것이다. 하나 이상의 데이터 항목에 관련된 계층적 데이터 구조를 갖는 데이터베이스 보안 시스템이 제공된다. 시스템은 전역 위치로부터의 데이터 항목들 또는 데이터베이스에 관련된 지역에 보안 정책을 적용하는 보안 컴포넌트를 포함한다. 직면하거나 프로세싱된 데이터 구조의 유형에 의존하여 명시적 및/또는 상속된 보안 속성들이 데이터 항목들에 의해 수신되고 데이터 항목들에 전달되도록 하기 위해 다양한 컴포넌트 및 프로세스가 이용된다.
Figure R1020057011829
보안, 상속, 계층, 규칙, 정책

Description

강화된 보안 모델을 제공하는 시스템 및 방법{SYSTEM AND METHODS PROVIDING ENHANCED SECURITY MODEL}
<상호참조>
본 출원은 2003년 10월 23일 출원된 미국 특허 출원번호 10/691,999, 제목 "강화된 보안 모델을 제공하는 시스템 및 방법(SYSTEM AND METHODS PROVIDING ENHANCED SECURITY MODEL)"의 우선권을 주장하며, 그 내용 전체가 본 명세서에 참조로서 포함된다.
본 발명은 일반적으로 컴퓨터 시스템에 관한 것이며, 보다 상세하게는, 계층적으로 배열된 데이터 항목들에 따라 강화된 보안 모델을 이용하는 시스템 및 방법에 관한 것이다.
현대의 운영 시스템은 여러 다양한 요구를 만족시키면서 하드웨어 및 소프트웨어 개발 둘 모두를 위한 플랫폼을 제공함으로써 오늘날의 여러 기술-기반 혁신을 이룬다. 이러한 시스템들은 아주 단순한 파일 관리 시스템으로부터 합리적인 비용으로 하이-엔드(high-end) 성능을 제공하는 보다 복잡한 워크스테이션으로 발전되어 왔다. 그러한 시스템들은 종종, 예를 들어, 멀티-프로세싱 아키텍처, 고속 메모리, 진보된 주변 장치들, 소프트웨어 개발을 돕기 위한 다양한 시스템 라이브러 리 및 컴포넌트들, 및 복잡한/인터리빙된 버스 아키텍처들을 포함한다. 이러한 시스템들의 핵심에는 컴퓨터-관련 하드웨어뿐 아니라 다양한 관계를 갖는 소프트웨어 컴포넌트들의 거대한 어레이도 관리하는 정교한 운영 시스템을 포함한다. 이러한 컴포넌트들은 종종 여러 데이터 관리 시스템에서 발견되는 파일 및 디렉토리에 대한 계층적 트리 배열에서와 같이 다층(multi-tiered) 관계를 갖는 객체 또는 클래스의 용어로 기술된다.
신흥 기술들은 데이터베이스 내에 객체들을 저장하고 관리하기 위한 기타 유형 구조 및 모델을 산출하였다. 이들은 각각의 항목들 또는 객체들 사이에 다수의 관계를 가능하게 하는 포함 계층(containment hierarchies)과 같은 계층 구조를 포함한다. 그러한 계층들은 종종 방향 비순환 그래프(directed acyclic graph, DAG)로서 모델링되고, 포함 계층의 루트 노드로부터의 항목에 여러 경로 관계를 지원한다. 그러나, 수반된 데이터 구조의 유형에 관계없이, 엔터티들(예를 들어, 사용자 또는 기타 컴포넌트)이 각 구조들에 상주하는 객체 또는 항목에의 액세스를 어떻게 허가받는지를 결정하고 또한 그러한 허가를 용이하게 하기 위하여 보안 모델들이 이러한 시스템에 적용되었다.
여러 양상에 있어서, 현재의 보안 모델들은 안전하고 효율적으로 데이터를 관리하기 위하여 운영 시스템의 효율성을 제한한다. 예를 들어, 한 보안 모델은 액세스 제어 리스트(Access Control List, ACL)를 계층에 있는 모든 파일 또는 디렉토리와 관련시킴으로써 보안을 구현한다. 그 후 상속 모델은 디렉토리에 있는 새로 생성된 항목들에 대해 디폴트 ACL을 명기하기 위한 지원을 제공하지만, 그 후 만약 디렉토리에 대한 ACL이 변경되면, 그 디렉토리 하의 계층에 포함된 파일 및 폴더들은 자동으로 갱신되지 않는다. 또한, 임의의 디렉토리에서 명기된 ACL은, 예를 들어, 더 높은 레벨의 API를 사용하여 전달될 수 있다. 결과적으로, 모든 항목은 자신 위의 보안 정책을 오버라이딩할 수 있고, 위로부터의 상속성을 명시적으로 포함하든지 또는 새로 생성된 ACL이 그 계층 아래로 전달될 때에만 재상속하도록, 자신의 레벨에서 ACL을 명기할 수 있다. 불행하게도, 볼륨(volume) 레벨에서, 이러한 상이한 보안 정책들이 추적되는 단일 장소가 존재하지 않기 때문에(그들은 일반적으로 항목 별로 추적됨), 그 레벨에서 결과 보안 정책을 결정하는 것은 불가능하지 않으면 매우 어렵다.
상기에 언급된 바와 같이, 만약 새로운 ACL이 디렉토리에 명기되면, 그것은 계층 아래로 전달될 수 있지만, 이것은 보통 그 계층에 있는 모든 파일 및 디렉토리 상에서 실행되는 동작들을 수반한다. 상당히 거대한 볼륨에 대해, 이것은 과도한 양의 시간이 걸릴 수 있다. 단일-인스턴싱(single-instancing)은 포함 경로에 관계없이 발생하기 때문에, 단일-인스턴싱 ACL조차도 이러한 이슈를 완화하지 못 한다는 점을 유의해야 한다. 따라서, 만약 두 계층이 자신이 포함하는 항목에 대해 우연히 동일한 ACL을 갖게 되었다면, 그리고 만약 그들 중 하나에 대한 정책이 변경되었다면, 그것은 나머지 계층에 대한 정책 역시 변경할 것이기 때문에, 단순히 단일-인스턴스 테이블을 갱신하는 것은 부적합할 것이다.
현재의 보안 모델들의 기타 문제들은 ACL 상속성과 함께 고려될 때 의미론적 문제를 제공하는 항목들 사이의 하드 링크의 존재를 수반한다. 예를 들어, 폴더1 아래에 항목이 생성될 때, 그것은 폴더1로부터 디폴트 ACL1을 수신한다. 폴더2로부터 그 항목으로의 후속하는 링크의 생성은 보안을 변경하지 않는다. 그러나, 만약 폴더2 상의 새로운 ACL3이 항목의 계층에 적용되면, 그것은 그 항목에 대한 ACL 역시 변경한다. 그 후, 만약 새로운 ACL이 폴더1 상에서 적용된다면, 그것은 그 항목으로 상속된다. 결과적으로, 마지막으로 누가 또는 무엇을 작성하던지, 기존의 상속된 ACL을 덮어쓴다. 이러한 유형의 보안 배열은 적어도 혼돈스럽고 보다 종종 매우 바람직하지 않은 예측할 수 없는 것이다.
<발명의 요약>
다음은 본 발명의 소정 양상의 기본적인 이해를 제공하기 위하여 본 발명의 단순화된 요약을 제공한다. 이 요약은 본 발명의 광범위한 개요가 아니다. 본 발명의 주요/결정적인 구성요소들을 식별하거나 본 발명의 범위를 서술하고자 하는 것은 아니다. 유일한 목적은 후에 제공되는 보다 상세한 설명에 대한 도입부로서 단순화된 형태로 본 발명의 소정 개념들을 제공하는 것이다.
본 발명은 계층적으로 배열된 데이터 항목들에 대해 예측가능하고 전역화된 보안 모델을 제공하는 시스템 및 방법에 관한 것이다. 그러한 계층들은 실질상, 예를 들어, 임의의 유형의 공통 트리 구조와 같이 계층적으로 배열된 항목들 또는 방향 비순환 그래프(DAG)와 같이 보다 정교한 데이터 구조를 포함할 수 있다. 한 양상에서, 보안 정책들이 데이터베이스 내에 매핑되는 하나 이상의 보안 지역으로부터와 같이 보다 포괄적인 방식으로 적용되도록 하는 보안 컴포넌트가 제공된다. 이러한 정책들은 수반된 데이터 구조의 유형과 관련된 경로 또는 지역의 여러 부분 들로부터 상속될 수 있는 명시적으로 정의된 정책들 및/또는 보다 일반화된 정책들을 포함할 수 있다(예를 들어, 트리 구조에 대한 하나의 방식 및 포함 계층에 대한 후속하는 방식으로 적용된 보안 정책들). 각각의 보안 정책들은 계층적 구조 내에서 데이터 항목 별로 개별 보안 파일을 적용하는 것과 반대로 데이터베이스의 지역 또는 전역 레벨에서 적용되기 때문에, 본 발명은 데이터베이스 성능을 상당히 증가시킨다. 데이터 항목들이 데이터베이스에 추가될 때 역시 계속하여 양이 증가하는 다수의 분리된 보안 파일을 생성/관리하는 기존의 시스템 보안 모델들에 관련된 컴퓨팅 동작들을 경감시킴으로써, 성능 증가가 달성된다.
본 발명의 또다른 양상에서, 보안 정책들이 자동으로 데이터베이스 항목들과 관련되도록 하기 위해 다양한 컴포넌트 및 프로세스가 제공된다. 이러한 컴포넌트들은 이용된 데이터 구조의 유형에 의존하여 각 항목에 보안 정책을 매핑하는 보안 모델을 정의한다. 예를 들어, 데이터베이스의 한 유형에서, 포함 계층은 계층에 나타나는 항목들 사이의 여러 보유 관계(holding relationship)를 포함할 수 있다. 보유 관계는 개개의 항목에 대해 보안 정책을 전달하기 위해 이용될 수 있는데, 정책은 명시된 부분(예를 들어, 시스템 관리자에 의해 정의됨) 및 항목에 관련된 부모 및/또는 다른 컴포넌트들로부터 수신된 상속된 부분 둘 모두를 포함할 수 있다. 따라서, 계층 구조에 따라 계층의 루트로부터 개개의 항목에의 경로의 브랜치(branch)를 따라 항목이 보안 정책을 상속하게 하는 규칙이 모델링될 수 있다. 또한, 만약, 트리의 루트 노드에서 개개의 데이터 항목까지의 사이에 하나의 경로가 존재하는 경우와 같이, 보다 전통적인 트리 배열에 직면하면, 보안 정책들의 대안 적인 매핑이 적용될 수 있다. 직면한 계층의 유형에 의존하여 보안 정책들을 매핑하기 위한 다양한 접근법을 제공함으로써, 본 발명은 기존의 보안 기술들에 관련된 불확실성을 완화함으로써 시스템 성능을 용이하게 하고 안정성을 증진하는 견고한 보안 모델을 제공한다.
전술한 목적 및 관련 목적의 달성을 위해, 후술하는 설명 및 첨부된 도면들과 함께 본 발명의 예시적인 양상들이 기술된다. 이러한 양상들은 본 발명이 실행될 수 있는 다양한 방식을 나타내며, 모두 본 발명에 의해 포함되도록 의도된다. 본 발명의 기타 이점 및 새로운 특성들은 도면들과 함께 고려될 때 본 발명의 후술하는 상세 설명으로부터 명백해질 수 있다.
도 1은 본 발명의 양상에 따른 데이터베이스 보안 시스템 및 모델의 개략적 블럭도.
도 2는 본 발명의 양상에 따른 액세스 제어 리스트 및 순서화 컴포넌트의 도면.
도 3은 본 발명의 양상에 따른 보안 정책 분배를 도시하는 도면.
도 4는 본 발명의 양상에 따른 액세스 마스크 예를 도시하는 도면.
도 5는 본 발명의 양상에 따른 유사하게 보호된 보안 지역들에 대한 데이터 구조 예를 도시하는 도면.
도 6는 본 발명의 양상에 따른 보안 지역 생성을 도시하는 도면.
도 7은 본 발명의 양상에 따른 보안 프로세스를 도시하는 흐름도.
도 8은 본 발명의 양상에 따른 적합한 운영 환경을 도시하는 개략적 블럭도.
도 9는 본 발명이 상호작용할 수 있는 예시적인-컴퓨팅 환경의 개략적 블럭도.
본 발명은 계층적 데이터베이스 또는 저장 구조(예를 들어, 다양한 노드로 분기하는 계층적 트리) 내에 상주하는 (또는 계층적 데이터베이스나 저장 구조에 관련된) 데이터 항목들에 대한 보안을 용이하게 하기 위한 시스템 및 방법론에 관한 것이다. 한 양상에서, 하나 이상의 데이터 항목에 관련된 계층적 데이터 구조를 갖는 데이터베이스 보안 시스템이 제공된다. 시스템은 데이터베이스에 관련된 전역 위치 또는 지역으로부터의 데이터 항목들에 보안 정책을 적용하는 보안 컴포넌트를 포함한다. 직면하거나 프로세싱된 데이터 구조의 유형에 의존하여 명시된 및/또는 상속된 보안 속성들이 데이터 항목들에 의해 수신되고 데이터 항목들에 전달되도록 하기 위해 다양한 컴포넌트 및 프로세스들이 이용된다. 항목 레벨과 대조적으로, 데이터베이스의 전역, 볼륨(volume), 또는 지역 레벨에서 보안 정책들 및/또는 속성들을 관련시킴으로써, 데이터베이스 프로세싱 동작들은 일반적으로 데이터베이스에 상주하는 개개의 데이터 항목들과 개개의 보안 파일들을 링크하는 기존의 시스템들에 대해 완화된다.
본 출원에서 사용된 바와 같이, "컴포넌트", "트리", "모델", "시스템" 등의 용어는 하드웨어든지, 하드웨어와 소프트웨어의 조합, 소프트웨어 또는 실행중인 소프트웨어든지 컴퓨터-관련 엔터티를 일컫기 위한 것이다. 예를 들어, 컴포넌트 는 프로세서에서 동작하는 프로세스, 프로세서, 객체, 실행파일, 실행의 스레드, 프로그램 및/또는 컴퓨터일 수 있지만, 이들로 제한되지는 않는다. 예시로서, 서버 상에서 동작하는 어플리케이션 및 그 서버 둘 모두 컴포넌트일 수 있다. 하나 이상의 컴포넌트가 프로세스 및/또는 실행의 스레드 내에 상주할 수 있고, 컴포넌트는 하나의 컴퓨터에 편중될 수 있고/거나 둘 이상의 컴퓨터에 분산될 수 있다.
먼저 도 1을 참조하면, 본 발명의 양상에 따른 데이터베이스 보안 시스템 및 모델(100)이 도시된다. 시스템(100)은 데이터베이스 내의 전역적인 또는 지역화된 위치로부터 관리되는(또한 데이터베이스 외부의 원격 위치들로부터 관리될 수도 있는) 보안 컴포넌트(120)(또는 컴포넌트들)를 갖는 데이터베이스(110)를 포함한다. 데이터베이스(120)는 하나 이상의 계층적 구조(130 및 140)를 포함한다. 그러한 계층들은 실질상 임의의 유형의 공통 트리 구조(130)와 같이 계층적으로 배열된 데이터 항목들(타원형의 노드들로서 도시됨) 또는 일반적으로 방향 비순환 그래프(DAG)로서 모델링되는 포함 계층(140)과 같이 보다 정교한 데이터 구조를 포함할 수 있다. 트리(130) 및 포함 계층(140)(DAG로도 칭함)이 도시되지만, 본 발명의 보안 모델은 실질상 임의의 유형의 계층적 데이터 구조에 적용될 수 있다는 점을 잘 알아야 한다. 하기에 보다 상세히 설명될 것과 같이, 보안 컴포넌트(120)로부터 개개의 계층들(130 및 140)에의 보안 정책들을 관리하기 위해 다양한 프로세스 및 컴포넌트들이 이용된다.
본 발명의 한 양상에서, 보안 컴포넌트(120)는 보안 정책들이 데이터베이스(110)내에서/로부터 매핑되는 하나 이상의 보안 지역(150)으로부터와 같이 보다 전 역적인 방식으로 적용되도록 한다. 이러한 정책들은 명시적으로 정의된 정책들 또는 속성들(160), 및/또는 수반된 데이터 구조의 유형에 관련된 경로 또는 지역의 다양한 부분들로부터 상속될 수 있는 보다 일반화된 정책들 또는 속성들(170)을 포함할 수 있다. 예를 들어, 보안 정책들은 원한다면 트리 구조(130)에 대한 한 방식으로 및 DAG(140)에 대한 후속하는 방식으로 적용될 수 있다.
상기에 언급된 바와 같이, 보안 정책들이 자동으로 데이터 항목들에 관련되도록 하기 위해 다양한 컴포넌트 및 프로세스들이 제공된다. 이러한 컴포넌트들은 이용된 데이터 구조의 유형에 의존하여 계층들(130 및 140)에 있는 개개의 항목에 보안 컴포넌트(120)로부터 보안 정책을 매핑하는 보안 모델을 정의한다. 예를 들어, 한 유형의 구조에서, 포함 계층은 계층에 나타나는 항목들 사이의 다양한 보유 관계를 포함할 수 있다. 보유 관계는 개개의 항목에 대해 보안 정책을 전달하기 위해 이용될 수 있는데, 정책은 명시된 부분(160)(예를 들어, 시스템 관리자에 의해 정의됨), 및/또는 항목에 관련된 부모 및/또는 다른 컴포넌트들로부터 수신된 상속된 부분(170)을 포함할 수 있다. 따라서, 계층 구조에 따라 항목이 계층의 루트로부터 개개의 항목에의 경로의 브랜치들을 따라 보안 정책을 상속하도록 하는 규칙들이 제공될 수 있다. 또한, 트리의 루트 노드에서 개개의 데이터 항목 사이에 하나의 경로가 존재하는 경우와 같이, 보다 전통적인 트리 배열에 직면하면, 보안 정책들의 대안적인 매핑이 적용될 수 있다.
데이터베이스(110) 및/또는 계층들(130/140)이 항목 스토어(예를 들어, 데이터베이스의 메모리 지역)로서 모델링될 수 있다는 점이 주목된다. 보안 정책이 명 기되고 시행될 수 있는 정밀도(granularity)는 일반적으로 주어진 스토어에 있는 항목에 대한 다양한 동작들의 레벨에 있다. 일반적으로, 보안 컴포넌트(120)(또는 모델)는, 예를 들어, 액세스 제어 리스트(ACL)를 통해 항목에 대해 이러한 동작들을 수행하기 위해 액세스를 허가받거나 거부될 수 있는 원칙들의 집합을 명기한다. 개개의 ACL은 전형적으로 하기에 보다 상세히 기술되는 액세스 제어 엔트리(Access Control Entry, ACE)의 순서화 컬렉션이다.
항목에 대한 보안 정책은, 예를 들어, 이러한 정책들의 ACL의 집합으로서 모델링될 수 있는 임의의 액세스 제어 정책 및 시스템 액세스 제어 정책에 의해 기술될 수 있다. 첫번째 집합(임의(discretionary) ACL - DACL)은 항목의 소유자에 의해 다양한 원칙에 허가된 임의 액세스를 기술하는 반면, ACL의 두번째 집합은 객체가 조작될 때 시스템 감사가 어떻게 달성되는지를 명기하는 SACL(시스템 액세스 제어 리스트)라 칭한다. 이러한 리스트들 이외에, 항목 스토어에 있는 항목들은 일반적으로 항목의 소유자(소유자 SID)에 대응하는 보안 식별자(SID)에 관련된다.
항목 스토어에 있는 항목들을 조직화하기 위한 한 양상은 참조번호(140)에 도시된 바와 같은 포함 계층의 양상이다. 일반적으로, 포함 계층은 항목들 사이의 보유 관계들을 통해 실현된다. 예를 들어, "A는 B를 포함한다"로 표현된 두 항목 A 및 B 사이의 보유 관계는 항목 A가 항목 B의 수명에 영향을 주는 것을 가능하게 한다. 전형적으로, 항목 스토어에 있는 항목은 또다른 항목으로부터 자신에게의 보유 관계가 존재할 때까지 존재할 수 없다. 이 규칙에 대한 한 가지 예외가 포함 계층의 루트이다. 상기에 언급된 바와 같이, 항목의 수명을 제어하는 것 외에 보 유 관계는 항목에 대한 보안 정책을 전달하기 위한 컴포넌트를 제공한다.
개개의 항목에 대해 명기된 보안 정책은 일반적으로 두 개의(또는 그 이상의) 부분을 포함하는데, 그 항목에 대해 명시적으로 명기된 부분 및 항목 스토어에서 항목의 부모로부터 상속되는 부분이 그것이다. 항목에 대해 명시적으로 정의된 보안 정책 또한 두 개의(또는 그 이상의) 부분을 포함할 수 있는데, 고려중인 항목에의 액세스를 지배하는 부분 및 포함 계층 또는 다른 계층 구조에서 자손들에 의해 상속된 보안 정책에 영향을 주는 부분이 그것이다. 자손에 의해 상속된 보안 정책은 명시적으로 정의된 정책 및 상속된 정책의 일반적인 함수이다.
이제 도 2를 참조하면, 본 발명의 양상에 따른 액세스 제어 리스트(200) 및 순서화 컴포넌트(210)가 도시된다. 상기에 언급된 바와 같이, 보안 정책들은 일반적으로 포함 계층에서 보유 관계들을 통해 전달된다. 보안 정책이 보유 관계들을 통해 전달되고, 또한 항목에서 오버라이딩될 수 있기 때문에, 다음은 항목에 대한 효율적인 보안 정책이 어떻게 결정되는지를 기술한다. 예를 들어, 포함 계층의 항목은 항목 스토어의 루트로부터 항목에의 경로를 따라 ACL을 상속한다. 주어진 경로에 대해 상속된 ACL 내에서, ACL(200)의 다양한 액세스 제어 엔트리(ACE)의 순서화는 일반적으로 시행되는 최종 보안 정책(final security policy)을 결정한다. 다음 표기는 순서화 컴포넌트(210)를 통해 ACL에 있는 ACE의 순서화를 기술한다.
항목에 의해 상속되는 ACL에 있는 ACE의 순서화는 다음 규칙들에 의해 결정될 수 있다.
규칙 1
항목(I)에서 상속된 ACL(L)에 대해
항목들 I1, I2에 대해
L에 있는 ACE A1 및 A2에 대해
I1은 I2의 조상이고
I2는 I3의 조상이며
A1은 I1으로부터 상속된 ACE이고
A2는 I2로부터 상속된 ACE이다
라는 것은 다음을 의미한다.
A2는 L에서 A1보다 우선한다.
상기 규칙은 포함 계층의 루트로부터 항목 I에의 경로에 있는 다양한 항목들로부터 상속된 ACE를 계층화한다. 더 가까운 포함자(container)로부터 상속된 ACE는 거리가 먼 포함자로부터 상속된 엔트리들보다 우선한다. 직관적으로, 이것은 포함 계층에서 더 먼 곳으로부터 상속된 ACE를 관리자가 오버라이딩하도록 하는 기능을 허용한다.
다음 규칙은 항목에의 액세스를 거부하는 ACE를 항목에의 액세스를 허가하는 ACE보다 우선하여 순서화한다.
규칙 2
항목(I)에서 상속된 ACL(L)에 대해
항목 I1에 대해
L에 있는 ACE A1 및 A2에 대해
I1은 I2의 조상이고
A1은 I1으로부터 상속된 ACCESS_DENIED_ACE이며
A2는 I1으로부터 상속된 ACCESS_GRANTED_ACE이다
라는 것은 다음을 의미한다.
A1은 L에서 A2보다 우선한다.
도 3을 참조하면, 본 발명의 양상에 따른 보안 정책 분배를 도시한다. 시스템(300)은 트리 구조(320) 및/또는 DAG(330)에 하나 이상의 보안 정책들(310)을 전개한다. 트리(320)인 포함 계층의 경우에, 트리의 루트로부터 항목으로 하나의 경로가 존재하고, 따라서 항목은 하나의 상속된 ACL(340)을 갖는다. 이러한 상황 하에서, 항목에 의해 상속된 ACL은 기존 보안 모델에서의 ACE들의 상대적 순서화의 관점에서 볼 때, 그러한 보안 모델들의 파일(항목)에 의해 상속된 ACL과 일치한다. 그러나, 포함 계층이 방향 비순환 그래프(DAG)(330)인 경우, 다수의 보유 관계가 항목들에 허용된다. 이러한 상황 하에서, 포함 계층의 루트로부터 항목으로 다수의 경로가 존재한다. 항목들이 관련되는 경로들에 따라 항목이 ACL을 상속하기 때문에, 단일 ACL에 반대되는 것으로서 ACL의 컬렉션이 참조번호(350)에서 이용된다.
상기 기술된 모델이, 정확히 하나의 ACL이 파일 또는 폴더에 관련되는 파일 시스템 모델과 상이하다는 점이 주목된다. 따라서, 기존의 인터페이스들에 대해서는, 시스템(300)은 항목이 액세스되었던 특정 경로에 관련된 한 ACL을 리턴할 수 있다. 그러나, 항목-스토어 모델들에 대해서는, 항목에 관련된 ACL들의 집합이 리턴될 수 있다.
포함 계층이 트리에 반대되는 DAG(330)인 경우, 전형적으로 정교해질 두 양상이 존재한다. 한 양상에서, 모델은 항목이 자신의 부모로부터 2개 이상의 ACL을 상속하는 경우에 그 항목에 대한 유효한 보안 정책이 어떻게 계산되는지, 및 항목 스토어에 대한 보안 모델의 관리에 영향을 주도록 항목들이 어떻게 조직되고 표현되는지에 대한 설명을 제공한다.
다음 알고리즘은 주어진 항목에 대한 주어진 주체의 액세스 권한을 평가한다. 알고리즘을 진행하기 전에, 다음 표기는 항목에 관련된 ACL을 기술한다.
Inherited_ACLs(ItemId) - 항목 식별자(item identity)가 스토어내의 자신의 부모로부터의 ItemId인 항목에 의해 상속된 ACL의 집합.
Explicit_ACL(ItemId) - 식별자가 ItemId인 항목에 대해 명시적으로 정의된 ACL.
Figure 112005033333576-pct00001
원하는 액세스가 명시적으로 거부되지 않았으면, 상기 루틴은 STATUS_SUCCESS를 리턴하고, pGrantedAccess는 사용자가 원하는 권리들 중 어느 것이 명기된 ACL에 의해 허가되는지를 결정한다. 만약 원하는 액세스가 명시적으로 거부되었다면, 루틴은 STATUS_ACCESS_DENIED를 리턴한다.
Figure 112005033333576-pct00002
Figure 112005033333576-pct00003
Figure 112005033333576-pct00004
항목에서 정의된 보안 정책의 영향의 범위는 항목 스토어에서 정의된 포함 계층의 항목의 후손들을 포함한다는 점이 주목된다. 항목들에 대해 명시적인 정책이 정의되는 경우, 그 영향은 포함 계층에서 자신의 후손들에 의해 상속되는 정책을 정의하는 것에 유사하다. 항목에 의해 상속된 ACL들을 취하고 명시적 ACL의 상속가능한 ACE들을 ACL의 시작에 추가함으로써, 후손들에 의해 상속되는 유효한 ACL들이 획득될 수 있다(전달된 ACE들이 상속되지 않을 것을 명기하는 플래그가 설정되지 않는 경우). 이것은 항목에 관련된 상속가능한 ACL들의 집합이라 불린다.
폴더 항목을 루트로 하는 포함 계층에서 보안의 명시적 명기가 없는 경우, 폴더의 보안 명기는 일반적으로 포함 계층에서 그 항목의 모든 후손들에게 적용된다. 따라서, 명시적 보안 정책 명기가 제공되는 모든 항목은 유사하게 보호된 항목들의 지역을 정의하고, 그 지역의 모든 항목들에 대한 유효한 ACL들은 그 항목에 대한 상속가능한 ACL들의 집합이다. 이것은 포함 계층이 트리인 경우에 지역을 완전히 정의할 것이다. 만약 각 지역이 숫자에 관련된다면, 한 항목과 함께, 그 항 목이 속하는 지역들을 포함하는 것만으로 충분할 것이다.
DAG인 포함 계층에 대해, 유효한 보안 정책이 변경되는 포함 계층에 있는 포인트들은 일반적으로 두 유형의 항목들에 의해 결정된다 :
명시적 ACL이 명기되어 있는 항목들. 전형적으로 이들은 관리자가 명시적으로 ACL을 명기한 포함 계층에 있는 포인트들이다.
하나 이상의 부모를 가지고, 부모들은 그들에 관련된 상이한 보안 정책들을 갖는 항목들. 전형적으로 이들은 한 볼륨의 항목들에 대해 명기된 보안 정책의 합류 포인트(confluence point)들이고 새로운 보안 정책의 시작을 나타내는 항목들이다.
상기 정의를 이용하면, 항목 스토어에 있는 항목들은 일반적으로 두 카테고리 - 유사하게 보호된 보안 지역의 루트인 카테고리 및 그렇지 않은 카테고리 - 중 하나에 속한다. 보안 지역을 정의하지 않는 항목들은 일반적으로 하나의 보안 지역에 속한다. 트리의 경우에서와 같이, 항목이 속하는 지역을 명기함으로써 항목에 대한 유효한 보안이 명기될 수 있다. 이것은 스토어에서 다양한 유사하게 보호된 지역들에 기초하여 항목 스토어의 보안을 관리하기 위한 간단한 모델로 이끈다.
도 4-6에 관련된 다음 논의는 본 발명에 따라 이용될 수 있는 보안 정책들 및/또는 보안 구현들의 보다 상세한 설명에 관한 것이다. 예를 들어, 상세한 비트 매핑이 기술될 수 있지만, 본 발명은 기술된 특정 구현들로 제한되지 않는다는 점을 잘 알아야 한다(예를 들어, 다른 비트 매핑 및/또는 구현들이 가능함).
일반적으로, 보안 기술자(security descriptor)는 보안가능한 객체에 관련된 보안 정보를 포함한다. 보안 기술자는 SECURITY_DESCRIPTOR 구조 및 관련 보안 정보를 포함한다. 보안 기술자는 다음 보안 정보를 포함할 수 있다.
객체의 소유자 및 주요 그룹에 대한 SID.
특정 사용자 또는 그룹에 허용되거나 거부된 액세스 권리를 명기하는 DACL.
객체에 대한 감사 레코드를 생성하는 액세스 시도의 유형을 명기하는 SACL.
보안 기술자 또는 개개의 구성원들의 의미를 허가하는 제어 비트들의 집합.
어플리케이션들은 보안 기술자의 내용을 직접 조작해서는 안 된다. 객체의 보안 기술자에서 보안 정보를 설정하고 검색하기 위한 어플리케이션 프로그래밍 인터페이스(API) 기능들이 제공될 수 있다. 또한, 새로운 객체에 대한 보안 기술자를 생성하고 초기화하기 위한 기능들이 존재한다.
임의의 액세스 제어 리스트(discretionary access control list, DACL)는 보안가능한 객체에의 액세스를 허용받거나 거부된 수탁자(trustee)들을 식별한다. 프로세스가 보안가능한 객체를 액세스하려 시도하면, 시스템은 그것에의 액세스를 허가할지를 결정하기 위해 객체의 DACL에서 ACE들을 검사한다. 만약 객체가 DACL을 갖지 않으면, 시스템은 완전한 액세스를 허가할 수 있다. 만약 객체의 DACL이 ACE를 갖지 않는다면, DACL이 액세스 권리를 허용하지 않기 때문에 시스템은 객체를 액세스하려는 시도를 거부한다. 요청된 액세스 권리를 허용하는 하나 이상의 ACE를 발견할 때까지, 또는 요청된 액세스 권리가 거부될 때까지, 시스템은 ACE들을 차례로 검사한다.
시스템 액세스 제어 리스트(SACL)는 보안된 객체를 액세스하려는 시도들을 관리자가 로그하도록 한다. ACE는 시스템이 보안 이벤트 로그에 레코드를 생성하도록 하는 명기된 수탁자에 의한 액세스 시도들의 유형을 명기한다. SACL의 ACE는 액세스 시도가 실패할 때, 성공할 때, 또는 둘 모두에 감사 레코드들을 생성할 수 있다. 또한, SACL은 허가되지 않은 사용자가 객체에의 액세스를 획득하려 시도할 때 경보를 발생시킬 수 있다. 일반적으로, ACE들은 다음 액세스 제어 정보를 포함한다.
ACE가 적용하는 수탁자를 식별하는 보안 식별자(SID).
ACE에 의해 제어된 액세스 권리를 명기하는 액세스 마스크(access mask).
ACE의 유형을 나타내는 플래그.
ACL이 첨부되는 주요 객체로부터 자식 포함자 또는 객체들이 ACE를 상속할 수 있는지를 결정하는 비트 플래그들의 집합.
다음 테이블은 보안가능한 객체들에 의해 지원되는 가능한 ACE 유형들을 열거한다.
유형 설명
액세스-거부된 ACE 수탁자에의 액세스 권리를 거부하기 위해 DACL에서 사용됨.
액세스-허용된 ACE 수탁자에의 액세스 권리를 허용하기 위해 DACL에서 사용됨.
시스템-감사 ACE 수탁자가 명기된 액세스 권리를 실행하려 시도할 때 감사 레코드를 생성하기 위해 SACL에서 사용됨.
한 양상에서, 보안가능한 객체들이 도 4의 마스크(400)에 도시된 액세스 마스크 포맷(다른 포맷들도 가능함)을 통해 그들의 액세스 권리를 배열할 수 있다. 이 포맷에서, 낮은 차수의 16비트들은 객체-특유 액세스 권리에 대한 것이고, 다음 7비트들은 대부분의 유형의 객체들에 적용되는 표준 액세스 권리에 대한 것이며, 4개의 높은 차수 비트들은 객체 유형들이 표준 및 객체-특유 권리들의 집합에 매핑할 수 있는 일반화 액세스 권리(generic access right)를 명기하기 위해 이용된다. ACCESS_SYSTEM_SECURITY 비트(AS 비트)는 객체의 SACL을 액세스하기 위한 권리에 대응한다.
일반화 권리들은 마스크(400) 내에서 4개의 높은 차수 비트들에 명기된다. 일반적으로, 보안가능한 객체의 각 유형은 이러한 비트들을 자신의 표준 및 객체-특유 액세스 권리들의 집합에 매핑한다. 예를 들어, 파일 객체의 한 유형은 GENERIC_READ 비트를 READ_CONTROL 및 SYNCHRONIZE 표준 액세스 권리에 매핑할 수 있고, FILE_READ_DATA, FILE_READ_EA 및 FILE_READ_ATTRIBUTES 객체-특유 액세스 권리에 매핑할 수 있다.
객체들의 기타 유형들은 GENERIC_READ 비트(GR)를 그 유형의 객체에 대해 적합한 액세스 권리들의 집합에 매핑한다. 일반화 액세스 권리들은, 예를 들어, 객체에 핸들을 오픈할 때, 원하는 액세스의 유형을 명기하기 위해 이용될 수 있다. 이것은 전형적으로 대응하는 표준 및 특유 권리들 모두를 명기하는 것보다 간단하다. 다음 테이블은 일반화 액세스 권리들에 대해 정의된 가능한 상수들을 도시한다.
상수 일반화 의미
GENERIC_ALL 읽기, 쓰기 및 실행 액세스
GENERIC_EXECUTE 실행 액세스
GENERIC_READ 읽기 액세스
GENERIC_WRITE 쓰기 액세스
일반적으로, 보안가능한 객체의 각 유형은 그 유형의 객체에 특유한 동작들에 대응하는 액세스 권리들의 집합을 갖는다. 이러한 객체-특유 액세스 권리들 이외에, 대부분의 유형의 보안가능한 객체들에 공통적인 동작들에 대응하는 표준 액세스 권리들의 집합이 존재한다. 다음 테이블은 표준 액세스 권리들에 대해 정의된 가능한 상수들을 도시한다.
상수 의미
DELETE 객체를 삭제할 권리.
READ_CONTROL 객체의 보안 기술자에 있는 정보를 읽을 권리. SACL에 있는 정보는 포함하지 않는다.
SYNCHRONIZE 동기화를 위해 객체를 사용할 권리. 이것은 객체가 알려진 상태(signaled state)에 있을 때까지 스레드가 기다리도록 한다. 몇몇 객체 유형들은 이 액세스 권리를 지원하지 않는다.
WRITE_DAC 객체의 보안 기술자에서 DACL을 변경할 권리.
WRITE_OWNER 객체의 보안 기술자에서 소유자를 변경할 권리.
도 5는 본 발명의 양상에 따라 유사하게 보호된 보안 지역들에 대한 데이터 구조 예(500)를 도시한다. 유사하게 보호된 지역들을 정의하는 항목들은 참조번호(500)에 도시된 바와 같은 보안 테이블에서 그들에 관련된 엔트리를 갖는다. 보안 테이블은 다음과 같이 정의된다.
항목 식별자(Item Identity) - 이것은 유사하게 보호된 보안 지역의 루트의 항목 식별자이다.
항목 오드패스(Item Ordpath) - 이것은 유사하게 보호된 보안 지역의 루트에 관련된 오드패스(ordpath)이다.
명시적 항목 ACL - 이것은 유사하게 보호된 보안 지역의 루트에 대해 정의된 명시적 ACL이다. 소정 경우에, 이것은 널(NULL)일 수 있다(예를 들어, 항목이 상이한 지역에 속하는 다수의 부모를 가지기 때문에 새로운 보안 지역이 정의되는 경우).
경로 ACL - 이것은 항목에 의해 상속된 ACL들의 집합이다.
지역 ACL - 이것은 항목에 관련된 유사하게 보호된 보안 지역에 대해 정의된 ACL들의 집합이다. 명시적 열이 널이 아닌 값(non-NULL value)을 가지는 경우 이것은 상속된 ACL의 열과 다르다.
주어진 스토어에서 항목에 대한 유효한 보안의 계산은 테이블(500)에 영향을 준다. 항목에 관련된 보안 정책을 결정하기 위하여, 항목에 관련된 보안 지역이 분석되고, 그 지역에 관련된 ACL들이 검색된다. 항목에 관련된 보안 정책이 변경될 때(예를 들어, 명시적 ACL들을 직접 추가하거나 새로운 보안 지역들의 형성으로 귀착하는 보유 링크들을 간접적으로 추가함으로써), 항목의 유효한 보안을 결정하기 위한 상기 알고리즘이 유효해지도록, 보안 테이블(500)은 최신으로 유지되어야 한다. 보안 테이블을 유지하기 위해 가능한 알고리즘들은 다음과 같다.
포함자내에 새로운 항목을 생성 -
포함자내에 항목이 새로 생성될 때, 그 항목은 그 포함자에 관련된 ACL들을 상속한다. 새로 생성된 항목은 하나의 부모를 갖기 때문에, 그 항목은 자신의 부모와 같은 보안 지역에 속한다. 따라서, 전형적으로 보안 테이블에 새로운 엔트리를 생성할 필요가 없다.
항목에 명시적 ACL을 추가 -
ACL이 항목에 추가될 때, 주어진 항목 자체와 동일한 보안 지역에 속하는 포함 계층에 있는 후손들에 대해 새로운 보안 지역을 정의한다. 다른 보안 지역에 속하지만 포함 계층내의 주어진 항목의 후손들인 항목들에 대해, 보안 지역은 변경되지 않은 채로 남겨지지만, 지역에 관련된 유효한 ACL은 새로운 ACL의 추가를 반영하기 위하여 변경된다. 이러한 새로운 보안 지역의 도입은 또한 오래된 보안 지역 및 새로 정의된 보안 지역 둘다에 속하는 조상들과의 다수의 보유 링크를 갖는 항목들에 대한 또다른 지역 정의를 트리거할 수 있다. 그러한 항목들에 대해, 새로운 보안 지역이 정의될 수 있고 프로시저가 반복된다.
도 6은 새로운 명시적 ACL을 도입함으로써 기존 보안 지역으로부터 생성되는 새로운 유사하게 보호된 보안 지역을 도시한다. 이것은 참조번호(600)에서 2로 표시된 노드에 의해 나타내어진다. 그러나, 이러한 새로운 지역의 도입은 다수의 보유 링크를 갖는 항목으로 인하여 참조번호(610)에서 생성되는 부가적인 지역(3)으로 귀착한다. 보안 테이블에 대한 갱신의 다음 시퀀스는 유사하게 보호된 보안 지역들의 분해를 반영한다.
항목에 보유 링크를 추가 -
항목에 보유 링크가 추가될 때, 그것은 전형적으로 세 가능성 중 하나를 발생시킨다. 만약 보유 링크의 타겟, 즉, 고려중인 항목이 보안 지역의 루트라면, 그 지역에 관련된 유효한 ACL이 변경되고, 일반적으로 보안 테이블에 더이상의 어떠한 변경도 요구되지 않는다. 만약 새로운 보유 링크의 소스의 보안 지역이 항목의 기존 부모들의 보안 지역과 동일하다면, 물리적으로 어떠한 변경도 요구되지 않는다. 그러나, 만약 항목이 이제 상이한 보안 지역들에 속하는 부모들을 갖는다면, 주어진 항목을 보안 지역의 루트로 하는 새로운 보안 지역이 형성된다. 이러한 변경은 항목에 관련된 보안 지역을 변경함으로써 포함 계층에 있는 항목들에 전달된다. 고려중인 항목과 동일한 보안 지역에 속하고 포함 계층에서 후손들인 항목들이 변경되어야 한다. 변경이 행해지면, 다수의 보유 링크를 갖는 항목들은 또다른 변경이 요구되는지를 결정하기 위해 검사되어야 한다. 항목들 중 임의의 것이 상이한 보안 지역들의 부모들을 갖는 경우, 또다른 변경들이 요구될 수 있다.
항목으로부터 보유 링크를 삭제 -
항목으로부터 보유 링크가 삭제될 때, 특정 조건이 만족되면 부모 지역과 함께 보안 지역이 붕괴되는 것이 가능하다. 보다 상세하게, 이것은 다음 조건 하에서 이루어질 수 있다. -
보유 링크의 제거가 단지 하나의 부모만을 갖는 항목으로 귀착하고, 그 항목에 대해 어떠한 명시적 ACL도 명기되지 않는 경우.
보유 링크의 제거가 부모들이 모두 동일한 보안 지역에 있는 항목으로 귀착되고, 그 항목에 대해 어떠한 명시적 ACL도 정의되지 않는 경우. 이러한 상황들에서, 보안 지역은 부모와 동일한 것으로 표시될 수 있다. 이러한 표시는 붕괴되는 지역에 대응하는 보안 지역을 갖는 모든 항목들에 적용되어야 한다.
항목으로부터 명시적 ACL을 삭제 -
항목으로부터 명시적 ACL이 삭제될 때, 그 항목을 루트로 하는 보안 지역을 그것의 부모들의 보안 지역과 함께 붕괴하는 것이 가능하다. 보다 상세하게, 명시적 ACL의 제거가, 포함 계층에 있는 자신의 부모들이 동일한 보안 지역에 속하는 항목으로 귀착하는 경우, 이것이 이루어질 수 있다. 이러한 상황 하에서, 보안 지역은 부모와 동일한 것으로 표시될 수 있고, 붕괴되는 지역에 대응하는 보안 지역을 갖는 항목들에 변경이 적용될 수 있다.
항목에 관련된 ACL을 변경 -
이러한 경우에, 일반적으로 보안 테이블에 어떠한 새로운 추가도 요구되지 않는다. 지역에 관련된 유효한 ACL이 갱신되고, 새로운 ACL 변경은 그것에 의해 영향받는 보안 지역들에 전달된다.
도 7은 본 발명의 양상에 따른 보안 프로세스(700)를 도시하는 흐름도이다. 설명의 단순화를 위하여, 본 방법론은 일련의 동작들로서 도시되고 기술되지만, 소정의 동작들이 본 발명에 따라 도시되고 기술된 것들로부터의 기타 동작들과 상이한 순서로 및/또는 동시에 행해질 수 있기 때문에, 본 발명이 동작들의 순서에 의해 제한되지 않는다는 것을 이해하고 알아야 한다. 예를 들어, 본 분야에서 숙련된 기술을 가진 자들은 방법론이 대안적으로 상태 다이어그램에서와 같이 일련의 상호관련된 상태 또는 이벤트로서 표현될 수 있다는 점을 이해하고 알 것이다. 게다가, 본 발명에 따라 방법론을 구현하기 위해, 여기에 설명된 모든 동작들이 반드시 필요한 것은 아니다.
도 7의 단계(710)로 진행하면, 계층적 구조들에 대해 하나 이상의 보안 정책들이 정의된다. 상기에 언급된 바와 같이, 이것은 일반적 트리 구조 및 포함 계층과 같은 기타 구조를 포함할 수 있다. 또한, 트리 배열의 소정 양상 및 포함 계층에 관한 소정 양상을 갖는 복합 구조들도 가능하다. 내부에 개개의 정책을 기술하는 하나 이상의 액세스 제어 엔트리를 갖는 액세스 제어 리스트와 같은 장치에서 보안 정책들이 제공될 수 있다. 단계(720)에서, 보안 정책들에 대해 명시적 및/또는 상속된 매핑 규칙들이 정의된다. 그러한 규칙들은 명시적 매핑의 경우에 오버라이딩 기능을 포함할 수 있고, 반면 기타 규칙들은 포함 계층과 같은 보다 복잡한 배열에서 정책들이 어떻게 매핑될 지에 대한 규칙을 제공하고, 이로써 다수의 보유 관계가 가능하다. 단계(730)에서, 개개의 규칙 및 정책에 대한 순서화가 결정된다. 예를 들어, 액세스 제어 엔트리들은 직면한 구조 및/또는 계층적 관계의 유형에 의존하여 액세스 제어 리스트 내에 배열될 수 있다. 단계(740)에서, 주어진 계층적 구조에 대해 하나 이상의 보안 지역이 정의된다. 단계(750)에서, 단계(740)에서 정의된 선택된 지역들에 하나 이상의 보안 정책들이 적용된다.
도 8을 참조하면, 본 발명의 다양한 양상들을 구현하기 위한 예시적인 환경(810)은 컴퓨터(812)를 포함한다. 컴퓨터(812)는 프로세싱 유닛(814), 시스템 메모리(816), 및 시스템 버스(818)를 포함한다. 시스템 버스(818)는 시스템 메모리(816)를 포함하지만 이것으로 제한되지는 않는 시스템 컴포넌트들을 프로세싱 유닛(814)에 연결한다. 프로세싱 유닛(814)은 다양한 가용 프로세서 중 임의의 것일 수 있다. 이중(dual) 마이크로프로세서 및 기타 멀티프로세서 아키텍처 또한 프로세싱 유닛(814)으로서 이용될 수 있다.
시스템 버스(818)는 메모리 버스 또는 메모리 제어기, 주변 버스 또는 외부 버스, 및/또는 16-비트 버스, 산업 표준 아키텍처(ISA), 마이크로-채널 아키텍처(MSA), 확장된 ISA(EISA), 지능적 드라이브 전자공학(IDE), VESA 로컬 버스(VLB), 주변 컴포넌트 인터커넥트(PCI), USB, 강화된 그래픽 포트(AGP), 개인용 컴퓨터 메모리 카드 국제 협회 버스(PCMCIA), 및 소형 컴퓨터 시스템 인터페이스(SCSI)를 포함하지만 이들로 제한되지 않는 여러 가용 버스 아키텍처 중 임의의 것을 사용하는 로컬 버스를 포함하는 여러 유형의 버스 구조(들) 중 임의의 것일 수 있다.
시스템 메모리(816)는 휘발성 메모리(820) 및 비휘발성 메모리(822)를 포함한다. 시작할 때 등에 컴퓨터(812) 내의 구성요소들 사이에 정보를 전달하기 위한 기본 루틴을 포함하는 기본 입력/출력 시스템(BIOS)은 비휘발성 메모리(822)에 저장된다. 제한을 가하지 않는 예시로서, 비휘발성 메모리(822)는 ROM, 프로그래밍가능 ROM(PROM), 전기적 프로그래밍가능 ROM(EPROM), 전기적 소거가능 ROM(EEPROM), 또는 플래시 메모리를 포함할 수 있다. 휘발성 메모리(820)는 외부 캐쉬 메모리로서 동작하는 RAM을 포함한다. 제한을 가하지 않는 예시로서, RAM은 동기식 RAM(SRAM), 동적 RAM(DRAM), 동기식 DRAM(SDRAM), 더블 데이터율 SDRAM(DDR SDRAM), 강화된 SDRAM(ESDRAM), 싱크링크 DRAM(SLDRAM), 및 다이렉트 램버스 RAM(DRRAM)과 같은 여러 형태로 가용하다.
컴퓨터(812)는 또한 분리형/비분리형, 휘발성/비휘발성 컴퓨터 저장 매체를 포함한다. 예를 들어, 도 8은 디스크 저장장치(824)를 도시한다. 디스크 저장장치(824)는 자기 디스크 드라이브, 플로피 디스크 드라이브, 테이프 드라이브, 재즈 드라이브(Jaz drive), 집 드라이브(Zip drive), LS-100 드라이브, 플래시 메모리 카드, 또는 메모리 스틱과 같은 장치들을 포함하지만 이들로 제한되지는 않는다. 또한, 디스크 저장장치(824)는 개별적으로 또는 컴팩트 디스크 ROM 장치(CD-ROM), CD 기록가능 드라이브(CD-R Drive), CD 재기록가능 드라이브(CD-RW Drive) 또는 DVD-ROM과 같은 광학 디스크 드라이브를 포함하지만 이들로 제한되지 않는 기타 저장 매체와의 조합으로 저장 매체를 포함할 수 있다. 디스크 저장 장치들(824)의 시스템 버스(818)에의 연결을 용이하게 하기 위하여, 전형적으로 인터페이스(826)와 같은 분리형 또는 비분리형 인터페이스가 사용된다.
도 8은 적합한 운영 환경(810)에 기술된 사용자들과 기본적인 컴퓨터 자원들 사이에 중개자로서 동작하는 소프트웨어를 기술한다는 점을 알아야 한다. 그러한 소프트웨어는 운영 시스템(828)을 포함한다. 디스크 저장장치(824)에 저장될 수 있는 운영 시스템(828)은 컴퓨터 시스템(812)의 자원을 제어하고 할당하기 위해 동작한다. 시스템 어플리케이션(830)은 시스템 메모리(816)든지 디스크 저장장치(824)에 저장된 프로그램 모듈(832) 및 프로그램 데이터(834)를 통해 운영 시스템(828)에 의한 자원들의 관리를 이용한다. 본 발명은 다양한 운영 시스템 또는 운영 시스템들의 조합으로 구현될 수 있다는 점을 잘 알아야 한다.
사용자는 입력 장치(들)(836)를 통해 컴퓨터(812)에 명령어 또는 정보를 입력한다. 입력 장치(836)는 마우스와 같은 포인팅 장치, 트랙볼, 스타일러스, 터치 패드, 키보드, 마이크, 조이스틱, 게임 패드, 위성 디쉬, 스캐너, TV 튜너 카드, 디지털 카메라, 디지털 비디오 카메라, 웹 카메라 등을 포함하지만 이들로 제한되지는 않는다. 이들 및 기타 입력 장치들은 인터페이스 포트(들)(838)를 통해 시스템 버스(818)를 거쳐 프로세싱 유닛(814)에 연결한다. 인터페이스 포트(들)(838)는, 예를 들어, 직렬 포트, 병렬 포트, 게임 포트, 및 USB를 포함한다. 출력 장치(들)(840)는 입력 장치(들)(836)와 동일한 유형의 포트들 중 몇몇을 사용한다. 따라서, 예를 들어, USB 포트는 컴퓨터(812)에 입력을 제공하기 위해서 및 컴퓨터(812)로부터의 정보를 출력 장치(840)에 출력하기 위해서 사용될 수 있다. 출력 어댑터(842)는 특수 어뎁터를 요구하는 기타 출력 장치들(840) 중에서 모니터, 스피커, 및 프린터와 같은 소정 출력 장치들(840)이 존재한다는 것을 도시하기 위해 제공된다. 출력 어댑터(842)는 제한을 가하지 않는 예시로서 출력 장치(840)와 시스템 버스(818) 사이의 연결의 수단을 제공하는 비디오 및 사운드 카드를 포함한다. 기타 장치들 및/또는 장치들의 시스템이 원격 컴퓨터(들)(844)와 같이 입력 및 출력 기능 둘 모두를 제공한다는 점을 유의해야 한다.
컴퓨터(812)는 원격 컴퓨터(들)(844)와 같은 하나 이상의 원격 컴퓨터에의 논리적 연결을 사용하는 네트워크 환경에서 동작할 수 있다. 원격 컴퓨터(들)(844)는 개인용 컴퓨터, 서버, 라우터, 네트워크 PC, 워크스테이션, 마이크로프로세서 기반 기기, 피어 디바이스 또는 기타 공통 네트워크 노드 등일 수 있고, 전형적으로 컴퓨터(812)에 관련하여 기술된 구성요소들 중 다수 또는 모두를 포함한다. 간략화를 위하여, 메모리 저장 장치(846)만이 원격 컴퓨터(들)(844)와 함께 도시된다. 원격 컴퓨터(들)(844)는 네트워크 인터페이스(848)를 통해 컴퓨터(812)에 논리적으로 연결되고, 그 후 통신 연결(850)을 통해 물리적으로 연결된다. 네트워크 인터페이스(848)는 근거리 통신망(LAN) 및 광역 통신망(WAN)과 같은 통신 네트워크를 포함한다. LAN 기술은 FDDI(Fiber Distributed Data Interface), CDDI(Copper Distributed Data Interface), 이더넷/IEEE 1102.3, 토큰링/IEEE 1102.5 등을 포함한다. WAN 기술은 점대점 링크, 통합 서비스 디지털 네트워크(ISDN) 및 그 변형과 같은 서킷 스위칭 네트워크, 패킷 스위칭 네트워크, 및 디지털 가입자 라인(DSL)을 포함하지만 이들로 제한되지는 않는다.
통신 연결(들)(850)은 네트워크 인터페이스(848)를 버스(818)에 연결하기 위해 이용된 하드웨어/소프트웨어를 일컫는다. 명확한 예시를 위해 통신 연결(850)이 컴퓨터(812) 내부에 도시되지만, 그것은 컴퓨터(812) 외부에 있을 수도 있다. 네트워크 인터페이스(848)에의 연결을 위해 필수적인 하드웨어/소프트웨어는 단지 예시의 목적으로 레귤러 전화 등급 모뎀, 케이블 모뎀 및 DSL 모뎀을 포함하는 모뎀, ISDN 어댑터, 및 이더넷 카드와 같은 내부적 및 외부적 기술들을 포함한다.
도 9는 본 발명이 상호작용할 수 있는 예시적인-컴퓨팅 환경(900)의 개략적 블럭도이다. 시스템(900)은 하나 이상의 클라이언트(들)(910)를 포함한다. 클라이언트(들)(910)는 하드웨어 및/또는 소프트웨어일 수 있다(예를 들어, 스레드, 프로세스, 컴퓨팅 장치). 시스템(900)은 또한 하나 이상의 서버(들)(930)를 포함한다. 서버(들)(930) 또한 하드웨어 및/또는 소프트웨어일 수 있다(예를 들어, 스레드, 프로세스, 컴퓨팅 장치). 서버(930)는, 예를 들어, 본 발명을 이용함으로써 변환을 수행하기 위해 스레드를 보관할 수 있다. 클라이언트(910)와 서버(930) 사이의 한 가지 가능한 통신은 둘 이상의 컴퓨터 프로세스 사이에 전송되도록 적응된 데이터 패킷의 형태로일 수 있다. 시스템(900)은 클라이언트(들)(910)와 서버(들)(930) 사이의 통신을 용이하게 하기 위해 이용될 수 있는 통신 프레임워크(950)를 포함한다. 클라이언트(들)(910)는 클라이언트(들)(910)에 로컬인 정보를 저장하기 위해 이용될 수 있는 하나 이상의 클라이언트 데이터 스토어(들)(960)에 동작가능하도록 연결된다. 유사하게, 서버(들)(930)는 서버(930)에 로컬인 정보를 저장하기 위해 이용될 수 있는 하나 이상의 서버 데이터 스토어(들)에 동작가능하도록 연결된다.
상기 기술된 것들은 본 발명의 예들을 포함한다. 물론, 본 발명을 기술하는 목적을 위해 컴포넌트들 또는 방법론들의 생각할 수 있는 모든 조합을 기술하는 것은 불가능하지만, 본 분야에서 숙련된 기술을 가진 자들은 본 발명의 많은 다른 조합 및 순열이 가능하다는 것을 인지할 수 있다. 따라서, 본 발명은 첨부된 특허청구범위의 취지 및 범위 내에 속하는 그러한 모든 변경, 수정 및 변형들을 포함하도록 의도된다. 그러므로, "포함한다(include)"라는 용어가 상세한 설명 또는 특허청구범위에 사용되는 한, 그 용어는 "포함하는(comprising)"이라는 용어가 특허청구범위에서 과도기적 단어로서 이용될 때 해석되는 바와 유사한 방식으로 포괄적인 것으로 의도된다.

Claims (33)

  1. 데이터 항목에 대한 보안을 용이하게 하는 컴퓨터 구현 데이터 보안 시스템으로서,
    다수의 데이터 항목을 포함하는 적어도 하나의 계층적 데이터 구조를 포함하는 데이터 스토어(data store)를 포함하는 컴퓨터 판독가능한 메모리;
    다수의 보안 정책 중 적어도 하나를 상기 데이터 스토어의 적어도 제1 서브섹션(subsection)에 자동적으로 적용하는, 상기 컴퓨터 판독가능한 메모리 내에 저장된 보안 컴포넌트; 및
    ACL(Access Control List) 내의 다수의 ACE(Access Control Entry)의 순서를 배열하는 순서화 컴포넌트
    를 포함하되,
    상기 적어도 하나의 계층적 데이터 구조의 유형의 검출에 적어도 기초하여, 다수의 보안 정책 중 상기 적어도 하나는 상기 ACL을 사용하는
    컴퓨터 구현 데이터 보안 시스템.
  2. 제1항에 있어서,
    상기 적어도 하나의 계층적 데이터 구조는 트리 구조 및 포함 계층(containment hierarchy) 중 적어도 하나인 컴퓨터 구현 데이터 보안 시스템.
  3. 제2항에 있어서,
    상기 포함 계층은 DAG(Directed Acyclic Graph)로서 모델링되는 컴퓨터 구현 데이터 보안 시스템.
  4. 제1항에 있어서,
    다수의 보안 정책 중 상기 적어도 하나는 상기 데이터 스토어 내부로부터 상기 데이터 항목으로 매핑되는 컴퓨터 구현 데이터 보안 시스템.
  5. 제1항에 있어서,
    다수의 보안 정책 중 상기 적어도 하나는, 항목에 명시적으로 매핑된 것 및 항목에 의해 상속된(inherited) 것 중 적어도 하나인 컴퓨터 구현 데이터 보안 시스템.
  6. 제1항에 있어서,
    상기 ACL은 포함 계층의 보유 관계(holding relationship)와 관련되는 컴퓨터 구현 데이터 보안 시스템.
  7. 제6항에 있어서,
    상기 포함 계층 내에서 항목에 대한 임의 액세스 권리(discretionary access rights)를 기술하는 다수의 ACL를 더 포함하는 컴퓨터 구현 데이터 보안 시스템.
  8. 제1항에 있어서,
    상기 보안 컴포넌트는, 항목에 대한 동작(operation)들을 수행하기 위해 허가되거나 거부된 액세스인 주체(principal)들의 집합을 명기하는 컴퓨터 구현 데이터 보안 시스템.
  9. 제1항에 있어서,
    상기 보안 컴포넌트는, 임의 ACL(discretionary access control list), 시스템 ACL, 및 보안 식별자 중 적어도 하나를 포함하는 컴퓨터 구현 데이터 보안 시스템.
  10. 제1항에 있어서,
    "데이터 항목 (I)에서 상속된 ACL(L)들에 대해
    항목들 I1, I2에 대해
    L 내의 ACE인 A1 및 A2에 대해,
    I1은 I2의 조상(ancestor)이고
    I2는 I3의 조상이며
    A1은 I1으로부터 상속된 ACE이고
    A2는 I2로부터 상속된 ACE이다
    는 것은,
    L에서 A2가 A1에 우선한다는 것을 암시한다 - 여기서, L 및 I는 정수임 - "
    라는 순서화 알고리즘을 상기 보안 컴포넌트가 사용하는 것을 더 포함하는 컴퓨터 구현 데이터 보안 시스템.
  11. 제1항에 있어서,
    "데이터 항목 (I)에서 상속된 ACL(L)들에 대해
    항목들 I1에 대해
    L 내의 ACE인 A1 및 A2에 대해,
    I1은 I2의 조상이고
    A1은 I1으로부터 상속된 ACCESS_DENIED_ACE이고
    A2는 I1으로부터 상속된 ACCESS_GRANTED_ACE
    라는 것은,
    L에서 A1이 A2에 우선한다 - 여기서, L 및 I는 정수임 - "
    라는 순서화 알고리즘을 상기 보안 컴포넌트가 사용하는 것을 더 포함하는 컴퓨터 구현 데이터 보안 시스템.
  12. 제1항에 있어서,
    주어진 데이터 항목을 액세스하는 주체의, 상기 주어진 데이터 항목에 대한 액세스 권리를 평가하는 컴포넌트를 더 포함하는 컴퓨터 구현 데이터 보안 시스템.
  13. 제1항에 있어서, 상기 보안 컴포넌트는,
    항목에 의해 상속된 리스트들을 프로세싱하고 명시적 ACL 내에 상속가능한 액세스 제어 엔트리들을 추가함으로써 획득되는 유효한 ACL을 더 포함하는 컴퓨터 구현 데이터 보안 시스템.
  14. 제1항에 있어서, 상기 보안 컴포넌트는,
    객체-특유 액세스 권리, 표준 액세스 권리, 및 일반화 액세스 권리(generic access rights) 중 적어도 하나를 명기하는 액세스 마스크(access mask)를 더 포함하는 컴퓨터 구현 데이터 보안 시스템.
  15. 제1항에 있어서,
    상기 컴퓨터 판독가능한 메모리는 유사하게 보호된 보안 지역들에 대한 보안 테이블을 더 포함하며,
    상기 유사하게 보호된 보안 지역들은, 모든 항목에 대해 명시적 보안 정책 명기(explicit security policy specification)가 제공되는 항목들의 지역인 컴퓨터 구현 데이터 보안 시스템.
  16. 제15항에 있어서,
    상기 보안 테이블은 항목 ID(Item Identity), 항목 오드패스(Item Ordpath), 명시적 항목(Explicit Item), 경로 ACL(Path ACL), 및 지역 ACL(Region ACL)을 포함하는 필드들 중 적어도 하나를 포함하는 컴퓨터 구현 데이터 보안 시스템.
  17. 제1항에 있어서,
    포함자(container)에서 새로운 항목을 생성하는 것, 항목에 명시적 ACL을 추가하는 것, 항목에 보유 링크를 추가하는 것, 항목으로부터 보유 링크를 삭제하는 것, 항목으로부터 명시적 ACL을 삭제하는 것, 및 항목과 관련된 ACL을 수정하는 것 중 적어도 하나를 행하는 컴포넌트를 더 포함하는 컴퓨터 구현 데이터 보안 시스템.
  18. 제1항의 보안 컴포넌트를 구현하기 위한 컴퓨터 판독가능 명령어들이 저장되어 있는 컴퓨터 판독가능 기록 매체.
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
KR1020057011829A 2003-10-23 2004-07-27 강화된 보안 모델을 제공하는 시스템 및 방법 KR101153152B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/691,999 US7251822B2 (en) 2003-10-23 2003-10-23 System and methods providing enhanced security model
US10/691,999 2003-10-23

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020117028502A Division KR101265815B1 (ko) 2003-10-23 2004-07-27 강화된 보안 모델을 제공하는 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20060109286A KR20060109286A (ko) 2006-10-19
KR101153152B1 true KR101153152B1 (ko) 2012-06-04

Family

ID=34521998

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020057011829A KR101153152B1 (ko) 2003-10-23 2004-07-27 강화된 보안 모델을 제공하는 시스템 및 방법
KR1020117028502A KR101265815B1 (ko) 2003-10-23 2004-07-27 강화된 보안 모델을 제공하는 시스템 및 방법

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020117028502A KR101265815B1 (ko) 2003-10-23 2004-07-27 강화된 보안 모델을 제공하는 시스템 및 방법

Country Status (14)

Country Link
US (2) US7251822B2 (ko)
EP (1) EP1588519A4 (ko)
JP (1) JP4838137B2 (ko)
KR (2) KR101153152B1 (ko)
CN (1) CN1860723B (ko)
AU (1) AU2004288596B2 (ko)
BR (1) BRPI0406556A (ko)
CA (1) CA2508959C (ko)
MX (1) MXPA06003755A (ko)
MY (1) MY142666A (ko)
RU (2) RU2564850C2 (ko)
TW (1) TWI368145B (ko)
WO (1) WO2005071882A1 (ko)
ZA (1) ZA200504756B (ko)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4729844B2 (ja) * 2003-10-16 2011-07-20 富士ゼロックス株式会社 サーバ装置、情報の提供方法、及びプログラム
US20060075503A1 (en) * 2004-09-13 2006-04-06 Achilles Guard, Inc. Dba Critical Watch Method and system for applying security vulnerability management process to an organization
US7685165B2 (en) * 2005-04-01 2010-03-23 International Business Machines Corporation Policy based resource management for legacy data
US20060230282A1 (en) * 2005-04-06 2006-10-12 Hausler Oliver M Dynamically managing access permissions
US8326877B2 (en) * 2005-05-04 2012-12-04 Microsoft Corporation Region-based security
US7765483B2 (en) * 2005-09-12 2010-07-27 Microsoft Corporation Filtering obscured data from a remote client display
US20070100830A1 (en) * 2005-10-20 2007-05-03 Ganesha Beedubail Method and apparatus for access control list (ACL) binding in a data processing system
US7779265B2 (en) * 2005-12-13 2010-08-17 Microsoft Corporation Access control list inheritance thru object(s)
JP4932291B2 (ja) * 2006-03-22 2012-05-16 株式会社日立ソリューションズ アクセス権制御システム
CA2647337A1 (en) * 2006-03-24 2007-12-27 Avg Technologies Cy Limited Software vulnerability exploitation shield
US8032926B2 (en) * 2006-12-06 2011-10-04 Electronics And Telecommunications Research Institute Method of configuring hierarchical network of user group and resource group and key distribution center
US8321667B2 (en) * 2007-02-28 2012-11-27 Microsoft Corporation Security model for common multiplexed transactional logs
US8272025B1 (en) * 2007-12-18 2012-09-18 Lockheed Martin Corporation Policy deconfliction
US8990947B2 (en) * 2008-02-04 2015-03-24 Microsoft Technology Licensing, Llc Analytics engine
US7890530B2 (en) * 2008-02-05 2011-02-15 International Business Machines Corporation Method and system for controlling access to data via a data-centric security model
JP5035089B2 (ja) * 2008-04-18 2012-09-26 富士ゼロックス株式会社 アクセス権情報管理プログラム及びアクセス権情報管理装置
WO2009151459A1 (en) * 2008-06-13 2009-12-17 Hewlett-Packard Development Company, L.P. Hierarchical policy management
US8689289B2 (en) * 2008-10-02 2014-04-01 Microsoft Corporation Global object access auditing
CN101729531B (zh) * 2009-03-16 2016-04-13 中兴通讯股份有限公司 网络安全策略分发方法、装置及系统
US9037711B2 (en) * 2009-12-02 2015-05-19 Metasecure Corporation Policy directed security-centric model driven architecture to secure client and cloud hosted web service enabled processes
WO2012003504A2 (en) * 2010-07-02 2012-01-05 Air Computing, Inc. A system and method for cloud file management
KR101788598B1 (ko) * 2010-09-01 2017-11-15 엘지전자 주식회사 이동 단말기 및 그의 정보보안 설정방법
US8960302B2 (en) 2010-10-12 2015-02-24 Bp Corporation North America, Inc. Marine subsea free-standing riser systems and methods
CN103348316B (zh) * 2011-01-27 2016-08-24 瓦欧尼斯系统有限公司 访问权限管理系统和方法
US9680839B2 (en) 2011-01-27 2017-06-13 Varonis Systems, Inc. Access permissions management system and method
AU2012272509A1 (en) * 2011-06-21 2014-02-06 Jajoza Connected Solutions Pty Ltd A system and method for providing safety policies for communications and interaction
US8949281B2 (en) * 2012-03-31 2015-02-03 Emc Corporation System and method of hierarchical data containers
US9460300B1 (en) * 2012-09-10 2016-10-04 Google Inc. Utilizing multiple access control objects to manage access control
US9430116B2 (en) * 2013-02-12 2016-08-30 International Business Machines Corporation Visualization of runtime resource policy attachments and applied policy details
WO2015126971A1 (en) * 2014-02-18 2015-08-27 Cobalt Iron, Inc. Techniques for presenting views of a backup environment for an organization on a sub-organizational basis
US10326768B2 (en) * 2015-05-28 2019-06-18 Google Llc Access control for enterprise knowledge
US9530023B1 (en) * 2015-12-21 2016-12-27 Vinyl Development LLC Reach objects
US10692012B2 (en) 2016-05-29 2020-06-23 Microsoft Technology Licensing, Llc Classifying transactions at network accessible storage
US11100238B2 (en) * 2018-12-26 2021-08-24 Dell Products L.P. Systems and methods for generating policy coverage information for security-enhanced information handling systems
KR102099291B1 (ko) * 2019-08-30 2020-05-15 (주)이스트소프트 감염이 의심되는 압축 파일을 처리하기 위한 장치, 이를 위한 방법 및 이 방법을 수행하는 프로그램이 기록된 컴퓨터 판독 가능한 기록매체
CN110598445B (zh) * 2019-09-12 2022-05-20 金蝶蝶金云计算有限公司 一种数据库访问控制方法、系统及相关设备
CN110781186B (zh) * 2019-10-17 2022-04-15 中国人民解放军63686部队 一种软件界面读写数据表的实现方法
CN114500000A (zh) * 2021-12-31 2022-05-13 奇安信科技集团股份有限公司 策略配置合并方法及装置

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5638443A (en) * 1994-11-23 1997-06-10 Xerox Corporation System for controlling the distribution and use of composite digital works
GB2301912A (en) * 1995-06-09 1996-12-18 Ibm Security for computer system resources
US5987506A (en) * 1996-11-22 1999-11-16 Mangosoft Corporation Remote access and geographically distributed computers in a globally addressable storage environment
US6148377A (en) * 1996-11-22 2000-11-14 Mangosoft Corporation Shared memory computer networks
US6158007A (en) * 1997-09-17 2000-12-05 Jahanshah Moreh Security system for event based middleware
US6202066B1 (en) * 1997-11-19 2001-03-13 The United States Of America As Represented By The Secretary Of Commerce Implementation of role/group permission association using object access type
US6345361B1 (en) * 1998-04-06 2002-02-05 Microsoft Corporation Directional set operations for permission based security in a computer system
US6772350B1 (en) * 1998-05-15 2004-08-03 E.Piphany, Inc. System and method for controlling access to resources in a distributed environment
US6321334B1 (en) * 1998-07-15 2001-11-20 Microsoft Corporation Administering permissions associated with a security zone in a computer system security model
US6466932B1 (en) * 1998-08-14 2002-10-15 Microsoft Corporation System and method for implementing group policy
US6501491B1 (en) * 1998-09-21 2002-12-31 Microsoft Corporation Extensible user interface for viewing objects over a network
US6574736B1 (en) * 1998-11-30 2003-06-03 Microsoft Corporation Composable roles
US6347376B1 (en) * 1999-08-12 2002-02-12 International Business Machines Corp. Security rule database searching in a network security environment
DE10001458A1 (de) * 2000-01-15 2001-07-26 Bosch Gmbh Robert Verfahren zum Betreiben einer Brennkraftmaschine
RU2202122C2 (ru) * 2001-01-03 2003-04-10 Щеглов Андрей Юрьевич Система контроля доступа к запускаемым процессам (программам)
US7185013B2 (en) * 2001-04-12 2007-02-27 International Business Machines Corporation Method for constructing and caching a chain of file identifiers and enabling inheritance of resource properties in file systems
US7120698B2 (en) * 2001-09-20 2006-10-10 Sun Microsystems, Inc. Access control for an e-commerce application
JP4207417B2 (ja) * 2001-10-23 2009-01-14 富士ゼロックス株式会社 文書管理装置
US7133914B1 (en) * 2001-10-31 2006-11-07 Cisco Technology, Inc. Statistics-preserving ACL flattening system and method
US6745307B2 (en) * 2001-10-31 2004-06-01 Hewlett-Packard Development Company, L.P. Method and system for privilege-level-access to memory within a computer
US20030105771A1 (en) * 2001-12-01 2003-06-05 Tiefenbrun Natan E. Attribute driven dynamic tree structure
US7478418B2 (en) * 2001-12-12 2009-01-13 Guardian Data Storage, Llc Guaranteed delivery of changes to security policies in a distributed system
GB0207354D0 (en) * 2002-03-28 2002-05-08 Ibm Inheritance of access controls within a hierarchy of data processing system resources
US7249118B2 (en) * 2002-05-17 2007-07-24 Aleri, Inc. Database system and methods

Also Published As

Publication number Publication date
US7251822B2 (en) 2007-07-31
US20050091518A1 (en) 2005-04-28
MY142666A (en) 2010-12-15
CN1860723A (zh) 2006-11-08
US7971230B2 (en) 2011-06-28
JP4838137B2 (ja) 2011-12-14
EP1588519A1 (en) 2005-10-26
WO2005071882A9 (en) 2012-08-09
RU2010154544A (ru) 2012-07-10
TW200515213A (en) 2005-05-01
JP2007509414A (ja) 2007-04-12
CN1860723B (zh) 2011-04-13
WO2005071882A1 (en) 2005-08-04
AU2004288596A1 (en) 2005-07-21
BRPI0406556A (pt) 2005-12-20
KR20060109286A (ko) 2006-10-19
CA2508959C (en) 2014-07-15
RU2005120655A (ru) 2006-01-20
US20080022358A1 (en) 2008-01-24
AU2004288596A8 (en) 2008-07-31
EP1588519A4 (en) 2013-07-31
MXPA06003755A (es) 2006-06-14
CA2508959A1 (en) 2005-04-23
KR20120006561A (ko) 2012-01-18
TWI368145B (en) 2012-07-11
RU2564850C2 (ru) 2015-10-10
AU2004288596B2 (en) 2010-07-01
ZA200504756B (en) 2006-08-30
KR101265815B1 (ko) 2013-05-20

Similar Documents

Publication Publication Date Title
KR101153152B1 (ko) 강화된 보안 모델을 제공하는 시스템 및 방법
CA2533864C (en) Discoverability and enumeration mechanisms in a hierarchically secure storage system
US8365254B2 (en) Unified authorization for heterogeneous applications
KR100877650B1 (ko) 개인 식별 정보 라벨 및 사용목적 서빙 펑션 세트를사용하는 pii 데이터 액세스 제어 기능부의 구현 및이용방법과 시스템
US20060294051A1 (en) Uniform access to entities in registered data store services
US20160036860A1 (en) Policy based data processing
EP1875389B1 (en) Region-based security
Bertino et al. Access controls in object-oriented database systems—Some approaches and issues
Boulahia-Cuppens et al. Virtual view model to design a secure object-oriented database
Jones Access control for client-server object databases
Ferrari Discretionary Access Control for Relational Data Management Systems

Legal Events

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

Payment date: 20160427

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170504

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180427

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190429

Year of fee payment: 8