Page 82 - Yazılım Teknolojileri Araştırma Bülteni 2023
P. 82
82 | Kimlik Doğrulama Altyapılarının Kullanımı
Apereo CAS
CAS (Central Authentication Service), web tabanlı uygulamalara güvenli tekil oturum açma
(Single Sign On / SSO) hizmeti sağlayan, açık kaynak kodlu merkezi kimlik denetimi yazılımıdır.
CAS, 2000 yılında Yale Üniversitesi’nde geliştirilmeye başlanmış, 2004 yılında ise Jasig’e (Java in
Administration Special Interest Group) devredilmiştir. 2012 yılında Jasig, Sakai Vakfı ile birleşerek
Apereo adını almıştır. CAS projesi, günümüzde Apereo Vakfı tarafından desteklenmektedir.
Apereo CAS, merkezi tekil oturum açma, kullanım kolaylığı ve güvenlik avantajları sağlar. Tek
bir kullanıcı adı ve parola girerek oturum açma ile birden fazla servise erişim mümkün hale
gelirken, her servisin ayrı ayrı kullanıcı adı, parola gibi erişim bilgilerini işlemesi ortadan kalkmış
ve bu şekilde güvenlik riskleri de azaltılmıştır. Örneğin; Google tarafından sağlanan herhangi bir
hizmete erişilmek istendiğinde, bu ister mail.google.com ister drive.google.com olsun, her zaman
accounts.google.com adresine yönlendirir. Bu accounts.google.com adresi, Google’ın kullanmış
olduğu SSO hizmetidir. Burada giriş yapıldıktan sonra, bir başka Google servisine gidildiğinde
tekrar o serviste giriş yapmaya ihtiyaç kalmaz.
1. CAS Sistem Bileşenleri
CAS sunucusu (CAS Server) ve istemcileri (CAS Clients), CAS sistem mimarisinin çeşitli protokollerle
iletişim kuran iki fiziksel bileşenini oluşturur.
1.1. CAS Sunucusu
Temel sorumluluğu kullanıcıların kimliklerini doğrulamak ve yaygın olarak CAS istemcileri olarak
adlandırılan CAS’ın etkin olduğu hizmetlere erişim sağlamak ve bilet (ticket) verip bu biletleri
onaylamak olan Spring Framework ile inşa edilmiş Java Servlet’idir. Bir SSO oturumu, sunucu başarılı
oturum açtıktan sonra kullanıcıya bir bilet (Ticket Granting Ticket: TGT) ulaştırdığında oluşturulur.
TGT’yi bir token olarak kullanan tarayıcı, yönlendirme yoluyla kullanıcının isteğine göre bir servise,
servis bileti (Service Ticket - ST) verir. Daha sonra CAS sunucusunda back-channel iletişimi ile ST’nin
geçerliliği denetlenir (validate). CAS sunucusu, kimlik doğrulama işlemini farklı methodlarla yapacak
şekilde yapılandırılabilir. CAS, pek çok yaygın kimlik doğrulama teknolojisi (LDAP, Database, JAAS,
X.509 vs.) için gerekli bileşenleri sağlamaktadır. Bunun yanı sıra CAS sunucusu tarafından kullanılan
arayüzler (AuthenticationHandler) genişletilerek, CAS’ın farklı kimlik doğrulama mekanizmaları
kullanması da sağlanabilir.