<첨단기술의 현장을 가다>34회-역할기반 접근제어(RBAC)

◆디지털정보의 안전한 흐름을 보장하는 데는 인증과 접근제어, 감사 등 세 가지가 중요한 요소로 작용한다. 국가의 보안정책은 이 세 가지를 갖춰야 하고 엔지니어들은 이들의 메커니즘을 개발하게 된다. 인터넷이 활성화되면서 디지털정보 보호의 핵심요소로 등장한 역할기반 접근제어(RBAC:Role-Based Access Control )에 대해 살펴본다. 편집자◆

디지털정보 흐름이 점차 복잡한 프로세싱에 의해 제어가 어려워지고 정보보호에 대한 요구사항이 부각되면서 세 가지 분야에 대한 기술이 고도화되고 있다. 인증은 전통적인 패스워드 방식 외에 토큰 방식과 생체인식 방식 등으로 확대되고 감사는 전통적인 오프라인 감사 외에 실시간 탐지를 위한 온라인 침입탐지시스템(IDS)기술로까지 발전했다. 그러나 무엇보다도 전자상거래(EC)기술과 디지털정보 보호가 강조되면서 안전하고 다양한 형태의 보안정책 및 트랜잭션을 지원할 수 있는 사용자 주체의 디지털 객체에 대한 접근제어기술 개발이 매우 중요한 요소로 등장하고 있다.

미 국방부(DOD)의 오렌지북은 신분기반 접근제어(DAC:Discretionary Access Control)와 강제적 접근제어(MAC:Mandatory Access Control)를 공식 표준 접근제어기술로 명시했다. DAC는 사용자 주체와 권한에 의해 각 정보에 대한 접근모드가 정해져 있으나 MAC는 사용자와 정보객체를 TS(top secret), S(secret), C(confidential), U(unclassified) 4단계 보안등급으로 분류하고 등급간 정보흐름을 제어하고 있다.

역할기반 접근제어는 기업 조직이나 상업적 응용에 적합한 모델로 기존의 DAC와 MAC에 대한 새로운 선택대안으로 관심이 집중되고 있다. DAC는 협동적이고 자치적인 성격의 학교사회에 적합하고 MAC는 군사기관 같은 통제형 사회에 적합한 기술이다. 그러나 모두 일반 기업이나 상업적 응용분야에는 적합하지 않다. 따라서 유동적이고 다양한 조직체계를 갖춘 기업이나 상업적 응용분야에 적합한 접근제어를 수행할 수 있는 RBAC가 필요하게 된 것이다. 지난 95년부터 라비 산드유 박사에 의해 운영돼온 LIST(Laboratory for Information Security Technology)는 RBAC 연구의 중심지로 지목받고 있다.

RBAC는 다양한 보안정책을 수용할 수 있는 모델을 기반으 하고 있어 관리에 매우 용이한 구조를 갖고 있다. RBAC는 접근제어를 위해 미리 정의된 업무로부터 역할을 분류하고 사용자의 등급과 범주에 의한 접근검사가 아닌 역할에 의한 접근제어를 수행해 시스템의 보안관리 및 유지보수가 용이하다.

예를 들어 직장의 인사부장이 A라는 사람에서 B라는 사람으로 바뀌었을 경우 A가 인사부장으로 있을 때에 생성하고 관리했던 많은 파일의 소유자는 A라는 사람으로 되어있고 A라는 사람의 등급과 범주정보를 갖고 있다. 따라서 B라는 사람이 새로 인사부장 자리에 왔지만 해당 파일에 대한 접근권한이 없으므로 관리자가 필요한 모든 파일들에 대한 변경을 수행해야 하는 번거로움이 있다. 하지만 RBAC에서는 A라는 사용자를 인사부장 역할의 멤버에서 제거하고 B라는 사람을 인사부장 역할에 넣어주기만 하면 된다.

RBAC는 기본적으로 사용자와 역할, 허용부분이 있고 그 외에 역할계층과 제약조건, 세션 등의 구성요소로 이뤄진다. 한 사용자는 하나 이상의 역할에 속할 수 있으며 하나의 역할은 여러 허용을 가질 수 있다. 제약조건으로 한 사용자에게 동시에 두가지 이상의 역할이 허용되지 못하도록 하는 상호배제역할과 해당 역할에서 포함할 수 있는 사용자의 수를 정의하는 카디널티가 있다. 상호배제 역할의 예로는 구매요청 역할과 지급역할이 한 사용자에게 동시에 허용되는 것을 방지하는 것을 들 수 있다. 역할간에는 계층구조가 있어 상위 역할은 하위 역할에 주어진 퍼미션들을 모두 상속받게 된다.

산드유 박사는 RBAC96 모델을 최초로 발표했다. 그러나 이 모델은 1명의 관리자만을 가정하고 있어 실제 적용의 한계를 보임으로써 이를 보완하기 위해 여러 명의 관리자를 둘 수 있는 ARBAC97(Administrative RBAC97)모델을 제안했다. ARBAC97은 URA97(User-Role Assignment)과 RPA97(Permission-Role Assignment), RRA97(Role-Role Assignment) 등 세 부문으로 구성된다. LIST에서는 이 모델을 오라클과 유닉스, 웹, 윈도NT 플랫폼에서 구현해 실현 가능성을 검증했다. 대규모 네트워크에서 역할정의를 위해서는 한 명 이상의 관리자가 중앙집중 혹은 분산방식으로 수행할 것이고 각 사용자에 대한 역할은 사용자 인증 후에 바인딩된다. 미 연방정부에서는 사용자 인증을 FPKI(Federal Public Key Infrastructure)를 기반으로 추진하고 있으며 LIST에서는 이때 사용되는 X.509 인증서를 확장시킴으로써 사용자에게 역할을 할당하고자 하는 새로운 시도를 하고 있다.

현재까지 성능문제 외에 RBAC구현에 대한 기술적 문제는 없다. RBAC는 이제 DAC·MAC와 더불어 디지털 조직에서 중요한 접근제어 메커니즘으로 급부상했다. NIST(The National Institute of Standards and Technology)에서도 RBAC를 공식표준으로 제정하려고 하고 있다. 그러나 ARBAC97이 다양한 정책과 제약조건을 수용할 수 있는 유연한 구조를 갖고 있지만 보안관리 차원에서 미 정부의 보안정책을 만족시키면서 시스템 적용 가능성에 대한 검증은 아직 큰 과제로 남아 있다. NSA(National Security Agency)와 NIST는 RBAC 적용시스템 인증을 위해 5개 아웃소싱 업체가 대행하는 인증기관을 두고 실시하고 있다.<미국 패어펙스=박광선부장 kspark@etnews.co.kr 양봉영기자 byyang@etnews.co.kr 이종태 ETRI 정보보호기술연구본부 책임연구원 jtl@etri.re.kr>