curl -kオプションが気にかかって気にかかって..ね

Pocket

curl -kオプションが気にかかって気にかかって..

curlコマンド windouws10 失効の関数は証明書の失効を確認できませんでしたで使った-kオプションってなんだ。

-kオプションの機能
サーバー側証明書やクライアント側ルート証明書が不正などの場合でもSSL通信のエラーを無視して処理を継続する。
コマンドhelpでは、 -k, –insecure Allow insecure server connections when using SSL(SSLを使用する場合、安全でないサーバー接続を許可する)

-kオプションは通信のどの部分のエラーを無視する?

SSL通信はクライアント-サーバー間の通信を暗号化して情報が洩れるのを防ぐ通信方法だとのいう超軽い認識しかなかったので、-kオプションの意味がよくわからなかったらしい。

そこで、SSL通信をわかることから始めてみた。

SSL通信は、ウェブサイトの実在性を確認+通信データの暗号化の機能があるらしい。

ネットで分かりやすそうな図を探すと下記の図を見つけたので参考にしたよ。

出典:侍エンジニア塾ブログ(Samurai Blog)(https://www.sejuku.net/blog/86774

他のサイトでは、以下のように書いてあったぞ。

接続要求
クライアント側からSSL通信のリクエストをサーバ側へ送信。
SSLサーバ証明書と公開鍵をクライアント側へ送付
サーバ側から、公開鍵付きのSSLサーバ証明書がクライアント側に送付。
クライアント側のブラウザに搭載されているルート証明書で署名を確認し、SSLサーバ証明書を検証。
※「信頼のある認証局」のルート証明書は、あらかじめ主要PCブラウザや携帯端末に搭載されているので、ユーザ側で新たにインストールする必要がありません。
共通鍵(セッションキー)を暗号化しサーバ側へ送付
クライアント側で生成された暗号用の「共通鍵(セッションキー)」を、サーバ側から送られてきた公開鍵を用いて暗号化し、サーバ側へ送信。
サーバ側に送信された共通鍵は、サーバ側で保持している秘密鍵で復号化され、共通鍵が取り出される。
SSL暗号化通信開始
個人情報などの機密性の高いデータを、クライアント側で保持している共通鍵で暗号化しサーバ側へ送信。
サーバ側は、受け取った暗号データをサーバ側で保持している共通鍵で復号してデータを取得する。
※共通鍵は、サーバとクライアントが使用するブラウザの双方が対応する、最も強度の高い暗号方式・鍵長が使用されます。

引用:SSL暗号化通信の仕組み|GMOグローバルサイン【公式】(https://jp.globalsign.com/ssl-pki-info/ssl_practices/ssl_encryption.html

何となく-kオプションの意味が分かってきたような?

-kオプションのサーバー側証明書やクライアント側ルート証明書が不正などの場合でもSSL通信のエラーを無視って最初のサーバー認証手順に失敗してもエラーにしないということらしいよね。

分かったかなと思った矢先に新たな疑問が...

サーバー側証明書は自分で登録するんだろうけど、クライアントが検証のために使うクライアント側ルート証明書っていつインストールされるんだろう?。

調べてみると、こんな記述があったよん。

クライアントに登録されるルート証明書について

クライアントルート証明書はいつ登録されていつ更新する?

登録は、
ブラウザベンダーやキャリア、家電・組み込み機器メーカなどが、ルート証明書を組込むらしい。

更新は、
PC ブラウザなどでは出荷時に組み込まれた認証局(ルート証明書)に対して、定期的にオンラインでメンテナンス(更新)。
携帯電話や家電・組み込み機器における認証局(ルート証明書)は、更新タイミングがなく出荷時に組み込まれた認証局(ルート証明書)のみが、ルート認証局として登録されたままになるらしい。

引用:いまさら聞けない、SSLサーバ証明書とルート証明書の関係White Paper
https://www.digicert.co.jp/welcome/pdf/wp_sslandroot-certificate.pdf

チョットだけスッキリしたぞオイ。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする