すべてのプロダクト
Search
ドキュメントセンター

Object Storage Service:セキュアな通信を確保するための TLS バージョンの設定

最終更新日:Jun 23, 2026

Transport Layer Security (TLS) は、クライアントアプリケーションと Object Storage Service (OSS) 間の通信を暗号化します。TLS は、インターネットを介して通信するクライアントとサーバーのプライバシーとデータ整合性を保証する標準的な暗号化プロトコルです。OSS で TLS バージョンと暗号スイートを設定できます。設定が完了すると、クライアントは指定された TLS バージョンと暗号スイートのみを使用して OSS と通信できます。これにより、通信リンクがセキュリティ要件を満たすことが保証されます。

前提条件

RAM ユーザーには、oss:PutTLSVersion および oss:GetTLSVersion の権限が必要です。詳細については、「RAM ユーザーへのカスタムポリシーの付与」をご参照ください。

TLS バージョン

TLS は、1.0、1.1、1.2、1.3 の 4 つのバージョンをサポートしています。各バージョンの利用シーンとサポートされているブラウザは次のとおりです。

プロトコル

説明

利用シーン

サポートされているブラウザ

TLS 1.0

このバージョンでは、RSA、DES、3DES などの暗号化アルゴリズムが使用されます。TLS 1.0 には既知のセキュリティ脆弱性があり、BEAST や POODLE などの攻撃に対して脆弱です。現代のネットワーク接続に対して十分な保護を提供できなくなり、PCI DSS コンプライアンス基準を満たしていません。

セキュリティ脆弱性のため、TLS 1.0 はもはや広く推奨されていません。ほとんどの場合、よりセキュアな TLS バージョンにアップグレードすることを推奨します。

  • IE 6+

  • Chrome 1+

  • Firefox 2+

TLS 1.1

このバージョンでは、既知の脆弱性の一部に対処し、AES、RSA、SHA-256 などのより強力な暗号化アルゴリズムのサポートを追加することで、セキュリティが向上しています。

比較的高度なセキュリティが求められるが、最新の TLS 機能は必要としない環境に適しています。

  • IE 11+

  • Chrome 22+

  • Firefox 24+

  • Safari 7+

TLS 1.2

このバージョンでは、セキュリティがさらに強化され、サーバ名表示 (SNI) や拡張ハンドシェイクプロトコルなどの新機能が追加されています。サポートされている暗号化アルゴリズムには、AES-GCM、AES-CBC、ECDHE などがあります。

Web アプリケーション、E コマースサイト、メール、仮想プライベートネットワーク (VPN) など、最も一般的なセキュアな通信シナリオに適しています。

  • IE 11+

  • Chrome 30+

  • Firefox 27+

  • Safari 7+

TLS 1.3

このバージョンでは、セキュリティ、パフォーマンス、プライバシーが大幅に向上しています。安全でない暗号化アルゴリズムを削除し、より堅牢なキー交換および暗号化アルゴリズムを追加し、ハンドシェイクの遅延を削減し、より優れた前方秘匿性と認証メカニズムを提供します。

金融機関、大手インターネット企業、政府機関など、厳しいセキュリティ要件があり、より優れたパフォーマンスとプライバシーが求められるシナリオに適しています。

  • Chrome 70+

  • Firefox 63+

注意事項

  • バケットが TLS 1.0 または TLS 1.1 のみを許可するように設定することは避けてください。設定には、少なくとも主流バージョンである TLS 1.2 を含める必要があります。

  • TLS バージョン管理が有効になっていない場合、デフォルトで TLS 1.0、1.1、1.2 がサポートされますが、TLS 1.3 はサポートされません。TLS バージョン管理を有効にすると、TLS 1.0、1.1、1.2、1.3 から選択できます。OSS コンソールで初めて TLS バージョンを設定する場合、主流バージョンとしてデフォルトで TLS 1.2 が選択されます。TLS 1.2 が選択されていない場合、一部の主流クライアントが OSS にアクセスできなくなる可能性があります。

  • TLS バージョンをダウングレードする (たとえば、TLS 1.2 から TLS 1.1 または TLS 1.0 へ) か、TLS バージョン管理を無効にすると、セキュリティおよびコンプライアンスリスクが生じる可能性があります。注意して実行してください。

  • TLS バージョンを無効にする前に、そのバージョンにのみ依存して接続しているクライアントがないことを確認してください。

