Bilgi Güvenliği Bakış Açısı İle Authentication Token Kavramı

0
220
views
Bilgi güvenliğinin temel unsurlarından birisi kimlik doğrulamadır. Bu yazıda, çok aşamalı kimlik doğrulama yöntemlerinden birisi olan “Something Yor Have” örneği olan Authentication Token (kimlik doğrulama belirteci) konusu incelenecektir.

Üç temel kimlik doğrulama yöntemi vardır:

  • Tip 1 – Bildiğiniz bir şey (Something you know)
  • Tip 2 – Sahip olduğunuz bir şey (Something you have)
  • Tip 3 – Olduğunuz bir şey (Something you are).

Çoklu kimlik doğrulama yöntemleri ile ilgili detaylı bilgi için kaynaklardaki Siberportal bağlantısı [i] incelenebilir.

 

A) Token Mekanizması

Literatürdeki tanımı bir olgunun, niteliğin, izlenimin vb. görünür veya somut bir temsili (güvence) olarak hizmet eden bir şey olarak geçen Autentication Token, yukarıda ifade edilen kimlik doğrulama yöntemlerinde ikinci adımda kullanılır. Tip 2 kimlik doğrulamasında (sahip olduğunuz bir şey), kullanıcıların kimliği doğrulanmış bir kullanıcı olduklarını kanıtlayan bir belirtece sahip olmalarını gerektirir. Özetle Authentication Token, bir kimlik iddiasını kanıtlamaya yardımcı olan sahip olunan nesnedir.

Token içeriğini, sahibi olan öznenin Token’ı kontrol ettiğini kanıtlamak için kullanılan bilgi oluşturur. Bu yapı, asimetrik veya simetrik (tek) anahtarlara dayanır. Asimetrik bir anahtar modelinde, özel anahtar Token içerisinde depolanır ve genel anahtarla eşleştirildiğinde sahipliğini kanıtlamak için kullanılır. Simetrik anahtarlar, güvenli bir kanal (ör. HTTPS) üzerinden doğrudan karşılaştırma için karşı istemci ve ilgili özne tarafları arasında paylaşılır.

Not: Simetrik ve asimetrik şifreleme ile ilgili detaylı bilgi için kaynaklardaki Siberportal bağlantısı [ii] incelenebilir.

Token doğrulayıcısını oluşturmak için bir sınama veya tek seferlik (sayı veya bit dizesi yalnızca bir kez kullanılır) gibi Token girdi verileri gerekli olabilir. Token girdi verileri, kullanıcı tarafından sağlanabilir veya Token’ın kendisinin bir özelliği ( Tek Kullanımlık Parola (OTP) cihazındaki saat gibi) olabilir. Token’ı etkinleştirmek ve bir doğrulayıcının oluşturulmasına izin vermek için PIN gibi Token etkinleştirme verileri gerekli olabilir.

 

B) Token’lara Yönelik Saldırı Yöntemleri

Bir saldırgan, Token sahibinin kimliğine bürünmek ve kimlik doğrulama protokolünü tehlikeye atmak için bir Token’ın denetimini ele geçirmeye çalışır. Örnek saldırı yöntemleri aşağıdaki gibi sıralanabilir.

  • Tokenlar kaybolabilir (genellikle donanımsal Token için)
  • Token’a zarar verilebilir, Token hasar görebilir (genellikle donanımsal Token için)
  • Token, sahibinden çalınabilir (genellikle donanımsal Token için) veya klonlanabilir (genellikle yazılımsal Token için)

 

C) Token Çeşitleri

İlgili özne tarafından kimliklerini kanıtlamak ve bir sistem veya uygulama için kimlik doğrulaması yapmak için kullanılan Token, yazılım veya donanım tabanlı olabilir.

 

C.1) Yazılım Token (Soft Token)

