본문 바로가기

SW/Autosar

Adaptive Autosar Identity Access Management (아이덴티티 액세스 관리)

반응형

AUTOSAR Adaptive Platform은 애플리케이션과의 견고하고 잘 정의 된 신뢰 관계를 필요로하기 때문에 ID 및 액세스 관리 개념에 대한 아이디어는 보안에 대한 필요성에 따라 생성됩니다. 공격자가 응용 프로그램을 충돌시키는 경우 Adaptive Platform 자체에 영향을 주지 않아야 하며 공격자의 기능은  타협된 응용 프로그램 기능으로 제한되어야합니다.

 

ID 및 액세스 관리를 통해 스택 및 응용 프로그램 개발자가 적응 형 응용 프로그램에서 Adaptive Platform Foundation 및 Services의 인터페이스에 대한 액세스를 제어하는 ​​데 사용할 수 있는 프레임 워크를 제공 할 계획입니다.

 


Terminology 

프레임 워크의 작동 방식을 이해하려면 몇 가지 중요한 개념을 미리 정의해야합니다. 다음 목록은 주요 IAM 구성 요소를 설명합니다. 참고로 RFC3198의 '정책 기반 관리를 위한 용어'도 참조하십시오. (https://tools.ietf.org/html/rfc3198).

 

. 액세스 제어 결정 : 액세스 제어 결정은 요청 된 조작이 허용되는지 여부를 나타내는 부울 값입니다. 호출자와 액세스 제어 정책의 신원을 기반으로합니다.


. 액세스 제어 정책 : 액세스 제어 정책은 호출 대상 (즉, 서비스 인터페이스)에 바인딩되며 해당 인터페이스에 액세스하는 데 필요한 ID 정보를 표현하는 데 사용됩니다. 정책은 구성 / 모델링을 통해 사전 프로그래밍함으로써 제공 될 수 있습니다.

 

. 정책 결정 포인트 (PDP) : PDP는 액세스 제어 결정이 내려지는 논리를 나타냅니다. 응용 프로그램이 요청 된 작업을 수행 할 수 있는지 결정합니다

 

. Policy Enforcement Point (PEP) : PEP는 액세스 제어 결정이 적용되는 논리를 나타냅니다. 이는 해당 PDP와 직접 통신하여 액세스 제어 결정을 수신합니다.

 

. Identity Information: 액세스 제어가 결정 / 시행되는 Adaptive 애플리케이션의 등록 정보를 나타냅니다. 신원 정보의 예는 Capabilities입니다.

 

. Capability: Capability은 Adaptive Application 프로그램의 속성입니다. AUTOSAR 자원 (예를 들어, 서비스 인터페이스)에 대한 액세스는 요구하는  Adaptive Application 가 특정 자원에 필요한 모든 능력을 소유하는 경우 부여됩니다. 권한은 Application Manifest 내의  Adaptive Applications에게 할당됩니다.

 


Scope and Focus of the IAM framework: 

 IAM 프레임 워크의 목표는 스택 및 응용 프로그램 개발자가 각 응용 프로그램의 권한을 모델링하고 각 액세스 요청시 액세스 제어 결정을 내리고 액세스 제어를 시행 할 수있는 메커니즘을 제공하는 것입니다. IAM은 Adaptive Application에서 Adaptive Platform Foundation 및 Services의 인터페이스에 대한 액세스를 제한하는 방법을 제공하는 데 중점을 둡니다. 암호화 객체 (예 : 키) 또는 로컬 리소스 (예 : HW 리소스, CPU로드)에 대한 액세스는 IAM에서 다루지 않습니다.

 

IAM 프레임 워크를 사용하면 Adaptive Application이 액세스 제어가 구성되도록 리소스를 요청하면 구현 된 PEP가 기존 정책을 기반으로 액세스 제어를 결정할 수 있습니다. 액세스에 대한 조회는 해당 정책 결정 포인트 (PDP)에서 액세스 제어 결정을받는 PEP에 의해 처리됩니다. 이 프로세스는 액세스를 원하는 Adaptive Application에 투명합니다.

 

현재 로컬 어댑티브 플랫폼 인스턴스의 리소스 및  네트워크 통신에 대한 액세스 제어는 IAM의 적용을 받습니다.  들어오는 요청에 대해서도 네트워크 통신이 확장 될 것입니다.


이 프레임 워크는 런타임에 AUTOSAR 자원에 대한 액세스 제어를 시행하도록 설계되었습니다. Adaptive Application은 시작할 때 인증되고 기존의 보호된 런타임 환경은 Adaptive Application 프로그램이 적절하게 분리되어 권한 (즉, 우회 액세스 제어)을 상승시키지 못하도록합니다.

 


Contents of the AUTOSAR specification 

 다음 표는 IAM 프레임 워크의 어느 부분이 AUTOSAR에 의해 정의되고 어떤 부분이 개발자가 구현 방식에 따라 결정되는지를 나타냅니다.

 

Description

 

Affiliated to

 

Part of

Requirement specification

for IAM

 

AUTOSAR

Specification

 

RS_IdentityAndAccessManagement

 

Behavioral description of

the IAM framework

(regarding interfaces)

 

AUTOSAR

specification

 

SWS_IdentityAndAccessManagement

 

API for communication

between AAs implementing

a PDP and the PEP in the

Adaptive Platform

 

 

AUTOSAR

Specification

 

 

 

SWS_IdentityAndAccessManagement

 

API for communication

between Functional clusters

implementing a PDP and

the PEP in the Adaptive

Platform.

 

Not specified by

AUTOSAR

 

-

Application capabilities &

Access control policies

(Manifest file information).

 

AUTOSAR

specification

 

TPS_Manifest_Specification

 

Format and contents of

warnings/error messages

that the applications receive

on failed authorization.

 

 

 

AUTOSAR

specification

 

 

Not yet decided

 

API for activity logging.

 

 

AUTOSAR

Specification

 

 

Not yet decided

 

Contents of the logging

information.

 

AUTOSAR

Specification

 

 

Not yet decided

 




Architecture of the IAM Framework 

 IAM 아키텍처는 권한 부여 엔티티를 논리적으로 Adaptive Program이 액세스 할 수 있는지 (PDP)와 액세스 제어 결정 (PEP)을 적용하는 엔티티로 구분합니다. 응용 프로그램 인터페이스에 대한 제한된 액세스가 필요한 Functional Cluster는 수신된 액세스 제어 결정을 시행하는 PEP를 구현해야합니다. 이를 위해 PEP는 Adaptive 애플리케이션이 그러한 인터페이스에 대한 액세스를 요청하면 PDP와 통신합니다. 액세스 제어 결정은 요청 및 응용 프로그램의 기능에 따라 PEP로 다시 전송됩니다. 액세스 제어 결정에 필요한 정보는 정책뿐만 아니라 요청을 시작한  Adaptive Program의 응용 프로그램 매니페스트에있는 정보를 기반으로합니다. 정책은 인터페이스에 적용되는 규칙, 즉 액세스하기 위해  Adaptive Application 충족해야하는 요구 사항을 나타냅니다. 그것들은 정적으로 제공되거나 (PDP에 미리 프로그래밍 됨) PDP에 대해 동적으로 구성 / 모델링 될 수 있습니다.

 


Example Use-case  

아키텍처에 대한 하나의 사용 사례는 PDP가 별도의 Access Manager 프로세스에서 구현되는 다음 그림에서 볼 수 있습니다.


IAM Example Use-Case 


그림의 첫 번째 단계는 요청입니다. Adaptive Program은 기능 클러스터 (FC)와 통신하고 FC가 Access Manager 내부의 PDP에서 권한 부여를 필요로하는 특정 작업을 요청합니다. FC는 내부 PEP를 호출하며, 여기서 PEP에 대한 요청이 트리거되어 응용 프로그램이 요청된 작업을 트리거 할 권한이 있는지 확인합니다. 이러한 요청을 수신하면, PDP는 관련 데이터베이스에서 원하는 요청에 대한 정보가 들어있는 매니페스트 파일을 확인합니다. 그런 다음 요청 된 조치를 트리거하는 데 필요한 기능을 응용 프로그램이 보유하고 결과를 PEP에 전달합니다. 마지막으로, PEP는 PDP로부터받은 결정을 시행하고 원하는 요청을 허용하거나 금지합니다.

 

AUTOSAR는 PDP와 PEP가 구현되어야하는 곳을 명시하지 않고, Adaptive Platform 기반 인터페이스와 서비스에 대한 정책 집행은 Adaptive Application 프로그램 내에서 발생하지 않아야한다는 유일한 제한이 있습니다. 이것은 PEP가 Adaptive 플랫폼에서 구현되고 호출 Adaptive Application Program과 적절하게 격리된다는 것을 의미합니다.

 

Adaptive Application 프로그램이 PDP를 구현하는 시나리오가 가능하며 SWS_IdentityAndAccessManagement에 지정됩니다. 이 시나리오와 관련된 유스 케이스에 대한 추가 정보는 AP18-10에 제공됩니다.

 

 

Implementation and Usage of IAM 

다음 목록은 FC 구현 자 및 시스템 디자이너가 IAM을 사용하는 데 필요한 단계를 나타냅니다.


Preparation steps (at design time): 

. Application Program은 기능 (특정 리소스에 액세스 할 수있는 속성)과 특정 서비스 인터페이스 만 볼 수 있도록 설계 / 구성됩니다. 배포된 응용 프로그램에 암호로 서명하여 신뢰성 확인 가능합니다.

. 기능이 포함 된 Application Program 매니페스트와 함께 Application Program이 배포됩니다.

. Application Program 매니페스트 파일에는 Application Program ID, 인스턴스화 될 Application Program 인스턴스 수 및 Application Program 인스턴스 ID

Functional Cluster는 PEP (Policy Enforcement Point)라고 하는 시행 논리를 구현합니다.

Functional Cluster는 제공된 서비스 인터페이스에 액세스하는 데 필요한 기능을 설명하는 정책과 함께 배포됩니다.


Usage instructions (at run time):  

. Application Platform을 시작할 때; EMO는 응용 프로그램 (인스턴스) ID와 프로세스 ID 사이에 찾아보기 표를 제공합니다

. Adaptive Application 프로그램이 액세스 제어가 구성된 서비스에 대한 액세스를 요청하면 해당 기능을 참조 할 수 있도록 인증되어야합니다

. PEP는 PDP를 구현하는 프로세스에 요청을 쿼리합니다 (동일한 프로세스 일 수 있음)

. 그런 다음 PDP는 Adaptive 프로그램 ID와 해당 기능에 대한 쿼리를 확인하고 이를 Functional Cluster의 저장된 정책과 비교합니다

. PDP는 액세스 제어 결정 (예 / 아니오)을 전송함으로써 PEP에 응답한다.

. PEP는 액세스 제어 결정 자체를 시행합니다 (결정을 기반으로 액세스 권한 부여)


언급 된 단계를 요약하면 다음 사항을 최소한 고려해야 합니다.


Functional Cluster 개발자는 다음을 수행해야 합니다:

. 서비스 매니페스트에 포함될 규칙을 제공

. 특정 서비스에 액세스하기 위해 필요한 기능 (단일 기능 또는 여러 기능 조합)

. PDP를 구현하는 프로세스를 쿼리하는 로직 구현

. 수신 된 액세스 제어 결정을 시행하는 논리를 구현


응용 프로그램 개발자는 다음을 수행해야 합니다.

. 서비스에 액세스 할 수 있는 기능 구성

반응형