デバイス証明書のキー品質
AWS IoT 顧客は、AWS IoT メッセージブローカーへの認証に X.509 証明書を使用した TLS 相互認証を利用することがよくあります。これらの証明書と認証局の証明書は、使用する前に AWS IoT アカウントに登録する必要があります。AWS IoT は、登録時にこれらの証明書に対して基本的な健全性チェックを実行します。これらのチェックには、次のものがあります。
-
これらは有効な形式であることが必要です。
-
これらは、登録された認証局によって署名されている必要があります。
-
これらは有効期間内である必要があります (つまり、有効期限が切れていないことが必要です)。
-
暗号化キーのサイズは、必要な最小サイズを満たしている必要があります(RSA キーの場合は、2048 ビット以上である必要があります)。
この監査チェックでは、暗号化キーの品質に関する次の追加テストが提供されます。
-
CVE-2008-0166 – Debian ベースのオペレーティングシステムで、0.9.8g-9 より前のバージョンまでの OpenSSL 0.9.8c-1 を使用してキーが生成されたかどうかをチェックします。これらのバージョンの OpenSSL では、予測可能な数値を生成する乱数ジェネレータが使用されているため、リモートの攻撃者が暗号化キーに対するブルートフォース推測攻撃を簡単に行うことができます。
-
CVE-2017-15361 – キーが、インフィニオン社のトラステッドプラットフォームモジュール (TPM) ファームウェアでインフィニオン社の RSA ライブラリ 1.02.013 によって生成されたかどうかをチェックします。例えば、0000000000000422 – 4.34 より前のバージョン、000000000000062b – 6.43 より前のバージョン、および 0000000000008521 – 133.33 より前のバージョンなどです。このライブラリは RSA キーの生成を不正に処理するため、攻撃者がターゲットを絞った攻撃によって暗号保護メカニズムを突破することを容易にします。影響を受けるテクノロジーの例としては、TPM 1.2 を使用した BitLocker、YubiKey 4 (4.3.5 以前)の PGP キー生成、および Chrome OS のキャッシュユーザーデータの暗号化機能などがあります。
AWS IoT Device Defender は、これらのテストに失敗した場合、証明書を非準拠として報告します。
このチェックは、CLI および API で DEVICE_CERTIFICATE_KEY_QUALITY_CHECK
として表示されます。
重要度: 非常事態
詳細
このチェック項目は、「ACTIVE」または「PENDING_TRANSFER」になっているデバイス証明書に適用されます。
このチェックにより不適合の証明書が見つかった場合、次の理由コードが返されます。
-
CERTIFICATE_KEY_VULNERABILITY_CVE-2017-15361
-
CERTIFICATE_KEY_VULNERABILITY_CVE-2008-0166
重要な理由
デバイスが脆弱な証明書を使用する場合、攻撃者はそのデバイスをより簡単に侵害する可能性があります。
修正方法
デバイス証明書を更新して、既知の脆弱性の証明書を置き換えます。
複数のデバイスで同じ証明書を使用している場合は、次の操作を行います。
-
新しい一意の証明書をプロビジョニングし、各デバイスにアタッチします。
-
新しい証明書が有効で、デバイスでそれらの証明書を使用して接続できることを確認します。
-
UpdateCertificate を使用して、AWS IoT で古い証明書を REVOKED としてマークします。緩和アクションを使用して、以下を行うこともできます。
-
監査結果に
UPDATE_DEVICE_CERTIFICATE
緩和アクションを適用して、この変更を行います。 -
ADD_THINGS_TO_THING_GROUP
緩和アクションを適用して、アクションを実行できるグループにデバイスを追加します。 -
Amazon SNS メッセージに対する応答としてカスタムレスポンスを実装する場合は、
PUBLISH_FINDINGS_TO_SNS
緩和アクションを適用します。
詳細については、「緩和アクション」を参照してください。
-
-
古い証明書を各デバイスからデタッチします。