Posted at

SSL/TLSについてまとめ2018

More than 1 year has passed since last update.


はじめに

SSL/TLSについて改めて理解を深めたい思い、関連する技術についてまとめました。

本記事はTLSに関すること主題として、HTTPS、暗号化、Apache、OpenSSL等について記載しています。

SSL/TLSの通信は色々なプロトコルや暗号化方式が組み合わされ補いあってできています。暗号化の仕組みはパズルのようで面白いです。一つ一つを読み取り理解が深まるごとで、SSL/TLSって本当によくできると思いました。フレームワークの意味について考えさられます。


HTTPSの通信

HTTPSの通信はTCP/IPプロトコルスイートとして、TCPの上層にSSL/TLSがあり、アプリケーションプロトコルのHTTPプロトコルが載って通信をしています。

コネクションとセッションは通信の概念として別になります。TCPでクライアントからWebサーバに対してコネクション(経路)が確立され、その上でセッション(ブラウザでログイン〜ログアウト)があります。

SSLTLSまとめ6.png


概要編


  • HTTPSはハイブリッド暗号方式として、共通鍵暗号と公開鍵暗号を組み合わせて通信を暗号化しています。

  • 公開鍵暗号で使用するアルゴリズム(RSA)の鍵長は、CSR作成時に指定します。

  • 実際の通信は、3ウェイ・ハンドシェイクの後にTLSハンドシェイクプロトコルのネゴシエーションが行われます。

HTTPS通信の全体概要図について以下に記載します。

SSLTLSまとめ.png


詳細編


  • SSL/TLSは「TLSハンドシェイクプロトコル」と「TLSレコードプロトコル」で構成されています。

  • 「TLSハンドシェイクプロトコル」は通信に必要な鍵 (プリマスターシークレット) を鍵共有してセッションを確立します。

  • 「TLSレコードプロトコル」はプリマスターシークレットを用いて通信の暗号化を行いデータを保護します。


TLSハンドシェイクプロトコル


第一フェーズ

TLSの通信で使用する共通鍵暗号等のアルゴリズムは、クライアントの環境に依存するため、クライアントが対応していない暗号アルゴリズムは使用できません。なお、暗号スイートは上から順に評価され最適な暗号アルゴリズムが選択されます。そのため、Webサーバ側で弱い暗号化アルゴリズムを使用させないことが重要です。

SSLTLSまとめ2.png


第二フェーズ

クライアントは、Webサーバからサーバ証明書をダウンロードしたときに二つの処理を行っています。これら二つの処理は異なります。


  • サーバ証明書の完全性をMD(メッセージダイジェスト)で検証する

  • サーバ証明書の正真性をルートCAで検証する

SSLTLSまとめ3.png


第三フェーズ

HTTPSの通信で共有する一時的な鍵をセッション鍵と呼びます。セッション鍵は一時的な鍵であるため、仮に盗まれても以降の通信に影響はありません。逆に、秘密鍵が盗まれた場合は過去の通信まで複合化される恐れがあります。

SSLTLSまとめ4.png


第四フェーズ

TLSハンドシェイクプロトコル終了後、TLSレコードプロトコルでアプリケーションデータを暗号化して通信を行います。

SSLTLSまとめ5.png


TLSレコードプロトコル

TLSレコードプロトコルでは通信中のデータが改ざんされていなことを確認するための仕組みとして、メッセージ認証コードを使用しています。まず、メッセージをフラグメントという単位で分割して圧縮を行いメッセージ認証コードを付加します。次に、圧縮したフラグメントとメッセージ認証コードを合わせて共通鍵暗号で暗号化します。


ApacheのHTTPS設定

ApacheとOpenSSLを使用した自己署名による環境構築手順について記載します。

環境:Apache + OpenSSL

(※)本記事では以下としています。

server.key:秘密鍵

server.csr:CSR

server.crt:サーバ証明書


CSR作成


  • 秘密鍵の作成

    # openssl genrsa -aes256 -out server.key 2048

Generating RSA private key, 2048 bit long modulus

..............+++
..............................+++
e is 65537 (0x10001)
Enter pass phrase for server.key:
Verifying - Enter pass phrase for server.key:

