Çok Kullanıcı Desteğinü Gömülü İşletim Sistemlerinde Anlayın

Multi-user desteği, birden fazla insan veya makine kullanıcısının kaynak kısıtlamaları nedeniyle etkileşime girmesine izin veren temel bir özelliktir. ancak gömülü sistemler birbirine daha fazla bağlantı haline gelir ve heterojen kullanıcı gruplarına hizmet eder - masaüstü veya sunucu işletim sistemlerinden farklı olarak, gömülü işletim sistemleri (RTOS, Linux tabanlı gömülü binalar veya çekirdekler) genellikle kaynak kısıtlamaları nedeniyle tek kullanıcı tasarımları başlatılır.

Uygulamada, gömülü sistemlerde çoklu kullanıcı desteği kullanıcı kimlik doğrulama, oturum yönetimi, erişim kontrolü ve minimum üst düzeyle kaynak bölmesi gerekir. Uygulama, sınırlı CPU döngüleri, bellek ayak izi ve güç bütçeleri, tipik gömülü donanıma odaklanmak zorundadır. Ayrıca, sistem deterministic scheduling ve gerçek zamanlı garantilerle birlikte birlikte olmalıdır.Bu makale mühendislik zorlukları, tasarım kalıpları ve uygulama sistemleri bütünleme için çok kullanıcı desteğine saygı göstermek için, gömülü işletim sistemleri, tıbbi cihazlara ve tüketici elektroniklerine odaklanmalıdır.

Core Concepts and Distinctions

Uygulamaya başlamadan önce, çoklu kullanıcı desteğinin gömülü bir ortamda ne anlama geldiğini açıklamak önemlidir. Birden fazla kullanıcının SSH veya grafik konsolları aracılığıyla giriş yapabileceği genel amaçlı bir OS'den farklı olarak, gömülü sistemler genellikle özel arayüzler (örneğin, ağ kaynakları, dokunmatik ekranlar, web paneller, alanbus). Bir kullanıcı fiziksel terminali kullanarak bir API müşteri gönderme komutları veya şifreli erişim ile otomatik bir işlem yapabilir. Sistem bu kimlikleri ayırt etmelidir.

Çok kullanıcı sistemleri genellikle www.DAC'i uygular:0) Ayrılmalı erişim kontrolü (DAC)) veya )[DÜye Olmayan erişim kontrolü (MAC)[DÜye dayalı sistemlerde ortaktır, örneğin, birden fazla hemşirelik ortamında kullanılan bir tıbbi infüzyona erişmek için izin verebilir.

Çok Kullanıcı Uygulamalarında Anahtar Zorluklar

Kaynak Ekleri

Gömülü sistemler genellikle 256 KB RAM ve birkaç megabayt flaş depolama için hafızayı tüketiyor. Her aktif kullanıcı oturumu, işlem kontrol blokları, dosya tanımlayıcıları ve kullanıcı oturumu için bellekte işlem yapıyor. tam bir POSIX kullanıcı yönetimi çerçevesi (örneğin, PAM, NSS) en az uygulama için şeritli olmalıdır - genellikle statik kullanıcı masaları veya küçük bir LDAP istemcisi ile özel bir kimlik doğrulama modülü.

Gerçek Zamanlı Determinism

Giriş, doğrulama ve izin kontrolü gibi çok kullanıcı işlemleri, zor gerçek zamanlı tarihleri etkileyebilecek gecikmeli değişiklikler tanıtmaktadır.Eğer yüksek orandaki gerçek zamanlı görev, bir kullanıcı-uzay doğrulama için tamamen destek almak zorunda kalırsa, sistem kesintiye uğrayabilir. Mitigations include running authentication in a separate, lower-priority task and caching access in the late lookup. some host operating systems implement multi-user support in the user-space authentication daemon to response, the system may miss.For example,FLT:0)

Güvenlik Saldırısı Yüzey

Birden fazla kullanıcı sistemi saldırı yüzeyi genişletiyor. Her kullanıcı arayüzü (terminal, web sunucusu, BLE bağlantı) daha sonra hareket veya ayrıcalık escalation için potansiyel bir giriş noktası. gömülü sistem giriş noktalarına giriş sırasında ortak açıklığa karşı savunmalıdır.Seks, rcın, yedek parçalı geri yükleme önlemleri dahil etmek için her türlü şifreyi kullanarak giriş yapın.

Oturum Yönetimi ve Robustness

Birden çok kullanıcı aynı anda sisteme erişmek isteyebilir. Örneğin, bir teknisyen, bir kullanıcıdan gelen bir başka kullanıcının verileri bozmaması gerekirken, sistem oturum oluşturma, zamanout ve güç başarısızlık veya kaza olmadan temizlenebilir.

Multi-User Gömülü OS için Tasarım Stratejileri

Hafif Kimlik ve Kimlik Yönetimi

Gömülü kimlik doğrulama, kaynak kullanımı ile güvenlik dengelemelidir. Common yaklaşımlar şunları içerir:

  • [[Dönetici doğrulama:[Dönetici: 0,0] Kullanıcılar mevcut donanım Jetonları (örneğin, bir akıllı telefondan TOTP) depolanmış bir sıra karşı doğrulanan bir telefondan yararlanıyor. token değeri tamamen şifrenin cihazda acele etmesi gerekmez. Kullanıcılar endüstriyel panel erişimi gibi ortamlar için uygun.
  • [FONT=0)Biometrik doğrulama: Parmak veya iris tanıma cihazına entegre edilmiş olarak kaydedilir. Biyometrik şablon güvenli enklav hafızada depolanır ve ana CPU'yu yüklemekten kaçınmaya adanmış bir işlemcide eşleştirilir.Bu yaklaşım yüksek güvenlik tıbbi cihazlarda trafiğe dönüşür.
  • [FONT:0)Öyleçlenen anahtar (PSK) veya sertifika tabanlı:[Dönetici:[Döneticiler için) (örneğin, yönlendiriciler, IoT ağ geçidi), her kullanıcının API aramalarının benzersiz bir sertifikası veya anahtarı vardır.
  • [FONT:0)Password-less login via fiziksel varlık:) Bazı gömülü cihazlar fiziksel bir düğme basını veya atlama işlemine izin vererek, bu, kodu geçici olarak artırmak için donanım güvenlik önlemleri ile birleştirilmelidir.

Hangi yöntem seçilir, kimlik doğrulama ana uygulamadan çift olmalıdır. Küçük bir kimlik doğrulama daemon (veya çekirdek modülü) şifreli doğrulama ile çalışır, sistemin geri kalanı bir izin kontrolüne kadar kullanıcı kimliklerinden habersiz kalırken, bu mimari kutudan rol tabanlı erişim kontrolü (RBAC) destekler.

Kullanıcı Profilleri ve İzin Modelleri

Her kullanıcı, erişim haklarını dosyaları, cihazlar ve sistem çağrılarını tanımlayan bir profiline sahip olmalıdır.Bir minimalist gömülü çekirdekte, bu, aramaları azaltmak için düzleştirilmiş gruplarla uygulanabilir. Örneğin, kullanıcı A, sensör verileri okuyabilme ancak dikkatli bir işlem için yazmamalıdır.

Rol tabanlı erişim kontrolü (RBAC) özellikle gömülü tıbbi cihazlarda etkilidir. Her kullanıcı, aşağıdaki eylemlerin hangi işlemi gerçekleştirdiğini ve FDA gibi düzenleyici gereklilikleri yerine getiren bir rol alır.

Kaynak Allocation ve Fairness

Multi-user sistemleri risk kaynağı açlık, bir kullanıcı CPU, hafıza veya I / O bantlar dahil edilmelidir. Örneğin, her kullanıcı bir rezervasyon tabanlı programlayıcı kullanarak minimum garantili CPU dilimi atanabilir (örneğin, POSIXadic sunucu).

Her kullanıcı için hafif bir sanallaştırma konteyneri (örneğin lxc veya mikrovizör) kullanmak alternatiftir, ancak daha yüksek bir üst düzeye gelir. Birçok gömülü sistemde, bir kullanıcının kendi parçasıyla tek bir çekirdek olması daha verimlidir, çekirdekli bir veri yapısına sahip olabilir.

Isolation Techniques

Süreç

Modern gömülü işletim sistemleri (örneğin:0)Zephyr RTOS[Dönetici: 1) Kullanıcı-uzaydalı iş parçacığını MPU (Memory Protection Unit) veya MMU desteği ile sınırlandırır. Her kullanıcı işlemi ayrı donanım-enforced domainler, izinsiz okuma / yazmaları önlemek için çalışır, ancak dinamik yaratılama sistemleri için, RTOS API katmanında yazılım kontrollerine bağlıdır - her kullanıcının görevleri, bellek bölgelerini bozmak için sınırlandırılır.

Sanallaştırma

Tam veya para-virtualization, farklı kullanıcıları ayrı misafir OS örneklerini ayırt edebilir.Bu yüksek uçlu gömülü sistemler için uygundur (ARM Cortex-A, RISC-V hipervizör uzantılı endüstriyel ağ geçidinin var olduğu durumlarda, her kullanıcı tam bir sanal platformda ve küçük bir hipervizör medyaya erişim sağlar.

TrustZone veya Güvenli Enklavlar

TrustZone (ARM), bir kullanıcının hassas operasyonları (örneğin, kriptografik anahtar erişim) normal dünyadaki uygulamaları iyi tanımlı güvenli aramalar (SMC) ile sınırlıyken, bu, kontrol ve izin verme işlevleri için donanım geri dönüşümlü izolasyon sağlar. Güvenli dünya, yüksek kullanıcı veritabanına sahiptir ve erişim kontrol kararları uygularken, normal dünya arasındaki iletişim iyi tanımlanmış güvenli dünyalar arasındaki iletişim.

Vaka Çalışmaları: Uygulamada Çok Kullanıcı Gömülü Sistemler

Rol bazlı Access ile Endüstriyel Kontrol Sistemi

Bir fabrika zemininde kullanılan programlanabilir bir Mantık denetçisi düşünün. Multi operatörlerin üretim hattını izlemesi gerekebilir, bir denetçi mantıkla değiştirebilir ve bir yönetici, çok kullanıcı desteği ile bir RT özelOS + bir ışık dosyası sistemi ACLs ile uygulanmış olabilir. Operatörler sadece I/O haritalarına erişimine sahip olabilir, denetçiler mantık bloklarına erişim yazabiliyor ve yöneticiler, bir sunucuyu değiştirebilir ve yükleyici ile otomatik olarak yüklenebilir. CPU'lar, tüm kullanıcılarına otomatik olarak yükleyici bir kartpostalmasını sağlar.

Multi-User Profilleri ile Tıbbi Infüzyon Pump with Multi-Users

Çok-role infüzyon pompası, hemşirelerin infüzyon oranlarına, farmakologların aşırı uyuşturucu kütüphanelerine ve biyomedikal mühendislerin calibrate sensörlerine izin verir. İşletim sistemi (Nucleus RTOS), 30 saniye sonra 10 kullanıcıya kadar anahtarlama özelliği ile genişletildi.Her profilin benzersiz bir PIN ve rolü vardır.

Tüketici Elektronik: Akıllı Ev Hub

Akıllı bir ev merkezi birden çok aile üyesi tarafından kullanılabilir. Her üye farklı bir erişim seviyesine sahiptir: Ebeveynler yeni cihazlar ve güvenlik ayarlarını yönetebilir; çocuklar sadece ışıkları ve termostatları kontrol edebilir; Konuklar ön kapıdan kilidini açmak için geçici bir PIN kullanabilir ve Linux'u kullanabilir ve bir Yocto Projesi'ni kullanarak çalışır. Multi-user desteği, jetonları yöneten ve cihazı kullanan bir kullanıcıdan rahatsız eden özel bir barajla uygulanır.

Güvenlik ve Uyum

Denetim ve Hesapability

Güvenlik veya operasyonel durumu etkileyen her kullanıcı eylemi giriş olmalıdır. Denetim günü, kullanıcı kimlik, zaman notu, eylem tipi ve sonuç (success/failure) Düzenlenen endüstrilerde (medikal, endüstriyel güvenlik, otomotiv), günlükler bir yönetici tarafından kabul edilene kadar asla tamamlanmamalıdır.

Güvenli Parmak ve Kullanıcı Verileri

Kullanıcı veritabanının kendisi korunmalıdır. Onun bütünlüğü, bir dijital imza veya HMAC kullanarak bootloader tarafından doğrulanmalıdır. veritabanı bozulmuş veya tam olarak doldurulmuşsa, sistem yapılandırmayı geri döndürebilecek tek bir varsayılan yönetici hesabı ile güvenli bir modda önyüklemeli.Bu, kullanıcı dosyasını değiştirerek bir saldırgan ayrıcalıkları önlemek zorundadır.

Network Exposure

Ağ bağlantılı ( IIoT'de) çok kullanıcı gömülü sistemler uzaktan saldırılara karşı savunmalıdır. Kullanıcı kimlik doğrulama ve veri transferi içeren tüm iletişim için TLS 1.3 veya daha yüksek kullanın.Kullanıcı hizmetleri bağlantılarını bağlayıcıdan sonra ödünç alma ayrıcalıklarını sağlayın (örneğin, HTTP sunucusu, trans-giriş olmayan bir kullanıcı olarak çalışır).

gömülü donanım daha yetenekli hale gelir (multi-core, MMU, sanallaştırma uzantıları), PMP ile çok sayıda kullanıcı desteği, gerçek zamanlı gereklilikleri karşılamaktayken daha geleneksel OS paradigmalarına doğru geçiş yapar. Zephyr ve NuttX gibi açık kaynaklı RTOS, çok kullanıcı desteğinin geniş bir şekilde standartlaştırılabilmesi için, her kullanıcı tarafından kullanılan donanımda eşitleştirilmiş bir şekilde onaylanmış kullanıcı tarafından belirlenen fiziksel bir cihazda da aynı şekilde yetkilendirilmiş bir şekilde yetkilendirilmiş kullanıcı tarafından belirlenen bir şekilde kullanılmasıdır.

Son olarak, tıbbi cihazlar için büyüyen düzenleyici manzara (FDA), otomotiv (ISO 26262) ve endüstriyel güvenlik (IEC 61508), OS satıcılarını çok kullanıcı uygulamalarını resmen doğrulamaya zorlayacak. Bu, mikrokernellerin (seL4) kabul edilmesine yol açabilir.

Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç

gömülü işletim sistemlerinde çok kullanıcı desteği uygulamak, güvenlik, denetim ve güvenlik talepleri açısından önemli ölçüde önem taşır. tartışılan stratejiler - hafif kimlik doğrulama, RBAC, kaynak bütçeleri ve donanım geri dönüşümleri - bugün üretim sistemlerinde kanıtlanmış gibi - güvenlik, denetim edilebilirlik ve operasyonel esneklik açısından önemli olan avantajlar, bir rol veya operatörden daha fazla hizmet eden herhangi bir mühendislik için değerli bir yatırım teşvik eder.