[안드로이드] 보안을 위한 퍼미션(Permission)

반응형



이어지는 글
보안을 위한 퍼미션              ◀ 현재 위치
퍼미션 사용하기
퍼미션을 선언하고 강제하기
manifest 에 퍼미션 강제하기
임의의 퍼미션과 URI 퍼미션




< 안드로이드는 보안도 중요합니다 >


읽기전에 손가락 한번 클릭~ >_<

고마워요 ~ Chu ~ ♥



보안과 퍼미션

우선 안드로이드에 왜 보안이 필요한지 알아야 되겠죠?

안드로이드는 각각의 어플리케이션과 시스템 영역들이, 자신의 고유한 프로세스 상에서 실행되는 멀티프로세스 시스템 입니다.

어플리케이션과 시스템과의 보안은 할당된 유저 나 그룹 ID 같은 리눅스 표준 설정을 통해 프로세스 레벨에서 강제되고 있습니다.

섬세한 추가적인 보안 기능은 퍼미션 매커니즘을 사용하여 제공해주지요 퍼미션은 특정 프로세스가 수행할 수 있는 특정 작업에 제약을 건다는 뜻입니다. 그리고 데이터의 특정 영역에 대한 임시적 접근을 부여하는 URI 별로 부여할 수 있는 퍼미션도 있구요.

안드로이드 보안의 핵심은, 디폴트로는 어떤 어플리케이션도 다른 어플리케이션과 운영체제, 그리고 사용자에게 나쁜 영향을 미칠 수 있는 작업을 할 수 있는 퍼미션을 가지고 있지 않다는 것입니다.

어플리케이션의 프로세스는 보안통(sandbox) 라고 생각하세요.
기본적인 통에 의해 제공되지 않는 추가 기능들을 위해 필요한 퍼미션을 명시적으로 선언하지 않고서는, 다른 어플리케이션에 영향을 줄 수 없음을 뜻합니다.

어플리케이션이 요구하는 퍼미션들은 , 다양한 방법으로 운영체제 자체에서 제어될 수도 있고, 전형적으로는 인증서를 기반으로 자동으로 허용되거나 차단되기도 합니다.

또 사용자에게 확인을 요청하는것에 의해 제어되어야 하죠.
하나의 어플리케이션에 의해 요청된 퍼미션은 그 어플리케이션 내에 static 으로 선언되어 집니다.

이것이 무엇을 말하느냐고요?
바로 그 퍼미션은 그 어플리케이션의 설치전에 알 수 있으며, 그 후에는 변경할 수 없다는걸 뜻하죠.ㅎ



어플리케이션 사인하기 ( Application Signing )

모든 안드로이드 어플리케이션(.apk 확장자) 은 개발자가 보유한 개인키 인증서로 서명이 되어야 합니다.

이 인증서는 어플리케이션의 작성자를 식별할 수 있습니다.

여기에서 인증서란, 공식 인증기관에 의한 서명은 아니고, 안드로이드 어플리케이션에서 자체적으로 서명된 인증서를 사용하는 것입니다. 일반적인 경우가 여기에 해당되며, 완벽하게 호환됩니다.

인증서는 어플리케이션 간의 신뢰를 쌓기위해 사용될 뿐이며, 어플리케이션이 설치될 수 있는가에 대한 판매 통제를 위한것은 절대로 아닙니다!

서명이 보안에 미치는 가장 중요한 사항은 서명 기반의 퍼미션에 누가 접근이 가능하며, 누가 사용자 ID를 공유할 수 있는지 결정하는 것입니다.

그 이상도 이하도 아니죠 ^^





끝~~









관련글
[안드로이드] 어플리케이션 구조
[안드로이드] 안드로이드 매니페스트 파일





반응형

댓글

Designed by JB FACTORY