Masaüstü, dizüstü bilgisayar veya mobil cihaz gibi genel amaçlı bir bilgisayar sistemlerinde saklanır ve ikinci bir kimlik doğrulama faktörüyle (ör. PIN, parola veya biyometrik) etkinleştirme gerektirirler. Yazılımsal Token, genellikle donanımsal Token’lara göre uygulanması daha ucuzdur, yönetilmesi daha kolaydır ve donanımsal Tokenlar ile birlikte gelen bazı fiziksel güvenlik risklerini önler. Bununla birlikte, yazılım simgeleri yalnızca depolandıkları bilgisayar kadar güvenlidir ve bilgisayar virüslerine, ortadaki adam, kimlik avı ve diğer yazılım saldırılarına karşı hassastır.

Hassas verilere erişim sağlanırken veya uzaktan güvenli ağ erişimi için uygulanan çok faktörlü kimlik doğrulamasında “sahip olduğunuz bir şey” faktöründe kullanılan yazılım Token’ının, aşağıdaki özelliklere/gereksinimlere sahip olması beklenir;

  • Özel anahtarlar dışa aktarılamaz olmalıdır: Yerel anahtar havuzunda depolanan şifreleme anahtarlarını kullanan soft Token yazılımı, anahtarları dışa aktarılamaz olarak işaretlemelidir. Bu, yetkisiz bir sisteme yüklenecek anahtarın dışa aktarılmasını önlemeye yardımcı olur. Uzun süreli-özel anahtar(private key) dosyaları, yöneticilere (admin) ve yalnızca erişim gerektiren uygulamalara erişimi sınırlayan erişim kontrolü ile korunmalıdır.
  • Anahtarlar asla düz metin (şifrelenmemiş) biçimde saklanmamalıdır: Yazılım Token’ı paylaşılan gizli anahtarları kullanıyorsa, anahtarlar uygulama dışında okunabilecek ve kopyalanabilecek bir biçimde saklanmamalıdır. Yazılım Token’ı yazılımının çalışması için metin dosyalarının en azından bir sistemin kullanıcıları tarafından okunması gerekir. Bu, anahtarların başka bir sisteme kopyalanma şansını büyük ölçüde artırır.
  • Aktivasyon güvenilir gerçekleştirilmelidir: İlk parolaların dağıtılması ve başlangıç kaydının geçişi sırasında kopyalanmamasını sağlamak için gizli bir kanal kullanılmalıdır. Soft Token yazılımının kurulumu, Token oluşturma motorunu kurmak ve başlatmak için tipik olarak iki bilgi parçasına (temel kayıt, parola) sahiptir. Bu iki bilgi parçası, yetkisiz bir kullanıcı tarafından yakalanırsa, yazılımın yetkisiz kurulumlarına izin verir ve yetkili kullanıcı dışındaki taraflarca kullanılabilir.
  • Kimlik doğrulama güvenilir gerçekleştirilmelidir: Kullanıcının soft Token yazılımını kullanarak kimlik doğrulaması yaptığı her seferde Token aktivasyonu oluşmalıdır. Her kimlik doğrulama, parolanın veya diğer aktivasyon verilerinin girilmesini gerektirir. Diğer faktörün (parola) girişi, karşı (sistem) tarafından sorgulandığında kesinlikle manuel kullanıcı girişi ile sınırlandırılmalıdır. Yazılımın manuel kullanıcı girişi olmadan bir Token oluşturmasına izin veren PIN veya parolanın saklanması gibi bir uygulama yapılmamalıdır.
  • Token zaman sınırı az olmalıdır: Yazılım tarafından oluşturulan token’ın kullanım için bir zaman sınırı (2 dakika veya daha az gibi) olmalıdır. Bu kısa zaman aralığı, uzaktan erişimi başlatmak için yeterli olmalıdır ve diğer sistemler için bir Token’ın paylaşılmasını veya Token’ın çalınmasını engeller.
  • Soft Token yazılım şifresi kurallara uygun olmalıdır: Soft Token yazılımı için şifre yönetimi gereksinimleri, Şifre Yönetimi yönergelerinde (IRS Publication 1075 – Exhibit 8 Password Management [iii]) belirtilen karmaşıklık, boyut, değişim aralığı ve yeniden kullanım yönergelerine uymalıdır. Bu yönergeler, Token oluşturmak için kullanılan parolaların kolayca tahmin edilmemesini ve kullanıcı başına benzersiz olmasını sağlayacaktır.
  • Soft Token’lara dair tüm erişim denetlenmelidir: Başarılı ve başarısız uzaktan erişim girişimleri gerçekleştiğinde soft token yazılımına erişim için denetim günlükleri yakalanmalıdır. Denetim izi, PIN numaralarını ve parolaları tahmin etmek için yapılan girişimleri kaydetmelidir ve yazılım erişimini başarılı ve başarısız uzaktan erişim bağlantılarıyla ilişkilendirmek, Soft Token yazılımını kurcalamaya veya kopyalamaya yönelik girişimleri gösterebilir.
  • Soft Token güvenilir ortamda kullanılmalıdır: Soft Token’ı kullanmadan önce her zaman kötü amaçlı yazılım önleme yazılımının en son sürümü yüklenmelidir: Anahtarı günlüğe kaydetme veya Soft Token yazılımına erişmek için kullanılan PIN veya parolayı yakalayabilecek diğer kötü amaçlı yazılımların kurulumunu tanımlamak ve önlemek için kötü amaçlı yazılım önleme yazılımı yüklenmelidir.
  • Her zaman FIPS 140-2 doğrulanmış şifreleme modülleri kullanılmalıdır: Şifreleme işlevini gerçekleştiren şifreleme modülünün FIPS 140-2 Seviye [iv] 1.15’i karşılaması için doğrulanması gerekir.