opensslコマンドのオプションのgenrsaは公開鍵暗号のRSA、2048は鍵長2048ビットを意味する。また、aes256は公開鍵暗号で使用する秘密鍵を共通鍵暗号のAESで鍵長256ビットを意味する。なお、ここで入力しているパスワードは秘密鍵に対するパスワードである。秘密鍵に対する暗号化を行うとで、apacheを再起動するときにパスフレーズが求められる。秘密鍵に暗号化したパスワードは後で解除することができる。

秘密鍵作成時のポイント



  • 秘密鍵に対する公開鍵暗号アルゴリズムの鍵長は2048ビット以上を推奨


  • 秘密鍵は安全なところで作成し、不要な鍵は削除すること

  • 秘密鍵の権限は400として所有者はrootにすること


  • CSRの作成


    # openssl req -new -key server.key -out server.csr


Enter pass phrase for server.key:

You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:JP
State or Province Name (full name) []:Tokyo
Locality Name (eg, city) [Default City]:Chuo-Ku
Organization Name (eg, company) [Default Company Ltd]:test.com
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) []:www.test.com
Email Address []:

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:


サーバ証明書作成(自己証明書)


  • サーバ証明書の作成(自己証明書)

    # openssl x509 -in server.csr -days 365000 -req -signkey server.key > server.crt

Signature ok

subject=/C=JP/ST=Tokyo/L=Chuo-Ku/O=test.com/CN=www.test.com
Getting Private key
Enter pass phrase for server.key:

自己署名後、秘密鍵(server.key)とサーバ証明書(server.crt)を所定のディレクトリに格納し、ssl.confでパスを指定して再起動するとHTTPSでアクセスできるようになる。

(※)サーバ証明書を第三者機関に発行してもらう場合は、作成したCSRを第三者機関に送信して認証後にサーバ証明書がメールなどで送られてきます。そしたら、同じように秘密鍵(server.key)とサーバ証明書(server.crt)をssl.confでのパスを指定して再起動するとHTTPSでアクセスできるようになります。


その他参考


OpenSSL


  • Opensslの入手

    OpenSSLは各ディストリビューターで用意された元々OSに内臓しているものと、本家のダウンロードサイトで提供しているソースに分類できます。また、本家のダウンロードサイトで提供しているソースのOpenSSLは、通常版とfips版の二種類があります。ファイル名にfipsが付いているのものはNISTが発行している標準規格で、軍事以外全ての政府機関及び請負業者による利用を目的として米国連邦政府が開発した公式発表の情報処理標準規格になります。


  • FIPS 140-2

    NISTのサイトより、opensslで検索すると「FIPS 140-2」で認定されていることが確認できます。なお、OpenSSLはFIPS 140-2において承認された初めてのオープンソースプログラムのようです。


SSL005.JPG


  • OpenSSLの選定

    日本国内のシステムへの導入であれば、要件がない限りfips版のOpenSSLは使われていないと思います。
    LTSリリース(OpenSSL 1.1.0)は約5年間サポートされ、非LTSリリース(OpenSSL 1.0.2)は少なくとも2年間サポートされることを考慮して、導入時のタイミングでシステムに最適なものを選定するのがベストだと思います。なお、現在のOpenSSL 1.1.0とOpenSSL 1.0.2についてはRelease Strategyのとおりに、新しい機能を除けば一般的な運用で差異はないです。


1.0.2aなどのレターリリースでは、バグやセキュリティの修正が含まれていますが、新機能は含まれていません。1.1.0対1.1.1など、最後の数字を変更するマイナーリリースでは、新しい機能が含まれている可能性がありますが、バイナリ互換性を損なうことはありません。つまり、1.1.0にコンパイルされ、動的にリンクされたアプリケーションは、共有ライブラリが1.1.1に更新されたときに再コンパイルする必要はありません。



opensslコマンド


  • 秘密鍵の内容を確認

    # openssl rsa -text -noout -in server.key

  • 秘密鍵のパスフレーズを解除

    # openssl rsa -in server.key -out server.key

  • CSRの内容を確認

    # openssl req -text -noout -in server.csr

  • 証明書の内容を確認

    # openssl x509 -text -noout -in server.crt

  • opensslで疎通確認

    # openssl s_client -connect localhost:443

  • 暗号スイートの確認

    # openssl ciphers -v

