2012-12-18 2 views
-1

최근에 안드로이드 APK 서명 서버를 설계/구현/유지 관리하는 임무를 부여 받았습니다. 나는 과거에 그렇게 해본 적이 없었으며 아마 Rails (내 조직은 Rails shop 임)에서 할 것입니다.안드로이드 APK 서명 서버 설계

이 서명 서버는 기본적으로 빌드에서 제공 한 APK를 가져와 보호되고 안전한 인증서로 서명합니다. 그리고이 서명 서버는 특정 IP 주소로 제한된 경우를 제외하고는 외부에 대한 액세스를 허용해서는 안됩니다.

서명 서버를 작성해 본 경험이 없습니다. 그렇게 해본 사람이라면 누구나 자신의 경험과 설계 방법에 대한 설계 패턴을 공유하여 안전하고 보호받을 수 있습니까?

답변

1

APK에 서명하는 과정은 복잡하지 않습니다. 하나; 서버의 보안은 yoru 작업의 가장 어려운 부분입니다. 간단히 말하자면 APK에 서명 할 수 있도록 서버 또는 어딘가에 자격 증명이 있어야합니다 (이상적으로 이것은 안전합니다).

이 과정을 배울 수있는 좋은 장소입니다 : 충분하지 확실히 IP에 의해 제한 http://developer.android.com/tools/building/index.html

+0

고마워요! 나는 그것을 지역적으로 해왔지만 여기서 우리는 서명 서버를 작성해야하는 대규모 생산 공장을 가지고 있습니다. 안드로이드 참조는 우리가 로컬 스크립트를 작성하는 데 사용한 것이지만 우리는 그것을위한 서명 서버를 만들려고합니다. 디자인 제안이 있으십니까? – xbeta

+0

아직 해결 방법을 찾지 못하셨습니까? – 8bithero

2

되어, 당신이 서명 한 사람 알 수 있도록, 사용자 이름/암호 인증의 적어도 일부 양식을 사용하여 감사 로그를 유지 무엇을 언제. vanilla Ruby에서이 작업을 수행하는 경우 APK를 파일에 저장하고 jarsigner을 쉘 명령으로 호출하는 것이 가장 쉬운 방법 일 수 있습니다. JRuby를 사용하는 경우 Java API를 사용하여 실제 서명을 수행 할 수 있습니다.

웹 앱이 서명 키를 읽을 수 있어야합니다. 많은 키가있는 경우 사용자가 사용할 키를 선택하거나 그룹 등을 기준으로 키를 제공해야합니다 (게임 부서, 음악 앱 부서 등). HSM 또는 스마트 카드에 키를 저장하여 서버에서 추출 할 수 없도록 할 수도 있습니다. 누군가 해킹을하더라도 앱에 서명 할 수는 있지만 실제 키 (훼손 할 수 없음)를 훔칠 수는 없습니다.