iPhone 응용 프로그램에서 고객의 서버로 HTTPS 양방향 SSL 연결을 설정해야합니다. 그러나 클라이언트 측 인증서를 응용 프로그램에 전달하는 보안 방법이 없습니다 (전자 은행 응용 프로그램이므로 보안은 실제로 문제입니다). 지금까지 애플리케이션에서 인증서에 액세스 할 수있는 유일한 방법은 응용 프로그램 자체에 사전 번들로 제공하거나 가져올 수있는 URL을 노출하는 것입니다 (IPhone app with SSL client certs).iphone : 응용 프로그램에서 양방향 SSL을 설정하는 안전한 방법이 있습니까?
두 가지 방법으로 어느 제 3 자에게 인증서를받지 못하게하는 것이 위험한 것으로 받아 들여지면 양방향 SSL이 필요하지 않습니다 (누구나 클라이언트 인증서를 가질 수 있기 때문에).
전체 보안 프로토콜은 다음과 같아야합니다
- HTTPS 양방향 SSL을 응용 프로그램을
인증하는 - OTP (토큰) 기반의 사용자 등록 (이 단계에서 생성 된 클라이언트 측 키 쌍을)
- SOAP/WSS XML 서명 (이전에 생성 된 키로 서명 한 요청)
첫 번째 보안 계층 (HTTPS)을 설정하는 방법에 대한 아이디어가 있습니까?
2 요소 인증 또는 양방향 SSL을 수행해야합니까? 두 가지가 있습니다. 양방향 SSL은 이론적으로는 좋지만 양면에 인증서 저장소를 설정하고 인증서를 교환해야하는 혼란이 있습니다. –
귀하의 앱이 고객에게 실제로 유용하다면, 인증서는 어느 시점에서 만료됩니다. 초기 설정이이 문제의 끝이라고 생각하지 마십시오. 앱에 CSR 생성 기능을 추가하고 IT 담당자가 이러한 기능을 제공하도록해야 할 수도 있습니다 (사용자의 목적에 따라 응답을하기 전에 앱 UI에서 CSR 및 원본 인증서를 확인해야합니다). – Jason
2way SSL이라고 생각합니다. 내가 필요한 것은 클라이언트가 실제로 내 응용 프로그램임을 (인증서를 통해) 확인하여 서버에 HTTPS 연결을 설정하는 것입니다. 우리가 계획하는 것은 모든 사용자에 대해 하나의 인증서를 갖는 것이므로 더 높은 수준에서 http를 수행하기 때문에 사용자 관리 당 인증서가 필요 없습니다. 현재 우리는 암호화 된 인증서를 애플리케이션과 번들링하고 해독 키를 바이트 코드의 어딘가에 가지고 있다고 생각하고 있습니다. 이것은 최상위 보안이 아니지만이 계층에 충분해야합니다. 해독 키를 더 잘 보호하는 방법에 대한 아이디어가 있습니까? – pmilosev