기능


  Share  
|


개념으로 기능이 마음에 행의 액세스 제어를 매트릭스입니다. 이와 관련된 각 과목은 한 세트의 쌍, 각 쌍의 물체와 한 세트의 권리를 포함합니다. 이 목록과 관련된 제목은 명명된 개체에 액세스할 수있는 방법 중 하나라는 권한으로 표시됩니다. 더 많은 정식 :

알려 o 수있는 일련의 개체 및 r는 세트의 권리,의 시스템입니다. a 능력 목록 c는 한 세트의 쌍 c = ((o, r) : o에는 o, r r)에 포함되어있습니다. 캡 수 있도록하는 함수가를 결정하는 기능 목록 c 연관된 특정 조건 미국 의 해석의 능력 목록 캡 (들) = ((오이카와,로드 아일랜드) : 1 <= 나는 <= 해당)는 해당 과목의 모든 권리에 액세스할 수있습니다 오오 리를 사용합니다.

우리가 축약 "기능 목록"으로 c - 목록입니다.

기능을 캡슐 화하는 개체 정체성입니다. 과정에서는 능력을 대신하는 경우는 사용자, 운영 체제를 검사하는 기능을 확인하려면 모두의 개체와 접근을하는이 과정은 자격입니다. 이것을 반영하는 방법 capabiliies을위한 메모리 관리 업무; 의 위치를 개체에 메모리는 캡슐의 능력입니다. 없이는 기능을 처리할 수없는 이름을 지정하는 방식에 개체를 줄 그것의 원하는 액세스합니다.

예 : 유닉스를 열려면 파일을 하나의 과정을 통해이 파일 이름을 커널입니다. 커널을 얻습 해당 파일의 바이트를 참조하여 문제 해결을 이름을 통해서는 파일 계층 구조입니다. 바이트가 입수되면, 시스템을 결정하면 요청한 액세스 권한을 사용하여 액세스 제어 권한을 부여해야한다. 액세스 권한이 부여되면, 운영 체제를 반환하는 기능이라고하는 파일을 설명합니다. 수있는 능력이 꽉 바운드를 파일 개체, 이렇게해도 파일이 삭제되고 새 파일과 동일한 이름이 만들어, 파일 설명자 여전히 이전 파일을 나타냅니다.


은 "codewords"의 iliffe과 유사한 기능을합니다. "기능"은 개체에 대한 액세스를 제어하는 방법을 메모리 또는 보조 저장 장치입니다. fabry 일반화이 아이디어를 구현 능력 - 기반 주소입니다.

의 아키텍처의 기능이 더 흥미 액세스 제어 목록을보다. 액세스 제어 목록과이 과정을 정체성은 아래에있는 컨트롤의 운영 체제입니다. 의 부재의 결함, 사용자 프로세스에 의해서만 변경될 수있습니다 그들의 운영 시스템 서비스를 호출합니다. 그러나, 한 프로세스를 식별하는 기능을 사용하기 위해 반드시 그것 때문에,이 과정이 있어야합니다의 기능을 일부 제어할 수있습니다. 만약이 과정을 수 포지 a 능력을 확인한 다음 사용하기, 액세스 컨트롤이 실패합니다.

이행의 능력

3 개의 메커니즘을 사용하여 보호 기능 : 태그, 보호 메모리, 그리고 암호화합니다.

a 태그가 지정하는 일련의 비트 아키텍처는 각 하드웨어와 연관된 단어입니다. 태그는 두 상태 : 설정 및 해제합니다. 경우에 태그를 설정, 평범한 과정을 읽을 수있습니다 아니라 단어를 수정합니다. 경우에 태그가 취소, 평범한 프로세스 및 수정에 단어를 읽을 수있습니다. 또한, 평범한 프로세스의 상태를 변경할 수없습니다 태그; 프로세서가 특권 모드에 있어야합니다 이렇게합니다.

