[AGL] Application FrameWork

공식 홈페이지 : 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 으로 전송한다.

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

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

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

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 은 다른 응용프로그램을 시작한다.


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


  • 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-inte! l 을 통해서 제공된다.

항목은 아래와 같다.

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




The Application Framework


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

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


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





by CCL A from http://ggangjo.tistory.com/267

댓글

이 블로그의 인기 게시물

[CentOS] SELinux 설정 / 해제

[방송통신대 컴퓨터과학과] 2020년 1학기 전공 컴퓨터 보안 소개

인터넷진흥원, 12억 규모 클라우드 보안서비스 공모