공식 홈페이지 : 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
- ...
- cynara
- security-manager
- D-Bus aware of cynara
- Implementing Smack LSM
- Implementing Integrity Measurement Architecture
- Implementing Tizen Security Framework
- afm-system-daemon
- afm-user-daemon
아래 그림은 프레임워크의 주요 구성요소와 시나리오의 상호 작용을 보여준다.
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
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 |