2014. 9. 16. 02:18

모바일 디바이스 시스템과 유저 개인적인 데이터를 효과적으로 보호하기 위하여 타이젠 보안 아키텍쳐는 권한(privileges)과 리눅스의 기본 보안 모델의 앱 사이닝 기반의 보안 아키텍쳐를 사용한다.

  • 권한(Privileges) : 보안에 민감한 API들을 사용할 경우 요청된 권한을 정의해야만 한다.
    • 안드로이드의 Menifest에서 정의되는 Permission에 대응하는 구조이다.
  • 앱 사이닝(Application signing) : 타이젠 앱은 개발자와 배포자의 시그니쳐에 의해서 서명되어야 한다.
    • 개발자 시그니쳐 (Author Signature)
    • 배포자 시그니쳐(Distributor Signature)
  • 사생활관련 API를 위한 예외처리 관리(Exception handling for privacy-sensitive APIs)

[Check API and Privilege Violations]
API와 Privilege의 위한 사항에 대해서 Project 메뉴에 "Check API Violation", "Check Privilege Violation", "Check API and Privilege Violations" 메뉴를 활용하여 개발 중에 확인 할 수 있다. 

체크 결과는 Problem 뷰에 Infos 트리에 표기된다.

  • API Violation Type
    • API 버전 경고 (API version alarm)
      • API가 특정 버전 이후부터 제공되기 시작한 경우
        ☆ 특정 버전 이후부터 제공 되었기 때문에 manifest.xml의 Basic 탭에서 "Min API version"을 조정하거나 해당 API를 사용하지 않는 것이 좋다.
    • API 호환성 경고 (Compatibility alarm)
      • API가 버전별 호환성에 문제가 있는 경우
        ☆ 버전 별로 호환이 되지 않기 때문에 문제점을 확실히 파악하고 사용해야 한다.
    • API 삭제 경고 (Deprecated API alarm)
      • API가 특정 버전 이후부터 더 이상 사용되지 않는 경우
        ☆ 하위 호환성을 고려하여 실제로 삭제되는 경우는 드물다. 따라서 컴파일이되지만 중요도가 떨어져 더 이상 사용되지 않아 앞으로 사라지게 될 API이므로 가능하면 사용하지 않는 것이 바람직하다
  • Privilege Violation Type
    • Undefined privilege alarm
      • privilege의 추가를 필요로 하는 API를 사용하였지만 menufest에 추가되지 않은 경우
        ☆ menifest파일을 오픈하여 Privileges탭에서 해당 privilege를 추가한다.
    • Unused privilege alarm
      • menufest에 privilege를 추가하였지만 추가된 privilege에 속하는 어떤 API도 사용하지 않은 경우
        ☆ 불필요한 privilege는 삭제하고 만약 나중에 privilege에 속하는 API를 사용 예정이라면 무시한다.


[개발자와 배포자 시그니쳐를 생성해보자!]

1. Preferences를 실행하자.
  - menu → Tizen  IDE Preference or ⌘ + ,

  - Tizen SDK → Security Profiles를 선택하고 Security Profiles를 추가해보자. (Add 버튼 클릭!)

  - Profile Name을 입력하자.

- Generate 버튼 클릭






Posted by 모바일헌터