예 : b5700 사용하는 태그가 포함된 아키텍처 (비록 능력으로 보호 메커니즘을 사용하지 않았다). 의 태그 필드 구성된 3 개의 비트와 지적의 말씀을 치료하는 방법을 건축했습니다 (포인터, 설명, 유형 등)에있습니다.


보다 일반적인가를 사용하는 보호 비트 연관된 페이징이나 세분화합니다. 모든 기능은 저장하는 페이지 (세그먼트)하는 프로세스가 변경되지 않고 읽을 수있습니다. 이 필요없는 특수 - 목적 하드웨어 이외하는 데 사용하는 메모리 관리 체계를합니다. 하지만이 과정을 반드시 참조 기능을 간접적으로, 보통 포인터를 통해서가 아니라 직접합니다.

예 : 캡 제도를 허용하지 않았다 프로세스를 수정하는 세그먼트에있는 지침을 평신도입니다. 또한, 저장 기능이 세그먼트를합니다. 이산 지침과 능력을 울타리를 등록합니다.


제 3의 대안은 암호화를 사용합니다. 의 목표는 태그와 메모리 보호 기능이 변경되는 것을 방지하는 기능을합니다. 이것은 말 무결성을 검사합니다. 암호화 체크섬이 다른 메커니즘에 대한 정보의 무결성을 검사합니다. 이와 관련된 각각의 기능이있는 암호화 체크섬과 체크섬이 디지털 enciphered를 사용하는 cryptosystem 누구의 핵심은 운영 체제로 알려져있습니다.

이 과정에서는 능력을가 운영 체제, 시스템 첫 recomputes의 암호화 체크섬 연관된 능력입니다. 그런 다음 중 하나를 enciphers의 체크섬을 사용하여 암호화 키와 비교하고 그것과 함께 하나에 저장하는 기능, 또는 deciphers의 체크섬과 함께 제공하는 기능과 비교하고 그것이 계산된 체크섬과 함께합니다. 만약 이들이 일치하는 기능이 찾았다. 그렇지 못할 경우, 수있는 능력이 거부된다.

예 : amoeba 시스템은 분산 시스템을 사용하는 기능을 사용하여 이름을 개체입니다. 에 작성, 대응하는 능력이 개체가 반환됩니다. 를 사용하는 개체,이 프로그램의 해당 기능을 제공합니다. 수있는 능력을 인코딩의 이름은 객체 (24 비트), 서버가 만든 (48 비트)와 권리 (8 비트)에서 128 - 비트 수량. 처음에, 모든 권리는 켜져있습니다.

의 마지막 48 비트는 확인 필드로 사용됩니다. 이것은 임의의 번호를 선택시 작성 시간입니다. (않기 때문에 능력이 부여하려면 소유자가 개체의 소유자를 자유롭게 수정할 수있는 권한을하지 않고 위험합니다.) 이 번호는 대응을 서버에 저장하는 테이블을 만든 개체, 그래서 때마다 능력이 제시하는 서버, 그것을 확인하는 임의의 숫자가 정확합니다. 공격자는 임의의 숫자를 알고 있어야합니다 포지 a 능력을 위해 할 수있습니다. 그러나 개발 노트,이 시스템이 취약한 경우에는 기능이 공개됩니다.


복사 및 증폭 기능

수있는 능력을 복사 기능을 암시하는 기능을 제공할 권리를합니다. 을 방지하기 위해 프로세스가 무차별 나눠주 권리, 복사본을 플래그가 연관된 기능을합니다. 한 프로세스 수없는 복사하는 능력을 다른 프로세스가되지 않는 한, 복사 플래그를 설정합니다. 만약이 과정을하지 복사할 수있는 능력을 복사 플래그가있을 수있습니다 해제 (은 재량권의 중 하나를 처리하거나 커널이)입니다.

