X.509 sertifikası kanıtlama
Bu makalede, Cihaz Sağlama Hizmeti'nde (DPS) X.509 sertifika kanıtlamasını kullanarak cihazları sağlarken kullanılan kavramlar açıklanmaktadır. Bu makale, bir cihazı dağıtıma hazır hale getirmeyle ilgili tüm kişilere yöneliktir.
X.509 sertifikaları bir donanım güvenlik modülü HSM'de depolanabilir.
İpucu
X.509 sertifikası gibi gizli dizileri üretimdeki cihazlarınızda güvenli bir şekilde depolamak için cihazlarla birlikte bir HSM kullanmanızı kesinlikle öneririz.
X.509 sertifika zincirini anlama
X.509 sertifikalarını kanıtlama mekanizması olarak kullanmak, üretimi ölçeklendirmenin ve cihaz sağlamayı basitleştirmenin mükemmel bir yoludur. X.509 sertifikaları genellikle zincirdeki her sertifikanın bir sonraki üst sertifikanın özel anahtarı tarafından imzalandığı ve otomatik olarak imzalanan kök sertifikayı sonlandıran bir sertifika güven zincirinde düzenlenir. Bu düzenleme, güvenilen bir sertifika yetkilisi (CA) tarafından oluşturulan kök sertifikadan her ara sertifikadan cihaza yüklenen son sertifikaya kadar temsilcili bir güven zinciri oluşturur. Daha fazla bilgi için bkz . X.509 CA Sertifikalarını kullanarak Cihaz Kimlik Doğrulaması.
Sertifika zinciri genellikle cihazlarla ilişkilendirilmiş mantıksal veya fiziksel bir hiyerarşiyi temsil eder. Örneğin, bir üretici aşağıdaki sertifika hiyerarşisini oluşturabilir:
- Otomatik olarak imzalanan kök CA sertifikası, sertifika zincirini başlatır.
- Kök sertifika, her fabrika için benzersiz bir ara CA sertifikası oluşturur.
- Her fabrikanın sertifikası, fabrikadaki her üretim hattı için benzersiz bir ara CA sertifikası oluşturur.
- Üretim hattı sertifikası, satırda üretilen her cihaz için benzersiz bir cihaz (son varlık) sertifikası oluşturur.
Daha fazla bilgi edinmek için bkz . IoT sektöründeki X.509 CA sertifikalarını kavramsal olarak anlama.
Kök sertifika
Kök sertifika, sertifika yetkilisini (CA) temsil eden otomatik olarak imzalanan bir X.509 sertifikasıdır. Sertifika zincirinin terminusu veya güven bağlantısıdır. Kök sertifikalar bir kuruluş tarafından kendi kendine yayımlanabilir veya bir kök sertifika yetkilisinden satın alınabilir. Kök sertifika, kök CA sertifikası olarak da adlandırılabilir.
Ara sertifika
Ara sertifika, kök sertifika (veya zincirindeki kök sertifikaya sahip başka bir ara sertifika) tarafından imzalanmış bir X.509 sertifikasıdır ve yeni sertifikalar da imzalayabilir. Zincirdeki son ara sertifika yaprak sertifikayı imzalar. Ara sertifika, ara CA sertifikası olarak da adlandırılabilir.
Ara sertifikalar çeşitli şekillerde kullanılır. Örneğin ara sertifikalar, cihazları ürün satırlarına, cihaz satın alan müşterilere, şirket bölümlerine veya fabrikalara göre gruplandırmak için kullanılabilir.
Contoso'nın adlı ContosoRootCert
kök sertifikayı kullanan kendi Ortak Anahtar Altyapısına (PKI) sahip büyük bir şirket olduğunu düşünün. Contoso'nun her yan kuruluşu tarafından ContosoRootCert
imzalanan kendi ara sertifikasına sahiptir. Her yan kuruluş, her cihaz için yaprak sertifikalarını imzalamak için ara sertifikalarını kullanır. Bu senaryoda Contoso, doğrulanmış bir sertifika olan ContosoRootCert
tek bir DPS örneği kullanabilir. Her yan kuruluş için bir kayıt grubu olabilir. Bu şekilde her yan kuruluşun sertifikaları doğrulama konusunda endişelenmesi gerekmez.
Son varlık "yaprak" sertifikası
Yaprak sertifika veya son varlık sertifikası, bir sertifika sahibini tanımlar. Sertifika zincirinde kök sertifikaya ve sıfır veya daha fazla ara sertifikaya sahiptir. Yaprak sertifika, diğer sertifikaları imzalamak için kullanılmaz. Bir cihazı sağlama hizmetine benzersiz olarak tanımlar ve bazen cihaz sertifikası olarak adlandırılır. Kimlik doğrulaması sırasında cihaz, hizmetten gelen bir sahiplik kanıtı sınamasına yanıt vermek için sertifikasıyla ilişkili özel anahtarı kullanır.
DPS ile X.509 sertifikalarını kullanma
Sağlama hizmeti, X.509 kanıtlama mekanizmasıyla cihaz erişimini denetlemek için kullanabileceğiniz iki kayıt türünü kullanıma sunar:
- Bireysel kayıt girişleri, belirli bir cihazla ilişkilendirilmiş cihaz sertifikasıyla yapılandırılır. Bu girişler belirli cihazlar için kayıtları denetler.
- Kayıt grubu girişleri belirli bir ara veya kök CA sertifikasıyla ilişkilendirilir. Bu girdiler, sertifika zincirinde bu ara veya kök sertifikaya sahip tüm cihazlar için kayıtları denetler.
Sertifika, DPS örneğinizdeki tek bir kayıt girdisinde belirtilebilir.
Karşılıklı TLS desteği
DPS kayıtları X.509 kanıtlama için yapılandırıldığında, DPS tarafından karşılıklı TLS (mTLS) desteklenir.
DPS şifreleme algoritması gereksinimleri
Cihaz Sağlama Hizmeti yalnızca şifreleme için Rivest-Shamir-Adleman (RSA) algoritmasını veya Eliptik Eğri Şifrelemesi (ECC) algoritmasını kullanan X.509 sertifikalarını kabul eder. ECC ve RSA eşdeğer şifreleme gücü düzeyleri sağlar, ancak ECC daha kısa bir anahtar uzunluğu kullanır.
Cihaz kanıtlama için X.509 sertifikaları oluşturmak için ECC yöntemlerini kullanıyorsanız, aşağıdaki üç nokta eğrilerini öneririz:
- nistP256
- nistP384
- nistP521
DPS sertifika adlandırma gereksinimleri
Bireysel kayıt girdileriyle kullanılan yaprak sertifikaların konu ortak adı (CN) kayıt kimliği olarak ayarlanmış olmalıdır. Kayıt kimliği, DPS ile cihaz kaydını tanımlar ve cihazın kaydedildiği DPS örneğine (kimlik kapsamı) benzersiz olmalıdır.
Kayıt grupları için konu ortak adı (CN), IoT Hub'a kayıtlı cihaz kimliğini ayarlar. Cihaz kimliği, kayıt grubundaki kimliği doğrulanmış cihazın Kayıt Kayıtları'nda gösterilir. Bireysel kayıtlar için cihaz kimliği kayıt girişinde ayarlanabilir. Kayıt girişinde ayarlanmamışsa, konu ortak adı (CN) kullanılır.
Daha fazla bilgi edinmek için bkz . X.509 CA sertifikalarıyla imzalanmış cihazların kimliğini doğrulama.
DPS cihaz zinciri gereksinimleri
Bir cihaz bir kayıt grubu kullanarak DPS aracılığıyla kayıt yapmaya çalıştığında, cihazın sertifika zincirini yaprak sertifikadan doğrulanmış bir sertifikaya göndermesi gerekir. Aksi takdirde kimlik doğrulaması başarısız olur.
Örneğin, yalnızca kök sertifika doğrulanmışsa ve kayıt grubuna bir ara sertifika yüklenirse, cihaz yaprak sertifikadan doğrulanmış kök sertifikaya kadar sertifika zincirini sunmalıdır. Bu sertifika zinciri, aradaki tüm ara sertifikaları içerir. DPS, sertifika zincirini doğrulanmış bir sertifikaya geçiremediğinde kimlik doğrulaması başarısız olur.
Örneğin, bir cihaz için aşağıdaki cihaz zincirini kullanan bir şirketi düşünün.
Bu örnekte kök sertifika DPS ile doğrulanır ve intermediate2
sertifika kayıt grubuna yüklenir.
Cihaz sağlama sırasında yalnızca aşağıdaki cihaz zincirini gönderirse kimlik doğrulaması başarısız olur. DPS, sertifikanın geçerliliğini varsayarak kimlik doğrulamayı deneyemediğinden intermediate1
.
Cihaz sağlama sırasında tam cihaz zincirini aşağıdaki gibi gönderirse, DPS cihazın kimlik doğrulamasını deneyebilir.
Sertifikalarla DPS işlem sırası
Bir cihaz sağlama hizmetine bağlandığında hizmet, cihaz (yaprak) sertifikasıyla başlayan sertifika zincirini gösterir ve ilgili kayıt girdisini arar. Cihazın sağlanıp sağlanmayacağını belirlemek için zincirde bulduğu ilk girişi kullanır. Başka bir ifadeyle, cihaz sertifikası için tek bir kayıt varsa sağlama hizmeti bu girdiyi uygular. Cihaz için tek bir kayıt yoksa, hizmet ilk ara sertifikaya karşılık gelen bir kayıt grubu arar. Bir giriş bulursa, bu girdiyi uygular; aksi takdirde, bir sonraki ara sertifika için bir kayıt grubu arar, vb. zinciri köke kadar aşağı.
Hizmet bulduğu ilk girdiyi uygular, örneğin:
- Bulunan ilk kayıt girişi etkinleştirilirse, hizmet cihazı sağlar.
- Bulunan ilk kayıt girişi devre dışı bırakılırsa hizmet cihazı sağlamaz.
- Cihazın sertifika zincirindeki sertifikalardan herhangi biri için kayıt girişi bulunamazsa, hizmet cihazı sağlamaz.
Bir cihazın sertifika zincirindeki her sertifika bir kayıt girdisinde belirtilebilir, ancak DPS örneğinde yalnızca bir girdide belirtilebilir.
Bu mekanizma ve sertifika zincirlerinin hiyerarşik yapısı, tek tek cihazlar ve cihaz grupları için erişimi denetleme konusunda güçlü esneklik sağlar. Örneğin, aşağıdaki sertifika zincirlerine sahip beş cihaz düşünün:
- Cihaz 1: kök sertifika -> sertifika A -> cihaz 1 sertifikası
- Cihaz 2: kök sertifika -> sertifika A -> cihaz 2 sertifikası
- Cihaz 3: kök sertifika -> sertifika A -> cihaz 3 sertifikası
- Cihaz 4: kök sertifika -> sertifika B -> cihaz 4 sertifikası
- Cihaz 5: kök sertifika -> sertifika B -> cihaz 5 sertifikası
Başlangıçta, beş cihazda da erişimi etkinleştirmek üzere kök sertifika için tek bir etkin grup kayıt girdisi oluşturabilirsiniz. B sertifikasının güvenliği daha sonra tehlikeye girerse, Cihaz 4 ve Cihaz 5'in kaydedilmesini önlemek için B sertifikası için devre dışı bırakılmış bir kayıt grubu girdisi oluşturabilirsiniz. Daha sonra Cihaz 3'in güvenliği aşılırsa, sertifikası için devre dışı bırakılmış bir bireysel kayıt girdisi oluşturabilirsiniz. Bu, Cihaz 3 erişimini iptal eder, ancak yine de Cihaz 1 ve Cihaz 2'nin kaydedilmesine izin verir.