操作手順

OSS コンソール

  1. OSS コンソールにログインします。

  2. 左側のナビゲーションウィンドウで、バケット をクリックし、対象のバケット名をクリックします。

  3. 左側のナビゲーションウィンドウで、コンテンツセキュリティ > TLS のバージョン設定 を選択します。

  4. TLS のバージョン設定 ページで、次のパラメーターを設定します。

    パラメーター

    説明

    TLS のバージョン設定

    TLS バージョン管理を有効にします。

    TLS 暗号スイート

    暗号スイートは、データ暗号化、身分認証、整合性保護のための暗号化アルゴリズムの特定の組み合わせです。各暗号スイートには、通常、キー交換アルゴリズム (RSA や ECDHE など)、認証アルゴリズム (ECDSA など)、対称暗号化アルゴリズム (AES など)、およびメッセージ認証コードアルゴリズム (SHA256 など) が含まれます。

    OSS は、次の 3 種類の暗号スイートをサポートしています。

    • すべての暗号スイート (デフォルト):高い互換性を提供しますが、セキュリティは低くなります。

    • 強力な暗号スイート:高いセキュリティを提供しますが、互換性は低くなります。

      強力な暗号スイートのリスト

      • ECDHE-ECDSA-CHACHA20-POLY1305

      • ECDHE-RSA-CHACHA20-POLY1305

      • ECDHE-ECDSA-AES128-GCM-SHA256

      • ECDHE-RSA-AES128-GCM-SHA256

      • ECDHE-ECDSA-AES128-CCM8

      • ECDHE-ECDSA-AES128-CCM

      • ECDHE-ECDSA-AES256-GCM-SHA384

      • ECDHE-RSA-AES256-GCM-SHA384

      • ECDHE-ECDSA-AES256-CCM8

      • ECDHE-ECDSA-AES256-CCM

      • ECDHE-ECDSA-ARIA256-GCM-SHA384

      • ECDHE-ARIA256-GCM-SHA384

      • ECDHE-ECDSA-ARIA128-GCM-SHA256

      • ECDHE-ARIA128-GCM-SHA256

      • TLS_AES_256_GCM_SHA384

      • TLS_AES_128_GCM_SHA256

      • TLS_CHACHA20_POLY1305_SHA256

    • カスタム暗号スイート:高いカスタマイズ性を可能にし、特定のセキュリティポリシーに基づいて最適なアルゴリズムの組み合わせを選択できます。たとえば、より強力な暗号化アルゴリズム (AES-128 の代わりに AES-256 など) や、よりセキュアなキー交換メカニズム (RSA の代わりに ECDHE など) を選択できます。カスタム暗号スイートは、TLS バージョンが 1.2 または 1.3 に設定されている場合にのみ設定できます。

      TLS 1.2 のカスタム暗号スイート

      • ECDHE-ECDSA-CHACHA20-POLY1305

      • ECDHE-RSA-CHACHA20-POLY1305

      • ECDHE-ECDSA-AES128-GCM-SHA256

      • ECDHE-RSA-AES128-GCM-SHA256

      • ECDHE-ECDSA-AES128-CCM8

      • ECDHE-ECDSA-AES128-CCM

      • ECDHE-ECDSA-AES128-SHA256

      • ECDHE-RSA-AES128-SHA256

      • ECDHE-ECDSA-AES256-GCM-SHA384

      • ECDHE-RSA-AES256-GCM-SHA384

      • ECDHE-ECDSA-AES256-CCM8

      • ECDHE-ECDSA-AES256-CCM

      • ECDHE-ECDSA-AES256-SHA384

      • ECDHE-RSA-AES256-SHA384

      • ECDHE-ECDSA-ARIA256-GCM-SHA384

      • ECDHE-ARIA256-GCM-SHA384

      • ECDHE-ECDSA-ARIA128-GCM-SHA256

      • ECDHE-ARIA128-GCM-SHA256

      • ECDHE-ECDSA-CAMELLIA256-SHA384

      • ECDHE-RSA-CAMELLIA256-SHA384

      • ECDHE-ECDSA-CAMELLIA128-SHA256

      • ECDHE-RSA-CAMELLIA128-SHA256

      • AES256-GCM-SHA384

      • AES256-CCM8

      • AES256-CCM

      • ARIA256-GCM-SHA384

      • AES128-GCM-SHA256

      • AES128-CCM8

      • AES128-CCM

      • ARIA128-GCM-SHA256

      TLS 1.3 のカスタム暗号スイート

      • TLS_AES_256_GCM_SHA384

      • TLS_AES_128_GCM_SHA256

      • TLS_CHACHA20_POLY1305_SHA256

    許可される TLS バージョン

    許可する TLS バージョンを選択します。各 TLS バージョンの利用シーンと説明については、「TLS バージョン」をご参照ください。

  5. 設定 をクリックし、確認ダイアログボックスで OK をクリックします。

    設定は 30 分以内に有効になります。

ossutil CLI

ossutil コマンドラインツールを使用して、TLS バージョン管理を有効または無効にします。ossutil のインストール方法については、「ossutil のインストール」をご参照ください。

  • 次の例は、バケット examplebucket の TLS バージョン管理を有効にし、TLS バージョンを TLSv1.2 と TLSv1.3 に設定する方法を示しています。

    ossutil api put-bucket-https-config --bucket examplebucket --https-configuration "{\"TLS\":{\"Enable\":\"true\",\"TLSVersion\":[\"TLSv1.2\",\"TLSv1.3\"]}}"

    このコマンドの詳細については、「put-bucket-https-config」をご参照ください。

  • 次の例は、バケット examplebucket の TLS バージョン設定を取得する方法を示しています。

    ossutil api get-bucket-https-config --bucket examplebucket

    このコマンドの詳細については、「get-bucket-https-config」をご参照ください。

API リファレンス

これらの操作では REST API を使用します。高度にカスタマイズされたアプリケーションの場合、REST API リクエストを直接行うことができますが、その場合は署名計算コードを手動で記述する必要があります。詳細については、「PutBucketHttpsConfig」および「GetBucketHttpsConfig」をご参照ください。

よくある質問

現在の TLS バージョンの確認

クライアントが TLS バージョンを指定していない場合、次のコマンドを実行して、クライアントとサーバー間でネゴシエートされたバージョンを特定します。

openssl s_client -connect <bucket>.<endpoint>:443 -servername <bucket>.<endpoint>

コマンドのパラメーターは次のとおりです。

パラメーター

説明

bucket

ご利用の OSS バケットの名前。

endpoint

パブリックエンドポイント、内部エンドポイント、またはカスタムドメイン名。

コマンドの出力で TLS バージョンを確認できます。

応答の Protocol フィールドの値が、現在の TLS バージョンです。応答の例は次のとおりです。

New, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES128-GCM-SHA256
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
    Protocol  : TLSv1.2
    Cipher    : ECDHE-RSA-AES128-GCxxx
    Session-ID: DF6AF8834A5BE3E9EDCxxx
    Session-ID-ctx:
    Master-Key: 0C25A19D6E9E3BDEC86B417125AEC1FFA85xxx
    Key-Arg   : None
    Krb5 Principal: None
    PSK identity: None
    PSK identity hint: None
    TLS session ticket lifetime hint: 300 (seconds)
    TLS session ticket:

TLS 設定の検証

バケットが TLS 1.2 のみを許可するように正しく設定されていることを確認するには、次の動作を確認します。

  • クライアントが明示的に TLS 1.2 を使用する場合、クライアントはサーバーにアクセスできます。

    openssl s_client -connect <bucket>.<endpoint>:443 -servername <bucket>.<endpoint> -tls1_2

    コマンドのパラメーターは次のとおりです。

    パラメーター

    説明

    bucket

    ご利用の OSS バケットの名前。

    endpoint

    パブリックエンドポイント、内部エンドポイント、またはカスタムドメイン名。

    応答の例:

    SSL handshake has read 5779 bytes and written 470 bytes
    ---
    New, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES128-GCM-SHA256
    Server public key is 2048 bit
    Secure Renegotiation IS supported
    Compression: NONE
    Expansion: NONE
    No ALPN negotiated
    SSL-Session:
        Protocol  : TLSv1.2
        Cipher    : ECDHE-RSA-AES128-Gxxx
        Session-ID: 6F487389CA287BAFD2xxx
        Session-ID-ctx:
        Master-Key: 620777CB36570132F9xxx
        Key-Arg   : None
        Krb5 Principal: None
        PSK identity: None
        PSK identity hint: None
        TLS session ticket lifetime hint: 300 (seconds)
  • クライアントが TLS バージョンを指定しない場合 (ただし、クライアントは TLS 1.2 をサポートしている)、クライアントはサーバーにアクセスできます。

    openssl s_client -connect <bucket>.<endpoint>:443 -servername <bucket>.<endpoint>

    応答の例:

    SSL handshake has read 5779 bytes and written 470 bytes
    ---
    New, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES128-GCM-SHA256
    Server public key is 2048 bit
    Secure Renegotiation IS supported
    Compression: NONE
    Expansion: NONE
    No ALPN negotiated
    SSL-Session:
        Protocol  : TLSv1.2
        Cipher    : ECDHE-RSA-AES128-Gxxx
        Session-ID: 6F487389CA287BAFD2xxx
        Session-ID-ctx:
        Master-Key: 620777CB36570132F9xxx
        Key-Arg   : None
        Krb5 Principal: None
        PSK identity: None
        PSK identity hint: None
        TLS session ticket lifetime hint: 300 (seconds)
  • サーバーは、TLS 1.2 以外の TLS バージョン (たとえば、TLS 1.1) を指定するクライアントからの接続を拒否します。

    openssl s_client -connect <bucket>.<endpoint>:443 -servername <bucket>.<endpoint> -tls1_1

    応答の例:

    [root@i-xxx xxx ~]# openssl s_client -connect xxx.oss-cn-hangzhou.aliyuncs.com:443 -servername xxx.oss-cn-hangzhou.aliyuncs.com -tls1_1
    CONNECTED(00000003)
    140293333579664:error:1409442E:SSL routines:ssl3_read_bytes:tlsv1 alert protocol version:s3_pkt.c:1493:SSL alert number 70
    140293333579664:error:1409E0E5:SSL routines:ssl3_write_bytes:ssl handshake failure:s3_pkt.c:659:
    ---
    no peer certificate available
    ---
    No client certificate CA names sent
    ---
    SSL handshake has read 7 bytes and written 0 bytes
    ---
    New, (NONE), Cipher is (NONE)
    Secure Renegotiation IS NOT supported
    Compression: NONE
    Expansion: NONE
    No ALPN negotiated
    SSL-Session:
        Protocol  : TLSv1.1
        Cipher    : 0000
        Session-ID:
        Session-ID-ctx:
        Master-Key:
        Key-Arg   : None
        Krb5 Principal: None
        PSK identity: None
        PSK identity hint: None
        Start Time: 1692262610
        Timeout   : 7200 (sec)
        Verify return code: 0 (ok)
    ---