バージョン 4.0.0 より、MySQL は SSL 暗号化接続をサポートしています。MySQL がどのように SSL を使用するか理解するには、SSL と X509 の基本概念が欠かせません。基本概念を理解している読者は、このセクションを読み飛ばしてください。
デフォルトでは、MySQL はクライアントとサーバ間で暗号化されていない接続を使用します。つまり、他人がすべてのトラフィックおよび送受信データを盗み見ることが可能な接続です。また、クライアントとサーバ間で転送中のデータを改ざんすることも可能です。公開ネットワークでの情報のやり取りでも安全性が求められる場合があります。そのような場合、暗号化されていない接続は適しません。
SSL とは、複数の異なる暗号化アルゴリズムを使用して、公開ネットワークで受信するデータの信頼性を保証するためのプロトコルです。データの変更、消失、および再生を検知するメカニズムがあります。SSL にはまた、X509 規格を使用する ID 認証を認識および提供するためのアルゴリズムも組み込まれています。
暗号化とは、データを読み取り不可能にする技術です。実際、今日の社会では、暗号化アルゴリズムによるさらなるセキュリティが求められています。暗号化メッセージの順番を変更したり同じデータを 2 回再生するなど、さまざまな種類の攻撃に対する耐性が必要となっています。
X509 とは、インターネット上で ID 認証を可能にする規格です。これは、電子商取引アプリケーションで最も一般的に使用されています。基本的には、``認証局'' と呼ばれる会社が電子証明書を必要とする者に割り当てるという方法を取ります。証明書は、2 つの暗号化キー(公開キーと秘密キー)がある非対称暗号化アルゴリズムを使用しています。証明書の所有者は、他者に証明書を提示して自分の ID を証明します。証明書には、所有者の公開キーが含まれています。この公開キーで暗号化されたデータはすべて、対応する秘密キーがなければ解読できません。秘密キーは証明書の所有者が保持しています。
MySQL はデフォルトでは暗号化接続を使用しません。使用すると、クライアントとサーバのプロトコルがかなり遅くなるからです。どのような機能を追加した場合でもコンピュータには負荷がかかります。データの暗号化も例外ではなく、CPU を大幅に消費して時間がかかり、MySQL の主要タスクを遅らせる原因となります。そのためデフォルトでは、MySQL は速度が優先されています。
SSL、X509、および暗号化についてさらに詳細を知るには、インターネット検索エンジンを利用して必要な情報を検索してください。
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.