Tampering önlemek için güvenli bir Boot'u gömülü Iot Cihazlarında Uygulamayı Uygulayın
Güvenli Çığlık Imperative of Secure Boot in Protectored IoT Security
İnternet bağlantılı cihazların endüstri genelindeki çoğalması - tıbbi monitörlerden ve endüstriyel kontrolörlerden akıllı metre ve ev otomasyon merkezlerine - geniş bir saldırı yüzeyi yaratmaktadır. kenardaki bir uzlaşma cihazı, her bir ağ geçidi olarak hizmet edebilir, veri hırsızlığına veya fiziksel hasara neden olur. Bu tür tehditlere karşı en temel savunmalardan biri şu anda güçten güvenilir bir uygulama ortamının kurulmasıdır. Güvenli bir boot, kriptografik bir şekilde, başlangıçtaki sürecin her aşamasına hizmet edebilir.
Güvenli bir boot olmadan, fiziksel veya yazılım erişimi olan bir saldırgan, bootloader veya bilgisayarları yeniden başlatmaya devam eden kötü bir sürümle değiştirebilir, "profilli kök kutusu" olarak bilinen bir tekniktir. Cihazın saldırgan kontrollü kod, her bir sonraki katman -ope sistemi, uygulamalar ve veriler - bu saldırı sınıfını değil, aynı zamanda daha güvenli bir şekilde daha yüksek seviyeli güncellemeler için temel sağlar.
Güvenli Bir Çığ Nedir? Güvenin Kriptografik Bir Zincir
Temel Prensip: Güvenmeden Önce Doğruyu Ver
Güvenli bir boot, bir sıfırdan sonra yapılan her kod parçasının gerçek ve yenilmez olmasını sağlayan donanıma sahip bir süreçtir.Sağlama işlemine dayanır:0) Bir sonraki aşamanın (ilk-tanışlı) dijital imzasını kontrol eder (ilk-tanışlı bir güvenlik modülü) - bir sonraki aşamaya kadar (bir veya daha fazla kamu anahtarlarını dağıtır.
Kriptografik Vakıflar
Güvenli boot, asimetrik kriptografi (ya da PKI) Özel bir anahtar, cihazın ortamında güvenli bir şekilde tuttu, her bir bilgisayar görüntüsü ile imzalanır.
Diğer Boot Güvenlik Özelliklerden Güvenli Çığlık
Güvenli çizme genellikle www.D.D.T.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D
Güvenli Çığ Neden Gömülü IoT Cihazları için Eleştirel
Fiziksel ve Uzak Saldırı Riskleri
Gömülü cihazlar genellikle saldırganların flaş hafızaya fiziksel erişim elde edebileceği gözetimsiz ortamlarda dağıtılır, UART/JTAG portları veya hafıza fişlerini kaldıramaz. Güvenli bir boot olmadan, bir saldırgan güvenlik sensörlerini devre dışı bırakan değiştirilmiş bir bilgisayar flaşlayabilir veya cihazı bilinen bir botnet katılımcısına dönüştürür.
Düzenleme ve Endüstri Mandates
Hükümetler ve endüstri organları giderek bağlantılı cihazlar için güvenli bir şekilde önyükleme gerektirir.TheETHFLT:0)EU Cyber Resilience Act), FDA'nın tespiti ile ilgili tüm standartların tümünü vurgulaması gerekir.Kalifornia'nın SB-327) ("IoT güvenlik yasası) ve SWaP güvenlik seviyeleri ile satış yapmak isteyen üreticiler için, güvenli bir şekilde önyükleme artık tercih edilmez.
Güvenli bir Boot Sisteminin Temelleri
Güvenin Donanım Kökü (RoT)
RoT, tüm güven zincirinin demiridir.Intmutable (cannot be modified by software) ve kriptografik anahtarları depolamak için güvenli bir ortam sağlamalıdır.
- [FONT:0)Oku-sadece hafıza (ROM) bootloader) - Üretim sırasında küçük bir program maskesi programlanmış. Bu, kamu anahtarını ve ilk doğrulama mantığını içeriyor. Bunlar üretimden sonra yazılamazlar.
- [FONT=0)Trusted Platform Modül (TPM)) – RSA /ECC işlemleri, mağaza anahtarlarını gerçekleştirebilecek özel bir güvenlik çipi ve mühürlenmiş depolama anahtarı TPM'nin ciro anahtarı ve depolama anahtarı, çipin içinde oluşturulacak ve korunuyor.
- [FONT=0)Secure Element (SE)) – Bir TPM'ye benzer ama genellikle düşük güç için tasarlanmış küçük-form-fak cihazlar için tasarlanmıştır.
- [FONT:0]ARM TrustZone / Intel CSE / AMD PSP[[Döntgen: 1) Normal OS'den ayrı bir "güvenli dünya" oluşturan çip izolasyonu. Bu dünyada çalışan bilgisayar, donanım destekli füzyonlarda güvenli bir şekilde uygulanabilir.
Anahtarlar ve Sertifika Merhabaerarchy
Büyük ölçekli IoT dağıtımları, üç katmanlı bir PKI kullanır: bir kök CA (kesinlikle kullanılır), bir orta imza CA ve cihaz bazlı anahtar çiftleri. Birçok uygulamada, cihaz yalnızca kök CA genel anahtarını (veya onun hash) RoT.Allware görüntüleri orta anahtar tarafından imzalanır ve cihaz köke geri döner.
Bootloader ve Verification Stages
boot işlemi, her aşamayı küçük tutmak için çok sayıda aşamaya ayrılmıştır, ancak aynı zamanda karmaşık bir işletim sistemi yüklenmesine izin verirken, küçük bir aşamaya ayrılmıştır:
- [FONT=0)Stage 0 (ROT)) – ROM kodu ilk aşama bootloader (FSBL) yükleri ve imzasını doğrulayın.If legitimate, the FSBL is performed from on-chip SRAM.
- [FONT:0) 1. (FSBL)) – İlk olarak DRAM, bir sonraki aşama bootloader (örneğin U-Boot veya özel bir yükleyici gibi) flaştan yükleyin ve imzasını doğrulayın.
- [FONTNT:0]Stage 2 (SSBL)) – İlk cihaz ağacı, işletim sistemi çekirdeği (Linux, Zephyr, FreeRTOS, vs.) ve çekirdek görüntü imzasını doğrulayın.
- [FONT=0) 3 (OSelek)) - Çekirdek infazdan sonra güvenilir uygulama ortamı (TEE) kullanıcı alanı uygulamalarını veya imzalanmış çekirdek modüllerini doğrulayabilir.
Her aşama saldırı yüzeyi azaltır, çünkü güvenilir bilgi tabanı sadece doğrulama geçtikten sonra büyür.
Adım-Adım Uygulama Kılavuzu IoT'yi Korumalı IoT
Adım 1: Tehdit Modeli ve Güven Boundaries
Uygulamadan önce, cihazın fiziksel dağıtımını analiz edin, ağ bağlantısını ve bu verilerin değerini ele alır. Örneğin, sadece over BLE'leri içeren bir batarya destekli sensör, bir güvenlik-kritik endüstriyel PLC'den farklı bir risk profiline sahip olabilir.
Adım 2: Güvenli Parmak Kaplılığı ile Bir Donanım Platformu seçin
Tüm mikrokontrolörler güvenli bir boot desteği değil. Güçlü güvenli bir boot çözümü sunan bir çip seçin:In-çip anahtar depolama (örneğin, eFus veya OTP NVRAM), ve yerleşik bir donanım kripto hızlandırıcısı.
- [FONT=0)NXP i.MX RT ve i.MX 8/9 serisi[DÜT:1) - Yüksek Garanti Çığ (HAB) SHA-256 ve RSA kullanarak; şifreli çizme görüntüleri destekler.
- [FONT=0)STM32MP1 / STM32H7) – STM32 X-CUBE-SBSFU (Secure Boot and Secureware Company Update) kullanarak güvenli bir boot.
- [FONT=0)Mikroçi SAM L10/L11[Dönetici: 1 ) – GüvenZone ve tam dayanıklı hafızada anahtar koruma ile güvenli bir şekilde önyükleme.
- [FONT:0]Espressif ESP32-C3/S3) – Dijital imza doğrulama ile güvenli boot V2, flaş şifreleme desteği için destek.
- [FONT=0)Renes RA Family) – Güvenli Kripto Motoru (SCE) ve anahtar koruma ile güvenli bir boot.
- [FONT:0]ARM Cortex-M33/M55[DÜT:1) – TF-M (Trusted Firmaware-M) güvenli bir önyükleme ile referans uygulamaları.
- [FONT:0]Intel / AMD x86 IoT işlemcileri – UEFI Secure Boot and Boot Guard (konuşağı üzerinde düşünülmüş)
Seçilmiş SoC, bir Donanım RoT'yi içermezse, ayrı bir TPM (örneğin, Infineon SLB9670) veya güvenli element (Mikroçi ATECC608A) bir tane sağlamak için daha pahalı olabilir, ancak yükseltme kabiliyeti sunar.
3. Adım: Genrate ve Mağaza Güvenin Kökü
Cihaz üretiminde, her cihaz, tek zamanlı bir çalışma olarak adlandırılan benzersiz veya paylaşılan kök halka açık anahtarını olmalıdır. yüksek hacimli üretim için, çoğu üretici güvenli bir enklavuz içinde bir sunucuda çevrimdışı olarak yapılır.[Döneticileri 1 ) Tüm cihazlara aynı anahtarın yayıldığı yaklaşıma sahip değildir[Döneticileri bir anahtar çıkarsa, tüm cihazlara karşı savunmasız kalır.
Adım 4: Firmaware Images
Tüm bilgisayar görüntülerini tek başına özel anahtarla gösteren bir CI/CD boru hattını oluşturun. Her bir bilgisayar versiyonu için, inşa senaryosu ikili üretir, SHA-256 /384 hash ve appends the RSA-2048/4096 veya ECDSA imza. birçok SDK satıcısı imza araçları sağlar; özel bootloaders için, hedef bootloader için imzayı kullanabilirsiniz.
Önemli: sadece bir sunucu para yükü değil aynı zamanda metadata (örneğin, sürüm numarası, hedef donanım ID, görüntü uzunluğu) bu bir saldırganın eski, kırılgan bir bilgisayar versiyonuna geri dönüştüğünü engeller.[/FONT=0)Anti-rollback koruması).
Adım 5: Kutuyu Doğrulama için yapılandırın
U-Boot (Linux tabanlı sistemler) özelleştirilmesi
U-Boot kullanarak sistemler için CONFIG CHAIN OF TRUST ve CONFIG VERIFICATION INSECURE ve bir imza başarısız olursa otomatik olarak kurtarma modunda kullanabilirsiniz.
MCUBoot ( RTOS veya Zephyr için)
MCUBoot, Zephyr RTOS boot zincirinde güvenli bir şekilde önyükleme için de facto standarttır ve dış flaş ile çalışır (A/B update mekanizması) ve RSA kullanarak tek imaj yuvasını hata kurtarma ile destekler. MCUBoot, Zephyr RTOS boot zinciri ile bütünleştirir ve dış flaş ile çalışır.
Satıcı-özel bootloaders
NXP i.MX için, HAB (High:16 Boot) CST aracı aracılığıyla yapılandırın. STM32 için, X-CUBE-SBSFU'yi her iki güvenli önyükleme ve güvenli bir şekilde güncelleme içeren bir paket.For ESP32, CONFIG SECURE BOOT V2 menüde sağlar ve imza senaryoyu çalıştırın.
Adım 6: Güvenli Şirketware Update Over-the-Air (FOTA)
Güvenli çizme sadece güncelleştirme mekanizması kadar güçlüdür. Bir saldırgan giriş yapmadan önce imzalanmamış bir bilgisayara enjekte edebilirse, bir sonraki boot'de güvenli boot'in doğrulamasını yakalayacaktır, ancak bir inkar-hiz koşulu sonuçlanabilir.The update process itself must verify the sign before writing to the boot partition.
- Banka A mevcut bir bilgisayar kullanıyor; Banka B boş veya bilinen en iyi sürümü tutuyor.
- bootloader bankadan imza kontrolü geçen en yüksek sürümle botlar.
- Bir OTA güncellemesi başarısız olursa (kahraman veya imza geçersiz), bootloader diğer bankaya döner, cihaz işlevselliğini korur.
- Başarılı bir güncellemede, bootloader yeni bankadan uzaklaşmak için bir bayrak ayarlar.
Tüm güncellemeler aynı (veya zincirli) özel anahtarla imzalanmalıdır.Her zaman:0)tartık bir şekilde, eski imzalanmış bir görüntünün yeniden oynatıldığı yeniden oynamasını engellemek için monotonluk karşıdır.
Gerçek Dünya Uygulama Mimarileri
ARM TrustZone-M (Cortex-M23/M33) ile
Güvenilen Firmaware-M (TF-M), güvenli bir boot, güvenli bölüm yöneticisi ve ARMv8-M sistemleri için güvenli bir şekilde programlama sağlar. TF-M'nin bootloader (BL2), MCUBoot ve görüntü imzası, doğrulama ve anti-rollback ile birlikte çalışır. Güvenli bölüm yöneticisi (SPM) şifreyi “güvenli” ve “güvenli” dünyalar önyüklemeden sonra bile.
AMD/Ryzen gömülü + PSP + UEFI Güvenli
Yüksek uçlu gömülü sistemler, Microsoft'un Güvenli Parmak Tanımlaması ( Windows için tanımlanmış) Platform Secure Processor (PSP) donanımla bir araya gelerek EFI bootloader'ı kullanarak platform anahtarlarını (PK, KEK) kullanarak, UEFI Secure Boot'in Secure Boot spesifikasyonu için bir araya getiriyor.In IoT deployments için UEFI Secure Boot, Windows IoT veya belirli lezzetleri için gerekli olan cihazlar için gerekli olan Windows IoT veya belirli lezzetleri için gerekli.
NXP i.MX High Güvence Boot (HAB)
NXP'nin HAB, otomotiv ve endüstriyel cihazlarda yaygın olarak kullanılır. Anahtar rotasyon araçları için bir "Super Root Key" (SRK) güvenli bir şekilde depolanır.The boot ROM Findifies the CKI tree (Command Sequence File) which include digital signs for each image. HAB version 4 supportcrypt image and multiple ⁇ table entries for key return.
Ortak meydan okumalar ve Mitigate Them
Anahtar Yönetimi Kompleksi
En büyük engel, ürün yaşam döngüsü boyunca özel anahtarı koruyor.En iyi uygulamalar: HSM (Hardware Security Module) veya bulut tabanlı anahtar hizmeti (AWS CloudHSM, Azure Key Vault) imza işlemleri için. Rotate orta anahtarlar düzenli olarak.
Tuğlalı Cihazlardan Kurtarma
flaş bozulmuş veya bir güncelleştirme yüklemeleri yanlış bir şekilde, cihaz tamir amaçlı güvenli bir şekilde kaldırmayı reddedebilir - ancak bu doğru bir şekilde kontrol edilemeyen fiziksel saldırılar için bir pencere açar.
Performans ve Boot Time Overhead
Asimetrik imza doğrulama yüzlerce milisaniye alabilir, özellikle de düşük güç MCU'lar bir donanım kripto hızlandırıcısı olmadan ECDSA'yı daha küçük imzalar ve daha hızlı doğrulama için kullanabilir.Birçok satıcı, imzalanmış verileri 10 m'ların altında doğrulama işlemleri gerçekleştirecek özel kripto motorları içerir.
Endüstri Üniforması eksikliği
Her SoC satıcısı özel bir güvenli çizme uygulamasına sahiptir. Geliştiriciler her seferinde belirli bir araç zincir ve senaryoyu öğrenmelidir. MCUBoot veya U-Boot soyutları bu farklılıkların bir kısmını oluşturur. Standardizasyon çabaları: TAM – TCG Attestation Model, WEB
Güvenli Çığlıklı Teknolojilerle
Güvenli boot tek başına runtime saldırılarına karşı korumaz, yan kanal sızıntısı veya uzlaşmacı güncelleme sunucuları.
- [FONT=0)ZHENDİSLİĞİ:0) Sertware-enforced izolasyon (e.g., ARM TrustZone, Intel SGX veya RISC-V PMP) anahtarlarını çizmeden sonra bile korumak için.
- [FONT:0) Kayıt ve şifreli depolama (flash şifreleme) anahtarların veya bilgisayar binerlerinin çıkarılmasını önlemek için.
- [FONT=0]Remote attestation[[Dönetici: 1) Cihazın, önyükleme zincirinin bir bulut sunucusuna (örneğin, DICE – Device Identifier Engine) girişini kanıtlamaktadır.
- [FONT:0]Runtime bütünleme izleme[[Dönetici: 1) - kritik kod bölgeleri ve konfigürasyon kayıtlarının periyodik kontrolleri.
- [FONT:0)Güvenli infaz ortamları (TEE)), OS botlarından sonra bile izole bir dünyada hassas işlemlere ev sahipliği yapmak için.
Future: e.g., DICE, PAS sertifikalı ve bütünleştirilmiş güvenlik
[FONT=0)Device Identifier Kompozisyon Motoru (DICE)[DICE)[DICE)[D)[UDS:0)Device Identifier Kombine Motoru (DICE)[DICE)[DICE)[DICE)[DFLT:1), TCG tarafından tanımlanan, önceden belirlenmiş bir özel anahtar olmadan basit bir donanım sırrı kullanır, tek başına bir tek kullanımlıktır. DICE, yüksek hacimli, düşük maliyetli cihazlar için idealdir.
[FONT:0]PSA sertifikalı [[Dönetici:0) [Platform Security Architecture) 1 (bask koruma) 3 (hardware izolasyon Seviye 2, fiziksel tamper direnci gerektirirken, kılavuzları kullanarak tasarım riskini azaltır ve alıcı güven seviyelerini 1'den (basın koruma) 3'e kadar (kahraman koruma seviyesine ulaşır.
Daha da önemlisi, güvenli boot, doğrudan çip seviyesindeki "gizli" şeklinde silikona entegre edilir ve tüm kimlik doğrulama ve anahtar depolamayı idare eder. Bu özelliklerin maliyeti azalırken, en düşük maliyetli IoT SoCs bile, immutable ROM ve on-die anahtar depolama ile gemi bekleniyor.
Sonuç: Güvenli bir şekilde Savunmanın İlk Hattını Yap
gömülü IoT cihazlarında güvenli bir boot uygulamak önemsiz bir girişim değildir, ancak güvenli anahtar yönetime karşı en önemli kontroldür. Bir donanıma sahip olmak için, üreticiler her cihazın yalnızca gerçekleştirilmiş, yanlış olmayan bir şekilde güncellenmesini sağlayabilirler.In the process requires careful key management, and integration with safe component updates processes.The çaba ödemeli risk of the scope of mitigate, the scope of the solution, uyumluluğun ortaya çıkmasıyla birlikte, artan güncellemeler için tüm cihaz ömrü boyunca güvenliğe ihtiyaç duyar.
Daha fazla okuma için, danışma:0)NIST SP 800-193: Platform Şirketware Resiliency) , [[DörtÜDÜDÜDÜDÜDÜDÜDÜDÜDÜDÜDÜDÜDÜDÜDÜDÜDÜDÜDÜDÜDÜDÜDÜDÜDÜDÜDÜDÜDÜDÜDÜSÜDÜSÜSÜSÜSÜSÜSÜSÜSÜSÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