공식 홈페이지 : http://docs.automotivelinux.org/docs/apis_services/en/dev/reference/af-main/0-introduction.html


소개

 - Tizen 의 보안모델을 AGL (Automotive Grade Linux) 배포판에 통합을 수행하였다.  필요사항은 아래와 같다.

  • platform/appfw/app-installers
  • platform/core/security/cert-svc
  • platform/core/appfw/ail
  • platform/core/appfw/aul-1
  • platform/core/appfw/libslp-db-util
  • platform/core/appfw/pkgmgr-info
  • platform/core/appfw/slp-pkgmgr

 많은 의존성들이 감춰줘 있기 때문에 목록이 정확하지 않다. 

  • iniparser
  • bundle
  • dlog,
  • libtzplatform-config
  • db-util
  • vconf-buxton
  • ...

Tizen 의 보안프레임 워크의 핵심구성요소는 의존성이 가볍다는것을 보여주었다.
해당 구성요소는 다음과 같다.
  • cynara
  • security-manager
  • D-Bus aware of cynara
다행이도 Tizen 의 보안 컴포넌트는 meta-intel-iot-security 를 통해 제공된다. 아래와 같은 3 레이어를 제공한다.

  • Implementing Smack LSM
  • Implementing Integrity Measurement Architecture
  • Implementing Tizen Security Framework

위 구성은 AGL에서  두개의 컴포넌트로 분리하였다.

  • afm-system-daemon
  • afm-user-daemon
 두개의 컴포넌트는 다중사용자 보안 환경에서 응용프로그램을 설치, 제거, 실행, 종료, 정지,재시작 하기위한 기능을 제공한다.
 세번쨰 구성요소는 프레임워크, 바인더 afb-daemon 에 있다. 바인더는 모든계층의 보안 API 를 쉽운방법으로 제공한다. 

이문서는 Tizen Application Framework 를 변경하여 IoT.bzh 에서 만든 프레임워크에 대해 설명한다.


아래 그림은 프레임워크의 주요 구성요소와 시나리오의 상호 작용을 보여준다.



1. Application 은 바인더를 호출하여 다른 응용프로그램을 설치한다.

2. 바인더의 바인딩 afm-main-binding 은 D-Bus 시스템을 통해 , 다른 응용프로그램을 설치하는 시스템 데몬을 호출한다.

3. 시스템 D-Bus 는 CYNARA 에게 응용프로그램을 설치할 권한이 있는지 여부를 확인한다.

4. 시스템 D-Bus 는 요청을 afm-system-daemon 으로 전송한다.

   afm-system-daemon 은 서명과 권한을 확인하고 응용프로그램을 설치한다.

5.  afm-system-daemon 은 설치된 응용프로그램의 보안컨텍스트를 충족시키기 위해 Security-Manager 를 호출한다.

6. Security-Manager 는 CYNARA 에게 응용프로그램의 초기 사용권한을 설치하도록 요청한다.

7. 어플리케이션은 바인더를 호출하여 설치된 응용프로그램을 시작하도록 한다.

8. 바인더의 바인딩 afm-main-binding 은 D-Bus 세션을 통해 다른응용프로그램 을 시작하는 사용자 데몬을 호출한다.

9. 세션 D-Bus 는 CYNARA 에게 어플리케이션을 시작할 수 있는 권한지 있는지 확인한다.

10. 세션 D-Bus 는 afm-user-daemon 에게 전송하도록 요청한다. 

11. afm-user-daemon 은 CYNARA 에게를  다른어플리케이션을 시작하도록 허가했는지 여부를 확인한다.

12. afm-user-daemon 은 Security-manager 기능을 사용하여 다른 응용프로그램의 보안 컨텍스트를 설정한다.

13. afm-user-daemon 은 다른 응용프로그램을 시작한다.


구성요소들은 다음과 같다.



단어 


isolated : 단하나의, 고립된




  • Security-Manager : Smack 컨텍스트 및 규칙 설정, 그룹 설정, 응용프로그램에 대한 CYNARA 규칙 초기내용 작성
  • CYNARA : 사용자 및 어플리케이션별로 API 접근 권한을 관리한다.
  • D-Bus : 메시지 보안 검사담당, 일반적인 보안규칙은 CYNARA 규칙에 따른다.
  • afm-system-daemon :  응용프로그램 설치, 및 제거를 담당한다.
  • afm-user-daemon : 응용프로그램 목록, 세부사항조회, 시작, 정지 ,중지, 다시시작을 담당한다.
  • afb-binder : HTTP 인터페이스를 통해 자원 및 기능을 제공하는 역할을 담당한다.
  • afm-main-binding : 응용프로그램이 AGL 프레임워크 API 를 사용할 수 있도록 한다. 


Links between the "Security framework" and the "Application"


보안 프레임워크는 보안 모델을 사용하기 위한 보안 모델과 해당 모델을 구현하기위해 제공되는 도구를 나타낸다.

 보안모델은 DAC( Discretionary Access Control) , MAC (Mandatory Access Control) , 기능 보안 및 개인정보를 위해 시스템에서 사용되는 방법을 나타낸다.

또한 감시 기능을 사용하여 보고하고 로그 및 경고를 관리하는 기능을 포함한다.


기능 : 설치/ 제거/ 시작/ 정지/ 목록


응용프로그램의 보안과 개인정보를 보장한다.

응용프로그램 프레임워크는 기본보안 모델/프레임워크와 호환되어야 한다. 그러나 응용프로그램에 숨겨야 한다.




The security framework


 구현된 보안모델은 Tizen3 이다.  Tizen3 에서 가져왔지만 meta-intel 을 통해서 제공된다.

항목은 아래와 같다.

  • Security-Manager
  • Cynara
  • Cynara 를 준수하는 D-Bus
두개의 패치가 보안관리자에 적용된다. 이 패치의 목적은 AGL 에 필요하지 않은 Tizen 패키지의 특정 종속성을 제거하기 위함이다. 이 패치들은 동작을 추가하거나 제거하지 않는다.
Tizen 의 보안프레임워킄는 로그파일을 검사하고 감시를 분석하는 훌륭한 기능을 제공하지만, 이 구성요소는 아직 개발중이다. 




The Application Framework


보안 프레임 워크 위에 있는 응용프로그램 프레임 워크는 응용프로그램을 설치, 제거하고 보안환경에서 실행하기 위한 구송요소를 제공한다.

목표는 응용프로그램을 관리하고 보안프레임워크의 세부정보를 응용프로그램에 숨기는 것이다.


응용프로그램은 위젯(웹 응용프로그램)의 사양과 일치해야하는 디지털 서명 컨테이너에 배포된다. 이것은 W3 컨소시엄의 기술 권장 widgets과 widgets-digsig에 의해 설명된다.





'Yocto > AGL' 카테고리의 다른 글

[AGL] config.xml 설정파일  (1) 2018.10.16
[AGL]smack  (0) 2018.10.10
[AGL] 링크 통합  (0) 2018.10.10
[AGL] security-manager  (0) 2018.10.10
[AGL] app-framework-binder  (0) 2018.10.10

+ Recent posts