Ek olarak, Soft Token yazılımının tehlikeye atılma olasılığını azaltmak için güvenlik uzmanı tarafından aşağıdaki güvenlik kontrolleri uygulanabilir.

  • PKI, tercih edilen anahtar yönetimi platformudur. PKI (public-key infrastructure), tüm kriptografik işlemler için asimetrik (genel / özel) anahtar çiftleri kullanır. PKI ile özneler, gizli anahtarları ifşa etmeden kendisini sisteme kanıtlayabilir. Simetrik anahtarlar, kimlik doğrulaması için açığa çıkması gerektiğinden, riske yatkındırlar.
  • Güvenilir Platform Modülleri (TPM – Trusted Platform Modules) kullanılabilir. TPM, yerel bir donanım şifreleme motoru ve şifreleme anahtarları için güvenli depolamadır. Anahtarları TPM anahtar deposunda depolanması durumunda, anahtara doğrudan erişim TPM sistemi tarafından ilgili anahtarlara erişmek için kimlik doğrulaması istenilerek kesilir. Bitlocker – TPM entegrasyonu ile ilgili detaylı bilgi için kaynaklardaki Siberportal bağlantısı [v] incelenebilir.
  • Bir Token yayınlamadan önce doğrulama gerçekleştirilmelidir. Yürütülebilir dosya, DLL ve INI dosyaları dahil olmak üzere yazılım dosyalarının bir karma veya yazılımın değiştirilmediğini doğrulayan herhangi bir başka mekanizma ile karşılaştırılması, uzaktan erişimde kullanılacak bir Token verilmeden önce yapılmalıdır.

 

C.2) Donanımsal Token (Hard Token)

Kimlik bilgilerini, bir kimliği doğrulamak için kullanılan sağlamlaştırılmış özel cihazlarda depolayan yazılım dışı fiziksel Tokenlardır. Hard Token’lar, kaybolma veya çalınma durumları nedeni ile fiziksel güvenlik saldırılarına (yani doğrudan fiziksel erişim) karşı hassastır. Her bir Token türünün, uzaktan ağ kimlik doğrulamasında bilgilerin güvenliğini sağlamak için bazı uygulama gereksinimleri vardır.

 

D) Token Teknolojileri

D.1) Gizli Token Arama (Grid Card Teknolojisi)

İşaretlenmiş sütun ve satırlarda rastgele sayılar ve harflerden oluşan bir matris içerir. Bu yapı, genellikle kullanıcının cüzdanlarında kolaylıkla taşınabilen kredi kartı boyutundaki plastik kartlara basılır veya çalışan erişim kartları, kredi kartları veya ATM kartlarının arkasına basılabilir (grid-card). Oturum açıldığında, kimlik doğrulama sunucusu bir koordinat dizisi olan rastgele bir sorgu kodu oluşturur ve kullanıcıdan oturum açma parolası olarak bu koordinatlardaki harfleri girmesini ister (token) .Token doğrulayıcısının en az 64 bitlik entropi olması gerekir.

 

