2014-06-07 4 views
0

저는 자체 CA를 만들었으며 인증서를 사용하여 SSLSockets를 사용하는 서버와 통신하려고합니다. 현재 사용하고있는 트러스트 스토어로 할 수는 있지만 더 제한적이어서 내 서버는 내 CA가 서명 한 인증서를 소유해야하는 클라이언트의 연결 만 허용합니다. 내 CA가 서명 한 인증서에 액세스가 부여됨). 이 배후의 목표는 서버의 트러스트 스토어에서 일부 인증서를 제거하여 인증서를 해지 할 수있게하는 것입니다.특정 인증서 만 받아들입니다.

내 CA에서 서명 한 인증서가있는 두 개의 장치 A와 B가 있다고 가정 해보십시오. B가 아니라 A에 대한 액세스 권한 만 부여하려고합니다. 서버의 truststore A 인증서에만있는 경우 두 클라이언트 모두에 대해 BadCertificate 예외가 발생합니다. CA의 pem 파일을 추가하는 순간 A 또는 B의 인증서가 명시 적으로 트러스트 스토어에 추가되었는지 여부에 관계없이 A와 B 모두 액세스 권한이 부여됩니다.

이 접근 방식에 대한 아이디어 나 대안이 있습니까? 감사.

답변

2

PKI 인프라의 해지 부분 (예 : 자신의 CA가있는 경우 얻을 수있는 권한)은 일반적으로 CRL (인증서 해지 목록) 또는 OCSP (온라인 인증서 상태 프로토콜)로 처리됩니다.

소수의 클라이언트 만있는 작은 PKI에 너무 많은 노력을 기울이는 경우 승인 (흰색 목록) 또는 해지 된 인증서 (블랙리스트)의 지문을 하드 코드하여 각 연결을 확인할 수도 있습니다 if 가져온 인증서가 지문과 일치합니다. 물론 각 취소 (블랙리스트) 또는 새 인증서 (화이트리스트)를 발행 할 때마다 응용 프로그램을 업데이트해야합니다. 따라서이 인증서는 잘 확장되지 않습니다. 그러나 각 클라이언트에 배포해야하는 CRL에도 동일한 문제가 발생합니다.

클라이언트가 연결에서 해지 상태를 검색하려고하기 때문에 OCSP의 크기가 훨씬 더 커지지 만 OCSP 응답자를 설정해야합니다.

관련 문제