상호 인증은 SSL(Secure Sockets Layer) 인증서를 교환하여 신뢰를 설정합니다.
서버에 연결하기 전에 클라이언트는 SSL 인증서를 요청합니다. 서버는 클라이언트가 자체 인증서를 보내도록 요청하여 응답합니다. 둘 다 HTTPS 연결을 시작하기 전에 인증서의 유효성을 검사하고 승인을 전송하여 응답합니다.
관리자는 인증 요청이 이행되기 전에 키 저장소를 설정하고 인증서를 생성하는 예비 작업을 수행합니다.
경고:
이 기능은 아웃바운드 https 연결에서만 상호 인증을 사용하도록 설정합니다.
키 저장소 만들기
인스턴스는 현재 개인 키, 공용 인증서 쌍 및 서명된 인증서를 포함하는 Java 키 저장소 파일 업로드를 지원합니다.
다음 단계에서는 새 Java Keytool 키 저장소 파일을 생성하고, CSR(인증서 서명 요청)을 만들고, 인증서를 가져올 수 있는 명령을 사용합니다. 도메인의 기본 인증서를 가져오기 전에 루트 또는 중간 인증서를 가져와야 합니다. 명령줄 인터페이스에 다음 명령을 입력합니다.
이제 키 저장소가 생성되었으므로 인증서 테이블에 업로드할 수 있습니다. 대상 시스템 정의 > 인증서 페이지에서 새로 만들기 를 클릭하고 다음 필드를 설정합니다.
인증서 이름을 입력합니다.
키 스토어를 활성으로 저장합니다.
유형 = Java 키 저장소를 설정하십시오.
키 스토어 암호를 제공합니다. 이 암호는 키 저장소를 만드는 데 사용된 암호입니다.
제출을 클릭하여 Java 키 저장소 항목을 작성하십시오.그림 1. 키 저장소
신뢰할 수 있는 서버 인증서 지정
HTTPS 웹 서비스 호출인 아웃바운드 SSL 연결 중에 SSL 연결 중에 서비스 제공자의 유효성을 보장하는 서비스 제공자가 제공하는 인증서를 지정할 수 있습니다. 예를 들어, 인증서로 자신을 식별하는 보안 서비스에 연결하려고 시도하는 브라우저가 있습니다.
신뢰할 수 있는 서버 인증서를 ServiceNow 업로드하면 연결 중인 서비스가 유효하고 안전한지 확인할 수 있습니다.
"Trust Store Cert" 유형의 새 인증서 항목을 만들고 DER 형식의 인증서를 첨부하거나 PEM 형식을 복사하여 PEM 인증서 필드에 붙여넣습니다.
상호 인증 요청 처리
그림 2. 인증서 교환
클라이언트가 인증을 위해 서버 인증서를 요청하면 인증서 서명 요청(CSR)이 생성됩니다.
CSR에 응답하기 위해 서버는 두 개의 고유한 암호화 키, 즉 서버에 대한 메시지를 암호화하는 데 사용되는 공개 키와 메시지를 해독하는 데 사용되는 개인 키를 생성합니다. 두 키 모두 키 저장소에 보관됩니다.
키는 서버에서 읽을 수 있도록 클라이언트 보안 메시지의 암호를 해독하는 데 사용됩니다. HTTPS가 될 모든 발신 연결은 키 저장소를 확인하여 인증을 확인하고, 공용 인증을 제공하고, 신뢰 저장소 인증서를 사용하여 상호 신뢰를 다시 확인합니다.
클라이언트와 서버 간의 보안 링크를 완료하기 위해 서버는 인증서를 해당 개인 키와 일치시킵니다. 서버만 개인 키에 액세스할 수 있기 때문에 서버는 클라이언트의 데이터를 해독할 수 있습니다.
다음은 포트 443에서 com.glide.certificates.DBKeyStoreSocketFactory 소켓 팩토리에 MYHTTPS를 등록하는 명령의 예입니다. 데이터베이스 키 저장소 팩토리는 SSL 교환 프로세스 중에 상호 인증을 위한 클라이언트 인증서를 제공하는 데 사용됩니다.