Amazon Web Services ブログ

AWS IoT Core がお客様に提供する Symantec の認証局無効化の対応方法

NOTE: このブログの投稿は、AWS IoT Core に接続するブラウザとモバイルアプリに関連する重要な公開鍵暗号基盤(PKI)の問題について記します。公開鍵証明書と TLS に関する情報については、High Performance Browser Networking の Chain of Trust and Certificate Authorities を参照してください。

概要

Google, Apple および Mozilla は、2018年10月より、AWS IoT Core がサーバ証明書の署名に利用する VeriSign クラス 3 Public Primary G5 ルート CA 証明書 を含む、あらゆるシマンテック社のルート認証局(CAs), の信頼性を無効化すると発表しました。詳細は Google の発表Apple の発表Mozilla の発表を参照してください。

もはやこれらの CA 証明書を含まないという決定は モバイル OS や ブラウザによって提供されるトラストストアに依存するモバイル及び Web アプリケーションに影響します。ユーザはブラウザ内で警告の通知を見るかもしれません。モバイルアプリは AWS IoT Core のエンドポイントとの接続を確立できなくなるかもしれません。

CA の信頼性を無効化することはインターネットにおいて通常のプロセスです。Web サーバは従来、サーバ証明書を署名する CA を異なる信頼された CA に切り替えることでこれに対応します。ブラウザはたくさんのCAを持つ大きなトラストストアを保持するので、プロセスはエンドユーザに対し透明性を持っています。IoT の領域では、このストーリーは少し複雑化します。メモリ制約のため、デバイスは唯一の CA しか信用しないかもしれませんし、ファームウェアのアップデートが困難かもしれません。エンドポイントのサーバ証明書を署名する CA を変更することは、これらのデバイスがエンドポイントに接続することを妨げます。

AWS IoT Core の解決方法

AWS IoT は現在、Amazon Trust Service が署名したサーバ証明書を提供する追加のカスタマーエンドポイントを提供しています。これらの証明書は、標準で、iOS, Android, Chrome, Firefox, Windows 及び多くの一般的な Linux ディストリビューションといった、多くの人気のあるブラウザと OS において信頼されています。2018年の始めに、AWS のセキュリティチームが、AWSのサービスが Amazon Trust Services によるサーバ証明書の署名に移行することを概説したブログを発行しています。Amazon DynamoDB と Amazon EC2 を含む、多くの AWS サービスは既にお客様が API を呼ぶときにこれらのサーバ証明書を利用しています。

VeriSign クラス 3 Public Primary G5 ルート CA 証明書によって署名されたサーバ証明書のみ信頼するデバイスの後方互換性を維持するために、AWS IoT Core はその CA で署名したサーバ証明書で認証するエンドポイントを提供し続けます。これらの証明書は定期的に更新され続けます。

私達はあらゆるお客様が次の説明を利用して、新しい Amazon Trust Services エンドポイントを取得し、AWS IoT Core に接続するモバイルアプリとブラウザアプリに、そのエンドポイントを利用することを強く推奨します。私達はまた、お客様がデバイスを Amazon Trust Services のルート CA を信用し、Amazon Trust Services エンドポイントに移行し始めることを推奨します。

モバイルアプリやブラウザアプリを更新し、デバイスを移行するときには、これらのことを心に留めてください。

  • あなたのアカウントの各リージョンにおいて、明示的に Amazon Trust Services エンドポイントをリクエストしなければなりません。あらゆる既存のカスタマーエンドポイントは、ほとんどが VeriSign のエンドポイントとなっています。もしあなたのエンドポイントが最初のサブドメインの終わりに “-ats” を含むなら、それが Amazon Trust Services エンドポイントです。たとえば、‘asdfasdf-ats.iot.us-east-2.amazonaws.com’ が Amazon Trust Services(ATS) エンドポイントです。
  • jobs と認証情報プロバイダーのための IoT エンドポイントは影響を受けません。これらは既に Amazon Trust Services が署名した証明書を利用しています。
  • 同一アカウント、同一リージョンの VeriSign と Amazon Trust Services エンドポイントは相互運用可能です。これらのエンドポイントの唯一の違いは 提供する証明書のルート CA になります。 デバイスは(両方の証明書を提供されていれば)交互に切り替えることができ、追加の変更や登録なしに互いに通信できます。これは、段階的な移行が可能であることを意味します。(そしてそれが推奨されます)
  • 2018年5月移行にローンチした新しいリージョンは Amazon Trust Services 証明書のみ提供します。
リージョン名 リージョン 利用可能なルート CAs*
US East (Ohio) us-east-2 VeriSign, ATS
US East (N. Virginia) us-east-1 VeriSign, ATS
US West (Oregon) us-west-2 VeriSign, ATS
Asia Pacific (Singapore) ap-southeast-1 VeriSign, ATS
Asia Pacific (Sydney) ap-southeast-2 VeriSign, ATS
Asia Pacific (Tokyo) ap-northeast-1 VeriSign, ATS
Asia Pacific (Seoul) ap-northeast-2 VeriSign, ATS
EU (Frankfurt) eu-central-1 VeriSign, ATS
EU (Ireland) eu-west-1 VeriSign, ATS
EU (London) eu-west-2 VeriSign, ATS
China (Beijing) cn-north-1 VeriSign (ATS Coming in September)
Asia Pacific (Mumbai) ap-south-1 ATS
AWS GovCloud (US) us-gov-west-1 ATS

*将来追加される AWS IoT Core のリージョンは Amazon Trust Services ルート CA のみサポートします

Amazon Trust Services エンドポイントの設定方法

  1. ATS エンドポイントを作成する
    • describe-point API を、endpointType パラメータに iot:Data-ATS をセットして呼び出します。AWS CLI では、 aws iot describe-endpoint --endpoint-type iot:Data-ATS コマンドが利用できます。
    • 成功したら、prefix-ats.iot.region.amazonaws.com という形式のエンドポイントを受け取ります。この API 呼び出しは、最初の呼び出しがエンドポイントを作成し、その後の呼び出しは同じエンドポイントを返すという意味で冪等性があります。
  2. ATS ルート CA をデバイスにダウンロードする
    • AWS IoT Core のサーバ認証のドキュメントを参照し、所望する Amazon Trust Services の CA 証明書のリンクをたどってください(RSA や ECC など)。
    • 証明書を .pem ファイルとして保存し、デバイスにコピーしてください。
  3. 接続する
    • モバイルアプリ、ブラウザアプリ、デバイスのファームウェアを新しいエンドポイントにアップデートしてください。
    • テストしてリリースしてください。

翻訳は SA 園田が担当しました。原文はこちらです。