Azure IoT Edge'in sertifikaları nasıl kullandığını anlama
Şunlar için geçerlidir: IoT Edge 1.5 IoT Edge 1.4
Önemli
IoT Edge 1.5 LTS ve IoT Edge 1.4 LTS desteklenen sürümlerdir. IoT Edge 1.4 LTS, 12 Kasım 2024'te kullanım ömrü sona erer. Önceki bir sürümdeyseniz bkz. IoT Edge’i güncelleştirme.
IoT Edge farklı amaçlar için farklı türde sertifikalar kullanır. Bu makale, IoT Edge'in Azure IoT Hub ve IoT Edge ağ geçidi senaryolarıyla sertifikaları kullandığı farklı yollarda size yol gösterir.
Önemli
Kısa olması için bu makale IoT Edge sürüm 1.2 veya üzeri için geçerlidir. Sürüm 1.1 için sertifika kavramları benzerdir, ancak bazı farklılıklar vardır:
- Sürüm 1.1'deki cihaz CA sertifikası Edge CA sertifikası olarak yeniden adlandırıldı.
- Sürüm 1.1'deki iş yükü CA sertifikası kullanımdan kaldırıldı. Sürüm 1.2 veya sonraki sürümlerde IoT Edge modülü çalışma zamanı, tüm sunucu sertifikalarını sertifika zincirinde ara iş yükü CA sertifikası olmadan doğrudan Edge CA sertifikasından oluşturur.
Özet
Bu temel senaryolar, IoT Edge’in sertifika kullandığı senaryolardır. Her senaryo hakkında daha fazla bilgi edinmek için bağlantıları kullanın.
Actor (Oyuncu) | Amaç | Sertifika |
---|---|---|
IoT Edge | Doğru IoT Hub ile iletişim kurduğundan emin olur | IoT Hub sunucu sertifikası |
IoT Hub | İsteğin geçerli bir IoT Edge cihazından geldiğinden emin olur | IoT Edge kimlik sertifikası |
Aşağı akış IoT cihazı | Doğru IoT ağ geçidi ile iletişim kurduğundan emin olur | Edge CA tarafından verilen IoT Edge Hub edgeHub modülü sunucu sertifikası |
IoT Edge | Yeni modül sunucusu sertifikalarını imzalar. Örneğin, edgeHub | Edge CA sertifikası |
IoT Edge | İsteğin geçerli bir aşağı akış cihazından geldiğinden emin olur | IoT cihaz kimliği sertifikası |
Önkoşullar
- Ortak anahtar şifrelemesi, anahtar çiftleri ve ortak anahtar ile özel anahtarın verileri nasıl şifreleyebileceği veya şifresini çözebileceği hakkında temel bilgilere sahip olmanız gerekir. IoT Edge'in ortak anahtar şifrelemesini nasıl kullandığı hakkında daha fazla bilgi için bkz . Ortak Anahtar Şifrelemesini ve X.509 Ortak Anahtar Altyapısını Anlama.
- IoT Edge'in IoT Hub ile ilişkisi hakkında temel bilgilere sahip olmanız gerekir. Daha fazla bilgi için bkz . Azure IoT Edge çalışma zamanını ve mimarisini anlama.
Tek cihaz senaryosu
IoT Edge sertifika kavramlarını anlamaya yardımcı olmak için EdgeGateway adlı bir IoT Edge cihazının ContosoIotHub adlı bir Azure IoT Hub'a bağlandığı bir senaryo düşünün. Bu örnekte tüm kimlik doğrulaması simetrik anahtarlar yerine X.509 sertifika kimlik doğrulaması ile gerçekleştirilir. Bu senaryoda güven oluşturmak için IoT Hub ve IoT Edge cihazının orijinal olduğundan emin olmamız gerekir: "Bu cihaz orijinal ve geçerli mi?" ve "IoT Hub kimliği doğru mu?". Senaryo aşağıdaki gibi gösterilebilir:
Her sorunun yanıtlarını açıklayacağız ve ardından örneği makalenin sonraki bölümlerinde genişleteceğiz.
Cihaz IoT Hub kimliğini doğrular
EdgeGateway orijinal ContosoIotHub ile iletişimde olduğunu nasıl doğrular? EdgeGateway bulutla konuşmak istediğinde uç nokta ContosoIoTHub.Azure-devices.NET bağlanır. Uç noktanın orijinal olduğundan emin olmak için IoT Edge'in tanımlamayı (KIMLIK) göstermesi için ContosoIoTHub'a ihtiyacı vardır. Kimlik, EdgeGateway'in güvendiği bir yetkili tarafından düzenlenmelidir. IoT Hub kimliğini doğrulamak için IoT Edge ve IoT Hub, IoT Hub'ın sunucu kimliğini doğrulamak için TLS el sıkışma protokollerini kullanır. Aşağıdaki diyagramda TLS el sıkışması gösterilmiştir. Örneği basit tutmak için bazı ayrıntılar atlanmıştır. TLS el sıkışma protokolü hakkında daha fazla bilgi edinmek için bkz. Wikipedia'da TLS el sıkışması.
Not
Bu örnekte ContosoIoTHub, IoT Hub ana bilgisayar adını ContosoIotHub.Azure-devices.NET temsil eder.
Bu bağlamda, şifreleme algoritmasının tam ayrıntılarını bilmeniz gerekmez. Algoritmanın sunucunun ortak anahtarıyla eşleştirilmiş özel anahtara sahip olmasını sağladığını anlamak önemlidir. Sertifikayı sunanın sertifikayı kopyalamadığını veya çalmadığını doğrular. Örnek olarak bir fotoğraf kimliği kullanırsak yüzünüz kimlik üzerindeki fotoğrafla eşleşir. Birisi kimliğinizi çalarsa, yüzünüz benzersiz ve yeniden oluşturmak zor olduğundan kimliğinizi tespit etmek için kullanamaz. Şifreleme anahtarları için anahtar çifti ilişkili ve benzersizdir. Bir yüzü fotoğraf kimliğiyle eşleştirmek yerine şifreleme algoritması, kimliği doğrulamak için anahtar çiftini kullanır.
Senaryomuzda ContosoIotHub aşağıdaki sertifika zincirini gösterir:
Kök sertifika yetkilisi (CA), Baltimore CyberTrust Kök sertifikasıdır. Bu kök sertifika DigiCert tarafından imzalanır ve yaygın olarak güvenilirdir ve birçok işletim sisteminde depolanır. Örneğin, hem Ubuntu hem de Windows bunu varsayılan sertifika deposuna ekler.
Windows sertifika deposu:
Ubuntu sertifika deposu:
Bir cihaz Baltimore CyberTrust Root sertifikasını denetlediğinde işletim sistemine önceden yüklenmiştir. EdgeGateway perspektifinden bakıldığında ContosoIotHub tarafından sunulan sertifika zinciri işletim sisteminin güvendiği bir kök CA tarafından imzalandığından sertifika güvenilir olarak kabul edilir. Sertifika IoT Hub sunucu sertifikası olarak bilinir. IoT Hub sunucu sertifikası hakkında daha fazla bilgi edinmek için bkz . IoT Hub'da Aktarım Katmanı Güvenliği (TLS) desteği.
Özetle, EdgeGateway ContosoIotHub'ın kimliğini doğrulayabilir ve güvenebilir çünkü:
- ContosoIotHub , IoT Hub sunucu sertifikasını sunar
- Sunucu sertifikasına işletim sistemi sertifika deposunda güvenilir
- ContosoIotHub'ın ortak anahtarıyla şifrelenen verilerin şifresi ContosoIotHub tarafından çözülerek özel anahtara sahip olduğu kanıtlanabilir
IoT Hub, IoT Edge cihaz kimliğini doğrular
ContosoIotHub, EdgeGateway ile iletişimde olduğunu nasıl doğrular? IoT Hub karşılıklı TLS'yi (mTLS) desteklediğinden, istemci kimliği doğrulanmış TLS el sıkışması sırasında EdgeGateway'in sertifikasını denetler. Kolaylık olması için aşağıdaki diyagramdaki bazı adımları atlayacağız.
Bu durumda EdgeGateway, IoT Edge cihaz kimliği sertifikasını sağlar. ContosoIotHub perspektifinden bakıldığında, sağlanan sertifikanın parmak izinin kaydıyla eşleşip eşleşmediğini ve EdgeGateway'in sunduğu sertifikayla eşleştirilmiş özel anahtara sahip olduğunu denetler. IoT Hub'da bir IoT Edge cihazı sağladığınızda bir parmak izi sağlarsınız. Parmak izi, IoT Hub'ın sertifikayı doğrulamak için kullandığı parmak izidir.
İpucu
IoT Edge cihazı kaydederken IoT Hub için iki parmak izi gerekir. En iyi yöntem, farklı son kullanma tarihlerine sahip iki farklı cihaz kimliği sertifikası hazırlamaktır. Bu şekilde, bir sertifikanın süresi dolarsa, diğeri hala geçerli olur ve süresi dolan sertifikayı döndürmek için size zaman verir. Ancak kayıt için yalnızca bir sertifika kullanmak da mümkündür. Cihazı kaydederken hem birincil hem de ikincil parmak izleri için aynı sertifika parmak izini ayarlayarak tek bir sertifika kullanın.
Örneğin, EdgeGateway'de kimlik sertifikasının parmak izini almak için aşağıdaki komutu kullanabiliriz:
sudo openssl x509 -in /var/lib/aziot/certd/certs/deviceid-random.cer -noout -nocert -fingerprint -sha256
Komutu sertifika SHA256 parmak izini çıkış olarak oluşturur:
SHA256 Fingerprint=1E:F3:1F:88:24:74:2C:4A:C1:A7:FA:EC:5D:16:C4:11:CD:85:52:D0:88:3E:39:CB:7F:17:53:40:9C:02:95:C3
IoT Hub'a kayıtlı EdgeGateway cihazının SHA256 parmak izi değerini görüntülersek EdgeGateway'deki parmak iziyle eşleşdiğini görebiliriz:
Özetle, EdgeGateway parmak izi IoT Hub'a kaydedilen parmak iziyle eşleşen geçerli bir IoT Edge cihaz kimliği sertifikası sunduğundan ContosoIotHub EdgeGateway'e güvenebilir.
Sertifika oluşturma işlemi hakkında daha fazla bilgi için bkz . X.509 sertifikalarını kullanarak Linux'ta IoT Edge cihazı oluşturma ve sağlama.
Not
Bu örnek, bir kayıt grubuyla sağlandığında IoT Edge ile X.509 CA kimlik doğrulaması desteğine sahip olan Azure IoT Hub Cihazı Sağlama Hizmeti'ni (DPS) ele almaz. DPS kullanarak CA sertifikasını veya ara sertifikayı karşıya yüklersiniz, sertifika zinciri doğrulanır, ardından cihaz sağlanır. Daha fazla bilgi edinmek için bkz . DPS X.509 sertifika kanıtlama.
Azure Portal'da DPS, SHA256 parmak izi yerine sertifikanın SHA1 parmak izini görüntüler.
DPS, SHA256 parmak izini IoT Hub'a kaydeder veya güncelleştirir. komutunu openssl x509 -in /var/lib/aziot/certd/certs/deviceid-long-random-string.cer -noout -fingerprint -sha256
kullanarak parmak izini doğrulayabilirsiniz. Iot Edge kaydedildikten sonra IoT Hub ile parmak izi kimlik doğrulamayı kullanır. Cihaz yeniden sağlanırsa ve yeni bir sertifika verilirse DPS, IoT Hub'ı yeni parmak iziyle güncelleştirir.
IoT Hub şu anda doğrudan IoT Edge ile X.509 CA kimlik doğrulamayı desteklemez.
Modül kimliği işlemleri için sertifika kullanımı
Sertifika doğrulama diyagramlarında IoT Edge yalnızca IoT Hub ile konuşmak için sertifikayı kullanıyor gibi görünebilir. IoT Edge birkaç modülden oluşur. Sonuç olarak IoT Edge, ileti gönderen modüllerin modül kimliklerini yönetmek için sertifikayı kullanır. Modüller IoT Hub'da kimlik doğrulaması yapmak için sertifikayı kullanmaz, bunun yerine IoT Edge modülü çalışma zamanı tarafından oluşturulan özel anahtardan türetilen SAS anahtarlarını kullanır. Cihaz kimliği sertifikasının süresi dolsa bile bu SAS anahtarları değişmez. Sertifikanın süresi dolarsa, örneğin EdgeHub çalışmaya devam eder ve yalnızca modül kimliği işlemleri başarısız olur.
SAS anahtarı bir gizli diziden türetildiğinden ve IoT Edge anahtarı insan müdahalesi riski olmadan yönettiğinden modüllerle IoT Hub arasındaki etkileşim güvenlidir.
Ağ geçidi olarak IoT Edge ile iç içe yerleştirilmiş cihaz hiyerarşisi senaryosu
Artık IoT Edge ile IoT Hub arasında basit bir etkileşim hakkında bilgi sahibisiniz. Ancak IoT Edge, aşağı akış cihazları veya diğer IoT Edge cihazları için bir ağ geçidi işlevi de görebilir. Bu iletişim kanalları da şifrelenmeli ve güvenilir olmalıdır. Eklenen karmaşıklık nedeniyle örnek senaryomuzu aşağı akış cihazı içerecek şekilde genişletmemiz gerekir.
IoT Hub ContosoIotHub'a bağlanan üst IoT Edge cihazı EdgeGateway'e bağlanan TempSensor adlı normal bir IoT cihazı ekliyoruz. Öncekine benzer şekilde, tüm kimlik doğrulaması X.509 sertifika kimlik doğrulaması ile yapılır. Yeni senaryomuzda iki yeni soru geliyor: "TempSensor cihazı yasal mı?" ve "EdgeGateway kimliği doğru mu?". Senaryo aşağıdaki gibi gösterilebilir:
İpucu
TempSensor , senaryoda bir IoT cihazıdır. TempSensor üst EdgeGateway'in aşağı akış IoT Edge cihazıysa sertifika kavramı aynıdır.
Cihaz ağ geçidi kimliğini doğrular
TempSensor orijinal EdgeGateway ile iletişimde olduğunu nasıl doğrular? TempSensor EdgeGateway ile konuşmak istediğinde, TempSensor'ın kimlik göstermesi için EdgeGateway'e ihtiyacı vardır. Kimlik, TempSensor'ın güvendiği bir yetkili tarafından düzenlenmelidir.
Akış, EdgeGateway'in ContosoIotHub ile konuşması ile aynıdır. TempSensor ve EdgeGateway, EdgeGateway'in kimliğini doğrulamak için TLS el sıkışma protokollerini kullanır. İki önemli ayrıntı vardır:
- Ana bilgisayar adı özgülüğü: EdgeGateway tarafından sunulan sertifika, TempSensor'ın EdgeGateway'e bağlanmak için kullandığı ana bilgisayar adına (etki alanı veya IP adresi) gönderilmelidir.
- Otomatik olarak imzalanan kök CA özgülüğü: EdgeGateway tarafından sunulan sertifika zinciri büyük olasılıkla işletim sistemi varsayılan güvenilen kök deposunda değildir.
Ayrıntıları anlamak için önce EdgeGateway tarafından sunulan sertifika zincirini inceleyelim.
Ana bilgisayar adı özgülüğü
CN = edgegateway.local sertifika ortak adı zincirin en üstünde listelenir. edgegateway.local, edgeHub'ın sunucu sertifikası ortak adıdır. edgegateway.local aynı zamanda TempSensor ve EdgeGateway'in bağlı olduğu yerel ağda (LAN veya VNet) EdgeGateway'in ana bilgisayar adıdır. 192.168.1.23 gibi özel bir IP adresi veya diyagram gibi tam etki alanı adı (FQDN) olabilir. edgeHub sunucu sertifikası, IoT Edge config.toml dosyasında tanımlanan hostname parametresi kullanılarak oluşturulur. EdgeHub sunucu sertifikasını Edge CA sertifikasıyla karıştırmayın. Edge CA sertifikasını yönetme hakkında daha fazla bilgi için bkz . IoT Edge sertifikalarını yönetme.
TempSensor EdgeGateway'e bağlandığında, TempSensor EdgeGateway'e bağlanmak için edgegateway.local ana bilgisayar adını kullanır. TempSensor, EdgeGateway tarafından sunulan sertifikayı denetler ve sertifika ortak adının edgegateway.local olduğunu doğrular. Sertifika ortak adı farklıysa, TempSensor bağlantıyı reddeder.
Not
Kolaylık olması için, örnek doğrulanan özellik olarak konu sertifikası ortak adını (CN) gösterir. Uygulamada, bir sertifikanın konu alternatif adı (SAN) varsa, CN yerine SAN doğrulanır. Genel olarak, SAN birden çok değer içerebileceğinden hem sertifika sahibi için ana etki alanına/konak adına hem de diğer etki alanlarına sahiptir.
EdgeGateway'e neden kendi ana bilgisayar adı hakkında bilgi vermeniz gerekiyor?
EdgeGateway , ağdaki diğer istemcilerin buna nasıl bağlanabileceğini bilmek için güvenilir bir yönteme sahip değildir. Örneğin, özel bir ağda, EdgeGateway'i veya example-mdns-hostname.local
olarak 10.0.0.2
listeleyen DHCP sunucuları veya mDNS hizmetleri olabilir. Ancak bazı ağlarda EdgeGateway'in IP adresine 10.0.0.2
eşlenen edgegateway.local
DNS sunucuları olabilir.
IoT Edge, sorunu çözmek için içinde config.toml
yapılandırılan konak adı değerini kullanır ve bunun için bir sunucu sertifikası oluşturur. EdgeHub modülüne bir istek geldiğinde, sertifikayı doğru sertifika ortak adıyla (CN) sunar.
IoT Edge neden sertifika oluşturur?
Örnekte, sertifika zincirinde ayrılmış bir iş yükü ca edgegateway olduğuna dikkat edin. IoT Edge cihazında Edge CA (eski adı 1.1 sürümünde Cihaz CA'sı olarak bilinirdi) bulunan sertifika yetkilisidir (CA ). Önceki örnekteki Baltimore CyberTrust kök CA'sı gibi Edge CA da başka sertifikalar verebilir. En önemlisi ve bu örnekte sunucu sertifikasını edgeHub modülüne gönderir. Ancak IoT Edge cihazında çalışan diğer modüllere de sertifika verebilir.
Önemli
Varsayılan olarak yapılandırma olmadan Edge CA, hızlı başlangıç Edge CA olarak bilinen ilk kez başlatıldığında IoT Edge modülü çalışma zamanı tarafından otomatik olarak oluşturulur ve edgeHub modülüne bir sertifika gönderir. Bu işlem, edgeHub'ın imzalı geçerli bir sertifika sunmasına izin vererek akış cihazı bağlantısını hızlandırır. Bu özellik olmadan, CA'nızın EdgeHub modülü için bir sertifika vermesini almanız gerekir. Otomatik olarak oluşturulan bir hızlı başlangıç Edge CA'sı üretimde kullanılmak üzere desteklenmez. Hızlı başlangıç Edge CA'sı hakkında daha fazla bilgi için bkz . Hızlı Başlangıç Edge CA.
Cihazda bir veren sertifikası olması tehlikeli değil mi?
Edge CA sınırlı, güvenilir olmayan, pahalı veya bağlantısı olmayan çözümleri etkinleştirmek için tasarlanmıştır, ancak aynı zamanda sertifika yenilemeleriyle ilgili katı düzenlemelere veya ilkelere sahiptir. Edge CA olmadan, IoT Edge (ve özellikle edgeHub
) çalışamaz.
Üretimde Edge CA'nın güvenliğini sağlamak için:
- EdgeCA özel anahtarını, tercihen özel anahtarın kısa süreli olarak oluşturulduğu ve TPM'den hiç ayrılmadığı bir şekilde güvenilir bir platform modülüne (TPM) yerleştirin.
- Edge CA'sı tarafından toplandığı bir Ortak Anahtar Altyapısı (PKI) kullanın. Bu, güvenliği aşılmış sertifikaların yenilenmesini devre dışı bırakma veya reddetme olanağı sağlar. PKI, nasıl yapıldığını biliyorsa (daha düşük maliyet) veya ticari bir PKI sağlayıcısı aracılığıyla müşteri BT tarafından yönetilebilir.
Otomatik olarak imzalanan kök CA'ya özgü
edgeHub modülü, tüm gelen trafiği işleyerek IoT Edge'i oluşturan önemli bir bileşendir. Bu örnekte, Edge CA tarafından verilen ve otomatik olarak imzalanan kök CA tarafından verilen bir sertifika kullanır. Kök CA'ya işletim sistemi tarafından güvenilemediğinden, TempSensor'ın buna güvenmesinin tek yolu CA sertifikasını cihaza yüklemektir. Bu, kökü zincire güvenmesi gereken istemcilere dağıtmanız gereken güven paketi senaryosu olarak da bilinir. Güven paketi senaryosu, cihaza erişmeniz ve sertifikayı yüklemeniz gerektiğinden sorun olabilir. Sertifikanın yüklenmesi planlama gerektirir. Betiklerle yapılabilir, üretim sırasında eklenebilir veya işletim sistemi görüntüsüne önceden yüklenebilir.
Not
Bazı istemciler ve SDK'lar işletim sistemi güvenilen kök depoyu kullanmaz ve kök CA dosyasını doğrudan geçirmeniz gerekir.
TempSensor, bu kavramların tümünü uygulayarak orijinal EdgeGateway ile iletişim kurduğunu doğrulayabilir çünkü adresle eşleşen bir sertifika sundu ve sertifika güvenilir bir kök tarafından imzalandı.
Sertifika zincirini doğrulamak için TempSensor cihazında kullanabilirsinizopenssl
. Bu örnekte, bağlantı için ana bilgisayar adının derinlik 0 sertifikasının CN'si ile eşleşir ve kök CA eşleşir.
openssl s_client -connect edgegateway.local:8883 --CAfile my_private_root_CA.pem
depth=3 CN = my_private_root_CA
verify return:1
depth=2 CN = my_optional_intermediate_CA
verify return:1
depth=1 CN = iotedged workload ca edgegateway
verify return:1
depth=0 CN = edgegateway.local
verify return: 1
CONNECTED(00000003)
---
Certificate chain
0 s:/CN=edgegateway.local
i:/CN=iotedged workload ca edgegateway
1 s:/CN=iotedged workload ca edgegateway
i:/CN=my_optional_intermediate_CA
2 s:/CN=my_optional_intermediate_CA
i:/CN=my_private_root_CA
Komut hakkında openssl
daha fazla bilgi edinmek için OpenSSL belgelerine bakın.
Ayrıca, içinde varsayılan olarak /var/lib/aziot/certd/certs
depolandıkları sertifikaları da inceleyebilirsiniz. Edge CA sertifikalarını, cihaz kimliği sertifikalarını ve modül sertifikalarını dizinde bulabilirsiniz. Sertifikaları incelemek için komutları kullanabilirsiniz openssl x509
. Örneğin:
sudo ls -l /var/lib/aziot/certd/certs
total 24
-rw-r--r-- 1 aziotcs aziotcs 1090 Jul 27 21:27 aziotedgedca-86f154be7ff14480027f0d00c59c223db6d9e4ab0b559fc523cca36a7c973d6d.cer
-rw-r--r-- 1 aziotcs aziotcs 2589 Jun 22 18:25 aziotedgedmoduleIoTEdgeAPIProxy637913460334654299server-c7066944a8d35ca97f1e7380ab2afea5068f39a8112476ffc89ea2c46ca81d10.cer
-rw-r--r-- 1 aziotcs aziotcs 2576 Jun 22 18:25 aziotedgedmoduleedgeHub637911101449272999server-a0407493b6b50ee07b3fedbbb9d181e7bb5f6f52c1d071114c361aca628daa92.cer
-rw-r--r-- 1 aziotcs aziotcs 1450 Jul 27 21:27 deviceid-bd732105ef89cf8edd2606a5309c8a26b7b5599a4e124a0fe6199b6b2f60e655.cer
Özetle, TempSensor EdgeGateway'e güvenebilir çünkü:
- edgeHub modülünde edgegateway.local için geçerli bir IoT Edge modülü sunucu sertifikası gösterildi
- Sertifika, tarafından verilen Edge CA tarafından verilir
my_private_root_CA
- Bu özel kök CA, tempSensor'da daha önce güvenilen kök CA olarak da depolanır
- Şifreleme algoritmaları, sahiplik ve verme zincirine güvenilebileceğini doğrular
Diğer modüller için sertifikalar
Diğer modüller, Edge CA tarafından verilen sunucu sertifikalarını alabilir. Örneğin, web arabirimine sahip bir Grafana modülü. Ayrıca Edge CA'dan sertifika alabilir. Modüller kapsayıcıda barındırılan aşağı akış cihazları olarak değerlendirilir. Ancak IoT Edge modülü çalışma zamanından sertifika alabilmek özel bir ayrıcalıktır. Modüller, yapılandırılan Edge CA'ya zincirlenmiş sunucu sertifikasını almak için iş yükü API'sini çağırır.
Ağ geçidi cihaz kimliğini doğrular
EdgeGateway, TempSensor ile iletişimde olduğunu nasıl doğrular? EdgeGateway, TempSensor kimliğini doğrulamak için TLS istemci kimlik doğrulamasını kullanır.
Sıra, ContosoIotHub'ın bir cihazı doğrulamasına benzer. Ancak bir ağ geçidi senaryosunda EdgeGateway, contosoiotHub'ı sertifikaların kaydı için gerçek kaynağı olarak kullanır. EdgeGateway , bulut bağlantısı olmaması durumunda çevrimdışı bir kopya veya önbellek de tutar.
İpucu
IoT Edge cihazlarının aksine aşağı akış IoT cihazları parmak izi X.509 kimlik doğrulamasıyla sınırlı değildir. X.509 CA kimlik doğrulaması da bir seçenektir. EdgeGateway, parmak izinde eşleşme aramak yerine TempSensor sertifikasının kökünün ContosoIotHub'a yüklenmiş bir CA'da olup olmadığını da denetleyebiliyor.
Özetle, EdgeGateway TempSensor'a güvenebilir çünkü:
- TempSensor adı için geçerli bir IoT cihaz kimliği sertifikası sundu
- Kimlik sertifikasının parmak izi ContosoIotHub'a yüklenen parmak iziyle eşleşir
- Şifreleme algoritmaları, sahiplik ve verme zincirine güvenilebileceğini doğrular
Sertifikaların ve yönetimin nereden alınacağı
Çoğu durumda, kendi sertifikalarınızı sağlayabilir veya otomatik olarak oluşturulan sertifikalarda kullanabilirsiniz. Örneğin, Edge CA ve edgeHub sertifikası otomatik olarak oluşturulur.
Ancak en iyi yöntem, cihazlarınızı x509 sertifikalarını yönetmek için Güvenli Aktarım (EST) üzerinden Kayıt sunucusu kullanacak şekilde yapılandırmaktır. EST sunucusu kullanmak, sertifikaları el ile işlemenizi ve cihazlara yüklemenizi engeller. EST sunucusu kullanma hakkında daha fazla bilgi için bkz . Azure IoT Edge için Güvenli Aktarım Sunucusu üzerinden Kaydı Yapılandırma.
EST sunucusunda kimlik doğrulaması yapmak için sertifikaları da kullanabilirsiniz. Bu sertifikalar, diğer sertifikaları vermek üzere EST sunucularıyla kimlik doğrulaması yapmak için kullanılır. Sertifika hizmeti, EST sunucusuyla kimlik doğrulaması yapmak için bir bootstrap sertifikası kullanır. Bootstrap sertifikası uzun ömürlüdür. İlk kimlik doğrulamasından sonra sertifika hizmeti, EST sunucusuna bir kimlik sertifikası verme isteğinde bulunur. Bu kimlik sertifikası, aynı sunucuya gelecek EST isteklerinde kullanılır.
EST sunucusu kullanamıyorsanız, PKI sağlayıcınızdan sertifika istemeniz gerekir. Sertifika dosyalarını IoT Hub'da ve IoT Edge cihazlarınızda el ile yönetebilirsiniz. Daha fazla bilgi için IoT Edge cihazında sertifikaları yönetme.
Kavram kanıtı geliştirme için test sertifikaları oluşturabilirsiniz. Daha fazla bilgi için bkz . IoT Edge cihaz özelliklerini test etmek için tanıtım sertifikaları oluşturma.
IoT'de sertifikalar
Sertifika yetkilisi
Sertifika yetkilisi (CA), dijital sertifikalar veren bir varlıktır. Sertifika yetkilisi, sertifikanın sahibi ve alıcısı arasında güvenilir bir üçüncü taraf olarak görev yapar. Dijital sertifika, ortak anahtarın sahipliğini sertifikanın alıcısı tarafından onaylar. Sertifika güven zinciri başlangıçta bir kök sertifika vererek çalışır. Bu, yetkili tarafından verilen tüm sertifikalarda güvenin temelini oluşturur. Kök sertifika sahibi daha sonra ek ara sertifikalar (aşağı akış cihaz sertifikaları) verebilir.
Kök CA sertifikası
Kök CA sertifikası, tüm işlemin güven köküdür. Üretim senaryolarında bu CA sertifikası Baltimore, Verisign veya DigiCert gibi güvenilir bir ticari sertifika yetkilisinden satın alınır. IoT Edge cihazlarınıza bağlanan cihazlar üzerinde tam denetime sahipseniz, şirket düzeyinde bir sertifika yetkilisi kullanabilirsiniz. Her iki durumda da IoT Edge'den IoT Hub'a tüm sertifika zinciri bunu kullanır. Aşağı akış IoT cihazlarının kök sertifikaya güvenmesi gerekir. Kök CA sertifikasını güvenilen kök sertifika yetkilisi deposunda depolayabilir veya uygulama kodunuzda sertifika ayrıntılarını sağlayabilirsiniz.
Ara sertifikalar
Güvenli cihazlar oluşturmaya yönelik tipik bir üretim sürecinde kök CA sertifikaları, özellikle sızıntı veya maruz kalma riski nedeniyle doğrudan nadiren kullanılır. Kök CA sertifikası bir veya daha fazla ara CA sertifikası oluşturur ve dijital olarak imzalar. Yalnızca bir tane olabilir veya bu ara sertifikaların zinciri olabilir. Ara sertifika zinciri gerektiren senaryolar şunlardır:
- Bir üretici içindeki departman hiyerarşisi
- Bir cihazın üretimine seri olarak dahil olan birden çok şirket
- Kök CA satın alan ve üreticinin bu müşteri adına yaptığı cihazları imzalaması için bir imzalama sertifikası türeyen bir müşteri
Her durumda, üretici uç cihaza yerleştirilen Edge CA sertifikasını imzalamak için bu zincirin sonunda bir ara CA sertifikası kullanır. Bu ara sertifikalar üretim tesisinde yakından korunuyor. Kullanımları için hem fiziksel hem de elektronik katı süreçlere tabi tutulurlar.
Sonraki adımlar
- IoT Edge cihazına sertifika yükleme ve yapılandırma dosyasından bunlara başvurma hakkında daha fazla bilgi için bkz . IoT Edge cihazında sertifikayı yönetme.
- Azure IoT Edge modüllerini anlama
- IoT Edge cihazını saydam ağ geçidi olarak davranacak şekilde yapılandırma
- Bu makalede, IoT Edge cihazındaki farklı bileşenler arasındaki veya IoT Edge cihazı ile aşağı akış cihazları arasındaki bağlantıların güvenliğini sağlamak için kullanılan sertifikalar anlatılır. IoT Edge cihazınızın kimliğini IoT Hub'da doğrulamak için sertifikalar da kullanabilirsiniz. Bu kimlik doğrulama sertifikaları farklıdır ve bu makalede açıklanmamıştır. Sertifikalarla cihazınızın kimliğini doğrulama hakkında daha fazla bilgi için bkz . X.509 sertifikalarını kullanarak IoT Edge cihazı oluşturma ve sağlama.