양방향 SSL 인증은 제공된 디지털 인증서를 검증하여 두 당사자가 서로 인증하는 인증서 기반 상호 인증 프로토콜을 말하며 두 당사자는 상대방의 신원을 확인할 수 있습니다. 클라이언트(웹 브라우저 또는 클라이언트 응용 프로그램)를 서버(웹 사이트 또는 서버 응용 프로그램)에 대해 자신을 인증하고 서버도 신뢰할 수 있는 인증 기관(CA)에서 발급한 공개키 인증서/디지털 인증서를 확인하여 클라이언트에 대해 자신을 인증하는 것을 말합니다.
Kore.ai 구현
Kore.ai 봇 플랫폼은 클라우드 제품에서 기본적으로 이를 제공합니다. 사용하는 서비스에 양방향 SSL이 필요한 경우 플랫폼에서 인증서를 제공합니다.
온 프레미스 사용자인 경우
봇 플랫폼 설치 중에 설치 안내서에 나오는 지침에 따라 SSL 인증서를 설정합니다.
필수 조건
양방향 SSL(상호 인증) 연결을 설정하려면 다음이 필요합니다.
-
- 개인키
- 클라이언트 인증서
- 인증서 기관 루트 인증서
- 인증서 기관 중개 인증서.
클라이언트는 신뢰된 인증 기관(CA)에서 인증서를 얻을 수 있습니다.
작업
봇 플랫폼이 상호 인증(또는 양방향 SSL)이 필요한 API 호출을 위해 (서비스 노드에서) 백엔드 서비스를 호출할 때마다 SSL 핸드셰이크를 위해 설정된 인증서를 API 엔드포인트에 제공합니다. 인증서가 유효하지 않거나 API 서비스가 신뢰하지 않은 경우 봇은 해당 호출을 수행할 수 없습니다. 봇 플랫폼과 API 서버 간의 SSL 핸드셰이크에서 인증 메시지 교환에는 다음 단계가 포함됩니다.
- 봇 플랫폼은 설정된 API 엔드포인트에 요청합니다.
- API 서버는 봇 플랫폼에 인증서를 제공합니다.
- 봇 플랫폼은 서버의 인증서를 검증합니다.
- 검증이 성공한 경우 봇 플랫폼은 설정된 양방향 SSL 인증서를 API 서버로 전송합니다.
- API 서버는 제공된 인증서 자격 증명을 검증합니다.
검증이 성공한 경우 서버는 봇 플랫폼에 API 액세스 권한을 부여합니다. 이 프로세스는 봇의 서비스 노드(서비스 노드에 대해 자세히 알아보세요)에 적용할 수 있습니다.
双方向SSL認証は、証明書をベースにした相互認証プロトコルで、双方の当事者が提供されたデジタル証明書を検証し合って、お互いに相手の身元を確認することです。それは、クライアント(Webブラウザやクライアントアプリケーション)がサーバー(Webサイトやサーバーアプリケーション)に対して自己認証を行い、さらに、サーバーも信頼できる認証局(CA)が発行したパブリックキー証明書/電子証明書を検証することにより、クライアントに対して自己認証を行うことを意味します。
Kore.aiの実装
Kore.ai Botsプラットフォームは、クラウドサービスにおいてこのサポートをデフォルトで提供しています。利用するサービスが双方向SSLを必要とする場合は、プラットフォームが証明書を提供します。
オンプレミスのユーザーについて
ボットプラットフォームをインストールするときは、インストールガイドに指定された手順に従ってSSL証明書を設定します。
必要条件
双方向のSSL(相互認証)接続を確立するためには、以下が必要となります。
-
- プライベートキー
- クライアント証明書
- 認証局ルート証明書
- 認証局中間証明書。
クライアントは、信頼できる任意の認証局(CA)から証明書を取得することができます。
作業
ボットプラットフォームが相互認証(または双方向SSL)を必要とするAPI呼び出し(サービスノードから)のためにバックエンドサービスを呼び出すときは常に、ボットプラットフォームは、設定済み証明書をAPIエンドポイントに提示し、SSLハンドシェイクを行います。証明書が有効でない場合や、APIサービスから信頼されていない場合、ボットはその呼び出しを行うことができません。ボットプラットフォームとAPIサーバーとの間のSSLハンドシェイクにおける認証メッセージのやり取りは、以下の手順で行われます。
- ボットプラットフォームは、設定済みAPIエンドポイントにリクエストを行います。
- APIサーバーは、その証明書をボットプラットフォームに提示します。
- ボットプラットフォームは、サーバーの証明書を検証します。
- 成功した場合、ボットプラットフォームは、設定済み双方向SSL証明書をAPIサーバーに送信します。
- APIサーバーは、提示された資格情報証明書を検証します。
成功した場合、サーバーはボットプラットフォームにAPIアクセスを許可します。このプロセスは、ボット内のサービスノード(サービスノードについての詳細はこちら)に適用されます。
Two-way SSL authentication is a certificate-based mutual authentication protocol that refers to two parties authenticating each other by verifying the provided digital certificate so that both parties are assured of the others’ identity.
It refers to a client (web browser or client application) authenticating themselves to a server (website or server application) and the server also authenticating itself to the client through verifying the public key certificate/digital certificate issued by the trusted Certificate Authorities (CAs).
Kore.ai Implementation
Kore.ai Bots platform offers this support by default in their cloud offering. In case, the services you use need a two-way SSL, the platform provides the certificate.
For On-premises Users
During the bots platform installation, configure the SSL certificate following the instructions given in the Installation Guide.
Prerequisites
To establish a Two-Way SSL (Mutual Authentication) connection, you must have the following:
-
- Private Key
- Client Certificate
- Certificate Authority Root Certificate
- Certificate Authority Intermediate Certificates.
The client can acquire a certificate from any of the trusted Certificate Authority (CA).
Working
Whenever the bots platform makes a call to backend services for API invocation (from Service node) that requires mutual authentication (or two way SSL), the bots platform presents the configured certificate to the API endpoint for SSL handshake. If the certificate is not valid or not trusted by the API service, the bot cannot make that call.
The authentication message exchange during SSL handshake between bots platform and API server includes the following steps:
- The bots platform makes a request to a configured API endpoint.
- The API server presents its certificate to the bots platform.
- The bots platform verifies the server’s certificate.
- If successful, the bots platform sends its configured two-way SSL certificate to the API server.
- The API server verifies the presented certificate credentials.
If successful, the server grants API access to the bots platform.
This process is applicable for service nodes (know more about service node) in a bot.