出力例

[root@localhost ~]# openssl ciphers -v

# 左から鍵交換/プロトコル/認証/暗号化/ハッシュ関数
ECDHE-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH Au=RSA Enc=AESGCM(256) Mac=AEAD
ECDHE-ECDSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH Au=ECDSA Enc=AESGCM(256) Mac=AEAD
ECDHE-RSA-AES256-SHA384 TLSv1.2 Kx=ECDH Au=RSA Enc=AES(256) Mac=SHA384
ECDHE-ECDSA-AES256-SHA384 TLSv1.2 Kx=ECDH Au=ECDSA Enc=AES(256) Mac=SHA384
ECDHE-RSA-AES256-SHA SSLv3 Kx=ECDH Au=RSA Enc=AES(256) Mac=SHA1
ECDHE-ECDSA-AES256-SHA SSLv3 Kx=ECDH Au=ECDSA Enc=AES(256) Mac=SHA1
DHE-DSS-AES256-GCM-SHA384 TLSv1.2 Kx=DH Au=DSS Enc=AESGCM(256) Mac=AEAD
DHE-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=DH Au=RSA Enc=AESGCM(256) Mac=AEAD
DHE-RSA-AES256-SHA256 TLSv1.2 Kx=DH Au=RSA Enc=AES(256) Mac=SHA256
DHE-DSS-AES256-SHA256 TLSv1.2 Kx=DH Au=DSS Enc=AES(256) Mac=SHA256
DHE-RSA-AES256-SHA SSLv3 Kx=DH Au=RSA Enc=AES(256) Mac=SHA1
DHE-DSS-AES256-SHA SSLv3 Kx=DH Au=DSS Enc=AES(256) Mac=SHA1
DHE-RSA-CAMELLIA256-SHA SSLv3 Kx=DH Au=RSA Enc=Camellia(256) Mac=SHA1
DHE-DSS-CAMELLIA256-SHA SSLv3 Kx=DH Au=DSS Enc=Camellia(256) Mac=SHA1
ECDH-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH/RSA Au=ECDH Enc=AESGCM(256) Mac=AEAD
ECDH-ECDSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH/ECDSA Au=ECDH Enc=AESGCM(256) Mac=AEAD
ECDH-RSA-AES256-SHA384 TLSv1.2 Kx=ECDH/RSA Au=ECDH Enc=AES(256) Mac=SHA384
ECDH-ECDSA-AES256-SHA384 TLSv1.2 Kx=ECDH/ECDSA Au=ECDH Enc=AES(256) Mac=SHA384
ECDH-RSA-AES256-SHA SSLv3 Kx=ECDH/RSA Au=ECDH Enc=AES(256) Mac=SHA1
ECDH-ECDSA-AES256-SHA SSLv3 Kx=ECDH/ECDSA Au=ECDH Enc=AES(256) Mac=SHA1
AES256-GCM-SHA384 TLSv1.2 Kx=RSA Au=RSA Enc=AESGCM(256) Mac=AEAD
AES256-SHA256 TLSv1.2 Kx=RSA Au=RSA Enc=AES(256) Mac=SHA256
AES256-SHA SSLv3 Kx=RSA Au=RSA Enc=AES(256) Mac=SHA1
CAMELLIA256-SHA SSLv3 Kx=RSA Au=RSA Enc=Camellia(256) Mac=SHA1
PSK-AES256-CBC-SHA SSLv3 Kx=PSK Au=PSK Enc=AES(256) Mac=SHA1
ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH Au=RSA Enc=AESGCM(128) Mac=AEAD
ECDHE-ECDSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH Au=ECDSA Enc=AESGCM(128) Mac=AEAD
ECDHE-RSA-AES128-SHA256 TLSv1.2 Kx=ECDH Au=RSA Enc=AES(128) Mac=SHA256
ECDHE-ECDSA-AES128-SHA256 TLSv1.2 Kx=ECDH Au=ECDSA Enc=AES(128) Mac=SHA256
ECDHE-RSA-AES128-SHA SSLv3 Kx=ECDH Au=RSA Enc=AES(128) Mac=SHA1
ECDHE-ECDSA-AES128-SHA SSLv3 Kx=ECDH Au=ECDSA Enc=AES(128) Mac=SHA1
DHE-DSS-AES128-GCM-SHA256 TLSv1.2 Kx=DH Au=DSS Enc=AESGCM(128) Mac=AEAD
DHE-RSA-AES128-GCM-SHA256 TLSv1.2 Kx=DH Au=RSA Enc=AESGCM(128) Mac=AEAD
DHE-RSA-AES128-SHA256 TLSv1.2 Kx=DH Au=RSA Enc=AES(128) Mac=SHA256
DHE-DSS-AES128-SHA256 TLSv1.2 Kx=DH Au=DSS Enc=AES(128) Mac=SHA256
DHE-RSA-AES128-SHA SSLv3 Kx=DH Au=RSA Enc=AES(128) Mac=SHA1
DHE-DSS-AES128-SHA SSLv3 Kx=DH Au=DSS Enc=AES(128) Mac=SHA1
DHE-RSA-SEED-SHA SSLv3 Kx=DH Au=RSA Enc=SEED(128) Mac=SHA1
DHE-DSS-SEED-SHA SSLv3 Kx=DH Au=DSS Enc=SEED(128) Mac=SHA1
DHE-RSA-CAMELLIA128-SHA SSLv3 Kx=DH Au=RSA Enc=Camellia(128) Mac=SHA1
DHE-DSS-CAMELLIA128-SHA SSLv3 Kx=DH Au=DSS Enc=Camellia(128) Mac=SHA1
ECDH-RSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH/RSA Au=ECDH Enc=AESGCM(128) Mac=AEAD
ECDH-ECDSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH/ECDSA Au=ECDH Enc=AESGCM(128) Mac=AEAD
ECDH-RSA-AES128-SHA256 TLSv1.2 Kx=ECDH/RSA Au=ECDH Enc=AES(128) Mac=SHA256
ECDH-ECDSA-AES128-SHA256 TLSv1.2 Kx=ECDH/ECDSA Au=ECDH Enc=AES(128) Mac=SHA256
ECDH-RSA-AES128-SHA SSLv3 Kx=ECDH/RSA Au=ECDH Enc=AES(128) Mac=SHA1
ECDH-ECDSA-AES128-SHA SSLv3 Kx=ECDH/ECDSA Au=ECDH Enc=AES(128) Mac=SHA1
AES128-GCM-SHA256 TLSv1.2 Kx=RSA Au=RSA Enc=AESGCM(128) Mac=AEAD
AES128-SHA256 TLSv1.2 Kx=RSA Au=RSA Enc=AES(128) Mac=SHA256
AES128-SHA SSLv3 Kx=RSA Au=RSA Enc=AES(128) Mac=SHA1
SEED-SHA SSLv3 Kx=RSA Au=RSA Enc=SEED(128) Mac=SHA1
CAMELLIA128-SHA SSLv3 Kx=RSA Au=RSA Enc=Camellia(128) Mac=SHA1
PSK-AES128-CBC-SHA SSLv3 Kx=PSK Au=PSK Enc=AES(128) Mac=SHA1
ECDHE-RSA-DES-CBC3-SHA SSLv3 Kx=ECDH Au=RSA Enc=3DES(168) Mac=SHA1
ECDHE-ECDSA-DES-CBC3-SHA SSLv3 Kx=ECDH Au=ECDSA Enc=3DES(168) Mac=SHA1
EDH-RSA-DES-CBC3-SHA SSLv3 Kx=DH Au=RSA Enc=3DES(168) Mac=SHA1
EDH-DSS-DES-CBC3-SHA SSLv3 Kx=DH Au=DSS Enc=3DES(168) Mac=SHA1
ECDH-RSA-DES-CBC3-SHA SSLv3 Kx=ECDH/RSA Au=ECDH Enc=3DES(168) Mac=SHA1
ECDH-ECDSA-DES-CBC3-SHA SSLv3 Kx=ECDH/ECDSA Au=ECDH Enc=3DES(168) Mac=SHA1
DES-CBC3-SHA SSLv3 Kx=RSA Au=RSA Enc=3DES(168) Mac=SHA1
IDEA-CBC-SHA SSLv3 Kx=RSA Au=RSA Enc=IDEA(128) Mac=SHA1
PSK-3DES-EDE-CBC-SHA SSLv3 Kx=PSK Au=PSK Enc=3DES(168) Mac=SHA1
KRB5-IDEA-CBC-SHA SSLv3 Kx=KRB5 Au=KRB5 Enc=IDEA(128) Mac=SHA1
KRB5-DES-CBC3-SHA SSLv3 Kx=KRB5 Au=KRB5 Enc=3DES(168) Mac=SHA1
KRB5-IDEA-CBC-MD5 SSLv3 Kx=KRB5 Au=KRB5 Enc=IDEA(128) Mac=MD5
KRB5-DES-CBC3-MD5 SSLv3 Kx=KRB5 Au=KRB5 Enc=3DES(168) Mac=MD5
ECDHE-RSA-RC4-SHA SSLv3 Kx=ECDH Au=RSA Enc=RC4(128) Mac=SHA1
ECDHE-ECDSA-RC4-SHA SSLv3 Kx=ECDH Au=ECDSA Enc=RC4(128) Mac=SHA1
ECDH-RSA-RC4-SHA SSLv3 Kx=ECDH/RSA Au=ECDH Enc=RC4(128) Mac=SHA1
ECDH-ECDSA-RC4-SHA SSLv3 Kx=ECDH/ECDSA Au=ECDH Enc=RC4(128) Mac=SHA1
RC4-SHA SSLv3 Kx=RSA Au=RSA Enc=RC4(128) Mac=SHA1
RC4-MD5 SSLv3 Kx=RSA Au=RSA Enc=RC4(128) Mac=MD5
PSK-RC4-SHA SSLv3 Kx=PSK Au=PSK Enc=RC4(128) Mac=SHA1
KRB5-RC4-SHA SSLv3 Kx=KRB5 Au=KRB5 Enc=RC4(128) Mac=SHA1
KRB5-RC4-MD5 SSLv3 Kx=KRB5 Au=KRB5 Enc=RC4(128) Mac=MD5