D.2) Out-of-Band Token

Birincil kimlik doğrulama kanalından ayrı bir kanal üzerinden alınan ve birincil kanal kullanılarak kimlik doğrulama protokolüne sunulan tek seferlik bir Tokendır. Buna örnek, cep telefonundan bir SMS mesajı almak verilebilir. Token doğrulayıcısının en az 64 bitlik entropi olması gerekir.

 

D.3) Tek Kullanımlık Parola (OTP)

Genellikle VPN  erişimlerinde, internet bankacılığı gibi finansal işlemlerde kullanılan tek seferlik ve kısa süre geçerliliği olan parolalardır. “Token” adı verilen araçlar ile üretilirler. Token aracı ve kimlik doğrulayan sunucu aynı algoritma ile parola üretirler.

OTP, tek kullanımlık parolaların oluşturulmasını sağlayan bir güvenlik donanım aygıtı veya yazılım programıdır. Temel algoritmada aldığı iki girdi değeri vardır. Bu değerler çekirdek ve taşınma faktörüdür. Çekirdek yapısı aynı olsa da işleme/taşınma yöntemine göre OTP üretimi ikiye ayrılır:

  • HOTP (Event-Based Counter-Sequence && HMAC-based OTP): Taşınma faktörü bir tür sayaca (olay tabanlı) bağlı olarak değişim gösterir. Counter-Sequence donanımsal, Event-Based ise yazılımsal OTP’lerde yaygın olarak kullanılır.
  • TOTP (Time-Based): Taşınma faktörünün zaman damgasına bağlı değişimi şeklinde gözlemlenir. Yani, sunucu tarafta da istemci tarafta da aynı zaman ayarı ve gizli anahtara göre OTP üretilir.

Tek kullanımlık parola ilgili bağlı olduğu algoritmaya göre oluşturulup kimlik doğrulama protokolüne manuel olarak girilir ve “bildiğiniz bir şey” veya “olduğunuz bir şey” kapsamında etkinleştirilebilir. Buna örnekler, her 30-60 saniyede bir kod oluşturan veya basıldığında bir kod oluşturan bir düğmeye sahip olan Token’lardır. Bu, bir cep telefonunda veya mobil cihazda çalışan tek seferlik bir şifre oluşturma uygulamasını da içerebilir. Doğrulayıcı işlevini yerine getiren kriptografik modül FIPS 140-2 onaylı olmalı ve bir kerelik parola, kişisel bir donanım cihazında depolanan simetrik bir anahtarı anlık bir zaman değeri ile birleştirmek için FIPS onaylı bir blok şifre veya karma işlevi kullanılarak oluşturulmalıdır. Tek kullanımlık şifrenin sınırlı bir ömrü olmalıdır.

Üretici/tasarlayıcısına bağlı olarak istemci-doğrulayıcı arasındaki yapı senkron veya asenkron işleyerek bir PIN/parola serisi oluşturur. Senkron ve asinkron yapıda ayırım zamanla ilgilidir.

  • Senkron (eşzamanlı) belirteçler: OTP oluşturmak amacıyla bir kimlik doğrulama sunucusuyla zaman açısından eşitlenir. Sunucunun ve Token’ın her biri, aynı zaman tabanına senkronize edilmesi gereken bağımsız saatlere sahiptir. Oluşturulan OTP yalnızca kısa bir süre için geçerlidir. Token ve kimlik doğrulayıcı saatleri arasında çok fazla fark varsa, parola kimlik doğrulaması asla doğru olmaması gibi bir zorlukla karşılaşılabilir.
    • RSA SecurID, donanım tabanlı eşzamanlı dinamik Token’nın bir örneğidir.

 

    • Google Authenticator, yazılım tabanlı eşzamanlı dinamik Token’ın bir örneğidir.

 

    • Bir diğer örnek olarak sayaç tabanlı eşzamanlı dinamik Tokenlar basit bir sayaç kullanır. Kimlik doğrulama sunucusu Token Kod 1’i bekler ve kullanıcının Token aynı Kod 1’i görüntüler. Kullanıldıktan sonra Token ikinci kodu görüntüler ve sunucu da Token Kod 2’yi bekler
  • Asenkron (eşzamansız) belirteçler: Kimlik doğrulama sunucusu arasında zaman senkronizasyonunu kullanılmaz. Çalışma yapısına örnek olarak (CRAM), kimlik doğrulama için istemci kullanıcı adını girer, kullanıcı adına istinaden doğrulama sunucusu bir Challenge değeri üretir. Daha sonra istemci, PIN kodu ile birlikte bilgileri manuel olarak girer ve bir token üretilir. Kullanıcı PIN ve challenge değeri ile oluşturulan token doğrulama sunucusuna gönderilerek kimlik doğrulama sağlanır. Sistem, kullanıcının kimliğinin doğrulandığından emin olur çünkü bu süreç parola sorgulamaya, belirli bir Token’a, Token tarafından kullanılan şifreleme algoritmasına ve kullanıcının PIN’ine bağlıdır. Bu sorgulama yalnızca kısa bir süre için geçerlidir ve yalnızca doğrulayıcının, ilgili token’ı yayınladığından bu yana ne kadar süre geçtiğini takip etmesi gerekir.

 

Her durumda, kullanıcılar genellikle kullanıcı adlarını, PIN veya şifrelerini (bildikleri bir şey) ve dinamik Token kodunu (sahip oldukları bir şey) yazarak kimliklerini doğrular. Bu yöntem güçlü kimlik doğrulama sağlar: Token, PIN olmadan işe yaramaz ve PIN de, Token olmadan işe yaramaz.

 

D.4) Şifreleme Aygıtı

Tüm kriptografik işlemlere ve özel anahtarların korunmasını sağlayan (Non-Programmable Logic && Non-Volatile Storage) bir donanım aygıtına denir. Buna bir örnek, çeşitli X.509 sertifikalarını ve tüm şifreleme işlevlerini işleyen bir FIPS-201 akıllı karttır. Her kimlik doğrulama, aktivasyon verilerinin (ör. Şifre, PIN) girilmesini gerektirir.

 

Daha büyük bir çok faktörlü kimlik doğrulama çözümünün bir parçası olan güvenli bir Token tabanlı kimlik doğrulama modülü oluşturmak için, güvenlik uzmanının konu ile ilgili tüm kılavuzları anlaması ve ardından bu kılavuzu resmi bir kurumsal güvenliğe entegre edebilmesi gerekir. İş gereksinimlerini desteklemek için kuruluşa gerçek bir çok faktörlü kimlik doğrulama çözümü sunabilecek en az bir ek kimlik doğrulama faktörünü içeren mimari kurulmalıdır. Güvenlik uzmanlarının bu bağlamda incelemesi için iyi bir kaynak NIST SP800-63-1, Elektronik Kimlik Doğrulama Kılavuzu, Aralık 2011’dir.

 

 

Kaynaklar:

https://www.amazon.com/CISSP-All-One-Guide-Eighth-ebook/dp/B07J1JQSJY

[i] https://www.siberportal.org/blue-team/securing-information/multi-factor-authentication/
[ii] https://www.siberportal.org/blue-team/cryptography/simetrik-sifreleme-ve-asimetrik-sifreleme-algoritmalari/
[iii] http://www.irs.gov/pub/irs-pdf/p1075.pdf
[iv] http://csrc.nist.gov/publications/fips/fips140-2/fips1402.pdf
[v] https://www.siberportal.org/blue-team/securing-windows-operating-system/bitlocker-technology-on-windows-environment/
https://www.onelogin.com/learn/otp-totp-hotp
https://searchsecurity.techtarget.com/definition/one-time-password-token-OTP-token

 

 

 

 

CEVAP VER

Yorumunuzu giriniz
İsminizi giriniz

This site uses Akismet to reduce spam. Learn how your comment data is processed.