예 : amoeba 사용하는 흥미로운 기법입니다. 그것을 복사하는 권한을 제어하지 않습니다. 그러나, 어떤 사람 복사할 권리를 사용하여 넣을 수가 제한됩니다.

시다 사용자 맷 소원을 사용자가 홀리를 읽을 수 있도록하는 개체 자신이 소유합니다. 그는 자신의 능력을 해당 개체를 서버에 전달하고 요청하는 제한된 능력에 대한 열람. 이 서버는 개체를위한 새로운 기능을 만듭니다 밖에의 읽기 권한이 설정되어있습니다. 에 대한 권리 필드 이제는 모두 0의 제외하고는 읽는 비트, 이것은 하나입니다. 이것은 xor'ed으로 무작위 검사 및 입력을 암호화 해시 함수입니다. 출력이의 새로운 임의의 숫자에 해당 기능이있습니다. 제한된 기능은 다음을 전달 위로 매트, 사람을 홀리를 제공합니다.

홀리 때 사용하는 기능의 경우 서버 메모가 최소한 하나 이상의 비트의 권리 필드는 0입니다. 걸리는의 권리 필드, xor의 그것으로 임의의 숫자의 원래 기능 (저장된의 테이블), 그리고 해시의 결과입니다. 결과 해시 일치하는 경우에 임의의 숫자에 역량을 수있는 능력이 유효; 그렇지 않다.


증폭은 증액의 권한입니다. 발상의 모듈형 프로그래밍, 그리고 특히의 추상적인 데이터 유형을 필요로하는 권리를 하나의 과정이있는 개체를 통해 증폭된다.

을 이해하는 이유를 고려 다음과 같은 추상적인 데이터 유형에 대한 항의입니다.

  모듈 카운터; 절차 항목을 증감 (변수 클릭률 : 정수); 시작 클릭률 : = 클릭률 + 1; 끝; 함수 항목 getval (: 정수); 시작 getval : = 클릭률; 끝; 절차 항목 지우기 (변수 클릭률 : 정수); 시작 클릭률 : = 0; 끝; 끝. 

시다 x는 선언으로 카운터가있습니다. 이 규칙의 추상적인 데이터 형식을 허용하는 개체가 카운터 모듈에 의해서만 액세스할 수있습니다. 따라서, 처음에 능력에 대한 x 것이 포함될 수있는 권리를 호출하는 카운터 모듈 전용입니다. 그러나 경우에 개체가 통과가 카운터 모듈,이 과정을 반드시 이제 읽기와 쓰기를 할 수있는 개체입니다. 이에 따라 기능이 있어야합니다 증폭을 일시적 동안에 모듈을 카운터가 활성입니다.

예 : 정낭 시스템 하이 드라 중고 증폭 템플릿을 증폭하는 과정 '권리입니다. 연관된 각 절차의 모듈은 템플릿을 필요에 따라 기능을 추 권리가있습니다. 예를 들어,이 템플릿은 getval 시저을 추 읽기 권한이 동안에는 프로 시저는 활성입니다. 템플릿의 증감 절차을 추 읽기 및 쓰기 권한이있습니다.


예 : 인텔 iapx 432 시스템을 구현하는 유사한 메커니즘은 하드웨어가있습니다. 그 "액세스 설명자"대응하는 기능을합니다. 3 개의 비트의 능력을 제어 다양한 시스템 기능을합니다. 둘 중 하나를 비트 컨트롤을 증폭의 권리입니다. 추상적인 데이터를 입력하면 모듈은 건설을 허락 비트의 종류 제어 개체 (어떤 데이터 유형을 정의합니다)이 설정되어있는 권한이있는 절차가 필요합니다. 이 프로 시저가 호출 시스템을 검사하여 증폭 비트입니다. 경우이 설정을 수있는 권리의 종류 제어 개체는 or'ed있는 권리를 설명 자의 개체가 통과합니다. 이 조합을 정의하는 절차에 대한 권리가 사용할 수있습니다.


해지의 권리