SSL/TLSに関する設定(Apache)

Apacheを例にSSL/TLSに関する重要な設定項目について記載します。

設定値の詳細は、Apache Modulemod_sslで確認できます。


  • SSLCipherSuite

    使用する暗号スイートを定義します。 後述するSSLHonorCipherOrderを有効にした上で組み合わせて行うことで、使用する暗号アルゴリズムをコントロールできます。

# Apache2.4のデフォルト値

SSLCipherSuite HIGH:MEDIUM:!MD5:!RC4:!3DES
# IPAの設定例(推奨セキュリティ型の設定例(基本 46))
SSLCipherSuite DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-CAMELLIA128-SHA:DHE-RSA-AES128-SHA:AES128-GCM-SHA256:AES128-SHA256:CAMELLIA128-SHA:AES128-SHA:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-SHA256:DHE-RSA-CAMELLIA256-SHA:DHE-RSA-AES256-SHA:AES256-GCM-SHA384:AES256-SHA256:CAMELLIA256-SHA:AES256-SHA

タグ
説明

鍵交換アルゴリズム:

kRSA
RSA鍵交換

kDHr
RSAキーを使用したDiffie-Hellman鍵交換

kDHd
DSAキーによるDiffie-Hellman鍵交換

kEDH
エフェメラル(temp.key)Diffie-Hellman鍵交換(no cert)

