SSL 클라이언트 인증서를 사용하여 내 서버에 대한 연결을 인증하고 보안하는 네트워크 사용 가능 안드로이드 응용 프로그램을 개발 중입니다.android SSL 클라이언트 인증서 인증과 함께 사용할 서버 인증서 및 방법
나는 두 가지 질문이있다 : (1) I는 자체 서명 된 서버 인증서 또는 상업 하나를 사용해야합니까? 그리고 (2) 사용자가 설치하는 apk 파일에 서버 인증서를 포함시켜야합니까? 아니면 서버 인증서를 네트워크를 통해 서버 인증서를 가져 오기 위해 서버에 연결해야합니까? (장치가 서버 인증서를 신뢰하도록하기 위해) 나는 내가 할 "해야"무엇을 물어 보면
, 나는 각 선택의 장점과 단점은 무엇인가 부탁 해요?
지금 당장 apk 파일에 포함 된 자체 서명 인증서를 사용하고 있습니다. 사용자가 앱을 처음 실행하면 포함 된 자체 서명 된 인증서를 신뢰 저장소로 읽어서 기기가 불만없이 서버에 연결되도록합니다. 나는 상업용 인증서를 사용하면 장치가 문제없이 서버의 인증서를 신뢰할 수 있기 때문에 내 질문 # 2가 문제가 될 수 있습니다.
더 많은 가능성이있는 관련 세부 정보 :이 응용 프로그램은 안드로이드 마켓을 통해 배포되지 않습니다. 사용자는 내 서버에서 응용 프로그램을 다운로드하므로 필요한 경우 각 사용자마다 다른 인증서를 포함하여 원하는 서버 인증서를 포함 할 수 있습니다.
나는 나의 두 가지 질문에 가능한 각 응답의 다양한 장점과 단점에 대한 내 자신의 아이디어를 가지고,하지만 난 어떤 다른 사람에 관심이 있어요 - 희망 보안이있는 마음 - 문제에 대해 말해야한다.미리 감사드립니다.
+1 나는 비슷한 문제에 직면하고 있습니다. 어떤 방향으로 나아 갔습니까? –
다음과 같은 이유로 자체 서명 된 인증서를 선택했습니다. (1) 상업용 인증서의 이점은 브라우저 인식입니다. 내 안드로이드 응용 프로그램은 내 작품이므로 원하는 루트 인증서를 포함 할 수 있으므로 상업용 인증서를 사용하면 별다른 이점이 없습니다. 반면에, (2) 상업용 인증서는 위험을 초래합니다. 이제는 보안에 대한 공격에 취약 할뿐만 아니라 인증 기관의 공격에도 취약합니다. CA가 해킹 당하거나 개인 키를 분실하거나 도메인 이름을 사용하여 서버 인증서를 발급하면 속상해합니다. 슬림 한 기회,하지만 왜 그것을 받아? 마지막으로 중요한 것은 돈입니다 (3). –