2013-05-02 3 views
0

큰 회사를 제외하고 대부분의 개발자가 자체 서명 인증서를 사용하여 APK에 서명한다는 사실을 알고 있습니다. 앱 설치에 필요하기 때문에 누구나 앱에 서명 할 수 있습니다. Java SDK의 keytool과 jarsigner를 사용하는 것이 매우 간단합니다. 그러나 이러한 자체 서명 된 인증서와 관련 개인 키는 사용자가 실제로 신뢰하는 사람과 어떻게 든 인증서를 일치시킬 수 없으면 어떤 수준의 보안을 보장하지 않습니다. 이러한 자체 서명 된 인증서 (CRL 없음)를 폐기 할 수있는 능력이 없으며 (인증서가 거의 항상 자체 서명되므로) 인증서/키 보유자의 신원을 위해 어떤 방식 으로든 "보증"하는 "발급자"가 없습니다 코드에 서명합니다.앱 서명 신뢰하기

Andriod 플랫폼에는 앱 설치를 방지 할 수있는 기능이 있습니까? 아니면 특정 사인으로 서명 된 앱을 설치하지 못하게 할 계획입니까? 또는 신뢰할 수있는 CA 목록 (인증서 발급 기관/발급 기관)에서 발급 한 인증서/키로 서명 된 응용 프로그램 만 설치할 수 있도록 설정하려면 어떻게해야합니까? 그러나 사용할 수있는 보안 기능이 있습니다. 설정/보안에서 기본 설정 인 Play 스토어에서 제공하지 않는 한 아무 것도 설치하지 못하게 할 수 있습니다 (SIM에 서명하고 수동으로 복사 한 경우에도). 또한 사용자 인증서를 설치하고 해당 인증서로 서명 된 앱을 설치하도록 허용 할 수 있습니다 (Play 스토어에서도 마찬가지입니다).

답변

0

이 인증서의 목적은 CA가 서명 한 일반 인증서로 신원을 보장하는 것이라고 생각하지 않습니다. 처음에는 앱을 처음 게시 한 사람이 업데이트를 게시 할 수 있도록 보안 요소를 추가하는 것만으로도 인증서의 목적을 알 수 있습니다.

Google 계정을 해킹하는 사람이 없으면 전체 사용자 기반에 대한 악의적 인 업데이트를 게시 할 수 있습니다.

그래서 기본적으로 게시를위한 두 요소 인증이라고 말할 수 있습니다.

+0

동의합니다. 앱의 첫 번째 버전 작성자를 신뢰할 수 있다면 괜찮습니다. "긴 해킹"전략을 생각해보십시오. 귀하의 애플 리케이션과 신뢰 모델의 일종을 구축 .... 사람들이 그들을 다운로드 ... 좋은 애플 리케이션. 그 다음 후속 업데이트에서 1 년 또는 2 년 후에 ... BAM,이 사람은 좋은 사람이 아니 었습니다. 따라서 사용자 또는 앱을 보호하기 위해 서명 된 앱과 플랫폼에 무언가를 설치하는 첫 번째 시간을 묻는 것이 중요합니다. – user2339741

+0

그래, 문제가 생겼지 만 어떻게해야합니까? CA를 가진 사람의 신원을 확인하는 것만으로도 충분합니까? 물론 첫 번째 "해킹"을 수행 한 후 사람을 차단할 수 있습니다. 이것이 완료되지 않은 이유는 두 가지라고 생각합니다. 1. 출판사를 평가하는 작업이 필요하고 비용이 들게됩니다. 2. 평가를 통해 게시하기가 더 힘들어지고 더 효과적 일뿐만 아니라 개발자에게 안드로이드를 덜 매력적인 플랫폼으로 만듭니다. 그러나 게시자를 어떻게 든 평가하는 것이 좋습니다. –

+0

신뢰할 수있는 루트 CA에서 코드 서명 인증서를 얻는 것은 쉽지 않으며 비용이 들지 않습니다. CA가 발급 한 인증서에 서명되지 않은 Win32 코드는 위험을 감수하면서 경고 메시지를 표시합니다. Play 스토어를 통해 Google에 게시 된 앱의 바이러스 백신 감지에 대한 부지런함과 다운로더에 문제를 일으키는 인증서로 서명 된 앱을 거부하는 프로세스를 포함하여 PKI의 CRL 인프라보다 약한 몇 가지 합리적인 보안 인프라가 있다는 것을 알고 있습니다. 편의성 Andriod 앱 배포에 대한 동인은 동의하며 Google은 너무 많은 경고 대화 상자로 사용자를 놀라게하고 싶지 않습니다. – user2339741