web-dev-qa-db-ja.com

なぜSCEPではなくESTプロトコルを選択する必要があるのですか?

長年にわたり、SCEPはX.509証明書を取得するためのシンプルで広く使用されているプロトコルでした。しかし、それほど昔ではなく、EST( RFC 70 )と呼ばれる別のプロトコルが開発されました。

SCEPからESTに移行する主な理由は何ですか?

11
tysonite

SCEPとは何ですか?

Simple Certificate Enrollment Protocolは、2011年のIETF Internet-Draft draft-nourse-scep でシスコが最初に定義した証明書登録プロトコルです。 、そして最近では2018 IETF Internet-Draft draft-gutmann-scep がオークランド大学から出ました。

ESTとは

Enrollment over Secure Transport(EST)は、Cisco、Akayla、およびAruba Networksによって RFC 70 で定義された証明書登録プロトコルです。 ESTはSCEPの進化と考えることができます。 Ciscoは ESTを理解するための素晴らしいガイド を提供しています。

SCEP対EST

類似点

両方のプロトコルは、クライアントがCMS(別名 PKCS#7 )およびCSR(別名 PKCS#1 )メッセージを事前認証局で署名された認証局に送信するという点で非常に似ています指定されたCAで新しい証明書を登録するための既存の証明書。

どちらも、クライアントがIDをCAに証明するための次の方法をサポートしています(正確な詳細は異なります)。

  • 以前に発行されたクライアント証明書(CAによって発行された既存の証明書など)で署名されたCMS/CSRメッセージ。これは、証明書の更新では一般的です。
  • CAが信頼するように構成された、以前にインストールされた証明書(たとえば、製造元がインストールした証明書または他の当事者によって発行された証明書)で署名されたCMS/CSRメッセージ。これは、製造中に証明書が挿入され、製造元のCAを信頼するようにCAが構成されているIoTデバイス、モバイルデバイスなどでは一般的です。
  • 帯域外でクライアントに配布された共有秘密。

違い

それらの主な違いは、ESTがトランスポートセキュリティレイヤーとして標準のTLSを使用することです。CMSおよびCSRメッセージへの署名に加えて、TLSクライアント認証のために上記の証明書を提供する必要があります。

SCEPでは、共有シークレット認証方法は、CSRの challengePassword フィールドにシークレットを含め、CMSメッセージに署名するための使い捨ての自己署名証明書を作成することによって行われます。

ESTは標準のTLSを使用するため、共有シークレットを使用した登録には2つの方法があります。

  • サーバーのみのTLSとHTTPユーザー名/パスワードの基本認証。ユーザー名とパスワードは、帯域外で配布される共有秘密です。

  • 事前共有キー(PSK)暗号スイートを使用した相互認証TLS。きちんとした副作用は、これにより、クライアントが証明書を取得するCAを事前に知る必要なく(つまり、ルートCA証明書を事前に配布する必要がない)、CAを認証できることです。


概要

どちらも、PKIを使用した自動証明書登録の受け入れ可能なプロトコルであり、同様のセキュリティ特性を提供します。

ESTの利点は、トランスポート層のセキュリティを標準のTLSに外部委託することです。そのため、新しいバージョンのTLSがリリースされても、セキュリティとパフォーマンスの改善が継続的に取り入れられます。これは、コード空間をTLS実装専用にしたくない制約のあるデバイスにとってもマイナス面になる可能性があります。

9
Mike Ounsworth

ESTの利点は、SCEPのRSA暗号化と比較して楕円曲線暗号(ECC)暗号化をサポートすることです。 RSAに対するECCの主な利点は、同じ量のセキュリティを提供できるが、鍵のサイズがはるかに小さい(50%小さい)ことです。したがって、2つの同一の制限されたメモリデバイスがある場合、ESTプロトコルを統合するものは、SCEPのみを統合するものよりもはるかに安全な証明書を持っています。 15,360ビットのRSA鍵は、521ビットのECC鍵と同じ暗号強度を備えています。15,360ビットはやり過ぎのように見えるかもしれませんが、議論 here は、量子コンピューターが10年ほどでRSAを破ることができるという側面を示しています(一部の回答では、どちらも簡単に壊れやすいので、すべての回答を読んで自分で決定してください^-^)。

別の要因は、ESTでは、証明書は、一意の秘密鍵またはユーザー名/パスワードを保持する認証局からのみクライアントに提供できることです。したがって、クライアントは自分だけの証明書を取得でき、他の誰も取得できません(編集:ユーザー名/パスワードを共有しない限り、秘密鍵を使用することをお勧めします)。

一方、SCEPは秘密鍵である共有キーを使用して認証局からクライアントに与えられますが、問題はanyoneキーを知っている人は証明書を取得できるため、クライアントは証明書のコピーを生成して他の人に渡すことができます。

これらは、ESTがSCEPよりも優れているセキュリティ上の利点にすぎません。シスコには、他の利点と違いについて興味深いドキュメントがあります こちら

編集:コメントで説明したとおり。

1
adam