의 능력을 시스템을 취소하는 개체에 대한 액세스를 필요로하는 모든 기능을 부여하는 개체에 대한 액세스를 취소할 수있습니다. 개념적으로 각 프로세스 수를 검사하고 삭제하는 기능입니다. 비용은 이런 작업이 될 받아들일 수없는, 그러나, 그래서 다른 방법이 사용됩니다.

가 장 간단한 메커니즘은 indirection. 하나 이상의 글로벌 개체 테이블을 정의합니다. 이 제도를, 각 개체에는 해당 항목에있는 테이블입니다. 기능을하지 않는 이름에 개체를 직접; 그들의 이름은 항목을 테이블에 대응하는가 개체입니다.

이 계획에는 여러 장점이있습니다. 먼저,을 취소 기능,이 항목의 글로벌 개체 테이블은 무효가됩니다. 그런 다음 모든 참조하면 잘못된 테이블 항목을 구하십시오와이 거부됩니다. 둘째, 만약의 기능의 일부만을 취소할 수있다는 객체 수가 여러 개 항목, 각 대응을 다른 일련의 권리 또는 다른 그룹의 사용자가있습니다.

예 : amoeba 사용 본질적으로이 계획입니다. 을 취소할 능력의 소유자는 객체 요청이있는 서버를 변경하는 임의의 번호와 문제가 새로운 기능이있습니다. 기존의 모든 기능이 무효화됩니다.


대안을 해지 메커니즘을 사용하는 추상적인 데이터 유형 매니저입니다. 포함되어있는 각각의 추상적인 데이터 형식은 해지 절차를합니다. 액세스가가 해지되면, 더 이상의 유형 관리자 simpy하지 않습니다 접속하여 해지된 제목은 누구의 권리되고있다. 이것에 영향을주지 않습니다 다른 방법의 접근에 개체를 기본가 추상적인 데이터 유형입니다. 예를 들어, 파일에 대한 액세스를 취소할 수있습니다 있지만,이 기술은 기존의 액세스를 차단하지 않겠 세그먼트를 통한 대안을 입력 관리자입니다. 가 scp3 시스템을 사용이 기법입니다.

액세스 제어 목록과 비교

2 개의 질문이 깔려있를 사용하는 액세스 제어 :

  1. 주어진 조건, 어떤 물체는 그것 액세스, 그리고 어떻게?

  2. 주어진 물체, 어떤 과목에 액세스할 수있습니다 것이, 그리고 어떻게?

이론적으로 하나의 액세스 제어 기능을 나열하거나 이러한 질문에 답변을 수있습니다. 에 대한 첫 번째 질문, 기능이있다는 간단한; 단지리스트의 요소의 제목과 연관된 c - 목록입니다. 에 대한 두 번째 질문, acl있다는 간단한; 단지리스트의 요소의 개체의 액세스 제어 목록입니다. 에있는 acl - 기반 시스템의 첫 번째 질문에 답변하고 스캔을 위해 모든 개체가 필요합니다. 이 시스템 추출물과 관련된 모든 acl 항목의 제목에 해당됩니다. 의 능력 - 기반 시스템을, 두 번째 질문에 답변하고 스캔을 위해 모든 과목이 필요합니다. 이 시스템 추출물과 관련된 모든 기능에 문제가 개체입니다.

허버트 추측하는 karger하고 실용적인 차이는 두 번째 질문에 답변하고는 이유로 더 많은 시스템을 사용 액세스 제어 목록을보다 기능이있습니다. 이 질문은 대답보다 더 자주의 첫 번째입니다. 로부터 응답이 교대로 사건의 초점은 "누 액세스가 개체"를 포함 "어떤 사람입니까 해당 주제 접근,"능력 - 기반 시스템해질 수있습니다보다 일반적인합니다.

이것은 문서가 추가 프레드 육성

Share  

© 2005-2010 E-articles.info All Rights Reserved - Terms and conditions