KR20080033376A - 듀얼 계층 액세스 제어 리스트 - Google Patents

듀얼 계층 액세스 제어 리스트 Download PDF

Info

Publication number
KR20080033376A
KR20080033376A KR1020087003220A KR20087003220A KR20080033376A KR 20080033376 A KR20080033376 A KR 20080033376A KR 1020087003220 A KR1020087003220 A KR 1020087003220A KR 20087003220 A KR20087003220 A KR 20087003220A KR 20080033376 A KR20080033376 A KR 20080033376A
Authority
KR
South Korea
Prior art keywords
computer
permission
rights
computer resource
references
Prior art date
Application number
KR1020087003220A
Other languages
English (en)
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 KR20080033376A publication Critical patent/KR20080033376A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • 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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • 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/2117User registration
    • 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
    • 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/101Access control lists [ACL]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Automation & Control Theory (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

컴퓨터 리소스에 대한 사용자 권한들을 생성하고 유지하는 프로세스를 위해 액세스 제어 리스트에 의한 사용을 위한 추상화 계층이 제공된다. 또한, 컴퓨터 리소스들은 임의의 수의 권한 집합들에 대한 레퍼런스들을 저장할 수 있으며, 사용이 요청되면, 권한 집합들은 권한이 허가되는지를 결정하는 병합된 집합으로 통합된다. 추가적인 추상화 레벨은 컴퓨터 리소스들에 대한 권한들을 관리하는 개체들에게 그 권한들이 설정된 이유를 이해할 수 있는 능력을 부여하는 추가 정보 계층을 생성한다. 권한 집합들에 대한 복수의 레퍼런스가 저장될 수 있기 때문에, 추가 정보 계층은 또한 컴퓨터 리소스에 대한 권한들의 히스토리를 생성할 수 있다.
사용자 권한, ACL, 추상화 계층, 컴퓨터 리소스.

Description

듀얼 계층 액세스 제어 리스트 {DUAL LAYERED ACCESS CONTROL LIST}
오늘날 존재하는 컴퓨터 파일 시스템들은 파일과 폴더에 개별적으로 액세스 제어 보안을 구현하고 있으며, 그로써 한 사용자가 동일한 파일 시스템을 액세스하는 동안 다른 사용자와 분리될 수 있도록 한다. 예를 들면, 제1 파일은 사용자 A만이 제1 파일에 액세스하는 것을 허용하는 보안 설정을 가질 수 있다. 제1 파일에 대한 이러한 보안 설정은 또 다른 사용자 B가 잘못하여 제1 파일을 액세스할 염려없이 사용자 B가 동일한 파일 시스템을 사용할 수 있도록 한다. 동일한 파일 시스템상의 사용자들을 분리하는 기능은 파일의 프라이버시로 귀착된다. 쓰기, 읽기 및 실행 권한 등과 같은, 파일 및 폴더에 대응될 수 있는 권한들의 어레이가 존재한다. 또한, 사용자가 원한다면, 사용자는 그들의 파일 및 폴더에 대한 보안 권한을 선택 변경하여 다른 사용자들에게 권한 어레이 중 임의의 것을 허용할 수 있다.
워싱턴, 레드먼드의 Microsoft Corporation의 WINDOWS® 브랜드 운영 체제상에서, 이러한 보안 아키텍처는 액세스 제어 리스트(Access Control List; ACL)를 통해 관리된다. ACL은 특정 파일 또는 폴더에 대해 다양한 사용자들이 어떤 권한들을 갖는지를 효과적으로 기술한다. 이러한 권한들은 특히 읽기, 쓰기, 실행, 수정 및 보호 권한 등을 포함한다. 예를 들면, 사용자는 주어진 파일을 보는 것이 전혀 허용되지 않을 수도 있고, 또는 파일을 읽기만 할 수도 있고, 또는 파일을 수 정할 수 있는 권한이 주어질 수도 있고, 또는 파일의 ACL을 변경할 수 있는 권한이 주어질 수도 있다. 상기 언급된 것 이상의, 전체 범위의 ACL 권한이 존재한다.
Windows® XP 브랜드 운영체제상에서, 주어진 아이템에 대한 디폴트 권한은 그것이 생성된 폴더의 권한으로부터 상속될 수 있다. 또한, 폴더가 또 다른 사용자에 공유되는 경우, 그 권한을 변경시키면, 운영체제는 그 폴더 하위의 모든 파일을 통해 반복하여 공유된 폴더 내의 각 파일에 대한 ACL에 상기 변경을 적용할 수 있다.
이러한 모델의 문제점은, 임의의 주어진 아이템에 대한 ACL은 단지 유효한 권한으로 판독될 수 있을 뿐이며, 그러한 권한에 대한 히스토리 또는 원인(reason)은 인식할 수 없다는 점이다. ACL은 사용자 1이 파일 또는 폴더에 대한 액세스 권한을 갖는다는 것을 기술하지만, 그 권한이 허가된 원인은 ACL에 제공되지 않는다. 또한, 파일 그룹에 대한 권한을 삭제하는 경우, 특정 파일에 대한 권한은 삭제되는 권한을 갖는 파일 그룹에 관한 것과는 독립적인 이유로 허가된 것이기 때문에 유지되어야 한다는 것을 판단할 수 없다. 사용자 1에게 원인 1과 원인 2의 이유로 파일 1을 액세스하는 권한이 부여되었다면, 원인 1이 무효가 되어 사용자 1에 대한 액세스 권한이 삭제되는 경우, 원인 2를 이유로 권한이 유지되어야 한다는 것을 ACL로부터는 알 수가 없다.
Windows® XP 브랜드 운영체제는 또한 사용자들의 집합 및/또는 다른 그룹들로 이루어지는 "그룹"의 생성을 허용한다. 생성되면, 그룹은 ACL 내에서 사용될 수 있으며, 이는 많은 사용자에게 권한을 한꺼번에 적용하는 것을 용이하게 한다. 유용한 툴이긴 하지만, 그룹 유틸리티는 권한에 대한 원인을 기록된 상태로 제공하지 않는다. 그룹이 파일 또는 폴더에 대한 액세스를 갖는 경우, 모티베이션(motivation)이 그룹을 생성하고 있다는 것 외에 그 권한이 왜 승인되었는지를 판단할 수 있는 방법은 없다. 그룹 유틸리티는 또한 주어진 권한이 삭제되는 원인과는 독립적인 원인으로 그 권한이 유지되어야 하는지를 판단할 수 없다. 그룹 1에 원인 1 및 원인 2의 이유로 파일 1을 액세스하는 권한이 부여되었다면, 원인 1이 무효가 되고 그룹 1에 대한 액세스 권한이 제거되는 경우, 원인 2를 이유로 권한이 유지되어야 한다는 것을 ACL로부터는 알 수가 없다. 또한, 그룹들 자체는 애초부터 그들과 연관된 어떠한 권한도 갖지 않는다.
이하의 내용은 본 발명의 일부 태양에 대한 기본적인 이해를 제공하는 간략한 요약을 제공한다. 본 설명은 본 발명에 대한 광범위한 개관(overview)이 아니다. 또한 본 발명의 중요한 또는 필수의 요소들을 나타내거나 발명의 범위를 규정하고자 하는 것이 아니다. 이하의 설명은 단지 이후에 더 상세하게 설명되는 내용에 대한 서문으로서 본 발명의 일부 개념들을 간략화된 형태로 제공하는 것이다.
본 발명의 양태들은 기존의 ACL 모델을 뛰어넘는 추가적인 추상화 레벨을 이용하는 액세스 제어 리스트(ACL)의 생성 및 관리에 관한 것이다. 일 양태에 따르면, 이러한 신규한 모델의 예시적인 구성은 사용자들 및/또는 그룹들 그리고 이들 각각의 권한들을 목록화(listing)하는 권한 집합을 포함할 수 있다. 권한 집합이 생성되면, 권한 집합은 하나 이상의 컴퓨터 리소스 중 임의의 수와 연관될 수 있다. 또한, 컴퓨터 리소스는 하나 이상의 권한 집합 중 임의의 수에 대한 레퍼런스들(references)을 저장할 수 있으며, 사용 요청이 있는 경우, 권한 집합들은 특정 사용자의 특정 사용에 권한이 허가되는지를 결정하는 병합된 집합(merged set)으로 통합된다.
추가적인 추상화 레벨은 기존의 ACL 모델에 비해 여러 가지 장점을 갖는다. 추가 계층(extra layer)의 정보는 컴퓨터 리소스에 대한 권한들을 관리하는 개체들에게 권한들이 저장된 이유를 이해하는 능력을 부여할 수 있다. 권한 집합들은 식별자(identifier)를 저장하기 때문에, 관리자는 식별자를 참조하여 권한이 존재하는 이유와 이들이 특정 컴퓨터 리소스들과 연관되는 이유를 이해할 수 있다. 또한, 추가 계층의 정보는 컴퓨터 리소스에 대한 권한의 히스토리를 생성할 수 있다. 권한 집합들에 대한 복수의 레퍼런스들이 하나의 컴퓨터 리소스와 연관될 수 있기 때문에, 레퍼런스들은 이미 존재하는 것들에 영향을 미치지 않고 추가 및 삭제될 수 있다.
또한 다양한 특징들로 권한 집합들에 대한 레퍼런스들을 서로 다른 컴퓨터 리소스들에 적용하는 두 개의 메커니즘을 소개한다. 한 메커니즘은 "리스트"로서, 컴퓨터 리소스들에 대하여 사용자 정의된 레퍼런스 집합을 포함하는 별개의 데이터 구조라는 점 외에는, 폴더와 유사하게 기능한다. 레퍼런스가 리스트에 포함되는 리소스들은 권한 집합들에 대한 리스트의 레퍼런스들을 상속한다. 다른 메커니즘은 "오토리스트(autolist)"로서, 리스트와 유사하지만, 컴퓨터 리소스들에 대한 사용자 정의된 레퍼런스 집합을 포함하는 대신, 오토리스트는 어떤 리소스가 오토리스트에 포함되는지를 결정하기 위해, 범위 및 상기 범위에 속하는 모든 컴퓨터 리소스들에 걸쳐 적용되는 하나 이상의 매치 기준을 포함하는 사용자 정의된 규칙 집합을 저장한다. 오토리스트에 연관된 것으로 판단되는 리소스들은 권한 집합들에 대한 오토리스트의 레퍼런스들을 상속한다.
첨부된 도면을 고려하여 이하의 설명을 참조함으로써, 본 발명의 태양에 대한 보다 완전한 이해가 이루어질 수 있다. 유사한 참조부호는 유사한 특징을 나타낸다.
도 1은 본 발명의 하나 이상의 예시적인 태양이 실시될 수 있는 동작 환경을 도시하는 도면.
도 2A 및 2B는 본 명세서에 기술된 예시적인 태양에 따른, 컴퓨터 리소스들과 연관될 수 있는 두 개의 권한 집합을 도시하는 도면.
도 3A 및 3B는 본 명세서에 기술된 예시적인 태양에 따른, 권한 집합들과 명시적인 권한들(explicit permissions)이 컴퓨터 리소스들과 연관될 수 있는 방법을 도시하는 도면.
도 4A는 본 명세서에 기술된 예시적인 태양에 따른, 리스트와 그 구성요소들을 도시하는 도면.
도 4B는 본 명세서에 기술된 예시적인 태양에 따른, 리스트로부터의 권한 집합들에 대한 레퍼런스들을 도시하는 도면.
도 5A는 본 명세서에 기술된 예시적인 태양에 따른, 오토리스트 및 그 구성 요소들을 도시하는 도면.
도 5B는 본 명세서에 기술된 예시적인 태양에 따른, 오토리스트로부터의 권한 집합들에 대한 레퍼런스들을 도시하는 도면.
도 6은 본 명세서에 기술된 예시적인 태양에 따른, 병합된 권한 집합의 연산을 도시하는 도면.
도 7은 본 명세서에 기술된 예시적인 태양에 따른, 컴퓨터 리소스의 사용이 허가되어야 하는지를 결정하기 위한 순서도.
도 8A 및 8B는 본 명세서에 기술된 예시적인 태양에 따른, 권한 집합으로부터의 추가 정보 계층(extra layer of information) 및 그것이 복수의 컴퓨터 리소스와 연관될 수 있는 방법을 도시하는 도면.
도 9A는 본 명세서에 기술된 예시적인 태양에 따른, 두 개의 권한 집합을 도시하는 도면.
도 9B는 본 명세서에 기술된 예시적인 태양에 따른, 두 권한 집합이 모두 동일한 컴퓨터 리소스와 연관되는 경우, 결과의 병합된 권한 집합을 도시하는 도면.
도 9C는 본 명세서에 기술된 예시적인 태양에 따른, 하나의 권한 집합이 삭제되는 경우 올바른 권한들이 보존될 수 있도록 추가 계층의 정보가 히스토리를 생성하는 방법을 도시하는 도면.
도 10A 및 10B는 본 명세서에 기술된 예시적인 태양에 따른, 권한 집합으로부터의 추가 계층 정보 및 그것이 복수의 컴퓨터 리소스와 연관될 수 있는 방법을 더 도시하는 도면.
예시적인 태양들에 대한 이하의 설명에 있어서, 본 명세서의 일부를 형성하는 첨부된 도면에 대한 참조가 이루어지며, 이는 발명이 실시될 수 있는 다양한 실시예들을 예시의 방법으로 도시한다. 다른 실시예들도 이용될 수 있으며 본 발명의 범주를 벗어나지 않고 구조적 기능적 변경이 이루어질 수 있음을 인지하여야 한다.
예시적인 동작 환경
도 1은 발명이 실시될 수 있는 적합한 컴퓨팅 환경(100)의 예를 도시한다. 컴퓨팅 환경(100)은 적합한 컴퓨팅 환경의 일례일 뿐이며 발명의 이용 또는 기능성의 범주에 대해 어떤 제한을 시사하고자 하는 것은 아니다. 또한 컴퓨팅 환경(100)이 예시 동작 환경(100)에 도시된 임의의 구성요소 또는 이들의 조합에 관련된 임의의 종속성 또는 요건을 갖는 것으로 해석되어서는 안된다.
본 발명은 다양한 기타의 범용 또는 전용 컴퓨팅 시스템 환경 또는 구성으로 동작가능하다. 본 발명에 사용하기 적합할 수 있는 공지의 컴퓨팅 시스템, 환경 및/또는 구성의 예로는 퍼스널 컴퓨터, 서버 컴퓨터, PDA와 같은 휴대용 및 핸드-헬드 장치, 타블렛 PC 또는 랩탑 PC, 멀티프로세서 시스템, 마이크로프로세서 기반 시스템, 셋톱박스, 프로그램 가능 가전기기, 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터, 게임 콘솔, 상기 시스템 또는 장치 중 임의의 것을 포함하는 분산형 컴퓨팅 환경 등을 포함하나, 이에 한정되는 것은 아니다.
본 발명은 일반적으로 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터 실행가능 명령어와 관련하여 기술될 것이다. 일반적으로, 프로그램 모듈은 특정 태스크를 수행하거나 특정 추상 데이터 유형을 구현하는 루틴, 프로그램, 개체, 컴포넌트, 데이터 구조 등을 포함한다. 본 발명은 또한 통신 네트워크를 통해 연결되어 있는 원격 처리 장치들에 의해 태스크가 수행되는 분산 컴퓨팅 환경에서 실시되도록 설계된다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 메모리 저장 장치를 비롯한 로컬 및 원격 컴퓨터 저장 매체 둘 다에 위치할 수 있다.
도 1과 관련하여, 본 발명을 구현하는 예시적인 시스템은 컴퓨터(110) 형태의 범용 컴퓨팅 장치를 포함한다. 컴퓨터(110)의 컴포넌트들은 프로세싱 유닛(120), 시스템 메모리(130), 및 시스템 메모리(130)를 비롯한 각종 시스템 컴포넌트들을 프로세싱 유닛(120)에 연결시키는 시스템 버스(121)를 포함하지만 이에 한정되는 것은 아니다. 시스템 버스(121)는 메모리 버스 또는 메모리 컨트롤러, 주변 장치 버스 및 각종 버스 아키텍처 중 임의의 것을 이용하는 로컬 버스를 비롯한 몇몇 유형의 버스 구조 중 어느 것이라도 될 수 있다. 예로서, 이러한 아키텍처는 ISA(industry standard architecture) 버스, MCA(micro channel architecture) 버스, EISA(Enhanced ISA) 버스, VESA(video electronics standard association) 로컬 버스, AGP(advanced graphics port) 버스, 그리고 메자닌 버스(mezzanine bus)로도 알려진 PCI(peripheral component interconnect) 버스 등을 포함하지만 이에 한정되는 것은 아니다.
컴퓨터(110)는 통상적으로 각종 컴퓨터 판독가능 매체를 포함한다. 컴퓨터(110)에 의해 액세스 가능한 매체는 그 어떤 것이든지 컴퓨터 판독가능 매체가 될 수 있고, 이러한 컴퓨터 판독가능 매체는 휘발성 및 비휘발성 매체, 이동식 및 비이동식 매체를 포함한다. 예로서, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함하지만 이에 한정되는 것은 아니다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보를 저장하는 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 이동식 및 비이동식 매체를 포함한다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 기타 메모리 기술, CD-ROM, DVD 또는 기타 광 디스크 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 기타 자기 저장 장치, 또는 컴퓨터(110)에 의해 액세스될 수 있고 원하는 정보를 저장하는데 이용될 수 있는 임의의 기타 매체를 포함하지만 이에 한정되는 것은 아니다. 통신 매체는 통상적으로 반송파(carrier wave) 또는 기타 전송 메커니즘(transport mechanism)과 같은 피변조 데이터 신호(modulated data signal)에 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터 등을 구현하고 모든 정보 전달 매체를 포함한다. "피변조 데이터 신호"라는 용어는, 신호 내에 정보를 인코딩하도록 그 신호의 특성들 중 하나 이상을 설정 또는 변경시킨 신호를 의미한다. 예로서, 통신 매체는 유선 네트워크 또는 직접 배선 접속(direct-wired connection)과 같은 유선 매체, 그리고 음향(acoustic), RF, 적외선, 기타 무선 매체와 같은 무선 매체를 포함한다. 상술된 매체들의 모든 조합이 또한 컴퓨터 판독가능 매체의 영역 안에 포함되는 것으로 한다.
시스템 메모리(130)는 ROM(131) 및 RAM(132)와 같은 휘발성 및/또는 비휘발 성 메모리 형태의 컴퓨터 저장 매체를 포함한다. 시동 중과 같은 때에 컴퓨터(110) 내의 구성요소들 사이의 정보 전송을 돕는 기본 루틴을 포함하는 기본 입/출력 시스템(BIOS)(133)은 통상적으로 ROM(131)에 저장되어 있다. RAM(132)은 통상적으로 프로세싱 유닛(120)이 즉시 액세스할 수 있거나 현재 동작시키고 있는 데이터 및/또는 프로그램 모듈을 포함한다. 예로서, 도 1은 운영 체제(134), 애플리케이션 프로그램(135), 기타 프로그램 모듈(136) 및 프로그램 데이터(137)를 도시하고 있지만 이에 한정되는 것은 아니다.
컴퓨터(110)는 또한 기타 이동식/비이동식, 휘발성/비휘발성 컴퓨터 저장매체를 포함한다. 단지 예로서, 도 1은 비이동식·비휘발성 자기 매체에 기록을 하거나 그로부터 판독을 하는 하드 디스크 드라이브(141), 이동식·비휘발성 자기 디스크(152)에 기록을 하거나 그로부터 판독을 하는 자기 디스크 드라이브(151), CD-ROM 또는 기타 광 매체 등의 이동식·비휘발성 광 디스크(156)에 기록을 하거나 그로부터 판독을 하는 광 디스크 드라이브(155)를 포함한다. 예시적인 운영 환경에서 사용될 수 있는 기타 이동식/비이동식, 휘발성/비휘발성 컴퓨터 저장 매체로는 자기 테이프 카세트, 플래시 메모리 카드, DVD, 디지털 비디오 테이프, 고상(solid state) RAM, 고상 ROM 등이 있지만 이에 제한되는 것은 아니다. 하드 디스크 드라이브(141)는 통상적으로 인터페이스(140)와 같은 비이동식 메모리 인터페이스를 통해 시스템 버스(121)에 접속되고, 자기 디스크 드라이브(151) 및 광 디스크 드라이브(155)는 통상적으로 인터페이스(150)와 같은 이동식 메모리 인터페이스에 의해 시스템 버스(121)에 접속된다.
상기 설명되고 도 1에 도시된 드라이브들 및 이들과 관련된 컴퓨터 저장 매체는, 컴퓨터(110)에 대한 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 및 기타 데이터를 저장한다. 도 1에서, 예를 들어, 하드 디스크 드라이브(141)는 운영 체제(144), 애플리케이션 프로그램(145), 기타 프로그램 모듈(146), 및 프로그램 데이터(147)를 저장하는 것으로 도시되어 있다. 여기서 주의할 점은 이들 컴포넌트가 운영 체제(134), 애플리케이션 프로그램(135), 기타 프로그램 모듈(136), 및 프로그램 데이터(137)와 동일할 수도 또는 그와 다를 수도 있다는 것이다. 운영 체제(144), 애플리케이션 프로그램(145), 기타 프로그램 모듈(146) 및 프로그램 데이터(147)에 다른 번호가 부여되어 있다는 것은 적어도 이들이 다른 사본(copy)이라는 것을 나타내기 위한 것이다. 사용자는 키보드(162), 및 마우스, 트랙볼(trackball) 또는 터치 패드로도 지칭되는 포인팅 장치(161) 등의 입력 장치를 통해 명령 및 정보를 컴퓨터(110)에 입력할 수 있다. 다른 입력 장치(도시되지 않음)로는 마이크, 조이스틱, 게임 패드, 위성 안테나, 스캐너 등이 포함될 수 있다. 이들 및 기타 입력 장치는 종종 시스템 버스에 연결된 사용자 입력 인터페이스(160)를 통해 프로세싱 유닛(120)에 접속되지만, 병렬 포트, 게임 포트, USB(universal serial bus), 또는 IEEE 1394 시리얼 버스(FireWire) 등의 다른 인터페이스 및 버스 구조에 의해 접속될 수도 있다. 적어도 하나의 모니터(184) 또는 다른 유형의 디스플레이 장치도 비디오 어댑터(183)와 같은 인터페이스를 통해 시스템 버스(121)에 접속될 수 있다. 비디오 어댑터(183)는 자체의 전용 프로세서 및 메모리를 가질 뿐만 아니라, 개선된 3D 그래픽 기능을 지원할 수 있다. 컴퓨 터(110)는 또한 사용자가 스틸러스(stylus) 입력 장치(186)를 사용하여 입력할 수 있도록 하는 디지타이저(185)를 포함할 수 있다. 모니터 외에, 컴퓨터는 스피커(189) 및 프린터(188) 등의 기타 주변 출력 장치를 포함할 수 있고, 이들은 출력 주변장치 인터페이스(187)를 통해 접속될 수 있다.
컴퓨터(110)는 원격 컴퓨터(180)와 같은 하나 이상의 원격 컴퓨터로의 논리적 접속을 사용하여 네트워크화된 환경에서 동작할 수 있다. 원격 컴퓨터(180)는 퍼스널 컴퓨터, 서버, 라우터, 네트워크 PC, 피어 장치(peer device) 또는 기타 공통 네트워크 노드일 수 있으며, 도 1에는 단 하나의 메모리 저장 장치(181)만이 도시되어 있으나, 통상적으로 컴퓨터(110)와 관련하여 상술된 구성요소들의 대부분 또는 그 전부를 포함한다. 도 1에 도시된 논리적 접속으로는 LAN(171) 및 WAN(173)이 포함되나, 기타 네트워크가 포함될 수도 있다. 이러한 네트워킹 환경은 사무실, 전사적 컴퓨터 네트워크(enterprise-wide computer network), 인트라넷 및 인터넷에서 일반적인 것이다.
LAN 네트워킹 환경에서 사용될 때, 컴퓨터(110)는 네트워크 인터페이스 또는 어댑터(170)를 통해 LAN(171)에 접속될 수 있다. WAN 네트워킹 환경에서 사용될 때, 컴퓨터(110)는 인터넷과 같은 WAN(173)을 통해 통신을 수립하기 위한 모뎀(172) 또는 기타 수단을 포함할 수 있다. 모뎀(172)은 내장형 또는 외장형일 수 있으며, 사용자 입력 인터페이스(160) 또는 기타 적절한 메커니즘을 통해 시스템 버스(121)에 접속될 수 있다. 네트워크화된 환경에서, 컴퓨터(110) 또는 그의 일부와 관련하여 기술된 프로그램 모듈은 원격 메모리 저장 장치에 저장될 수 있다. 예로서, 도 1은 원격 애플리케이션 프로그램(182)이 메모리 장치(181)에 존재하는 것으로 도시하고 있지만, 본 예에 제한되는 것은 아니다. 도시된 네트워크 접속은 예시적인 것이며 이 컴퓨터들 사이에 통신 링크를 수립하는 기타의 수단이 사용될 수 있다는 것을 이해할 것이다.
본 발명의 하나 이상의 태양은, 하나 이상의 컴퓨터 또는 기타 장치에 의해 실행되는, 하나 이상의 프로그램 모듈과 같은 컴퓨터 실행가능한 명령들에 구현될 수 있다. 일반적으로, 프로그램 모듈은 컴퓨터 또는 기타 장치의 프로세서에 의해 실행될 때 특정 태스크를 수행하거나 특정 추상 데이터 타입을 구현하는 루틴, 프로그램, 객체, 컴포넌트, 데이터 구조 등을 포함한다. 컴퓨터 실행가능한 명령은 하드 디스크, 광학 디스크, 이동식 저장 매체, 고상 메모리, RAM 등과 같은 컴퓨터 판독가능한 매체에 저장될 수 있다. 당업자라면 알 수 있듯이, 프로그램 모듈의 기능성은 다양한 실시예에 있어서 필요한 대로 통합되거나 분산될 수 있다. 또한, 기능성은 집적 회로, FPGA(field programmable gate arrays) 등과 같은 하드웨어 등가물 또는 펌웨어의 전체 또는 일부에 구현될 수 있다.
예시적인 실시예
본 발명의 태양은 컴퓨터 리소스에 대한 권한 집합을 정의함으로써 보안 모델과 액세스 제어 리스트(ACL)에 추상화 레벨을 추가하여, 각 권한 집합에 이름을 부여하고 그 명명된 권한 집합(들)을 컴퓨터 리소스에 적용함으로써 그러한 권한들에 대한 히스토리와 원인이 유지되도록 하는데 이용될 수 있다.
본 발명의 하나 이상의 태양은 하나 이상의 사용자 집합 및/또는 하나 이상의 그룹 그리고 그들과 연관된 권한들을 도 2A 및 2B에 도시된 것과 작용적으로(operatively) 유사한 데이터 구조에 저장한다. 도 2A는, 컴퓨터 리소스(도시되지 않음)에 적용되는 경우 Tim과 Diz가 모든 필요한 동작을 취할 수 있도록 하는 반면 Cees는 컴퓨터 리소스로부터 읽기만 할 수 있도록 하고, Colin은 컴퓨터 리소스에 기록하거나 그로부터 읽기를 할 수 있도록 하는 권한 집합(201)을 도시한다. 도 2B는, 컴퓨터 리소스(도시되지 않음)에 적용되는 경우 Tim은 모든 필요한 동작을 취할 수 있도록 하는 반면, Colin과 Lyon은 컴퓨터 리소스로부터 읽기만 할 수 있도록 하고, Jason과 Kerem은 컴퓨터 리소스에 기록하거나 그로부터 읽기를 할 수 있도록 하는 또 다른 권한 집합(205)을 도시한다. 각 권한 집합(201 및 205)이 생성된 후, 사용자 또는 (운영체제와 같은) 시스템은 각 권한 집합에 레퍼런스 또는 이름(203, 207)을 할당할 수 있다. 본 예에서, 권한 집합(205)은 블루(207)로 지칭되고, 권한 집합(201)은 그린(203)으로 지칭된다. 레퍼런스들 중 하나 또는 둘 모두 임의의 수의 컴퓨터 리소스와 연관될 수 있으며, 그럼으로써 그 컴퓨터 리소스들에 대응 권한들을 적용하게 된다. 본 명세서에서 사용되는 경우, 컴퓨터 리소스는 파일, 폴더, 리스트, 오토리스트, 이메일 연락처 리스트, 이메일, 작업(task), I/O 포트 및 기타 임의의 식별가능한 컴퓨터 리소스를 포함하나, 이에 한정되는 것은 아니다.
도 3A는 컴퓨터 리소스, 즉 파일 I1(301)을 도시한다. 파일 I1(301)은 대응 액세스 제어 리스트(302)를 갖는다. ACL(302)이 컴퓨터 리소스(301) 내에 있는 것 으로 도시되어 있으나, 당업자라면 ACL이 대안적으로 그것에 대응되는 컴퓨터 리소스와 분리되어 저장될 수 있음을 인지할 것이다. ACL(302)는 파일 I1(301)이 명시된 권한(305)뿐만 아니라 블루 권한 집합(205)에 의해 정의되는 모든 권한을 상속한다는 것을 나타낸다. 그 결과, 아이템 I1(301)은, Tim은 모든 필요한 동작을 취할 수 있도록 허용하고, Colin, Lyon 및 Mike는 읽기만을 할 수 있도록 하고, Jason, Kerem 및 John은 읽기와 쓰기를 할 수 있도록 하고, 또한 Lyon은 읽기 권한이 거부('not'은 '~'로 표시됨)되도록 하는 권한을 갖는다.
도 3B는 컴퓨터 리소스, 즉 파일 I2(303)을 도시한다. 파일 I2(303)는 대응되는 액세스 제어 리스트(304)를 갖는다. ACL(304)이 컴퓨터 리소스(303) 내에 있는 것으로 도시되어 있으나, 당업자라면 ACL이 대안적으로 그에 대응되는 컴퓨터 리소스와 분리되어 저장될 수 있음을 인지할 것이다. ACL(304)는 파일 I2(303)이 그린 권한 집합(201)에 의해 정의되는 모든 권한뿐만 아니라 블루 권한 집합(205)에 의해 정의되는 모든 권한을 상속한다는 것을 나타낸다. 아이템 I2(303)는, Tim과 Diz가 필요한 모든 동작을 취할 수 있도록 허용하고, Cees와 Lyon은 읽기만을 할 수 있도록 하고, Colin, Jason 및 Kerem은 읽기와 쓰기를 할 수 있도록 하는 권한을 갖는다. 추가적인 추상화 레벨을 이용하여, 즉 권한들 자체를 리스팅하는 대신 ACL 내에서 권한 집합의 이름을 참조함으로써, 이하 상세히 기술되는 바와 같이 사용자는 권한들이 어디서부터 기원한 것인지를 추적할 수 있다.
본 발명의 태양들은 권한 집합들에 대한 레퍼런스들을 서로 다른 컴퓨터 리소스들에 적용하기 위해 적어도 두 개의 형태를 취하는 상속 특성(inheritance feature)을 제공한다. 첫 번째 메커니즘은 "리스트"로서, 리스트가 도 4A에 도시된 바와 같이 컴퓨터 리소스에 대한 사용자 정의 레퍼런스 집합(user defined set of references; 401)을 포함하는 분리된 데이터 구조라는 점을 제외하고는 폴더와 유사하게 동작한다. 리스트는 선택적인 주석(annotation)을 더 포함할 수 있으며 몇몇 정해진 순서(prescribed order)를 가질 수 있다. 도 4A는 또한 권한 집합(205)이 리스트와 연관될 수 있으며, 이 경우 리스트(401) 내의 모든 컴퓨터 리소스가 리스트와 연관된 권한 집합(205)(본 예에서, 블루 권한 집합)에 대한 레퍼런스를 상속한다는 것을 도시한다. 도 4B는 상속의 원리를 도시하는데, 리스트는 권한 집합(205)에 대한 레퍼런스를 가지며 리스트(401)와 연관된 모든 컴퓨터 리소스는 후속적으로 권한 집합(205)에 대한 레퍼런스를 저장한다.
두 번째 메커니즘은 "오토리스트"로서, 리스트와 유사하지만, 컴퓨터 리소스들에 대한 사용자 정의 레퍼런스 집합을 포함하는 대신, 오토리스트는 어떤 리소스가 오토리스트에 포함되는지를 결정하기 위해, 범위(501) 및 상기 범위에 속하는 모든 컴퓨터 리소스들에 걸쳐 적용되는 하나 이상의 매치 기준(503)을 포함하는 사용자 정의 규칙 집합(user defined set of rules)을 저장한다. 오토리스트와 연관된 것으로 판정되는 리소스들은 권한 집합(201)에 대한 오토리스트의 레퍼런스를 상속한다. 범위(501)는 컴퓨터가 컴퓨터 리소스들을 평가(evaluate)할 것으로 기대되는 장소를 정의하며, 기준(503)은 컴퓨터 리소스들의 메타데이터(metadata)가 평가되는 규칙을 정의한다. 가능한 규칙의 한 가지 예가 도 5A에 도시되어 있으며, 여기에서 오토리스트의 규칙은 전체 C 드라이브를 검색하는 범위(501)와 작성 자가 Cees인 컴퓨터 리소스에 적용한다는 기준을 가진다. 특정된 기준에 속하며 상기 범위 내에 저장된 모든 컴퓨터 리소스는 오토리스트와 연관된 권한 집합에 대한 모든 레퍼런스를 상속한다. 그러한 오토리스트의 결과가 도 5B에 도시되어 있으며, 여기에서 컴퓨터 리소스 I2(303) 및 I3(507)은 상기 범위와 기준에 속하므로 오토리스트(201)에 연관된 권한 집합(들)에 대한 레퍼런스를 상속한다. 아이템 I2는 또한, 이전 예에서 설명한 바와 같이, 블루 권한 집합(205)를 참조하는 것으로 도시되어 있다. 시스템은 또한 기준에 부합하지 않으며 범위 내에 속하는 모든 아이템이 오토리스트에 대응되는 권한 집합(들)과 연관되지 않음을 보장한다. 또한, 시스템은 나아가 기준에 부합하지 않으며 시스템이 액세스를 갖는 모든 아이템이 오토리스트에 대응되는 권한 집합(들)과 연관되지 않음을 보장한다.
오토리스트는 동적으로 변화하기 때문에, 일례의 특징으로, 올바른 컴퓨터 리소스가 오토리스트에 의해 표시되는 권한과 연관되도록 오토리스트를 업데이트할 수 있다. 오토리스트는 수동 조작 또는 자동 조작에 의해 메커니즘에 대한 검사를 유발하도록 구현될 수 있다. 수동 조작은, 프로그램의 실행, 또는 동작을 개시하는 버튼의 클릭 등과 같은 컴퓨터 액션을 포함하나, 이에 한정되는 것은 아니다. 자동 조작 구현 옵션은, 하루 한번 또는 한 시간에 한번 등과 같이 설정된 시간 간격에 업데이트 프로시저를 실행시키는 것과 같이 단순한 것일 수 있으며, 컴퓨터 리소스가 변경되는 경우 자동으로 오토리스트에 적절한 변경을 가하는 리스너(listener)에 의해 구현될 수도 있다.
하나의 컴퓨터 리소스에 대한 서로 다른 권한 집합 및/또는 명시적인 권한들 에 대한 하나 이상의 레퍼런스가 존재하는 경우, 그 컴퓨터 리소스를 사용하려는 요청이 승인되어야 하는지를 결정하기 위해 병합된 권한 집합이 생성될 수 있다. 예를 들면, 상기 예시된 바와 같이, 아이템 I1(201)은 블루 권한 집합(205)뿐만 아니라 추가적인 명시된 권한(305) 양쪽 모두를 참조한다(도 3A). 아이템 I2(205)는 블루 권한 집합(205)과 그린 권한 집합(201) 모두를 참조한다(도 3B). 예시적인 병합 프로세스가 도 6에 도시되어 있으며, 주어진 데이터 객체와 연관된 서로 다른 권한 집합 및 명시적 권한에 대하여 OR 연산이 적용될 수 있다. 본 예에서, 도 6은 권한 집합(205) 및 명시적 권한(305)을 갖는 컴퓨터 리소스 I1(301)에 대한 병합을 도시한다. OR 연산의 결과는 도 6의 아이템(601)에 도시되어 있다. 권한 집합(205)로부터 읽기 액세스만을 갖지만, 명시적 권한(305)으로부터 읽기 및 쓰기 액세스를 갖는 Colin은, 병합 중 OR 연산의 결과로 읽기 및 쓰기 액세스를 획득한다. Lyon의 거부 권한과 허가 권한이 통합되어, Lyon은 하나의 엔트리만을 갖게 된다. 읽기 권한이 거부 권한에 의해 오버라이드되기 때문에, 이 엔트리는 읽기 권한을 삭제한다. 대안적인 실시예는 사용자마다 복수의 엔트리를 사용할 수 있으며, 각 엔트리는 조합된 권한으로부터 권한/거부 중 일부를 제공한다.
그 후 병합된 권한 집합(601)은 컴퓨터 리소스의 사용을 위한 요청이 허가되어야 하는지를 결정하는데 사용될 수 있다. 병합된 집합에 권한이 존재하는 경우, 요청된 사용이 사용자에게 허가될 수 있다. 예를 들면, 601 내의 정보를 이용하여 도 7의 흐름도를 참조하면, Lyon이 I1(301)에 대한 읽기 액세스를 요청하고 있는 경우, I1에 대한 병합된 리스트(601)를 생성한 후(단계 701), 컴퓨터는 Lyon과 연 관된 읽기 권한이 존재하는지를 알기 위한 검사를 수행한다(단계 703). 그러한 권한이 존재하지 않거나, 거부(deny) 권한이 존재하는 경우, Lyon은 읽기 액세스가 거부된다(단계 705). Lyon에 대하여 그러한 권한이 존재하는 경우, Lyon에게 읽기 액세스가 허가된다(단계 707).
본 명세서에 기술된 예시적인 특징들에 의해 생성된 정보 계층은 컴퓨터 리소스에 대한 권한을 관리하는 개인들에게 그 권한이 설정된 이유를 인지할 수 있는 능력을 제공한다. 도 8A에 도시된 바와 같이, 한 회사는 현재 프로젝트를 위한 팀을 만들 수 있으며, 팀 리더는 전체 권한을 가지고 다른 멤버들은 읽기와 쓰기 액세스를 갖는, 레드(801)로 지칭되는 권한 집합을 가질 수 있다. 도 8B에 도시된 바와 같이, 서로 다른 컴퓨터 리소스들 I4(803), I5(805) 및 I6(807)에 레드 권한 집합(801)을 적용한 후, 권한들을 관리하는 관리자(administrator)는 그것이 레드 식별자(801)를 보유하고 있으므로 프로젝트의 결과로서 생성된 것임을 이해할 수 있다. 이러한 이해를 통해, 관리자는 그에 따라 컴퓨터 리소스로부터의 권한을 유지하거나 삭제할 수 있다. 기존 ACL 모델의 그룹 유틸리티는 그룹과 연관된 사용자들에게 완전히 동일한 권한들을 제공하였으나, 상기 예시에 기술된 바와 같이 본 발명의 태양에 따르면, 서로 다른 사용자들이 동일한 그룹 내에서 서로 다른 권한들을 가질 수 있다.
생성된 추가의 정보 계층은 컴퓨터 리소스에 대한 권한들의 히스토리를 생성한다. 도 9A에 도시된 바와 같이, Mike에게는, 옐로우로 지칭되는 제1 권한 집합(901)으로부터 읽기 액세스가 부여되고, 또한 퍼플로 지칭되는 제2 권한 집 합(903)으로부터 읽기 및 쓰기 액세스가 부여된다. 사용 요청이 이루어지면, 두 집합(901, 903)으로부터의 권한들은 시스템에 의해 병합되어 도 9B에 도시된 바와 같이 Mike에게 읽기 및 쓰기 액세스를 부여하게 된다. 파일 I7(905)이 퍼플 권한 집합(903)에 대한 레퍼런스와 함께 옐로우 권한 집합(901)에 대한 레퍼런스를 저장하고 있기 때문이다. 도 9C에 도시된 바와 같이, 퍼플 권한 집합(903)이 어떤 이유로 삭제되는 경우, 사용자는 여전히 옐로우 권한 집합(901)에 대한 레퍼런스로부터 읽기 권한을 유지하게 된다. 기존 ACL 모델에서는, 권한들의 리스트만이 보존된다. 문제는 관리자가 퍼플 권한 집합(903)과 연관되어 있던 사용자의 읽기 및 쓰기 액세스를 삭제할 수 있다는 점이다. 읽기 액세스는 옐로우 권한 집합(901)과 연관되어 있었으므로 허가될 수 있기 때문에 유지되어야 함에도 불구하고, 옐로우 또는 퍼플 권한 집합에 대한 어떠한 레퍼런스도 보존되지 않고, 권한들 자체만이 저장되기 때문에, 읽기 액세스가 삭제되어 버린다. 권한 집합에 레퍼런스를 적용한다는 점에서, 본 발명의 소정 태양에 따라 생성된 히스토리 정보는 이러한 문제를 해결한다.
추가 정보 계층은 또한 권한들이 용이하게 변경되어 배포될 수 있도록 한다. 도 10A에 도시된 바와 같이, 도 8의 레드 권한 집합(801)은 또 다른 멤버를 추가하도록 변경될 수 있다. 변경되면, 레드 권한 집합(801)은 레드 권한 집합(801)과 연관되어 있던 모든 컴퓨터 리소스를 업데이트한다. 도 10B는 새로운 멤버가 레드 권한 집합(801)에 추가된 후, 파일 I4(803), I5(805) 및 I6(807)이 새로운 멤버와 연관된 권한을 갖는 것을 도시한다. 이러한 업데이트 배포(update dissemination) 는 사용자의 삭제, 현재 사용자 권한의 변경 및 사용자 추가 등에 의한 임의의 업데이트로 구현될 수 있으나, 이에 한정되는 것은 아니다.
본 발명의 소정 양태에 따라 제공된 ACL 모델의 추가적인 추상화 레벨은 기존의 ACL 모델에 존재하는 여러 문제점들을 해결하는 정보 계층을 생성한다. 컴퓨터 리소스들은 권한 집합에 대한 복수의 레퍼런스들을 저장하며, 액세스를 승인하기 전, 권한들을 병합된 집합으로 통합한다. 이러한 추가 추상화 계층은 컴퓨터 리소스의 ACL을 관리하고 있는 개체들에게 ACL이 각각의 특정 컴퓨터 리소스에 적용되었던 이유를 기억하는 방법을 제공한다. 또한 권한 집합들에 대한 복수의 레퍼런스가 저장될 수 있으므로, 권한 집합에 대한 하나의 레퍼런스가 삭제되는 경우에도 나머지가 여전히 존속하므로 올바른 ACL이 생성되기 때문에, 그 결과 컴퓨터 리소스들이 그들의 권한을 올바르게 유지하게 된다. 추가 계층은 또한 권한에 대한 변경들이 용이하게 컴퓨터 리소스들에 배포될 수 있도록 한다. 본 발명의 태양에 따른 ACL 모델은 또한, 권한 집합을 서로 다른 컴퓨터 리소스들에 용이하게 적용할 수 있도록 하는 특성을 가진다. 리스트들은 사용자가 하나 이상의 권한 집합을, 리스트와 연관시킨 컴퓨터 리소스들에 적용할 수 있도록 한다. 오토리스트는 사용자가 컴퓨터 리소스 메타데이터에 적용할 규칙들의 집합을 생성할 수 있도록 하며, 규칙에 부합되는 것들은 오토리스트와 연관된 권한 집합들에 대한 레퍼런스를 저장한다. 이러한 모든 특징들은 기존 ACL 모델의 이전 기술을 개선시킨 것이다.
본 명세서에서 본 발명의 다양한 태양들을 구현하는 예시적인 시스템과 방법 을 보였으나, 당업자라면 본 발명이 이러한 실시예에 한정되는 것은 아니라는 점을 이해할 것이다. 당업자에 의해, 특히 상술한 교시내용의 관점에서 변경이 이루어질 수 있다. 예를 들면, 전술한 실시예의 구성요소 각각은 독립적으로 이용되거나, 다른 실시예의 구성요소들과 조합되어 또는 일부 조합되어 이용될 수 있다. 또한 본 발명의 진정한 사상과 범주를 벗어나지 않고 변경이 이루어질 수 있음을 이해하고 인지하여야 한다. 이와 같이, 본 설명은 한정적인 것이 아니라 예시적인 것으로 간주되어야 한다.

Claims (15)

  1. 컴퓨터 시스템 상의 리소스에 대한 액세스 제어를 제공하는 방법으로서,
    (a) 상기 컴퓨터 리소스에 대응되는 권한 집합에 대한 하나 이상의 레퍼런스를 판독하는 단계,
    (b) 상기 하나 이상의 레퍼런스 각각에 대응되는 권한 집합을 획득하기 위해 액세스 제어 데이터베이스를 쿼리하는 단계(querying),
    (c) 상기 컴퓨터 리소스에 대한 병합된 권한 집합을 획득하기 위해 단계 (b)로부터의 권한 집합들을 병합하는 단계, 및
    (d) 상기 컴퓨터 리소스의 사용을 요청하는 개체(entity)가 그러한 사용에 대한 권한을 갖고 있는지를 식별하기 위해 상기 병합된 권한 집합을 검색하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    단계 (c)는,
    단계 (b)에서 반환된 권한 집합들에 대해 OR 연산을 사용하여 상기 권한 집합들 모두를 병합하는 단계
    를 더 포함하는 방법.
  3. 제2항에 있어서,
    각각의 권한은 상기 컴퓨터 리소스의 사전 결정된 사용에 대한 허가 권한(grant permission) 또는 거부 권한(deny permission)을 포함하고, 거부 권한은 대응되는 허가 권한을 오버라이드(override)하는 방법.
  4. 제1항에 있어서,
    단계 (a)는 액세스 제어 리스트(ACL)로부터 상기 하나 이상의 레퍼런스를 판독하는 단계를 포함하는 방법.
  5. 제1항에 있어서,
    단계 (a)는 상기 컴퓨터 리소스에 대한 명시적인 권한들을 판독하는 단계를 더 포함하고,
    단계 (c)는 상기 명시적인 권한들을 단계 (b)로부터의 하나 이상의 권한 집합과 병합하는 단계를 포함하는 방법.
  6. 제1항에 있어서,
    상기 하나 이상의 레퍼런스 중 제1 레퍼런스는 사전 결정된 리스트에 대응되는 방법.
  7. 제1항에 있어서,
    상기 하나 이상의 레퍼런스 중 제1 레퍼런스는 사전 결정된 오토리스트에 대 응되는 방법.
  8. 제1항에 있어서,
    상기 하나 이상의 레퍼런스 중 제1 레퍼런스는 사용자 선택 레퍼런스(user selected reference)에 대응되는 방법.
  9. 제1항의 방법을 수행하는 컴퓨터 실행가능한 명령어들을 저장하는 하나 이상의 컴퓨터 판독가능 매체.
  10. 컴퓨터 리소스에 대한 보안 권한들을 설정하기 위한 방법으로서,
    (a) 제1 보안 권한 집합을 정의하는 단계;
    (b) 제2 보안 권한 집합을 정의하는 단계; 및
    (c) 상기 제1 보안 권한 집합에 대한 제1 레퍼런스 및 상기 제2 보안 권한 집합에 대한 제2 레퍼런스를 상기 컴퓨터 리소스에 대응되는 보안 데이터에 저장하는 단계
    를 포함하는 방법.
  11. 제10항에 있어서,
    상기 컴퓨터 리소스는 리스트에 의해 정의되는 방법.
  12. 제10항에 있어서,
    상기 컴퓨터 리소스는 오토리스트에 의해 정의되는 방법.
  13. 제10항의 방법을 수행하는 컴퓨터 실행가능한 명령어들을 저장하는 하나 이상의 컴퓨터 판독가능 매체.
  14. 데이터 구조가 저장된 하나 이상의 컴퓨터 판독가능 매체로서, 상기 데이터 구조는,
    (a) 상기 데이터 구조에 대응되는 컴퓨터 리소스를 식별하는 제1 데이터 필드,
    (b) 보안 권한 집합에 대한 제1 레퍼런스를 포함하는 제2 데이터 필드, 및
    (b) 보안 권한 집합에 대한 제2 레퍼런스를 포함하는 제3 데이터 필드
    를 포함하는 컴퓨터 판독가능 매체.
  15. 제14항에 있어서,
    상기 데이터 구조는 명시적인 권한을 저장하는 제4 데이터 필드를 더 포함하는 컴퓨터 판독가능 매체.
KR1020087003220A 2005-08-11 2006-08-10 듀얼 계층 액세스 제어 리스트 KR20080033376A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/201,131 2005-08-11
US11/201,131 US20070039045A1 (en) 2005-08-11 2005-08-11 Dual layered access control list

Publications (1)

Publication Number Publication Date
KR20080033376A true KR20080033376A (ko) 2008-04-16

Family

ID=37744040

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087003220A KR20080033376A (ko) 2005-08-11 2006-08-10 듀얼 계층 액세스 제어 리스트

Country Status (9)

Country Link
US (1) US20070039045A1 (ko)
EP (1) EP1922625A4 (ko)
JP (1) JP2009507275A (ko)
KR (1) KR20080033376A (ko)
CN (1) CN101506781A (ko)
BR (1) BRPI0614674A2 (ko)
MX (1) MX2008001849A (ko)
RU (1) RU2008104859A (ko)
WO (1) WO2007021949A2 (ko)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI263894B (en) * 2003-10-15 2006-10-11 Hon Hai Prec Ind Co Ltd System and method for quickly getting user's permission in access control list
US7747647B2 (en) * 2005-12-30 2010-06-29 Microsoft Corporation Distributing permission information via a metadirectory
WO2008122645A2 (en) * 2007-04-10 2008-10-16 Apertio Limited Improved sub-tree access control in network architectures
US8924468B2 (en) * 2008-05-08 2014-12-30 Bang & Olufsen A/S Method and means for a multilayer access control
US20110246527A1 (en) * 2010-03-31 2011-10-06 Salesforce.Com, Inc. System, method and computer program product for associating a permission set with one or more users
US8959115B2 (en) * 2010-07-09 2015-02-17 Symantec Corporation Permission tracking systems and methods
JP2012027650A (ja) * 2010-07-22 2012-02-09 Nec Corp コンテンツ管理装置およびコンテンツ管理方法
US8990950B2 (en) * 2010-12-27 2015-03-24 International Business Machines Corporation Enabling granular discretionary access control for data stored in a cloud computing environment
US8631123B2 (en) 2011-01-14 2014-01-14 International Business Machines Corporation Domain based isolation of network ports
US8429191B2 (en) 2011-01-14 2013-04-23 International Business Machines Corporation Domain based isolation of objects
US8595821B2 (en) 2011-01-14 2013-11-26 International Business Machines Corporation Domains based security for clusters
US8832389B2 (en) 2011-01-14 2014-09-09 International Business Machines Corporation Domain based access control of physical memory space
US8375439B2 (en) 2011-04-29 2013-02-12 International Business Machines Corporation Domain aware time-based logins
US9740518B2 (en) 2012-09-12 2017-08-22 Nxp Usa, Inc. Conflict detection circuit for resolving access conflict to peripheral device by multiple virtual machines
WO2014080248A1 (en) * 2012-11-23 2014-05-30 Freescale Semiconductor, Inc. System on chip
US9189643B2 (en) 2012-11-26 2015-11-17 International Business Machines Corporation Client based resource isolation with domains
US9477934B2 (en) * 2013-07-16 2016-10-25 Sap Portals Israel Ltd. Enterprise collaboration content governance framework
US9781120B2 (en) 2013-07-18 2017-10-03 Nxp Usa, Inc. System on chip and method therefor
CN104145468B (zh) * 2014-01-13 2017-02-22 华为技术有限公司 一种文件访问权限控制方法及装置
US9690719B2 (en) 2014-09-11 2017-06-27 Nxp Usa, Inc. Mechanism for managing access to at least one shared integrated peripheral of a processing unit and a method of operating thereof
WO2018068868A1 (en) * 2016-10-14 2018-04-19 Huawei Technologies Co., Ltd. Apparatus and method for tracking access permissions over multiple execution environments
US11968214B2 (en) * 2020-03-16 2024-04-23 Microsoft Technology Licensing, Llc Efficient retrieval and rendering of access-controlled computer resources
GB2596103B (en) * 2020-06-17 2022-06-15 Graphcore Ltd Dual level management
US20220114265A1 (en) * 2020-10-08 2022-04-14 Google Llc Unified viewing of roles and permissions in a computer data processing system

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5999978A (en) * 1997-10-31 1999-12-07 Sun Microsystems, Inc. Distributed system and method for controlling access to network resources and event notifications
US6279111B1 (en) * 1998-06-12 2001-08-21 Microsoft Corporation Security model using restricted tokens
US6721888B1 (en) * 1999-11-22 2004-04-13 Sun Microsystems, Inc. Mechanism for merging multiple policies
US7669238B2 (en) * 2000-06-21 2010-02-23 Microsoft Corporation Evidence-based application security
US7546629B2 (en) * 2002-03-06 2009-06-09 Check Point Software Technologies, Inc. System and methodology for security policy arbitration
US20030130953A1 (en) 2002-01-09 2003-07-10 Innerpresence Networks, Inc. Systems and methods for monitoring the presence of assets within a system and enforcing policies governing assets
US20040088563A1 (en) * 2002-11-01 2004-05-06 Hogan Dirk J. Computer access authorization
US20050039001A1 (en) * 2003-07-30 2005-02-17 Microsoft Corporation Zoned based security administration for data items

Also Published As

Publication number Publication date
WO2007021949A2 (en) 2007-02-22
US20070039045A1 (en) 2007-02-15
WO2007021949A3 (en) 2009-04-30
EP1922625A4 (en) 2012-01-25
JP2009507275A (ja) 2009-02-19
BRPI0614674A2 (pt) 2011-04-12
RU2008104859A (ru) 2009-08-20
CN101506781A (zh) 2009-08-12
EP1922625A2 (en) 2008-05-21
MX2008001849A (es) 2008-04-14

Similar Documents

Publication Publication Date Title
KR20080033376A (ko) 듀얼 계층 액세스 제어 리스트
US11675918B2 (en) Policy-based user device security checks
US11140166B2 (en) Multi-tenant authorization
KR101432317B1 (ko) 자원 인가 정책으로의 역할 기반 접근 제어 정책의 변환
US8973157B2 (en) Privileged access to managed content
EP2502144B1 (en) Controlling resource access based on resource properties
US8528099B2 (en) Policy based management of content rights in enterprise/cross enterprise collaboration
US8429191B2 (en) Domain based isolation of objects
Alhaqbani et al. Access control requirements for processing electronic health records
US20090222879A1 (en) Super policy in information protection systems
JP4537022B2 (ja) データ配置に制限を設けるデータ処理方法、記憶領域制御方法、および、データ処理システム。
US7882544B2 (en) Inherited role-based access control system, method and program product
US20080141334A1 (en) Method and Apparatus for Dissociating Binding Information from Objects to Enable Proper Rights Management
JP4892179B2 (ja) データ項目のためのゾーンベースのセキュリティ管理
US20230161895A1 (en) Controlling access to cloud resources in data using cloud-enabled data tagging and a dynamic access control policy engine
US20210286890A1 (en) Systems and methods for dynamically applying information rights management policies to documents
US9208332B2 (en) Scoped resource authorization policies
US9231955B1 (en) Multiparty authorization for controlling resource access
US9329784B2 (en) Managing policies using a staging policy and a derived production policy
US11616782B2 (en) Context-aware content object security
Bandopadhyay et al. DataPAL: data protection and authorization lifecycle framework
JP2007004610A (ja) 複合的アクセス認可方法及び装置
US11695777B2 (en) Hybrid access control model in computer systems
KR100833973B1 (ko) 메타 접근통제 시스템
US11625365B2 (en) Method for managing virtual file, apparatus for the same, computer program for the same, and recording medium storing computer program thereof

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid