KR100833973B1 - Meta access control system - Google Patents

Meta access control system Download PDF

Info

Publication number
KR100833973B1
KR100833973B1 KR1020060076547A KR20060076547A KR100833973B1 KR 100833973 B1 KR100833973 B1 KR 100833973B1 KR 1020060076547 A KR1020060076547 A KR 1020060076547A KR 20060076547 A KR20060076547 A KR 20060076547A KR 100833973 B1 KR100833973 B1 KR 100833973B1
Authority
KR
South Korea
Prior art keywords
security
subject
security object
object set
access control
Prior art date
Application number
KR1020060076547A
Other languages
Korean (ko)
Other versions
KR20080015176A (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 전남대학교산학협력단
Priority to KR1020060076547A priority Critical patent/KR100833973B1/en
Publication of KR20080015176A publication Critical patent/KR20080015176A/en
Application granted granted Critical
Publication of KR100833973B1 publication Critical patent/KR100833973B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/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

Abstract

본 발명은 보안운영체제를 위한 접근통제 시스템에 관한 것으로, 특히 알려진 접근통제 모델들을 표현할 수 있는 메타 시스템에 관한 것이다. 사용자인 주체는 정의된 보안개체를 할당받아 접근통제를 수행한다. 주체보안개체집합과 객체보안개체집합이 주체와 객체에 각각 부여되며, 권한관계는 주체보안개체집합과 객체보안개체집합 간에 설정된다. 본 시스템에서, 주체의 객체에 대한 접근권한은 부여된 보안개체집합, 설정된 권한관계, 객체에 할당된 연산에 근거하여 결정된다. The present invention relates to an access control system for a security operating system, and more particularly to a meta system that can represent known access control models. The user, a user, is assigned a defined security object to perform access control. A subject security object set and an object security object set are assigned to a subject and an object respectively, and a permission relationship is established between the subject security object set and the object security object set. In this system, the access right to the subject's object is determined based on the granted security object set, established privilege relationships, and the operations assigned to the object.

보안운영체제, 접근통제, 시스템, 보안개체, 보안개체집합, 권한관계, 연산Security operating system, access control, system, security object, security object set, authority relationship, operation

Description

메타 접근통제 시스템 {META ACCESS CONTROL SYSTEM}Meta Access Control System {META ACCESS CONTROL SYSTEM}

도 1은 본 발명에 따른 메타 접근통제 시스템의 구조도.1 is a structural diagram of a meta access control system according to the present invention.

도 2는 본 발명에 따른 메타 시스템을 예시적으로 설명하기 위한 도면.2 is a diagram for illustratively explaining a meta system according to the present invention;

도 3a는 Apache 데몬이 사용하는 객체들과 연산들의 관계를 보여주는 도면.3A illustrates the relationship between objects and operations used by the Apache daemon.

도 3b는 Apache 데몬을 위한 정책기술 예제.3b is an example policy description for the Apache daemon.

도 4a는 mysql 데몬이 사용하는 객체들과 연산들의 관계를 보여주는 도면.4A illustrates the relationship between objects and operations used by the mysql daemon.

도 4b는 mysql 데몬을 위한 정책기술 예제.4b is an example policy description for the mysql daemon.

도 5a는 bind 데몬이 사용하는 객체들과 연산들의 관계를 보여주는 도면.5A illustrates the relationship between objects and operations used by the bind daemon.

도 5b는 bind 데몬을 위한 정책기술 예제.5b is an example policy description for the bind daemon.

도 6a는 samba 데몬이 사용하는 객체들과 연산들의 관계를 보여주는 도면.6A shows the relationship between objects and operations used by the samba daemon.

도 6b는 samba 데몬을 위한 정책기술 예제.6b is an example policy description for the samba daemon.

<도면의 주요부분에 대한 부호의 설명><Description of the symbols for the main parts of the drawings>

11. 주체 12. 객체11.Subject 12. Object

13. 주체보안개체집합 14. 객체보안개체집합13. Subject Security Object Set 14. Object Security Object Set

15. 권한관계 16. 연산15. Privilege Relationship 16. Operation

본 발명은 보안운영체제를 위한 접근통제 시스템에 관한 것으로, 특히 알려진 접근통제 모델들을 쉽게 적용하여 표현할 수 있으며, 그 구조가 간단하여 보안정책의 구현 및 관리가 용이한 메타 접근통제 시스템에 관한 것이다.The present invention relates to an access control system for a security operating system, and more particularly, to a meta access control system that can be easily expressed by applying known access control models, and its structure is simple to facilitate implementation and management of a security policy.

보안운영체제란 컴퓨터 운영체제에 내재하는 보안상의 문제점을 해결하기 위하여, 기존의 운영체제에 보안커널(Security Kernel)을 이식하고 인증, 암호화 등의 보안기능을 추가하여 구현된 신뢰할 수 있는 전산환경을 말한다. 이 보안운영체제에서는 컴퓨터 사용자에 대한 식별 및 인증, 접근통제, 침입탐지 등의 기능을 통하여 커널레벨로의 접근금지 및 알려지지 않은 공격에 대한 방어, 탐지, 대응 등의 기능이 수행될 수 있다. 여기에서, 상기 접근통제는 시스템 내에서 발생하는 접근이 정당한지를 판단하여 이를 제어하는 것으로, 시스템 보안을 위한 대부분의 연구는 이 접근통제 메카니즘에 촛점이 맞추어져 있다. The security operating system refers to a reliable computing environment implemented by porting a security kernel to an existing operating system and adding security functions such as authentication and encryption to solve the security problems inherent in a computer operating system. In this security operating system, functions such as identification and authentication of computer users, access control, and intrusion detection can be performed to prevent access to the kernel level and to defend, detect, and respond to unknown attacks. In this case, the access control is to determine whether the access occurring in the system is legitimate and to control it, most of the research for the system security is focused on this access control mechanism.

전통적인 접근통제 모델로서는, 임의적 접근통제(DAC: Discretionary Access Control)와 강제적 접근통제(MAC: Mandatory Access Control), 역할기반 접근통제(RBAC: Role Based Access Control)가 있다. DAC는 정보객체의 소유자가 사용자의 신원 또는 권한에 근거하여 접근허가 여부를 결정하는 방식이며, MAC는 사용자와 정보객체에 각각 인가등급(clearance level)과 비밀등급(secrecy level)부여하고 미리 정의된 규칙에 근거하여 접근허가 여부를 결정하는 방식이다. 그리고 RBAC은 주어진 조직환경에서 사용자에게 정의된 역할을 배정하고 그 역할에 대하여 부여된 권한에 근거하여 접근허가 여부를 결정하는 방식이다.Traditional access control models include discretionary access control (DAC), mandatory access control (MAC), and role based access control (RBAC). DAC is the method by which the owner of an information object decides whether to grant access based on the user's identity or authority. The MAC gives the user and the information object a clearance level and secrecy level, respectively. It is a method of determining whether to grant access based on the rules. In addition, RBAC assigns a user defined role in a given organizational environment and decides whether to grant access based on the authority granted to that role.

대체로, 이 모델들은 선택적으로 구현되고 보안운영체제에 적용된다. 그러나 이러한 보안운영체제는 대규모 조직(기업이나 정부 등)환경에 적용되기 어려우며, 각 조직의 특성 및 그에 따른 다양한 요구사항을 수용하기 어려운 문제가 있다. 그리하여 현재는, RSBAC(Role Set Based Access Control)이나 SELinux와 같이, 다양한 접근통제 모델들을 수용할 수 있는 보안 프레임워크(security framework) 또는 보안 구조(security architecture)에 대한 연구가 진행되고 있다. 그러나 지금까지 연구된 보안 구조에 의한 방법들은 GFAC(Generalized Framework for Access Control)와 유사한 보안 구조를 운영체제 내에 구현하고 지원하는 각각의 접근통제기능들을 모듈로 구현하여 접근통제 모델들을 수용하는 방법이므로 다양한 접근통제 모델들을 표현하는데 한계가 있으며, 특히 구현된 접근통제 모델들이 많아질수록 접근통제 모델들에 대한 각각의 정책기술방법이 필요하게 되므로 정책기술(Policy Description)의 복잡성이 증가함으로 인하여 모델의 응용들에 대한 적합한 보안정책을 생성하기에 매우 어려운 문제가 있다.In general, these models are optionally implemented and applied to the security operating system. However, such a security operating system is difficult to apply to the environment of a large organization (corporate or government), and there is a problem that it is difficult to accommodate the characteristics of each organization and various requirements thereof. Thus, research is currently being conducted on security frameworks or security architectures that can accommodate various access control models, such as Role Set Based Access Control (RSBAC) or SELinux. However, the methods based on the security architectures studied so far have various approaches because they implement the access control models by implementing each access control function that implements and supports the security structure similar to GFAC (Generalized Framework for Access Control) in the operating system. There are limitations in expressing control models, and in particular, as more access control models are implemented, each policy description method for access control models is needed. There is a very difficult problem to create a suitable security policy for.

예를 들어, SELinux는 유연성있는 접근통제 기능을 제공하지만 강제적 접근 통제 방식인 다중등급 보안모델(MLS: Multi-Level Security)과 강화타입 모델(TE: Type Enforcement) 및 RBAC 등의 세가지 모델만을 지원하고 있으며, 그 표현의 복잡성으로 인하여 RBAC의 경우 단순한 기능만을 제공할 뿐이다. 그리고 너무 많은 설정요소들이 필요하며, 표현된 정책이 복잡하여 이해하기가 매우 어렵다. 페도라 코어 3(Fedora Core 3)에 설정된 엄격한 정책(strict policy)의 경우 1,200개 이상의 타입과 39개의 커널 객체클래스 및 197개의 퍼미션 등의 설정요소가 구성되고, 100개 이상의 매크로와 40,000개 이상의 규칙이 설정되어 있으며, 실제 리눅스 커널로 적재되어 적용되는 규칙은 360,000개 이상이 된다.For example, SELinux provides flexible access control, but only supports three models, Multi-Level Security (MLS), Type Enforcement (TE) and RBAC, which are mandatory access controls. And because of its complexity, RBAC only provides simple functionality. And too many configuration elements are needed, and the expressed policy is complex and difficult to understand. The strict policy set in Fedora Core 3 consists of more than 1,200 types, 39 kernel object classes, 197 permissions, and more than 100 macros and 40,000 rules. There are over 360,000 rules loaded and loaded into the actual Linux kernel.

본 발명의 목적은 정책 중립적인 메타 시스템으로서 다양한 접근통제 모델을 쉽게 표현할 수 있는 메타 접근통제 시스템을 제공하고자 하는 것이다. 동시에, 구조가 간단하여 보안정책의 구현 및 관리가 용이한 접근통제 시스템을 제공하고자 하는 것이다.An object of the present invention is to provide a meta access control system that can easily express various access control models as a policy neutral meta system. At the same time, it is to provide an access control system that is simple in structure and easy to implement and manage.

본 발명에서 제안된 메타 시스템은 관계형 데이터베이스에서 사용되는 개체관계(E-R) 모델을 보안운영체제의 접근통제 시스템에 적용한 응용시스템이다. E-R 모델은 1970년대 중반 Peter Chen에 의해 제안한 이래 시스템과 데이터의 논리적 구조를 표현하는 유용한 방식으로 광범위하게 이용되어 왔으며, CASE 도구, 추론적 모델링, 전문가 시스템 및 객체지향 모델의 분야로 연구와 적용 범위가 확대되고 있다. 초창기의 E-R 모델은 개체(entity), 관계(relationship), 속성(attributes)의 개념만을 포함하였으나, 후에 일반화 계층(generalization hierarchies), 복합 속성(composite attributes)과 같은 개념이 개선된 E-R 모델의 요소로 추가되었다.The meta system proposed in the present invention is an application system applying the E-R model used in relational database to the access control system of the security operating system. The ER model has been widely used in a useful way to represent the logical structure of systems and data since it was proposed by Peter Chen in the mid-1970s, and is the scope of research and application in the field of CASE tools, inferential modeling, expert systems, and object-oriented models. Is expanding. Early ER models included only the concepts of entities, relationships, and attributes, but later on were elements of the ER model that improved concepts such as generalization hierarchies and composite attributes. Was added.

E-R 모델은 실세계의 의미를 상호 연결된 개체/관계 타입, 속성 및 값 타입 등의 개념체계를 통해 표현하고 있다. 본 발명은, E-R 모델에서 정립된 개념체계를 컴퓨팅 모델의 접근통제에 적용할 수 있다는 점에 착안하여 완성된 것이다. E-R 모델에 존재하는 각각의 개체/관계 타입은 반복되는 하나의 "접근통제 패턴" 이라는 관점으로 이해할 수 있다. 즉, 어떤 대상을 표현하는 E-R 모델 전체는 특별한 규칙에 의해 표현된 하나의 접근통제에 대한 패턴인 것이다. 따라서 E-R 모델의 상호 연결된 개체/관계 타입에 일련의 행동적 요소를 결합시키고 이를 일정한 방식으로 표현함으로써, 접근통제의 기본적인 요소인 주체와 객체의 행위적 특성을 나타낼 수 있다. The E-R model expresses the meaning of the real world through conceptual systems such as interconnected entity / relationship types, attributes and value types. The present invention has been completed in view of the fact that the conceptual system established in the E-R model can be applied to the access control of the computing model. Each entity / relationship type present in the E-R model can be understood in terms of a repeating "access control pattern." In other words, the entire E-R model representing an object is a pattern for one access control expressed by a particular rule. Therefore, by combining a series of behavioral elements with the interconnected entity / relationship types of the E-R model and expressing them in a certain way, the behavioral characteristics of subjects and objects, which are the basic elements of access control, can be represented.

본 발명에서는 E-R 모델의 기본 요소인 개체, 관계, 속성을 접근통제에 적합하게 보안개체(Security Entity)와 보안개체집합(Security Entity Set), 보안개체집합(Security Entity Set)들 간의 권한관계(Authorized Relationship)로 표현하여, 알려진 접근통제 모델들을 표현할 수 있는 메타 접근통제 시스템을 제안하고자 한다.According to the present invention, an authorization relationship between a security entity, a security entity set, and a security entity set is applied to objects, relations, and properties, which are basic elements of the ER model, for access control. In this paper, we propose a meta access control system that can represent known access control models.

본 발명에 따른 메타 접근통제 시스템은: 지정된 보안개체(Security Entity)로 할당된 주체(Subject)와 객체(Object), 주체의 집합으로 정의되는 주체보안개체집합(Subject Security Entity Set)과 객체의 집합으로 정의되는 객체보안개체집합(Object Security Entity Set), 주체보안개체집합과 객체보안개체집합 간에 설정되는 권한관계(Authorized Relationship), 주체와 객체를 각각 주체보안개체집합과 객체보안개체집합에 소속시키는 부여(grant)를 포함한다. 접근통제는 부여된 보안개체집합, 설정된 권한관계 그리고 개체 속성으로 할당된 연산 등에 근거하여, 주체의 객체에 대한 접근권한(Access Right)을 결정하는 방식으로 수행된다.The meta access control system according to the present invention comprises: a subject security entity set and a set of subjects defined as a subject, an object, and a set of subjects assigned to a specified security entity. Object Security Entity Set defined by the definition, Authorized Relationship established between the subject security object set and the object security object set, and granting the subject and object to belong to the subject security object set and the object security object set respectively. grant). Access control is performed in a way to determine the access right of the subject object based on the security object set granted, the set privilege relationship, and the operation assigned to the object property.

본 시스템에서, 보안개체집합을 부여받지 못한 주체와 객체는 본래적으로 모든 권한이 거부된 상태이므로 객체에 대한 주체의 어떠한 접근도 허용되지 않는다. 또한, 주체보안개체집합과 객체보안개체집합을 부여받은 주체와 객체라 하더라도 이들 보안개체집합 간에 권한관계가 설정되지 않았을 경우에는, 객체에 대한 주체의 모든 접근행위는 거부된다.In this system, subjects and objects that are not granted a security object set are inherently denied all privileges, and thus no access of the subject to the subject is allowed. In addition, even if a subject and an object that have been granted the subject security object set and the object security object set have no authority relationship established between them, all access actions of the subject to the object are denied.

주체와 객체로서 보안개체는 조직 내에서의 직책(직능)이나 소속, 특성 등에 따라 정의될 수 있으며, 주체들의 집합인 주체보안개체집합 또는 객체들의 집합인 객체보안개체집합을 부여받을 수 있다. 그리고 접근권한은 주체와 객체 간의 직접적인 관계에서 얻어지는 것이 아니라 보안개체집합들 간에 설정된 권한관계로부터 얻어진다. 그러므로 본 시스템은 사용자와 정보객체의 수가 대단히 많은 조직 환경에 적합하다고 할 수 있다.Security subjects as subjects and objects can be defined according to the position (function), organization, characteristics, etc. in the organization, and can be given a subject security object set, which is a set of subjects, or an object security object set, which is a set of objects. Access rights are not obtained from the direct relationship between the subject and the object, but from the permission relationship established between security object sets. Therefore, the system can be said to be suitable for an organization environment with a large number of users and information objects.

한편, "보안개체"는 다양한 보안정책들에 존재하는 모든 접근주체와 접근객체의 개념으로 표현될 수 있으며, "보안개체집합"은 예를들어 강제적 접근통제의 보안등급에 해당하는 보안등급집합, 역할기반 접근통제의 역할이나 퍼미션에 해당하는 역할집합 또는 퍼미션집합 등의 개념으로 표현될 수 있다. 따라서 본 시스템은 알려진 접근통제들에 쉽게 적용될 수 있다.On the other hand, "security object" can be expressed as the concept of all access subjects and access objects in various security policies, "security object set" is, for example, the security level set corresponding to the security level of mandatory access control, It can be expressed as a concept such as a role set or permission set corresponding to a role or permission of role-based access control. Thus, the system can be easily applied to known access controls.

본 발명에 따른 메타 접근통제 시스템을 SEEN(SEcurity ENtity) 시스템이라 하고, 이하에서 SEEN 시스템에 대하여 보다 구체적으로 설명한다. 도 1은 SEEN 시스템의 기본구조를 보여준다. SEEN 시스템은 보안개체에 해당하는 주체(11)와 객체(12), 보안개체의 집합인 주체보안개체집합(13)과 객체보안개체집합(14), 권한관계(15), 연산(16), 권한부여(17) 등으로 구성된다.The meta access control system according to the present invention will be referred to as SEEN ( SE curity EN tity) system, and the SEEN system will be described in more detail below. 1 shows the basic structure of a SEEN system. The SEEN system includes the subject 11 and the object 12 corresponding to the security object, the subject security object set 13, the object security object set 14, the authority relationship 15, the operation 16, and the set of security objects. Authorization 17 or the like.

주체(11)는 객체(12)에 대해 접근을 수행하는 보안개체이다. 현실세계에서는 일반적으로 사용자가 주체(11)이다. 사용자는 조직 내에서의 직책과 직무에 따라 조직의 구성원이 된다. 그리고 직책과 직무는 조직의 특성에 따라 특별한 구조를 갖게 되며, 조직 구성원들에게 부여된다. 마찬가지로 컴퓨팅 환경에서 주체(11)는 해당 시스템에서 정당한 권한을 갖는 사용자(user)가 되며 현실세계와는 다르게 프로세스(process)가 주체(11)가 될 수 있다. 사용자와 프로세스는 밀접하게 연관되어 있으며, 유닉스계열 시스템 환경에서는 사용자 정보를 프로세스의 자료구조에 포함하여 프로세스기반으로 동작한다. 지금까지의 대부분의 보안운영체제는 프로세스를 컴퓨팅 환경에서 객체에 대해 실제 행위를 수행하는 주체로 사용하여 왔다.The subject 11 is a security entity that performs access to the object 12. In the real world, the user is generally the subject 11. Employers become members of organizations based on their positions and duties within the organization. Positions and duties have a special structure, depending on the nature of the organization, and are assigned to members of the organization. Similarly, in a computing environment, the subject 11 may be a user having a right in the corresponding system, and unlike the real world, a process may be the subject 11. Users and processes are closely related, and in a Unix-like system environment, user information is included in the process data structure and works on a process basis. Most security operating systems up to now have used processes as subjects to perform actual actions on objects in the computing environment.

객체(12)는 주체(11)가 실제 행위를 수행하는 대상이 되는 보안개체로서, 가용한 모든 자원(resource)들이 객체(12)가 된다. 경우에 따라서는 주체(11)도 객체(12)의 일종으로 사용될 수 있다. 객체(12)의 속성에는 허용된 연산(16)들과 객체(12)의 상태를 나타내는 정보가 포함된다. 유닉스계열 시스템과 같은 컴퓨팅 환경에서의 객체들은 대부분 파일 형태로 관리된다. 그러나 접근통제 서비스를 위해 모든 객체들을 동일한 파일 형태로 관리하게 되면 객체의 특성에 따른 접근통제가 어렵고 불필요한 자료구조들이 포함되는 등 구현 및 관리가 복잡하게 되므로, SEEN 시스템에서는 리눅스 시스템의 객체(12)들을 유사한 특성을 갖는 클래스별로 분류하여 관리한다. The object 12 is a security object that the subject 11 performs the actual action, and all available resources become the object 12. In some cases, the subject 11 may also be used as a kind of object 12. Attributes of the object 12 include allowed operations 16 and information representing the state of the object 12. Most objects in computing environments such as Unix-like systems are managed as files. However, if all objects are managed in the same file type for access control service, it is difficult to control access according to the characteristics of the object and complicated to implement and manage, including unnecessary data structures. Manage them by class with similar characteristics.

연산(16)은 주체(11)가 객체(12)에 대해 행하는 일련의 구체적이거나 논리적인 행동으로, 객체(12)에 허용된 연산들이다. 연산(16)이 객체(12)에 할당되었을 경우 객체(12)는 권한이 부여된 객체(12)가 되어 주체(11)가 접근통제 행위를 수행할 수 있게 되며, 연산(16)이 부여되지 않은 객체(12)는 권한이 설정되어 있지 않으므로 주체(11)가 접근통제 행위를 수행할 수 없다. SEEN 시스템에서는 주체보안개체집합(13)과 객체보안개체집합(14) 간의 권한관계(15)에 연산을 부여한다. 객체(12)가 객체보안개체집합(14)에 포함되어 있을 경우 객체보안개체집합(14)에 부여된 연산이 해당 객체(12)에게 허용된다. 일반적으로 유닉스 계열의 컴퓨팅 환경에서 사용되는 연산은 시스템 콜을 사용하여 정의한다. 예를 들어 파일 객체에 허용된 연산들은 열기(open), 읽기(read), 쓰기(write) 등으로 정의된다.Operations 16 are a series of specific or logical actions that the subject 11 performs on the object 12 and are the operations allowed for the object 12. When the operation 16 is assigned to the object 12, the object 12 becomes the authorized object 12, allowing the subject 11 to perform an access control action, and the operation 16 is not granted. Since the object 12 does not have a permission, the subject 11 may not perform an access control action. In the SEEN system, an operation is assigned to a privilege relationship 15 between the subject security object set 13 and the object security object set 14. When the object 12 is included in the object security object set 14, the operation granted to the object security object set 14 is allowed to the object 12. In general, operations used in Unix-like computing environments are defined using system calls. For example, operations allowed on file objects are defined as open, read, write, and so on.

보안개체집합(13,14)은 SEEN 시스템의 핵심요소로서, 어떤 조직의 구성요소들에게 부여될 수 있는 직책이나 직무를 위한 소속부서 및 직책에 적합한 업무 기능을 표현하기 위해 정의한 추상적인 개념이다. 보안개체집합(13,14)은 접근통제의 구성요소인 주체(11)와 객체(12)들의 집합으로 표현될 수 있다. 그리고 주체(11)들의 집합을 주체보안개체집합(13), 객체(12)들의 집합을 객체보안개체집합이라 정의한다. 예를 들면, 웹 관리자에 해당하는 주체(11)들의 집합과 웹 관리자들이 사용하는 객체(12)들의 집합은 보안개체집합이 되고, 이때 주체(11)들의 집합이 주체보안개체집합(13), 객체(12)들의 집합이 객체보안개체집합(14)이 된다. 즉, 보안개체집합(13,14)은 조직의 모든 구성원인 주체(11)나 객체(12)에 부여될 수 있으며, 주체(11)에 부여된 보안개체집합을 주체보안개체집합(13)이라 하고 객체(12)에 부여된 보안개체집합을 객체보안개체집합(14)이라 한다. 보안개체집합(13,14)들 사이에는 상속관계가 존재하며, 보안개체집합(13,14)들이 모여서 새로운 보안개체집합을 구성할 수 있다. Security entity sets (13, 14) are the core elements of the SEEN system and are abstract concepts defined to represent the functions that can be assigned to the components of an organization, the departments for which they belong, and the appropriate business functions for those positions. The security object set 13 and 14 may be represented as a set of subjects 11 and objects 12 which are components of access control. A set of subjects 11 is defined as a subject security object set 13 and a set of objects 12 as an object security object set. For example, the set of subjects 11 corresponding to the web administrator and the set of objects 12 used by the web administrator become a security object set, wherein the set of subjects 11 is a subject security object set 13, an object. The set of (12) is the object security object set (14). That is, the security object sets 13 and 14 may be granted to the subject 11 or the object 12 which are all members of the organization, and the security object set granted to the subject 11 is referred to as the subject security object set 13. The security object set granted to the object 12 is referred to as an object security object set 14. An inheritance relationship exists between the security object sets 13 and 14, and the security object sets 13 and 14 may be collected to form a new security object set.

보안개체집합 부여(17)는 주체보안개체집합(13)과 객체보안개체집합(14) 사이의 특수한 관계이다. 보안개체집합 부여(17)를 통하여 주체보안개체집합(13)과 객체보안개체집합(14) 간의 설정된 권한관계(15)를 실제 접근통제행위의 행위자인 주체(11)와 접근통제행위의 대상인 객체(12)에게 각각 할당한다. 보안개체집합 부여(17)는 주체보안개체집합(13)을 주체(11)에 부여하는 것과 객체보안개체집합(14)을 객체(12)에 부여하는 것을 포함한다. 주체보안개체집합(13)을 주체(11)에 부여(17)함으로써 해당 주체(11)는 주체보안개체집합(13)과 권한관계(15)가 설정된 객체보안개체집합(14)을 부여받은 객체(12)에 대해 허용된 연산(16)을 수행한다. 마찬가지로 객체보안개체집합(14)을 부여 받은 객체(12)는 권한관계(15)가 설정된 주체보안개체집합(13)을 부여받은 주체(11)에게 정의된 연산(16)을 허용한다. The secured object set grant 17 is a special relationship between the subject secured object set 13 and the object secured object set 14. By granting the security object set (17), the established authority relationship (15) between the subject security object set (13) and the object security object set (14) is the subject (11), which is the actor of the actual access control action, and the object that is the object of the access control action Each of them is assigned to 12. The secure object set grant 17 includes granting the subject security object set 13 to the subject 11 and granting the object security object set 14 to the object 12. By granting (17) the subject security object set 13 to the subject 11, the subject 11 receives an object security object set 14 to which the subject security object set 13 and the authority relationship 15 are set. Perform the allowed operation 16 for (12). Similarly, the object 12 granted the object security object set 14 allows the operation 16 defined to the subject 11 granted the subject security object set 13 in which the authority relationship 15 is set.

보안개체집합 부여(17)의 존속기간을 의미하는 보안개체집합 생명주기(Security Entity Set Life Cycle)가 정의되어 있으며, 보안개체집합 생명주기에 의해 보안개체집합은 정적보안개체집합(static security entity set)과 동적보안개체집합(dynamic security entity set)으로 구분된다. 정적보안개체집합은 주체(11)나 객체(12)에게 영구적으로 부여된 보안개체집합을 의미하며, 동적보안개체집합은 일시적으로 부여된 보안개체집합을 의미한다. 보안개체집합은 주체(11)나 객체(12)에 부여될 때 보안개체집합 생명주기에 의해 정적보안개체집합 또는 동적보안개체 집합이 된다. 동적보안개체집합은 정적보안개체집합의 권한으로는 제한된 특별한 작업을 위해 일시적으로 부여되며 작업이 종료된 뒤에는 동적보안개체집합의 권한이 취소된다.A security entity set life cycle is defined, which means the duration of granting a security entity set (17), and the security entity set is defined as a static security entity set by the security entity set life cycle. ) And a dynamic security entity set. The static security object set means a security object set permanently granted to the subject 11 or the object 12, and the dynamic security object set means a security object set temporarily granted. When a security object set is assigned to a subject 11 or an object 12, the security object set becomes a static security object set or a dynamic security object set by the security object set life cycle. Dynamic security object sets are temporarily granted for special operations that are limited by the authority of the static security object set, and the privileges of the dynamic security object set are revoked after the operation is finished.

주체보안개체집합(13)과 객체보안개체집합(14) 간의 권한관계(15)는 다대다 관계이며, 권한관계(15) 설정을 통해 주체보안개체집합(13)에 속한 주체(11)들이 객체보안개체집합(14)에 속한 객체(13)에 대한 권한을 부여받게 된다. 조직의 업무 수행에 필요한 사용자와 객체의 역할들을 보안개체집합들로 정의하고, 주체보안개체집합(13)과 객체보안개체집합(14)을 각각 사용자(11)와 해당 객체(12)에 부여하여 객체(12)에 대해 권한이 필요한 경우 해당 주체보안개체집합(13)과 해당 객체보안개체집합(14)의 권한관계(15)를 설정하여 사용자(11)가 해당 객체(12)에 대한 연산(16)을 수행하도록 한다. 이러한 방법은 사용자(11)와 객체(12)의 수가 많은 환경에서 접근통제를 용이하게 수행할 수 있는 장점을 제공한다.The authority relationship 15 between the subject security object set 13 and the object security object set 14 is a many-to-many relationship, and the subjects 11 belonging to the subject security object set 13 are set by the authority relationship 15. The authority for the object 13 belonging to the security object set 14 is granted. Define the roles of users and objects necessary to perform the work of the organization as security object sets, and assign the subject security object set 13 and the object security object set 14 to the user 11 and the object 12, respectively. If authority is required for the object 12, the authority relationship 15 of the subject security object set 13 and the object security object set 14 is set so that the user 11 can perform operations on the object 12. 16). This method provides an advantage of easily performing access control in an environment in which the number of users 11 and objects 12 is large.

제약사항(18)은 주체보안개체집합(13)과 객체보안개체집합(14)에 속한 주체(11)나 객체(12)들의 특성을 제한한다. 주체보안개체집합(13)과 객체보안개체집합(14) 사이의 권한관계(15)에 의해 권한이 허용된 객체보안개체집합(14)에 포함된 객체(12)들에 허용된 연산(16)을 제약사항(18)을 통하여 제한할 수 있다.Constraints 18 restrict the characteristics of subject 11 or object 12 belonging to subject security object set 13 and object security object set 14. Operations (16) allowed on objects (12) included in object security object set (14) that are authorized by the privilege relationship (15) between the subject security object set (13) and the object security object set (14) Can be limited through constraint (18).

도 2를 참조하여, SEEN 시스템을 예시적으로 설명한다. 병원이라는 조직에는 접근행위의 주체(101)에 해당하는 보안개체로서 의사, 간호사, 환자가 있다. 예를 들어 간호사가 수간호사와 일반간호사, 간호조무사 등으로 구분되는 것과 같이, 의사나 간호사 등은 조직 내에서의 직급과 역할에 따라 다양하게 분류될 수 있을 것이다. 그리고 접근행위의 객체(102)에 해당하는 보안개체로서 의무(醫務)에 관련된 진료기록/검사기록/투약기록 등, 환자에 관련된 환자정보/병력기록 등, 직원에 관련된 의사정보/간호사정보 등이 있다.Referring to FIG. 2, the SEEN system will be described by way of example. In the organization of a hospital, there are doctors, nurses, and patients as security entities corresponding to the subject 101 of the access act. For example, as nurses are divided into nurses, general nurses, and nurse assistants, doctors and nurses may be classified according to positions and roles within the organization. In addition, as a security object corresponding to the object 102 of the accessing behavior, medical information / medical record related to the patient, patient information / medical history related to the patient, etc. have.

의사들의 집합인 의사보안개체집합(103)과 의무관련 기록들의 집합인 의무기록 보안개체집합(108) 간에는 권한관계(AR3)가 설정되어 있으며, 그 권한관계(AR3)에는 읽기와 쓰기 연산을 가능하게 하는 제약사항(109)이 설정되어 있다. 또한 의사보안개체집합(103)과 환자관련 기록들의 집합인 환자기록 보안개체집합(106) 간에는 권한관계(AR2)가 설정되어 있으며, 그 권한관계(AR2)에는 읽기 연산을 가능하게 하는 제약사항(110)이 설정되어 있다. 그리고 간호사들의 집합인 간호사보안개체집합(105)과 환자기록 보안개체집합(106) 간에는 권한관계(AR1)가 설정되어 있으며, 그 권한관계(AR1)에는 읽기 연산을 가능하게 하는 제약사항(110)이 설정되어 있다.An authority relationship (AR3) is established between the Pseudo-Security Object Set (103), which is a set of doctors, and the Medical Record Security Object Set (108), which is a set of obligation-related records. Constraints 109 have been set. In addition, an authority relationship AR2 is set between the Pseudo-Security Object Set 103 and the Patient Record Security Object Set 106, which is a set of patient-related records, and the authority relationship AR2 includes a constraint that enables a read operation ( 110) is set. In addition, an authority relationship AR1 is set between the nurse security object set 105, which is a set of nurses, and the patient record security object set 106, and a constraint 110 for enabling a read operation in the authority relationship AR1. Is set.

도면에서, 의사1은 의사보안개체집합(103)을 부여받았으므로 의사보안개체집합(103)과 권한관계(AR2,AR3)에 있는 환자기록 보안개체집합(110) 및 의무기록 보안개체집합(109)에 대하여, 설정된 연산의 범위 내에서 접근권한을 갖는다. 예를 들어, 검사기록 파일은 읽기와 쓰기 연산을 속성으로 갖고 있으므로, 검사기록 파일에 대하여 읽기와 쓰기 연산이 허용된다. 그리고 의무기록 보안개체집합(109)에는 파일객체에 대한 읽기/쓰기 연산이 제약사항(109)으로 설정되어 있으므로, 의사1은 의무기록 보안개체집합(109)이 부여된 객체인 검사기록 파일에 대하여 읽기와 쓰기 연산을 수행할 수 있다.In the figure, since doctor 1 has been granted the pseudo-security object set 103, the patient record security object set 110 and the medical record security object set 109 in the authority relationship (AR2, AR3) with the pseudo-security object set 103. ), You have access rights within the scope of the set operation. For example, a test record file has read and write operations as attributes, so read and write operations are permitted for the test record file. In the medical record security object set 109, since the read / write operation on the file object is set as the constraint 109, the pseudo1 is for the inspection record file which is an object to which the medical record security object set 109 is assigned. Read and write operations can be performed.

또한, 간호사1은 간호사 보안개체집합(105)을 부여받았으므로 간호사 보안개체집합(105)과 권한관계(AR1)에 있는 환자기록 보안개체집합(106)에 대하여, 설정된 연산의 범위 내에서 접근권한을 갖는다. 환자기록 보안개체집합(106)에는 읽기 연산이 제약사항(110)으로 설정되어 있으므로, 간호사1은 환자기록 보안개체집합(106)이 부여된 환자정보에 대하여 읽기 연산만을 수행할 수 있다. 그러나 간호사1은 의무기록 보안개체집합(109)과 권한관계가 설정된 주체보안개체집합을 부여받지 못하였으므로, 간호사1의 검사기록파일에 대한 어떠한 연산도 허용되지 않는다. 도 3의 예에서 허용된 접근은 <의사1, 검사기록, {읽기, 쓰기}>, <의사1, 환자정보, {읽기}>, <간호사1, 환자정보, {읽기}> 이다.In addition, since nurse 1 has been granted the nurse security object set 105, the nurse security object set 105 and the patient record security object set 106 in the authority relationship (AR1) have access rights within the set operation range. Has Since the read operation is set as the constraint 110 in the patient record secure object set 106, the nurse 1 may perform only a read operation on the patient information to which the patient record secure object set 106 is granted. However, since nurse 1 has not been granted the subject security object set in which the authority record security entity set 109 has the authority relationship, nurse 1 is not allowed to operate on the inspection record file. In the example of FIG. 3, the allowed access is <doctor 1, examination record, {read, write}>, <doctor 1, patient information, {read}>, <nurse 1, patient information, {read}>.

이상에서 설명한 SEEN 시스템을 정형화하면 다음과 같다. 정의 1은 SEEN 시스템의 기본 구성요소에 대한 정의들이며, 정의 2는 보안개체집합 부여와 보안개체집합들 간의 권한관계 설정에 대한 정의들이다.The SEEN system described above is formalized as follows. Definition 1 defines the basic components of the SEEN system, and Definition 2 defines the security object set grant and the authority relationship establishment between security object sets.

[정의 1] 기본 구성요소 [Definition 1] Basic Components

- S: 접근행위의 주체가 되는 주체의 집합 -S : set of subjects that are subjects of access

- O: 접근행위의 대상의 되는 객체의 집합 O : set of objects to be accessed

- A: 연산들의 집합 A : set of operations

- E: 보안개체집합들의 집합 -E : set of security object sets

[정의 2] 보안개체집합 부여 및 권한관계 설정[Definition 2] Security Object Set Grant and Permission Relationship Setting

- SEGSE -SEGSE

(보안개체집합을 주체에 부여하는 것으로 다-대-다 관계인 주체와 보안개 체집합의 곱으로 된 집합의 부분집합이다.)(A grant of a security object set to a subject is a subset of the set of products of the subject and the security object set that have a many-to-many relationship.)

- OEGOE -OEGOE

(보안개체집합을 객체에 부여하는 것으로 다-대-다 관계인 객체와 보안개 체집합의 곱으로 된 집합의 부분집합이다.)(A grant of a security object set to an object is a subset of the set of products of the object-to-many-to-many relationship and the security object set.)

- OAGOA -OAGOA

(연산들을 객체에 부여하는 것으로 다-대-다 관계인 객체와 연산의 곱으로 된 집합의 부분집합이다.)(Operations are given to objects, which is a subset of the set of products of operations and objects in a many-to-many relationship.)

- AEEE - AEE E

(보안개체집합과 보안개체집합의 권한관계를 설정하는 것으로 다-대-다 관계인 주체보안개체집합과 객체보안개체 집합의 곱으로 된 집합의 부분집합이다.)(Establishes the authorization relationship between security object set and security object set. It is a subset of the set of multiplication of subject security object set and object security object set which are many-to-many relationship.)

- GrantedSubject(e: E)→2 S (보안개체집합 e를 주체 집합에 사상한다.) GrantedSubject ( e : E ) → 2 S ( Maps security object set e to subject set.)

GrantedSubject(e) = {sS│(s, e)∈SEG} GrantedSubject ( e ) = { sS │ ( s, e ) ∈ SEG }

- GrantedObject(e: E)→2 O (보안개체집합 e를 객체 집합에 사상한다.) GrantedObject ( e : E ) → 2 O ( Map security object set e to object set.)

GrantedOubject(e) = {oO│(o, e)∈OEG} GrantedOubject ( e ) = { oO │ ( o, e ) ∈ OEG }

- GrantedAction(o: O)→2 A (객체 o를 연산들의 집합에 사상한다.) GrantedAction ( o : O ) → 2 A ( Maps object o to a set of operations.)

GrantedAction(o) = {aA│(a, o)∈OAG} GrantedAction ( o ) = { aA │ ( a, o ) ∈ OAG }

- AuthorizedEntity(e: E)→2 E (보안개체집합 e를 보안개체집합들의 집합 E에 사상한다.) AuthorizedEntity ( e : E ) → 2 E (Map security entity set e to security entity set E. )

AuthorizedEntity(e) = {eE│(e, e)∈AE} AuthorizedEntity ( e ) = { eE │ ( e, e ) ∈ AE }

정의 1과 정의 2를 기초로 하여 SEEN 시스템에서의 접근권한 결정방법에 대해 설명한다. SEEN 시스템에서 접근권한 결정은: 주체와 객체가 각각 주체보안개체집합과 객체보안개체집합을 획득하고; 주체보안개체집합과 객체보안개체집합 간의 권한관계가 설정되어 있으며; 해당 연산이 허용되어 있는지 점검하여; 연산이 허용되어 있으면 접근허용 결정을 하고, 그렇지 않은 경우는 접근거부 결정을 한다. 이 때, 접근허용일 경우는 GRANT를 반환하고 접근거부일 경우에는 DENY를 반환한다. 정의 3.3은 SEEN시스템의 접근권한 결정함수와 이와 연관된 접근결과 집합에 대한 정의이다.Based on definitions 1 and 2, we describe how to determine access rights in the SEEN system. In the SEEN system, access rights determinations include: the subject and the object obtain a subject security object set and an object security object set, respectively; An authorization relationship between the subject security object set and the object security object set is established; Check that the operation is allowed; If the operation is allowed, the access decision is made. Otherwise, the access decision is made. In this case, GRANT is returned if the access is allowed, and DENY is returned if the access is denied. Definition 3.3 defines the SEEN system's access decision function and its associated set of access results.

[정의 3] 접근권한 결정함수 [Definition 3] Decision function for access right AccessDecisionAccessDecision 과 결과집합 And result sets

- D: 접근 권한결정의 결과집합. -D : Result set of access right decision.

D = {GRANT, DENY} D = { GRANT, DENY }

- AccessDecision(s: S, o: O, a: A; out result: 2 D ) AccessDecision (s : S, o : O, a : A ; out result : 2 D )

sS; oO; aA; e s E; e o E; sS ; oO ; aA ; e s E ; e o E ;

sGrantedSubject(e s ); sGrantedSubject ( e s );

oGrantedOubject(e o ); oGrantedOubject ( e o );

e s AuthorizedEntity(e o ); e s AuthorizedEntity ( e o );

aGrantedAction(e s, e o ); aGrantedAction ( e s, e o );

result = {d: D} result = { d : D }

아래에서, SEEN 시스템의 구성요소인 주체, 객체 및 보안개체집합 등의 기본 문법을 정의한다. 보안개체집합을 부여 받지 못한 주체와 객체는 기본적으로 모든 권한이 거부된 상태이므로 접근이 허용되지 않는다. 또한, 주체보안개체집합과 객체보안개체집합을 부여 받았더라도 이들 보안개체집합 간의 권한관계가 설정되지 않았을 경우 해당 주체와 객체는 모든 접근행위가 거부된다. Below, we define the basic grammar of subjects, objects and security object sets that are components of the SEEN system. Subjects and objects that do not have the security object set are denied access by default because all privileges are denied. Also, even if the subject security object set and the object security object set are granted, the subject and the object are denied all accesses if the authority relationship between these security object sets is not established.

표 1은 연산의 정의문법과 사용예를 나타낸다. 객체에 부여되는 연산을 객체의 종류별로 정의한다. 정의된 연산만이 해당 객체에 허용된다. 객체의 종류는 파일, 메모리, 프로세스, 시스템 등이 있다.Table 1 shows the definition syntax and usage examples of the operation. Defines operations assigned to objects by object type. Only defined operations are allowed on that object. Object types include files, memory, processes, and systems.

[표 1] 연산정의 문법과 사용예[Table 1] Calculation Definition Example

(연산정의 문법) operations operation_list_name {operation_list}; operations object_name {operation_list};(Grammar of operation calculation) operations operation_list_name {operation_list}; operations object_name {operation_list}; (사용예) operations FILE {open, read, write, execute, close}; operations MEMORY {read, write, mmap}; operations /usr/bin/ls {open, read, execute, close};(Example) operations FILE {open, read, write, execute, close}; operations MEMORY {read, write, mmap}; operations / usr / bin / ls {open, read, execute, close};

표 2는 보안개체집합의 선언문법과 사용예를 나타낸다. 주체보안개체집합과 객체보안개체집합에 해당하는 보안개체 집합을 선언한다. 보안개체집합은 상속관계를 포함할 수 있으며 상위 보안개체집합을 명시할 수 있다. 보안개체집합의 선언은 entity 예약어를 사용하며 상속관계는 parent 예약어를 사용한다.Table 2 shows the syntax and usage examples of security object sets. Declare a set of security objects that correspond to a subject security object set and an object security object set. A security object set may contain inheritance relationships and may specify a parent security object set. Security object set declarations use entity reserved words, and inheritance uses parent reserved words.

[표 2] 보안개체집합 선언문법 및 사용예[Table 2] Security Object Set Declaration Syntax and Examples

(보안개체집합 선언문법) entity E [parent T]; entity entity_name_list;(Secure entity declaration syntax) entity E [parent T]; entity entity_name_list; (사용예) entity apache_s_entity; entity apache_o_entity, mysql_o_entity; entity apache_o_entity parent generic_home_entity;(Example) entity apache_s_entity; entity apache_o_entity, mysql_o_entity; entity apache_o_entity parent generic_home_entity;

표 3은 권한관계 설정문법과 사용예를 나타낸다. 주체보안개체집합과 객체 보안개체집합의 권한관계를 설정한다. 권한관계가 설정된 경우 주체보안개체집합은 해당 객체보안개체집합에 정의된 권한을 수행할 수 있게 된다. 권한관계가 없는 주체보안개체집합과 객체보안개체집합에 속한 주체나 객체는 접근통제를 요청할 때 접근이 거부된다. 권한관계는 authorize 예약어를 사용하여 설정한다. 제약사항은 constraint 예약어를 사용하여 객체보안개체집합의 특성을 제한한다. 객체유 형(object_type)을 생략할 경우는 기본설정 값인 파일(FILE) 객체유형을 의미한다.Table 3 shows the syntax and usage examples. Permission relationship between subject security object set and object security object set is set. If a privilege relationship is established, the subject security object set can perform the privileges defined in the object security object set. Unauthorized subject security object sets and subjects or objects belonging to the object security object sets are denied access when requesting access control. Privilege relationships are set using the authorize reserved word. Constraints use constraint reserved words to limit the characteristics of object security object sets. If you omit the object type (object_type), it means the default file type (FILE) object type.

[표 3] 권한관계 설정문법 및 사용예[Table 3] Permission Relationship Syntax and Usage Examples

(권한관계 설정문법) authorize S_S_E O_S_E constraint object_type (operation_list); authorize S_S_E O_S_E constraint_list;(Authorization related settings grammar) authorize S_S_E O_S_E constraint object_type (operation_list ); authorize S_S_E O_S_E constraint_list; (사용예) authorize apache_s_entity apache_o_entity constraint FILE (read); authorize apache_s_entity apache_o_entity constraint (read); authorize cybersun_s_entity cybersun_o_entity constraint FILE (write), constraint DIR (write, read);(Example) authorize apache_s_entity apache_o_entity constraint FILE (read); authorize apache_s_entity apache_o_entity constraint (read); authorize cybersun_s_entity cybersun_o_entity constraint FILE (write), constraint DIR (write, read);

표 4는 보안개체집합 부여문법과 사용예를 나타낸다. grant 예약어를 사용하여 주체나 객체에 보안개체집합을 부여한다. 주체보안개체집합을 부여할 때는 subject 예약어를 사용하고 객체보안개체집합을 부여할 때는 object 예약어를 사용한다. 모든 주체와 객체는 보안개체집합을 부여 받아야 접근통제를 수행할 수 있다. 즉, 보안개체집합을 부여 받지 못한 주체나 객체는 접근통제를 수행할 수 없다.Table 4 shows the security object set syntax and usage examples. Grant a security object set to a subject or object using the grant reserved word. When assigning a subject security object set, use the subject reserved word. When granting an object security object set, Use the object reserved word. All subjects and objects must be granted security object set to perform access control. That is, subjects or objects that do not have the security object set cannot perform access control.

[표 4] 보안개체집합 부여문법 및 사용예[Table 4] Security Object Set Grant Syntax and Examples

(보안개체집합 부여문법) grant subject user_name {entity_list}; grant subject user_name_list {entity_list}; grant object object_name {entity_list}; grant object object_name_list {entity_list}; Grant subject user_name {entity_list}; grant subject user_name_list {entity_list}; grant object object_name {entity_list}; grant object object_name_list {entity_list}; (사용예) grant subject webmaster {apache_s_entity}; grant subject cybersun {mysqld_s_entity, home_s_entity}; grant object /var/www(/.*)? {apache_o_entity}; grant object /home/cybersun, /usr/bin {cybersun_o_entity};(Example) grant subject webmaster {apache_s_entity}; grant subject cybersun {mysqld_s_entity, home_s_entity}; grant object /var/www(/.*)? {apache_o_entity}; grant object / home / cybersun, / usr / bin {cybersun_o_entity};

표 5는 이벤트 정의문법 및 사용예를 나타낸다. 이벤트는 사용자에게 동적보 안개체집합을 할당할 때 사용한다. 보안개체집합은 사용자에게 부여된 정적보안개체집합 외에 필요한 특별한 작업을 위해 일시적으로 사용자에게 부여되는 보안개체집합이며, 작업이 끝난 후에는 동적보안개체 집합의 권한은 사라진다. when 구문은 조건을 검사하는 구문으로 동적보안개체 집합을 부여할 때 필요한 조건이 있는 경우에 사용한다. 조건이 맞지 않는 경우에는 동적보안개체 집합이 부여되지 않는다.Table 5 shows the event definition syntax and usage examples. Events are used to assign dynamic beam fogsets to users. A security object set is a security object set temporarily granted to a user for special tasks required in addition to the static security object set granted to the user. After the operation is completed, the authority of the dynamic security object set is lost. The when statement is a conditional check statement that is used when there are necessary conditions when granting a set of dynamic security objects. If the conditions are not met, no dynamic security object set is granted.

[표 5] 이벤트 정의문법 및 사용예[Table 5] Event definition syntax and usage examples

(이벤트정의 문법) event user_name S_S_E_name [when condition_list];(Event definition syntax) event user_name S_S_E_name [when condition_list]; (사용예) event cybesrun passwd_s_entity when current.pid = passwd;(Example) event cybesrun passwd_s_entity when current.pid = passwd;

이하에서는, 리눅스 운영체제에서 동작되는 응용서비스들인 Apache 웹서비스 데몬, MySQL 데이터베이스 서비스 데몬 등을 SEEN 시스템 기반의 정책으로 기술한다. 정책을 만들기 위해서는 주체와 객체 그리고 필요한 연산들에 대한 정확한 분석이 필요하다.In the following, the Apache web service daemon, MySQL database service daemon, etc., which are application services running on the Linux operating system, are described using the SEEN system-based policy. Creating a policy requires accurate analysis of subjects, objects, and the operations required.

[예제 1] Apache(Web)[Example 1] Apache (Web)

도 3a는 Apache 데몬이 사용하는 객체들과 연산들의 관계를 나타낸다. Apache는 기본적으로는 웹 서비스를 제공하는 서버 어플리케이션으로서 인증, CGI(Common Gateway Interface), 데이터베이스, Server-Side Script 언어(PHP, JSP 등)와 같은 외부 어플리케이션을 통해 기능의 확장이 가능하다. Apache의 특성상 무한에 가까운 확장성에 대한 정책을 모두 표현하는 규칙을 만들기는 상당히 어렵 다. Apache는 기본적으로 웹서비스를 제공하기에 웹 컨텐츠에 해당하는 다양한 객체에 접근하고, 시스템 내의 다른 객체들을 사용한다. 기본적으로 사용되는 tcp 및 udp 소켓이나 80번 포트와 SSL 위에서 동작하는 웹서비스를 위해서 443 포트를 사용한다. 그리고 커버로스(kerberos) 인증을 사용하는 경우에는 이를 위해 커버로스 인증 관련 정보를 담고 있는 '/etc/krb5.conf' 파일에 접근이 필요하며, PAM을 이용한 인증이나 다른 httpd.conf 파일에 정의된 '.access' 파일을 통한 인증을 사용하는 경우 각각 다른 파일들에 대한 접근 권한이 필요하다. 또한, CGI나 데이터베이스를 사용하게 될 경우에는 더 많은 사항들을 고려해야한다. 도 3b는 도 3a의 객체들과 연산관계를 참고로 하여 Apache의 기본적인 서비스(인증, CGI, 웹 서비스)에 대한 접근통제 정책을 SEEN 정책으로 기술된 예를 나타내고 있다.3A shows the relationship between objects and operations used by the Apache daemon. Apache is basically a server application that provides web services, and its functionality can be extended through external applications such as authentication, Common Gateway Interface (CGI), database, and Server-Side Script language (PHP, JSP, etc.). Due to the nature of Apache, it is quite difficult to create a rule that expresses all policies for near-infinity scalability. Apache provides web services by default, accessing various objects corresponding to web content, and using other objects in the system. Port 443 is used for tcp and udp sockets, which are used by default, or for Web services running on port 80 and SSL. If Kerberos authentication is used, access to '/etc/krb5.conf' file containing Kerberos authentication information is required for this, and authentication using PAM or other httpd.conf file is defined. If you use authentication via a '.access' file, you will need access to different files. Also, if you're going to use CGI or a database, there's more to consider. 3B illustrates an example in which an access control policy for basic services (authentication, CGI, web service) of Apache is described as a SEEN policy with reference to the objects and arithmetic relations of FIG. 3A.

[예제 2] MySQL(DB)[Example 2] MySQL (DB)

도 4a는 MySQL 서비스 데몬이 사용하는 객체들과 필요한 연산들의 관계를 보여준다. MySQL은 SQL에 기반을 두고 있는 관계형 데이터베이스 관리 시스템(DBMS)이다. GNU GPL 공개 소스 시스템, 또는 비즈니스용을 위한 MySQL 네트워크 가입 등 두 개의 라이센스 규칙 하에서 활용이 가능하며, 유닉스/리눅스 및 윈도우 등 다양한 플랫폼에서 활용될 수 있다. 현재 공개형 DB중 가장 뛰어난 쿼리응답 성능과 다양한 Server-Side Script와의 연동을 제공하여 널리 사용되는 DB 시스템이다. MySQL 서버 어플리케이션은 mysql 사용자 권한으로 동작한다. MySQL의 경우 내부적으로 복잡한 구조로 동작하나 운영체제에 드러나는 부분의 구조는 매우 단순직관적 이기 때문에 Apache에 비해 설정자체는 간단하다. 도 4a와 같이 MySQL이 사용하는 설정파일에 대한 접근 권한을 설정하고 MySQL이 사용하는 포트(3306)와 실제 DB 데이터가 저장되는 파일 및 로그 객체에 대하여 권한을 설정해 주어야한다. 도 4b는 MySQL 서비스 데몬이 사용하는 객체들과 연산들의 관계를 참고하여 SEEN 정책으로 기술한 예를 나타내고 있다.Figure 4a shows the relationship between the objects used by the MySQL service daemon and the required operations. MySQL is a relational database management system (DBMS) based on SQL. It can be used under two licensing rules, such as the GNU GPL open source system or a MySQL network subscription for business, and on a variety of platforms, including Unix / Linux and Windows. It is the most widely used DB system by providing the best query response performance among open DBs and interworking with various server-side scripts. MySQL server applications run with mysql user privileges. MySQL is a complex structure internally, but the configuration itself is simpler than Apache because the structure of the parts exposed to the operating system is very simple and intuitive. As shown in Fig. 4a, access authority for the configuration file used by MySQL must be set, and permission for the port (3306) used by MySQL and the files and log objects in which the actual DB data are stored. Figure 4b shows an example described in the SEEN policy with reference to the relationship between objects and operations used by the MySQL service daemon.

[예제 3] bind 데몬 정책[Example 3] bind daemon policy

도 5a는 bind 서비스 데몬이 사용하는 객체와 연산들의 관계를 보여준다. 도메인 서비스는 도메인과 아이피 간에 정보를 제공하는 서비스로 도메인 정보는 텍스트 파일로 구성되어 있다. 도메인 서비스를 제공하서는 데몬 프로그램으로는 대표적으로 bind가 있다. bind 서버 어플리케이션은 named라는 사용자 권한으로 동작한다. bind의 최신 버전인 bind9의 경우는 rndc 서비스를 통하여 원격으로 서버를 컨트롤 할 수 있는 방법도 제공하고 있다. 그렇기 때문에 기존에 53번 포트만 사용하던 bind는 rndc를 사용하는 953번 포트도 같이 사용한다. 또한, fake root를 이용한 설정파일 방법도 흔히 사용되고 있기 때문에 /var/named에 대한 객체 설정을 하위 모든 디렉토리와 정규파일로 지정해야 한다. 도 5b는 bind 서비스 데몬이 사용하는 객체와 연산들의 관계를 참고하여 SEEN 정책으로 기술한 예를 나타내고 있다.5A shows the relationship between objects and operations used by the bind service daemon. Domain service is a service that provides information between domain and IP. Domain information is composed of text files. One of the daemon programs that provides domain services is bind. The bind server application runs with the named user. The latest version of bind, bind9, also provides a way to remotely control the server through the rndc service. Therefore, bind, which used only port 53, also uses port 953, which uses rndc. In addition, since the configuration file method using fake root is commonly used, the object configuration for / var / named should be set to all subdirectories and regular files. FIG. 5B illustrates an example described in the SEEN policy with reference to the relationship between objects and operations used by the bind service daemon.

[예제 4] samba 데몬 정책[Example 4] samba daemon policy

도 6a는 samba 서비스 데몬이 사용하는 객체들과 연산들의 관계를 보여준다. samba는 SMB 프로토콜을 지원하여 다른 운영체제간의 자원공유를 서비스해주는 서버 어플리케이션이다. samba 서버는 /etc/samba 디렉토리에서 설정파일을 관리한다. 그리고 크게 smbd, nmbd의 두 개의 데몬 프로그램으로 구성되어 있으며 포트는 139번을 기본으로 MS윈도우즈의 445번 포트 및 SMB 프로토콜에서 사용하는 137, 138 UDP 포트를 사용한다. 또한, 설정파일 외에도 로그파일, 캐시파일에 대한 기록이 빈번히 일어나기 때문에 이에 대한 권한설정을 추가하였으며 samba 서버는 설정파일에 따라서 사용자 정의 공유자원(디렉터리, 프린터 등)이 존재할 수 있기 때문에 위의 기본설정을 바탕으로 추가되는 자원에 대한 설정이 필요하다. 도 6b는 samba 서비스 데몬이 사용하는 객체와 연산들의 관계를 참고하여 SEEN 정책으로 기술한 예를 나타내고 있다.Figure 6a shows the relationship between objects and operations used by the samba service daemon. samba is a server application that supports resource sharing between different operating systems by supporting the SMB protocol. The samba server maintains configuration files in the / etc / samba directory. It consists of two daemon programs, smbd and nmbd, and the port uses port 445 of MS Windows and port 137 and 138 UDP used by SMB protocol based on port 139. In addition, log files and cache files are frequently recorded in addition to the configuration file, so the permission setting has been added. Since the samba server can have user-defined shared resources (directory, printer, etc.) depending on the configuration file, the above basic setting You need to configure the resources to be added based on this. FIG. 6B shows an example in which the SEEN policy is described with reference to the relationship between objects and operations used by the samba service daemon.

본 발명에 따른 접근통제 시스템은 기존의 다양한 접근통제 시스템들을 알기 쉬운 구조로 표현함으로써 보안운영체제에 쉽게 적용할 수 있는 메타 시스템이다. 이 시스템은 보안정책의 관리를 단순화시켜주고 기업 및 사용자의 특정한 보안정책을 구현하는데 있어서 유연성을 제공한다. 또한 사용자는 직책과 직무에 따라 보안개체를 할당받아 접근통제를 수행하며, 권한관계는 보안개체집합 간에 설정되는 것으로 함으로써 주체와 객체의 수가 많은 대규모 조직환경에 적합하게 이용될 수 있다.The access control system according to the present invention is a meta system that can be easily applied to the security operating system by expressing various existing access control systems in an easy-to-understand structure. This system simplifies the management of security policies and provides flexibility in implementing specific security policies for enterprises and users. In addition, users are assigned security objects according to their job titles and duties to perform access control. Privilege relationships are established between security object sets, which can be used for large organizational environments with a large number of subjects and objects.

Claims (10)

보안운영체제에서 접근통제 정책을 구현하기 위하여 제공되는 시스템에 있어서; 지정된 보안개체로 할당된 주체와 객체; 각각 주체의 집합과 객체의 집합으로 정의되는 주체보안개체집합과 객체보안개체집합; 주체보안개체집합과 객체보안개체집합 간에 설정되는 권한관계; 주체와 객체를 각각 주체보안개체집합과 객체보안개체집합에 속하게 하는 부여를 포함하며; 부여된 보안개체집합 및 설정된 권한관계에 근거하여, 주체의 객체에 대한 접근권한을 결정하도록 된 것을 특징으로 하는 메타 접근통제 시스템.A system provided for implementing an access control policy in a security operating system; Subjects and objects assigned to the specified security object; A subject security object set and an object security object set defined by a set of subjects and a set of objects, respectively; A privilege relationship established between the subject security object set and the object security object set; And granting the subject and the object to belong to the subject security object set and the object security object set, respectively; Meta access control system, characterized in that to determine the access authority to the subject's object based on the granted security object set and the set permissions relationship. 제1항에 있어서,The method of claim 1, 상기 객체는 할당된 연산을 속성으로 가지며, 허용되지 않은 연산에 대한 주체의 접근은 거부결정되는 것을 특징으로 하는 메타 접근통제 시스템.The object has an assigned operation as an attribute, and meta-access control system, characterized in that the subject's access to the disallowed operation is denied. 제1항에 있어서,The method of claim 1, 상기 주체보안개체집합(13)과 객체보안개체집합(14) 간의 권한관계(15)는 다대다 관계인 것을 특징으로 하는 메타 접근통제 시스템.The meta-access control system, characterized in that the authority relationship (15) between the subject security object set (13) and the object security object set (14) is a many-to-many relationship. 제1항에 있어서,The method of claim 1, 상기 주체는 조직 내에서의 직책이나 직무에 따라 정의되는 보안개체인 것을 특징으로 하는 메타 접근통제 시스템.The subject is a meta-access control system, characterized in that the security object is defined according to the position or job in the organization. 제1항에 있어서,The method of claim 1, 상기 객체는 정보특성에 따라 정의되는 보안개체인 것을 특징으로 하는 메타 접근통제 시스템.The object is a meta-access control system, characterized in that the security object is defined according to the information characteristics. 제1항에 있어서,The method of claim 1, 상기 메타 접근통제 시스템은 주체보안개체집합 또는 객체보안개체집합에 속한 주체나 객체의 특성을 제한하는 제약사항을 포함하는 것을 특징으로 하는 메타 접근통제 시스템.The meta access control system includes a restriction that restricts the characteristics of a subject or an object belonging to the subject security object set or the object security object set. 제6항에 있어서,The method of claim 6, 상기 제약사항은, 권한관계에 의해 권한이 허락된 객체보안개체집합에 포함된 객체에 허용된 연산인 것을 특징으로 하는 메타 접근통제 시스템.The constraint is a meta-access control system, characterized in that the operation allowed to the objects included in the object security object set authorized by the permission relationship. 제1항에 있어서,The method of claim 1, 상기 주체보안개체집합 또는 객체보안개체집합은 복수로 모여서 새로운 주체보안개체집합 또는 객체보안개체집합을 구성하는 것을 특징으로 하는 메타 접근통제 시스템.The subject security object set or the object security object set are gathered in plurality to form a new subject security object set or object security object set meta access control system. 제1항에 있어서,The method of claim 1, 상기 주체보안개체집합 상호간 또는 객체보안개체집합 상호간에는 상위개념의 집합이 하위개념의 권한을 상속받는 상속관계가 존재하는 것을 특징으로 하는 메타 접근통제 시스템.Meta access control system, characterized in that there is an inheritance relationship in which the set of higher concepts inherit the rights of the lower concept between the subject security object set or the object security object set. 제1항에 있어서,The method of claim 1, 상기 주체보안개체집합 또는 객체보안개체집합은 주체나 객체에 부여될 때 생명주기에 의하여 정적보안개체집합 또는 동적보안개체집합이 되며, 동적보안개체집합은 일정한 시간 또는 작업이 종료되면 소멸되는 것을 특징으로 하는 메타 접근통제 시스템.When the subject security object set or the object security object set is assigned to a subject or object, the subject security object set or the object security object set becomes a static security object set or a dynamic security object set by a life cycle, and the dynamic security object set is extinguished when a certain time or operation is completed. Meta access control system.
KR1020060076547A 2006-08-14 2006-08-14 Meta access control system KR100833973B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060076547A KR100833973B1 (en) 2006-08-14 2006-08-14 Meta access control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060076547A KR100833973B1 (en) 2006-08-14 2006-08-14 Meta access control system

Publications (2)

Publication Number Publication Date
KR20080015176A KR20080015176A (en) 2008-02-19
KR100833973B1 true KR100833973B1 (en) 2008-05-30

Family

ID=39383768

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060076547A KR100833973B1 (en) 2006-08-14 2006-08-14 Meta access control system

Country Status (1)

Country Link
KR (1) KR100833973B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101025422B1 (en) * 2008-11-14 2011-03-29 한상용 A method to evaluate the information sensitivity and the risk of user action for the information leakage protection
KR20110113649A (en) * 2009-03-19 2011-10-17 후지쯔 가부시끼가이샤 Receiver apparatus, transmitter apparatus, receiving method, transmitting method, communication system and communication method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020062071A (en) * 2001-01-19 2002-07-25 주식회사 정보보호기술 Intrusion detection system to interact with access control and method for intrusion confrontation
KR20040055513A (en) * 2002-12-21 2004-06-26 한국전자통신연구원 Information model for security policy in policy-based network security system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020062071A (en) * 2001-01-19 2002-07-25 주식회사 정보보호기술 Intrusion detection system to interact with access control and method for intrusion confrontation
KR20040055513A (en) * 2002-12-21 2004-06-26 한국전자통신연구원 Information model for security policy in policy-based network security system

Also Published As

Publication number Publication date
KR20080015176A (en) 2008-02-19

Similar Documents

Publication Publication Date Title
Ferraiolo et al. Extensible access control markup language (XACML) and next generation access control (NGAC)
Ubale Swapnaja et al. Analysis of dac mac rbac access control based models for security
US20090205018A1 (en) Method and system for the specification and enforcement of arbitrary attribute-based access control policies
Hu et al. Towards an approach of semantic access control for cloud computing
Autrel et al. MotOrBAC 2: a security policy tool
TW200830141A (en) Analyzing access control configurations
Kashmar et al. From access control models to access control metamodels: A survey
US20230195877A1 (en) Project-based permission system
AU2022341301A1 (en) Data management and governance systems and methods
Solanki et al. Multi-tenant access and information flow control for SaaS
Eaman et al. Review of existing analysis tools for SELinux security policies: challenges and a proposed solution
Hashii et al. Supporting reconfigurable security policies for mobile programs
Hurtuk et al. Security sandbox based on RBAC model
De Capitani di Vimercati et al. Authorization and access control
KR100833973B1 (en) Meta access control system
Muthukumaran et al. Producing hook placements to enforce expected access control policies
Bandopadhyay et al. DataPAL: data protection and authorization lifecycle framework
Pölck Small TCBs of policy-controlled operating systems
Franco et al. Security enhanced Linux to enforce mandatory access control in health information systems
Ayed et al. An integrated model for access control and information flow requirements
Akhtar et al. Formal verification of authorization policies for enterprise social networks using PlusCal-2
Liu et al. A multi-tenant usage access model for cloud computing
Jaidi et al. To summarize the problem of non-conformity in concrete rbac-based policies: synthesis, system proposal and future directives
Xiong et al. Enterprise file sharing system with lightweight attribute based access control
US9507929B1 (en) Decentralized information flow securing method and system for multilevel security and privacy domains

Legal Events

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

Payment date: 20120406

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20130515

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee