Rol tabanlı erişim kontrolü - Role-based access control

Bilgisayar sistemleri güvenliğinde, rol tabanlı erişim denetimi (RBAC)[1][2] veya rol tabanlı güvenlik[3] sistem erişimini yetkili kullanıcılarla kısıtlamaya yönelik bir yaklaşımdır. 500'den fazla çalışanı olan işletmelerin çoğunluğu tarafından kullanılmaktadır,[4] ve uygulayabilir zorunlu erişim kontrolü (MAC) veya Isteğe bağlı erişim kontrolü (DAC).

Rol tabanlı erişim kontrolü (RBAC), roller ve ayrıcalıklar etrafında tanımlanan, politikadan bağımsız bir erişim kontrol mekanizmasıdır. Rol izinleri, kullanıcı-rol ve rol-rol ilişkileri gibi RBAC bileşenleri, kullanıcı atamalarının gerçekleştirilmesini kolaylaştırır. NIST tarafından yapılan bir araştırma, RBAC'ın ticari ve devlet kuruluşlarının birçok ihtiyacını karşıladığını göstermiştir. [5]. RBAC, yüzlerce kullanıcı ve binlerce izne sahip büyük kuruluşlarda güvenlik yönetimini kolaylaştırmak için kullanılabilir. RBAC, MAC ve DAC erişim kontrol çerçevelerinden farklı olsa da, bu politikaları herhangi bir karmaşıklık olmadan uygulayabilir.

Tasarım

Bir organizasyon içinde, roller çeşitli iş işlevleri için oluşturulur. Belirli işlemleri gerçekleştirme izinleri belirli rollere atanır. Üyelere veya personele (veya diğer sistem kullanıcılarına) belirli roller atanır ve bu rol atamaları aracılığıyla belirli sistem işlevlerini gerçekleştirmek için gereken izinleri alır. Kullanıcılara doğrudan izinler atanmadığı, ancak bunları yalnızca rolleri (veya rolleri) aracılığıyla edindikleri için, bireysel kullanıcı haklarının yönetimi, kullanıcının hesabına uygun rollerin atanması meselesi haline gelir; bu, bir kullanıcı ekleme veya bir kullanıcının departmanını değiştirme gibi genel işlemleri basitleştirir.

Rol tabanlı erişim kontrolü müdahalesi, dinamik erişim seviyelerine sahip birden çok kullanıcı hesabının şifreleme anahtarı kararsızlığına yol açabileceği ve bir dış kullanıcının yetkisiz erişim için zayıflıktan yararlanmasına izin verdiği güvenlik uygulamalarında nispeten yeni bir sorundur. Dinamik sanallaştırılmış ortamlar içindeki anahtar paylaşım uygulamaları, bu sorunu çözmede bir miktar başarı göstermiştir.[6]

RBAC için üç temel kural tanımlanmıştır:

  1. Rol atama: Bir özne, yalnızca özne bir rol seçmiş veya atanmışsa bir izni kullanabilir.
  2. Rol yetkisi: Bir öznenin aktif rolü özne için yetkilendirilmelidir. Yukarıdaki 1. kural ile bu kural, kullanıcıların yalnızca yetkili oldukları rolleri alabilmesini sağlar.
  3. İzin yetkisi: Bir özne, yalnızca öznenin aktif rolü için izin yetkilendirilmişse bir izni kullanabilir. Kural 1 ve 2 ile bu kural, kullanıcıların yalnızca yetkili oldukları izinleri kullanabilmesini sağlar.

Ek kısıtlamalar da uygulanabilir ve roller bir hiyerarşi burada üst düzey roller, alt rollerin sahip olduğu izinleri içerir.

Kavramları ile rol hiyerarşisi ve kısıtlamalar, RBAC'ı oluşturmak veya simüle etmek için kontrol edebilir kafes tabanlı erişim kontrolü (LBAC). Bu nedenle RBAC, LBAC'nin bir üst kümesi olarak düşünülebilir.

Bir RBAC modeli tanımlarken, aşağıdaki kurallar faydalıdır:

  • S = Konu = Bir kişi veya otomatik temsilci
  • R = Rol = Yetki seviyesini tanımlayan iş işlevi veya unvan
  • P = İzinler = Bir kaynağa erişim modunun onayı
  • SE = Oturum = S, R ve / veya P içeren bir eşleme
  • SA = Konu Ataması
  • PA = İzin Atama
  • RH = Kısmen sıralı Rol Hiyerarşisi. RH ayrıca yazılabilir: ≥ (x ≥ y gösterimi, x'in y'nin izinlerini devraldığı anlamına gelir.)
    • Bir konu birden fazla role sahip olabilir.
    • Bir rolün birden fazla konusu olabilir.
    • Bir rolün birçok izni olabilir.
    • Birçok role bir izin atanabilir.
    • Bir işlem birçok izne atanabilir.
    • Birçok işleme izin atanabilir.

Bir kısıtlama, izinlerin muhalif rollerden devralınması olasılığına kısıtlayıcı bir kural koyar, böylece uygun olanı elde etmek için kullanılabilir. görevlerinin ayrılması. Örneğin, aynı kişinin hem oturum açma hesabı oluşturmasına hem de hesap oluşturmaya yetki vermesine izin verilmemelidir.

Böylece kullanarak küme teorisi gösterim:

  • ve rol atama ilişkisi için çoktan çoğa bir izindir.
  • ve rol atama ilişkisine birçok konudur.

Bir konu olabilir çoklu farklı rollerde / rollerinde eşzamanlı oturumlar.

RBAC

Standartlaştırılmış seviyeler

NIST / ANSI /INCITS RBAC standardı (2004), üç RBAC seviyesini tanır:[7]

  1. çekirdek RBAC
  2. roller arasında miras için destek ekleyen hiyerarşik RBAC
  3. sınırlandırılmış RBAC, görevlerin ayrılmasını sağlar

Diğer modellerle ilişkisi

RBAC, esnekliği uygulamaya izin veren esnek bir erişim kontrol teknolojisidir. DAC[8] veya MAC.[9] Gruplarla DAC (örneğin, POSIX dosya sistemlerinde uygulandığı gibi) RBAC'yi taklit edebilir.[10] Rol grafiği bir ağaç yerine bir ağaçla sınırlıysa, MAC RBAC'yi simüle edebilir. kısmen sıralı küme.[11]

RBAC'ın geliştirilmesinden önce, Bell-LaPadula (BLP) modeli MAC ile eşanlamlıydı ve dosya sistemi izinleri DAC ile eşanlamlıydı. Bunlar, erişim kontrolü için bilinen tek modeller olarak kabul edildi: Bir model BLP değilse, bir DAC modeli olarak kabul edildi ve bunun tersi de geçerliydi. 1990'ların sonlarında yapılan araştırmalar, RBAC'ın her iki kategoriye de girmediğini gösterdi.[12][13] Aksine bağlama dayalı erişim denetimi (CBAC), RBAC mesaj içeriğine bakmaz (bir bağlantının kaynağı gibi). RBAC ayrıca rol patlamasına yol açtığı için eleştirildi,[14] roller, operasyonlara ve veri türlerine doğal olarak atandığında, RBAC'nin sağlayabileceğinden daha ince ayrıntı düzeyinde erişim denetimi gerektiren büyük kurumsal sistemlerde bir sorun. CBAC'ye benzer şekilde, Varlık-İlişki Tabanlı Erişim Kontrolü (ERBAC, aynı kısaltma modifiye edilmiş RBAC sistemleri için de kullanılsa da,[15] Genişletilmiş Rol Tabanlı Erişim Kontrolü gibi[16]) sistem, yürütücü özne ile ilişkilerini dikkate alarak veri örneklerini güvence altına alabilir.[17]

ACL ile karşılaştırma

RBAC, erişim kontrol listeleri (ACL'ler), geleneksel isteğe bağlı erişim kontrol sistemlerinde kullanılan, RBAC sistemlerinin düşük seviyeli veri nesneleri yerine organizasyondaki anlamı olan belirli işlemlere izinler atamasıdır. Örneğin, belirli bir sistem dosyasına yazma erişimini vermek veya reddetmek için bir erişim kontrol listesi kullanılabilir, ancak bu dosyanın nasıl değiştirilebileceğini belirlemez. RBAC tabanlı bir sistemde, bir operasyon, bir finansal uygulamada 'bir kredi hesabı oluşturmak' veya tıbbi bir uygulamada 'bir kan şekeri seviyesi testi kaydı oluşturmak' olabilir. Belirli bir işlemi gerçekleştirmek için iznin atanması anlamlıdır, çünkü işlemler uygulama içinde anlam bakımından taneciklidir. RBAC'nin, kritik operasyonların yetkilendirilmesine iki veya daha fazla kişinin dahil olmasını sağlayan görevler ayrılığı (SoD) gereksinimlerine özellikle çok uygun olduğu gösterilmiştir. RBAC'de SoD'nin güvenliği için gerekli ve yeterli koşullar analiz edilmiştir. SoD'nin temel ilkelerinden biri, hiçbir bireyin ikili ayrıcalık yoluyla bir güvenlik ihlali gerçekleştirememesidir. Genişletmek gerekirse, hiç kimse aynı anda sahip olunan başka bir rol üzerinde denetim, kontrol veya inceleme yetkisi kullanan bir role sahip olamaz.[18][19]

Sonra tekrar, bir "minimum RBAC Modeli", RBACm, bir ACL mekanizmasıyla karşılaştırılabilir, ACLg, ACL'de giriş olarak yalnızca gruplara izin verildiğinde. Barkley (1997)[20] bunu gösterdi RBACm ve ACLg eşdeğerdir.

Modern SQL uygulamalar, gibi EKL CakePHP ACL'ler ayrıca bir grup hiyerarşisindeki grupları ve kalıtımı yönetir. Bu açıdan, belirli "modern ACL" uygulamaları, "eski (dosya sistemi) uygulamalarından" daha iyi olan belirli "modern RBAC" uygulamalarıyla karşılaştırılabilir.

Veri değişimi ve "üst düzey karşılaştırmalar" için ACL verileri şu dile çevrilebilir: XACML.

Öznitelik tabanlı erişim kontrolü

Öznitelik tabanlı erişim kontrolü veya ABAC rollere ve gruplara ek olarak ek özellikleri dikkate almak için RBAC'den gelişen bir modeldir. ABAC'da şu nitelikleri kullanmak mümkündür:

  • kullanıcı, ör. vatandaşlık, gümrükleme,
  • kaynak, ör. sınıflandırma, departman, sahip,
  • eylem ve
  • bağlam ör. zaman, konum, IP.

ABAC, neye izin verildiğini veya neye izin verilmediğini tanımlamak için statik izinler yerine politikalar kullanması anlamında politika tabanlıdır.

Kullanım ve kullanılabilirlik

Tek bir sistem veya uygulama içinde kullanıcı ayrıcalıklarını (bilgisayar izinleri) yönetmek için RBAC kullanımı, en iyi uygulama olarak yaygın şekilde kabul edilmektedir. İçin hazırlanmış bir 2010 raporu NIST tarafından Araştırma Üçgeni Enstitüsü RBAC'ın işletmeler için ekonomik değerini ve azalan çalışan kesinti süresi, daha verimli tedarik ve daha verimli erişim kontrolü politika yönetiminden elde edilen çalışan başına tahmini faydaları analiz etti.[4]

Heterojen bir organizasyonda IT altyapısı ve yeterli rolleri yönetmek ve yeterli rol üyelikleri atamak için RBAC kullanan düzinelerce veya yüzlerce sistem ve uygulamayı kapsayan gereksinimler, rollerin hiyerarşik olarak oluşturulması ve ayrıcalık atamaları olmadan son derece karmaşık hale gelir.[21] Daha yeni sistemler eskiyi genişletir NIST RBAC modeli[22] kurumsal çapta dağıtımlar için RBAC sınırlamalarını ele almak için. NIST modeli bir standart olarak benimsenmiştir. INCITS ANSI / INCITS 359-2004 olarak. NIST modeli için bazı tasarım seçeneklerinin bir tartışması da yayınlandı.[23]

RBAC ve çalışanların sorumluluk uyumu

İçinde Kurumsal Mimari Çerçevesinde Sorumluluk MetaModel (ReMMo) ile Erişim Haklarını Yönetişim Gereksinimleriyle Uyumlu Hale Getirme[24] ifade edici bir sorumluluk metamodeli tanımlanmıştır ve iş katmanında mevcut sorumlulukların temsil edilmesine izin verir ve böylece uygulama katmanında bu sorumlulukları yerine getirmek için gereken erişim haklarının mühendisliğine izin verir. Sorumluluk ve RBAC uyumu dikkate alınarak erişim haklarının daha doğru tanımlanması için bir yöntem önerilmiştir.[25]

Ayrıca bakınız

Referanslar

  1. ^ Ferraiolo, D.F. & Kuhn, D.R. (Ekim 1992). "Rol Tabanlı Erişim Kontrolü" (PDF). 15. Ulusal Bilgisayar Güvenliği Konferansı: 554–563.
  2. ^ Sandhu, R., Coyne, E.J., Feinstein, H.L. ve Youman, C.E. (Ağustos 1996). "Rol Tabanlı Erişim Kontrol Modelleri" (PDF). IEEE Bilgisayar. 29 (2): 38–47. CiteSeerX  10.1.1.50.7649. doi:10.1109/2.485845.CS1 Maint: birden çok isim: yazarlar listesi (bağlantı)
  3. ^ ABREU, VILMAR; Santin, Altair O .; VIEGAS, EDUARDO K .; STIHLER, MAICON (2017). Çok alanlı bir rol etkinleştirme modeli (PDF). ICC 2017 2017 IEEE Uluslararası İletişim Konferansı. IEEE Basın. s. 1–6. doi:10.1109 / ICC.2017.7997247. ISBN  978-1-4673-8999-0. S2CID  6185138.
  4. ^ a b A.C. O'Connor ve R.J. Loomis (Mart 2002). Rol Tabanlı Erişim Kontrolünün Ekonomik Analizi (PDF). Araştırma Üçgen Enstitüsü. s. 145.
  5. ^ Gilbert MD, Lynch N, Ferraiolo FD (1995). "Federal ve ticari erişim kontrol politikası ihtiyaçlarının incelenmesi". Ulusal Bilgisayar Güvenliği Konferansı, 1993 (16.) Bildiriler: Bilgi Sistemleri Güvenliği: Kullanıcı Seçimleri. DIANE Yayıncılık. s. 107. ISBN  9780788119248.
  6. ^ Marikkannu, P (2011). "Dinamik rol tabanlı erişim kontrolü kullanan hataya dayanıklı uyarlanabilir mobil aracı sistemi". Uluslararası Bilgisayar Uygulamaları Dergisi. 20 (2): 1–6. Bibcode:2011 IJCA ... 20b ... 1M. doi:10.5120/2409-3208.
  7. ^ Alberto Belussi; Barbara Catania; Eliseo Clementini; Elena Ferrari (2007). Web'deki Mekansal Veriler: Modelleme ve Yönetim. Springer. s. 194. ISBN  978-3-540-69878-4.
  8. ^ Ravi Sandhu; Qamar Munawer (Ekim 1998). "Rolleri kullanarak isteğe bağlı erişim denetimi nasıl yapılır". Rol Tabanlı Erişim Kontrolüne İlişkin 3. ACM Çalıştayı: 47–54.
  9. ^ Sylvia Osborn; Ravi Sandhu ve Qamar Munawer (2000). "Zorunlu ve isteğe bağlı erişim kontrol politikalarını uygulamak için rol tabanlı erişim kontrolünü yapılandırma". Bilgi ve Sistem Güvenliğine İlişkin ACM İşlemleri: 85–106.
  10. ^ Brucker, Achim D .; Wolff, Burkhart (2005). "Uygulamalı Sistem Güvenliği İçin Bir Doğrulama Yaklaşımı". International Journal on Software Tools for Technology (STTT). 7 (3): 233–247. doi:10.1007 / s10009-004-0176-3. hdl:20.500.11850/52625. S2CID  6427232.
  11. ^ D.R. Kuhn (1998). "Çekirdek Değişikliği Olmadan MLS Sistemlerinde Rol Tabanlı Erişim Kontrolü". Rol tabanlı erişim kontrolü üzerine üçüncü ACM çalıştayı bildirileri - RBAC '98 (PDF). Rol Tabanlı Erişim Kontrolü Üzerine Üçüncü ACM Çalıştayı. s. 25–32. CiteSeerX  10.1.1.55.4755. doi:10.1145/286884.286890. ISBN  978-1-58113-113-0. S2CID  1711956.
  12. ^ Editör, CSRC Content (2016-11-21). "Rol Tabanlı Erişim Kontrolü - SSS". csrc.nist.gov. Alındı 15 Ağustos 2018.CS1 bakimi: ek metin: yazarlar listesi (bağlantı)
  13. ^ (NIST), Yazar: David Ferraiolo; (NIST), Yazar: Richard Kuhn (1992-10-13). "Rol Tabanlı Erişim Kontrolleri" (PDF). csrc.nist.gov. s. 554–563. Alındı 15 Ağustos 2018.
  14. ^ A. A. Elliott ve G. S. Knight (2010). "Rol Patlaması: Sorunu Kabul Etmek" (PDF). 2010 Uluslararası Yazılım Mühendisliği Araştırma ve Uygulama Konferansı Bildirileri.
  15. ^ "ERBAC - Kurumsal Rol Tabanlı Erişim Kontrolü (bilgi işlem) - Kısaltma Bulucu". www.acronymfinder.com. Alındı 15 Ağustos 2018.
  16. ^ "Dr. Bhavani Thuraisingham ve Srinivasan Iyer (PPT)". Alındı 15 Ağustos 2018.
  17. ^ Korhonen, Kalle. "goblen-güvenlik-jpa". www.tynamo.org. Alındı 15 Ağustos 2018.
  18. ^ D.R. Kuhn (1997). "Rol Tabanlı Erişim Kontrol Sistemlerinde Görev Ayrımı Uygulamanın Bir Yolu Olarak Rollerin Karşılıklı Dışlanması" (PDF). 2. ACM Workshop Rol Tabanlı Erişim Kontrolü: 23–30.
  19. ^ Ninghui Li, Ziad Bizri ve Mahesh V. Tripunitara. Tripunitara (2004). "Birbirini dışlayan roller ve görev ayrılığı hakkında" (PDF). 11. ACM Bilgisayar ve İletişim Güvenliği Konferansı. CCS '04: 42–51. CiteSeerX  10.1.1.159.2556. doi:10.1145/1030083.1030091. ISBN  978-1581139617. S2CID  798546.CS1 Maint: birden çok isim: yazarlar listesi (bağlantı)
  20. ^ J. Barkley (1997) "Basit rol tabanlı erişim kontrol modelleri ile erişim kontrol listelerinin karşılaştırılması ", Rol tabanlı erişim kontrolü üzerine ikinci ACM çalıştayı bildirileri", sayfa 127-132.
  21. ^ Sistemler, Hitachi Kimliği. "Rollerin Ötesinde: Kurumsal IAM'ye Pratik Bir Yaklaşım". www.idsynch.com. Alındı 15 Ağustos 2018.
  22. ^ Sandhu, R., Ferraiolo, D.F. ve Kuhn, D.R. (Temmuz 2000). "Rol Tabanlı Erişim Kontrolü için NIST Modeli: Birleşik Bir Standarda Doğru" (PDF). 5. ACM Workshop Rol Tabanlı Erişim Kontrolü: 47–63.CS1 Maint: birden çok isim: yazarlar listesi (bağlantı)
  23. ^ Ferraiolo, D.F., Kuhn, D.R. ve Sandhu, R. (Kasım – Aralık 2007). "RBAC Standart Gerekçesi: Rol Tabanlı Erişim Kontrolüne İlişkin ANSI Standardının Eleştirisi üzerine yorumlar" (PDF). IEEE Güvenliği ve Gizlilik. 5 (6): 51–53. doi:10.1109 / MSP.2007.173. S2CID  28140142. Arşivlenen orijinal (PDF) 2008-09-17 tarihinde.CS1 Maint: birden çok isim: yazarlar listesi (bağlantı)
  24. ^ Feltus C. (2014). Kurumsal Mimari Çerçevesinde Sorumluluk MetaModel (ReMMo) ile Erişim Haklarını Yönetişim Gereksinimleriyle Uyumlu Hale Getirme (PDF).
  25. ^ Feltus, c., Petit, M., Sloman, M. (2010). "RBAC'ye Sorumluluk Bileşenleri Ekleyerek İş BT Uyumluluğunun Geliştirilmesi" (PDF). Ceur-Ws. 599.CS1 Maint: birden çok isim: yazarlar listesi (bağlantı)

daha fazla okuma

  • David F. Ferraiolo; D. Richard Kuhn; Ramaswamy Chandramouli (2007). Rol Tabanlı Erişim Kontrolü (2. baskı). Artech Evi. ISBN  978-1-59693-113-8.

Dış bağlantılar