Altyapı Güvenliği
Hardware Security Module (HSM)
Donanımsal Güvenlik Modülleri olarak adlandırılan HSM cihazları; kriptografik anahtarları üreten, koruyan, yönetimini sağlayan ve bu anahtarlar ile şifreleme, dijital imzalama, imza doğrulama gibi kripto işlem yapabilen özel üretilmiş cihazlardır. Yaygın olarak takılabilir kart veya harici ağ cihazları şeklinde kullanılırlar.
HSM cihazının, kriptografik modülün ve algoritmalarının belirli bir standartta güvence sağlandığını bağımsız olarak kanıtlanması için NITS (National Institute of Standards and Technology), Common Criteria veya FIPS (Federal Information Processing Standard) gibi uluslararası tanınmış kurumlarla sertifikalandırılırlar. FIPS 140-2 güvenlik sertifikasyonunun en yüksek seviyesi 4’tür. Çoğu HSM cihazı seviye 2 ve 3 standartlarını sağlamaktadır.
HSM cihazları genellikle saldırılara karşı savunma sistemi (tamper protection) ile donatılırlar. Bu sistem cihaza yazılımsal ve donanımsal olarak koruma sağlar. Saldırganların brute-force, bus probing gibi saldırı yöntemlerine karşılık cihaz kendini korumaya alarak iletişimi kapatabilir ya da içeriğini tamamen silebilir. Fiziksel herhangi bir müdahalede ise cihaz direkt olarak içeriğini yok edebilir. Tamper protection özelliği yazılımsal veya donanımsal müdahalelere karşı isteğe bağlı olarak tamamen kapatılabilir ya da geçici olarak kapatılabilir.
HSM Cihaz Yönetimi
HSM cihazlarının yönetimi için alınması gereken bazı önlemler ve uyulması gereken yönergeler vardır. Bunlar içerisinde VISA ve Mastercard gibi ödeme sistemleri ile ilgili kurumların cihazların yönetimi ile ilgili talepleri de bulunmaktadır.
Cihaz satın alındıktan sonra firmaya iletilirken var ise güvenli taşıma özelliğinin açılması talep edilir. Böylece cihazın, fabrikadan itibaren yazılım katmanında bir müdahaleye uğramadan geldiği kanıtlanır. Cihaz firmaya geldiğinde fiziksel bir müdahale olmadığının kontrolü yapılması gerekir. Cihaz teslim alındıktan sonra güvenli ortama kurulana kadar geçen sürede müdahaleye açık ortamlarda tutulmamalıdır.
HSM donanımları güvenli özel odalar ya da veri merkezleri içerisinde güvenli kabinler içerisinde kurulmalıdır. Özel odalara veya veri merkezlerinde bulunan kabinlere erişim kontrolü sağlanmalı, kabine her erişim sağlandığında erişim kayıtları tutulmalıdır. Kurulum sırasında çift güç beslemeli bir cihaz ise güç kabloları iki farklı güç kaynağına bağlanmalıdır. Cihazda kapakta bulunan ve cihazı kilitleyen fiziksel anahtarlar en az iki HSM yöneticisi arasında paylaştırılarak ikili kontrol prensibi ile tek bir kişinin müdahalesinin önüne geçilmelidir.
Cihazların yönetim ve işlem trafiğine ait ağ ayarları ayrı olmalıdır ve cihaza özel VLAN, IP bloğu kullanılmalıdır. Cihaza ağ üzerinden olan erişimler firewall gibi güvenlik ekipmanları üzerinden yetkilendirme ile olmalıdır. Erişim talepleri mutlaka cihaz yöneticileri tarafından onaylanmalıdır. Şahsi bilgisayarların cihazlara direkt erişimi olmamalıdır, yönetim amaçlı kullanılan sunucuların ya da uygulama sunucularının erişimi olmalıdır. Cihazlara SSH erişimleri sadece cihaz yöneticileri tarafından yönetim ağı üzerinden erişilerek yapılmalıdır. Uygulama sunucularının ise sadece işlem trafiği ağına ve sadece işlem için cihazın hizmet verdiği port numarasına erişimi olmalıdır.
HSM cihazlarında farklı roller bulunmaktadır, bu rollerin yetkileri ve şifreleri uygun kişiler ile paylaşılmalıdır. Her uygulamaya özel olarak cihaz içerisinde alan oluşturulmalıdır. Bu alanlar için rol ve anahtarlar sadece ilgili uygulamaya izin verilerek kullandırılmalıdır.
Roller için kullanılacak şifreler mutlaka güvenli bir alanda saklanmalı, bilgisayarlarda doküman veya tablo gibi olası bir saldırganın erişiminin kolay olduğu alanlarda tutulmamalıdır. Cihaz desteği var ise kimlik yönetimi uygulamaları ile yetkilendirme yapılarak ilerlenmelidir.
- HSM Security Officer: HSM cihazının kurulum ve yönetimsel işlemlerinden sorumludur. Politikalarını belirler ve uygulama alanlarını oluşturur.
- Partition Security Officer: Uygulama alanının kurulum işlemlerini yapar. Politikalarını belirler ve Crypto Security Officer rolünü oluşturabilir. Bu rol her HSM cihazında bulunmayabilir. Benzer yetenekleri Crypto Security Officer rolünde bulunan cihazlarda vardır.
- Crypto Security Officer: Uygulama alanı içerisindeki kriptografik objelerden sorumludur. Bu objeleri oluşturabilir, silebilir, yenileyebilir, değiştirebilir veya kullanabilir. Crypto User rolünü oluşturabilir.
- Crypto User: Uygulama alanı içerisinde kriptografik objeleri sadece kullanma ve bu objeler ile kripto işlemleri yapabilme yetkisidir.
- Auditor: HSM cihazına ait denetim kayıtlarını görebilir ve yönetebilir. Bu rol her HSM cihazında bulunmayabilir. Benzer yetenekleri HSM Security Officer rolünde bulunan cihazlarda vardır.
HSM konfigürasyonunun, uygulama alanlarının ve içerisindeki kriptografik objelerin belirli periyotlarda yedekleri alınmalıdır. Yedek almak için cihazın desteklediği yapıya göre ilerlenebilir. Örneğin; yedekleme için HSM ile aynı şekilde çalışan özel cihazlar kullanılabilir ya da şifreli akıllı kartlara bölerek yedekleme işlemi yapılabilir. Akıllı kartlar ile yedek alınacak ise ikili kontrol prensibi gereği en az iki kişiye bölünerek yedek alınmalıdır. Yedekleme işlemleri için hem HSM Security Officer hem de Crypto Security Officer rolü gereklidir.
Denetim ve sistemsel kayıtların yönetimi belirli rotasyonlar ile çoğu cihaz üzerinde sağlanabilmektedir. Sistemsel kayıtların yönetimi cihaz yöneticisinde bulunmaktadır. Denetim kayıtlarının yönetimi ihtiyaç halinde yetkin ve güvenli kişilerle, firmanın iç denetimi gibi ekipler ile paylaşılabilir. Bazı cihazlarda kayıtlar dışarıya aktarılabilmektedir. Kayıtların uzun süre tutulması ihtiyacı var ise bu yöntem tercih edilebilir. Kayıtların aktarım yapılacağı veri tabanı, sunucu gibi alanların tamamen kayıtlar için izole edilerek kullanılan özel alanlar olması ve bu alanlara erişimlerin kısıtlı olması gerekir. Kayıtların aktarılacağı alanlar kayıt yönetimi ekibi var ise bu ekibin sorumluluğunda olabilir. Eğer kayıt yönetimi ekibi yok ise cihaz yöneticileri ve denetmen rolündeki kişilerin sorumluluğunda olmalıdır.
SNMP protokolü gibi izleme protokollerini destekleyen cihazlar mutlaka bu protokoller ile izlenerek servis sürekliliği kontrol edilmeli ve alarm yapısı kurularak cihaz özelinde bir problem olduğunda HSM yöneticilerine bilgilendirme sağlanmalıdır. SNMP protokolünü desteklemeyen cihazlar için harici uygulamalar geliştirilerek erişim denemeleri, test işlemi denemeleri gibi farklı metotlar kullanılarak izleme yapılabilir. Her iki yöntemle de izleme işlemini yapan sunucular mutlaka kontrollü erişime sahip olmalıdır.
Cihaz bakım, değişim veya güncelleme gibi sebeplerden kurum dışına iletilmesi gerektiği bir durum oluşursa mutlaka yedeği alınmalı, sıfırlanarak iletilmelidir ve yapılan işlem için detaylı kayıt tutulmalıdır. Cihazın kullanımdan kalkması durumunda içerisi tamamen sıfırlanmalıdır ve kayıt tutulmalıdır. Eğer teknik bir sebep ile sıfırlanamıyorsa ayrı bir tutanak kaydı ile fiziksel olarak imha edilmelidir.
Anahtar Yönetimi
Uygulamaların kripto işlemleri yapabilmesi için kullandıkları sayısal objelere anahtar ismi verilir. HSM cihazlarında anahtarlar hangi uygulamaya ait ise o uygulamaya özel alanlarda saklanır. Anahtarlar saklandığı HSM cihazı içerisinde üretilebilir ya da cihaz güvenlik seviyesine göre farklı bir cihaz ve uygulamada üretilmiş anahtarda HSM cihazı içerisine aktarılabilir. HSM cihazları içerisinde barındırdıkları özel donanım sayesinde anahtarın üretimi sırasında fiziksel işlemleri de bu üretime dahil eder ve rastgele üretim sürecini daha iyi yapar. Bu sebepten anahtarların HSM cihazları üzerinde üretilmesi tercih edilir. Üretilen ve aktarılan anahtarların yönetimi Crypto Security Officer rolündedir. Bu rol uygulama yöneticilerine ya da anahtar sorumlularına verilebilir. Crypto User rolü ise bu anahtarları sadece kullanmak ile yetkilidir. Bu sebepten bu rol uygulama ekiplerine verilir.
Cihaz üzerinde üretilen anahtarların açık hali cihaz güvenlik seviyesine göre görülebilir ve üretim sırasında firmaların belirlediği anahtar sorumluları tarafından anahtar formları ile kayıt altına alınabilir, farklı cihazlara aktarılabilir. Bilginin bölüştürülmesi prensibi gereği anahtar sorumluları farklı ekiplerden seçilir ve en az üç kişi olması gerekir. Kayıt altına alınan formlar güvenli bir ortamda bulunan, sürekli izlenilen, yetkisiz kişilerin erişim sağlayamayacağı fiziksel kasalarda saklanmalıdır ve bu kasalara erişimler kayıt altında tutulmalıdır. Her bir anahtar sorumlusu için ayrı bir kasa olabilir ya da en az üç kişinin bir araya gelerek açıldığı ortak bir yapı kullanılabilir.
Güvenlik seviyesi gereği HSM açık olarak anahtar değerini iletmiyor ise anahtarın bulunduğu HSM cihazından aktarılacak olan HSM cihazına erişim ile direkt olarak aktarılabilir.
Uygulama Kullanımı
HSM cihazları uygulamaların ve altyapıların güvenli bir şekilde kriptografik işlemlerini yapmalarını ve çalışmalarını sağladıklarından dolayı kritik veri içeren uygulamalarda kullanım oranları daha yüksektir. Örneğin; online bankacılık işlemleri, dijital fatura/sözleşme/doküman imzalama, sertifika otoritelerinin kök anahtarlarının saklanması, PIN yönetimi, veri tabanı şifreleme.
Uygulamalar ve HSM cihazları arasındaki iletişim genelde cihazlara ve üretici firmalara özel istemci ve kütüphaneler ile yapılır. Bazı istemciler NTLS gibi şifreli bir trafik üzerinden de işlem yapabilir. HSM cihazları PKCS11 komutları ile çalışırlar ancak istemcilerin uygulama seviyesinde Java veya C gibi farklı dillerin de kütüphaneleri mevcuttur. Bu kütüphaneler vasıtasıyla istemci yazılan kodu alt katmanlarda PKCS11 komutlarına dönüştürerek cihaz ile iletişime geçer. Ancak Java veya C gibi kütüphaneleri kullanarak geliştirilen HSM entegrasyonları yüksek kapasiteli işlemlerde alt katmanlara dönüştürülürken hem istemci hem de kütüphane kaynaklı problemlere sebebiyet verebilir. Cihazın tam kapasitesini kullanabilmek ve problemlerden kaçınabilmek adına PKCS11 komutları ile yapılan geliştirmeler daha etkili olmaktadır.
Harici ağ cihazı tipindeki HSM cihazlarında yüksek kapasiteli işlemlere yük dağıtımı ile cevap verebilmesi ve kesinti anlarında farklı konumlardan çalışabilmesi için high availability (HA) özelliği mevcuttur. Bu özellik çoğunlukla istemci tarafında ayarlanır ve cihazlar birbirinden bağımsız olarak çalışmaya devam ederken istemci üzerinde yük dağıtımı sağlanır. Bir veya daha fazla HSM cihazında problem olması durumunda high availability özelliği ile farklı konumlarda bulunan cihazlar ile işlemler devam eder.
19.11.2021
Yorumlar
Çok güzel ve faydalı bir yazı olmuş, teşekkürler.
Elinize sağlık,çok yararlı bir içerikti.
Aydınlatıcı nitelikte bir yazı olmuş, elinize sağlık.
Valla arkadaşlar bu iş aartık çok ciddiye bindi ciddi anlamda burada var
Gözümde canlanır koskoca bir mazi, suçumuz neydi ki ayrıldık böyle :) Ozan emeğine sağlık, güzel yazı olmuş, daha iyilerini de bekliyoruz.
İçerik bakımından çok hoşuma gitti, teşekkürler :)
Güzel bir yazı olmuş, üste yazdığım yorumu silme seçeneği bulamadım. Yazılımsal olarak web sitesinin eksiği sanırım, düzenleme veya mesajı pasif etme özelliği olmalıydı. Teşekkürler.