セキュリティトランスポートレイヤープロトコル(TLS)は、2つの通信アプリケーション間で機密性とデータの整合性を提供するために使用されます。OceanBaseデータベースは、既存のTCP通信にSSL/TLSプロトコルを拡張サポートし、通信の暗号化問題を解決します。暗号化通信を使用することで、データベース内の機密情報の漏洩リスクを低減できます。暗号化通信は、鍵を用いて情報を暗号化および復号化するプロセスであり、データのセキュリティを効果的に保護できます。具体的には、データベースの暗号化通信はSSLまたはTLSプロトコルを通じて実現できます。
OceanBaseデータベースは、製品アーキテクチャの観点から、以下の3つの基本部分に分けられます。

そのうち、2つのプロトコルが通信に使用されます:
MySQLプロトコル:ドライバ層 <=> データリンク層、データリンク層 <=> DB層間の通信は、拡張MySQLプロトコルを使用します。通信暗号化を有効にすると、暗号化は即時に反映され、すべての新しいMySQL接続は暗号化方式で通信します。
OB-RPCプロトコル:OBServer間、およびOBServerとliboblog、ob_adminなどとの間の通信は、OBServer独自のRPCプロトコルを使用します。内部ノード間の接続はすべて長時間接続であるため、暗号化を有効にしても、内部ノード間の通信は引き続き元の非暗号化方式で行われます。OceanBaseクラスタを再起動した後に、内部ノード間の通信暗号化が有効になります。
データリンク層のOBProxy、DB層のOBServer、liboblog、obadminなどのコンポーネントはすべてSSL/TLS暗号化通信をサポートしており、基盤としてOpenSSLまたはサードパーティのSSLライブラリに依存して、業務に安全な暗号化転送サービスを提供します。
OceanBaseデータベースは、各ユーザーに対して異なるSSL/TLS認証メカニズムを選択できるようにしています。これには以下が含まれます:
- SSL一方向認証:クライアントはサーバー側のCA証書を読み込む必要があります。クライアントはサーバー側証書の有効性を一方向で検証します。
- X509相互認証:サーバー側とクライアント側は、それぞれ相手方のCA証書を読み込み、双方で証書の有効性を検証します。
- 特殊な相互認証(組み合わせ可能):
- 指定暗号化アルゴリズム認証:X509相互認証に基づき、SSL暗号化アルゴリズムを制限します。
- 指定発行者認証:X509相互認証に基づき、クライアント側CA証書の発行者を制限します。
- 指定SSLサブジェクト認証:X509相互認証に基づき、クライアント側CA証書のサブジェクトを制限します。
- TLS秘密鍵なし認証:クライアントがOBserverの身元を検証する必要がない場合、CA証書を読み込む必要はありません。必要な場合は読み込む必要があります。