ssl/tls通信の作業~Web編~ [ソフトウェア研究室]

 こんにちは!
 ナビゲータのEVEです。

 数日間、ブログを休止させていただきました。事前に手順書を作ったにも関わらず、予想外に環境構築に手間取りました。この数日間何をしていたのか、本日から、備忘録をかねて書いていきたいと思います。

[ssl/tls申請]

 ssl/tls申請については、以前と変わっていないようでした。過去のブログを読みながら作業を進めたのですが、ほぼ想定通りだったのですが1点忘れていたことが・・・。
 XServerの場合、システムから、ssl/tlsの申請をし、同内容に基づきssl/tls証明書承認手続きをします。その案内が、自分の構築したドメインのメールアドレスに届きます。それは、多分、ドメイン管理者からの申請だということを確認したいからだと思いますが、次にくるssl/tls証明書発行完了の案内も同アドレスに来ると思い込んでいました。そのため、何回も受信完了ボタンを押しながら、完了通知を待ったのですが、一向に完了通知が来ません。という状況を書いたのが、先日のブログです。
 ただ、完了通知ですが、XServer社に登録しているメールアドレスに、承認手続き完了直後ぐらいに届いていました。案内する方法もまずいですが、一度経験しているにもかかわらず、数時間も待つなんて間抜けです。今回、ブログに残すことにより、次回は、このようなことがないようにしたいと思います。

[Web対応]

 ssl/tlsの案内が届いてから、Webのssl/tls対応をしました。また、ここでも大きな勘違いが・・・。
 IPAの試験を受験すると、ssl/tls通信を行う場合、必要な鍵は、公開鍵秘密鍵だと勉強をします。だから、今回も前回同様に、OpenSSLで公開鍵と秘密鍵、そして、CSRを作成しました。鍵長は、SSHの時と違い、2048ビットです。理由をChatGPTに聞くと、多くのユーザーが利用するWebでは負荷を考え、2022年同様に、2025年1月現在も、2048ビットの鍵長でいいそうです。
 そんな作業を経て作成した、秘密鍵、公開鍵、CSRなのですが、公開鍵は、ssl/tlsで使用しません。忘れていましたね・・・。作成した手順書に基づいて、SSL証明書の部分に、公開鍵を設定し、通信しようとするのですが、うまく通信できません。当然ですよね・・・。前回も、同じ感想を言っていましたが、忘れていました。
 そんな間抜けな作業をしながら、今回、ChatGPTと対話していて気づいたことがありました。それは、今回もRSAの暗号方式で作成した鍵で申請したのですが、DHで鍵を作成すれば良かった・・・・。

[RSAとDH]

 RSA暗号は現時点では十分な安全性を確保すると考えられていますが、将来的な安全性は保証されません。これは、誰かがRSAを使用したssl/tls通信を記録していた場合、将来において量子コンピュータによる解読のリスクがあるためです。ただし、Diffie-Hellman(DH)を利用した場合、そのリスクを軽減できます。
 少なくとも、現在のssl/tls証明書の有効期間である1年間は、個人情報やそれと同等の重要な情報を扱う予定はないため、来年ssl/tlsを更新するまでに調査し、対応を検討したいと思います。 

[あとがき] 

 Webにおいては、セキュリティ対策として、ssl/tls通信確認後以下の作業を実施しています。
・HSTS
・Secure Cookie
・Http Only
・X-FRAME-OPTIONS

以上については、ChatGPTにやり方を教えてもらい、時間をかけずに設定することができました。ChatGPTによると他にもやった方がいいことがあるのですが、それについては、時間を見つけて実施します。まずは、セキュリティで勉強したことを優先に設定しました。

 では、また!

コメント