kSRP
セキュアリモートパスワード(SRP)鍵交換

認証アルゴリズム:

aNULL
認証なし

aRSA
RSA認証

aDSS
DSS認証

aDH
Diffie-Hellman認証

暗号符号化アルゴリズム:

eNULL
暗号化なし

NULL
eNULLのエイリアス

AES
AES暗号化

DES
DES暗号化

3DES
トリプルDES暗号化

RC4
RC4暗号化

RC2
RC2暗号化

IDEA
IDEA暗号化

MACダイジェストアルゴリズム:

MD5
MD5ハッシュ関数

SHA1
SHA1ハッシュ関数

SHA
SHA1のエイリアス

SHA256
SHA256ハッシュ関数

SHA384
SHA3??84ハッシュ関数

エイリアス:

SSLv3
すべてのSSLバージョン3.0の暗号

TLSv1
すべてのTLSバージョン1.0暗号

EXP
すべてのエクスポート暗号

EXPORT40
すべての40ビットエクスポート暗号のみ

EXPORT56
すべての56ビットエクスポート暗号のみ

LOW
すべての低強度暗号(エクスポートなし、単一DES)

MEDIUM
128ビット暗号化を持つすべての暗号

HIGH
トリプルDESを使用するすべての暗号

RSA
RSA鍵交換を使用するすべての暗号

DH
Diffie-Hellman鍵交換を使用するすべての暗号

EDH
Ephemeral Diffie-Hellman鍵交換を使用するすべての暗号

ECDH
楕円曲線Diffie-Hellman鍵交換

ADH
匿名Diffie-Hellman鍵交換を使用するすべての暗号

AECDH
匿名楕円曲線を使用するすべての暗号Diffie-Hellman鍵交換

SRP
セキュアリモートパスワード(SRP)鍵交換を使用するすべての暗号

DSS
DSS認証を使用するすべての暗号

ECDSA
ECDSA認証を使用するすべての暗号

aNULL
認証を使用しないすべての暗号


  • SSLHonorCipherOrder

    暗号化方式の決定順序をクライアントではなくサーバ優先とします。

# Apache2.4のデフォルト値

SSLHonorCipherOrder on


  • SSLProtocol

    使用するプロトコルを指定できます。 デフォルトはSSLv3無効で他のプロトコルは有効を意味します。セキュリティを高める場合はTLSv1.2が望ましいですが、幅広いブラウザに対応するためにはTLS 1.1とTLS 1.2を許可したほうが無難です。

# 以下の場合、TLS 1.1とTLS 1.2を許可する

SSLProtocol all -SSLv2 -SSLv3 -TLSv1


  • Strict-Transport-Security

    常時HTTPS化の時代を考えると必須な設定値です。以下の設定値を有効にすることで、レスポンスヘッダに「Strict-Transport-Security」を付加し、クライアントに次回からHTTPSでアクセスするように伝えることができます。

# 以下の場合、365 日(31,536,000 秒)の有効期間を設定する

Header always set Strict-Transport-Security "max-age=31536000"


クライアント設定

以下はWindows端末の例


  • ルートCAの確認

    IEの場合は、インターネットオプションからコンテンツタブの「証明書」をクリックする。Chromeの場合は、詳細設定の「証明書の管理」をクリックする。

    証明書から、信頼されたルート証明機関タブをクリックする。

    SSL000.JPG


  • プロトコルの確認

    IEの場合は、インターネットオプションからコンテンツタブの「詳細設定」をクリックする。Chromeの場合は、詳細設定のシステムから「プロキシ設定を開く」

    SSL002.JPG



サーバ証明書

サーバ証明書は以下の三種類に分類できます。


  • DV 証明書(Domain Validation)

    導入コストは安いが企業の実在性証明がないため、スタートアップの企業には向いていない。

  • OV 証明書(Organization Validation)

    企業の実在性証明があるため、多く利用されているがアドレスバーは緑色にならない。

  • EV 証明書(Extended Validation)

    企業の実在性証明があり、かつ、厳格な認証が行われ、アドレスバーは緑色になる。しかし、導入コストは高い。


SSL Server Test

SSL Server Testで検証したいURLを入力すると、SSL/TLSの評価をしてくれます。外部に公開前の動作確認にいいと思います。


参考資料

SSL/TLSに係る参考資料について記載します。


  • SSL/TLS 暗号設定ガイドライン

    IPAが公開している資料であり、2015 年 3 月時点における、SSL/TLS 通信での安全性と可用性(相互接続性)のバランスを踏まえた SSL/TLS サーバの設定方法が記載されています。


  • 電子政府推奨暗号リスト

    CRYPTRECが推奨している暗号化方式のリストです。電子政府が使用する暗号アルゴリズムの指針になっています。



さいごに

さいごまで読んでいただきありがとうございました。