Bir banka kartını POS cihazına taktığımızda veya temassız ödeme yaptığımızda, terminalin karşısındaki kartın güvenilirliğini değerlendirmesi gerekir.
Peki POS cihazı, kartın gerçekten yetkili bir kuruluş tarafından kişiselleştirildiğini ve üzerindeki kritik verilerin değiştirilmediğini nasıl anlayabilir?
Bu sorunun cevaplarından biri, EMV standardında kullanılan Public Key Infrastructure (PKI) ve dijital sertifika zinciridir.
EMV sistemlerinde CA Public Key, Issuer Public Key Certificate ve ICC Public Key Certificate gibi kavramlarla karşılaşırız.
Bu üç bileşen, özellikle Offline Data Authentication (ODA) sürecinde önemli rol oynar.
Bu yazıda sertifikaların ne işe yaradığını, nasıl oluşturulduğunu, Data Preparation sırasında nasıl kullanıldığını ve POS cihazının bunları nasıl doğruladığını inceleyeceğiz.
1. Önce Temel Kavram: Public Key ve Private Key
EMV sertifika zincirini anlamadan önce asimetrik kriptografiyi bilmemiz gerekir.
Asimetrik kriptografide birbirleriyle matematiksel olarak ilişkili iki anahtar bulunur:
- Public Key (Açık Anahtar): Paylaşılabilir ve dijital imzaları doğrulamak için kullanılabilir.
- Private Key (Özel Anahtar): Gizli tutulur ve ilgili dijital imzaları oluşturmak için kullanılır.
Basit bir örnek düşünelim.
Bir kuruluşun bir private key ve public key çifti olduğunu varsayalım.
Kuruluş, belirli bir veriyi private key kullanarak dijital olarak imzalar.
Başka bir sistem ise ilgili public key ile bu imzayı doğrular.
İmza doğrulamasının başarılı olması, ilgili verinin kullanılan private key ile imzalandığına ve imzayla korunan içeriğin değiştirilmediğine dair kriptografik güvence sağlar.
Ancak burada yeni bir problem ortaya çıkar:
Bir public key'in gerçekten doğru kuruluşa ait olduğunu nasıl bilebiliriz?
İşte sertifika zincirinin temel amacı bu sorunu çözmektir.
2. CA (Certificate Authority) Nedir?
CA, yani Certificate Authority, dijital sertifikalar aracılığıyla açık anahtarların güvenilir şekilde ilişkilendirilmesini sağlayan sertifikasyon otoritesidir.
EMV ödeme sistemlerinde CA rolü, ilgili ödeme şemasının sertifika altyapısıyla ilişkilidir.
Örneğin Visa, Mastercard veya TROY gibi ödeme şemalarının kendi gereksinimleri doğrultusunda yönetilen CA anahtar altyapıları bulunabilir.
CA'nın temel görevi, issuer kuruluşların public key bilgilerini kendi private key'iyle sertifikalandırmaktır.
Böylece terminal, CA'nın güvenilir public key'ini kullanarak issuer public key'inin geçerliliğini doğrulayabilir.
CA Key Pair
CA tarafında iki anahtar bulunur:
CA Private Key: CA'nın sertifikaları imzalamak için kullandığı, güvenli ortamda korunan özel anahtardır.
CA Public Key: Terminalin ilgili issuer sertifikasını doğrulamak için kullandığı açık anahtardır.
CA Private Key, POS cihazlarına veya kartlara dağıtılmaz.
CA Public Key ise ödeme şemasına ilişkin güvenli anahtar dağıtım mekanizmaları aracılığıyla terminallere sağlanabilir.
Önemli nokta şudur: POS cihazının ilgili CA Public Key'e güvenmesi, zincirin başlangıcını oluşturur.
3. Issuer Certificate Nedir?
Issuer, müşteriye banka veya kredi kartını sağlayan finansal kuruluştur.
Issuer kuruluşun da asimetrik kriptografik işlemler için bir anahtar çifti olabilir:
- Issuer Private Key
- Issuer Public Key
Issuer Public Key'in terminal tarafından güvenilir kabul edilebilmesi için CA tarafından sertifikalandırılması gerekir.
Genel olarak süreç şu şekildedir:
Adım 1: Issuer, güvenli ortamda kendi anahtar çiftini oluşturur.
Adım 2: Issuer Public Key ve sertifikalandırma için gereken bilgiler, ilgili ödeme şemasının prosedürlerine uygun şekilde CA'ya iletilir.
Adım 3: CA, issuer'ın public key bilgilerini ve ilişkili sertifika alanlarını kendi private key'iyle imzalar.
Adım 4: Ortaya Issuer Public Key Certificate çıkar.
Bu sertifika sayesinde terminal, CA Public Key'i kullanarak issuer'ın public key bilgisini doğrulayabilir.
Issuer Certificate kartın neresinde bulunur?
Klasik RSA tabanlı EMV offline authentication yapısında Issuer Public Key Certificate, kart üzerinde Tag 90 ile temsil edilir.
Ayrıca aşağıdaki alanlar da kullanılabilir:
| EMV Tag | Açıklama |
|---|---|
| 8F | CA Public Key Index |
| 90 | Issuer Public Key Certificate |
| 92 | Issuer Public Key Remainder (gerektiğinde) |
| 9F32 | Issuer Public Key Exponent |
Terminal, uygulamanın RID bilgisi ve CA Public Key Index ile doğru anahtarı seçer.
4. ICC Certificate Nedir?
ICC, Integrated Circuit Card ifadesinin kısaltmasıdır ve burada çipli kartı temsil eder.
ICC Public Key Certificate ise kartın public key'ini issuer'ın dijital imzasıyla sertifikalandıran yapıdır.
Bu aşamada güven zincirine üçüncü bir katman eklenir.
CA, issuer'ın public key'ini sertifikalandırmıştır.
Issuer da kartın public key'ini sertifikalandırır.
Bu nedenle klasik RSA tabanlı EMV DDA/CDA yapısında aşağıdaki ilişki oluşur:
CA → Issuer → ICC
ICC Key Pair
Dinamik offline authentication destekleyen kartlarda bir ICC anahtar çifti bulunur:
- ICC Private Key
- ICC Public Key
ICC Private Key'in gizli ve güvenli kalması gerekir. Anahtar üretimi, kullanılan kart platformuna ve güvenli kişiselleştirme mimarisine bağlı olarak kart içerisinde veya uygun güvenli altyapıda gerçekleştirilebilir.
ICC Public Key ise issuer tarafından sertifikalandırılır.
Genel süreç şöyledir:
Adım 1: Kart için gerekli ICC anahtar çifti oluşturulur.
Adım 2: ICC Public Key, issuer'ın sertifikalandırma sürecine alınır.
Adım 3: Issuer, gerekli kart ve anahtar bilgilerini kendi Issuer Private Key'iyle imzalar.
Adım 4: ICC Public Key Certificate oluşturulur.
Adım 5: Bu sertifika, Data Preparation ve Chip Personalization sürecinde ilgili karta yüklenir.
Klasik RSA tabanlı EMV yapısında ilgili alanlar şunlardır:
| EMV Tag | Açıklama |
|---|---|
| 9F46 | ICC Public Key Certificate |
| 9F47 | ICC Public Key Exponent |
| 9F48 | ICC Public Key Remainder (gerektiğinde) |
Böylece kartın public key bilgisi, issuer'ın dijital imzası aracılığıyla güven zincirine dahil edilmiş olur.
5. Sertifikalar Kart Kişiselleştirme Sırasında Nasıl Hazırlanır?
Şimdi süreci bir kart üretim tesisinin bakış açısından inceleyelim.
Bir bankanın yeni kartlar ürettiğini düşünelim.
Kartın EMV profili, müşteri bilgileri ve güvenlik gereksinimleri önceden tanımlanmıştır.
Sertifika altyapısı açısından gerçekleşen işlemler genel olarak aşağıdaki gibidir.
Aşama 1: CA Anahtar Altyapısının Hazır Olması
İlgili ödeme şemasının CA anahtarları daha önceden oluşturulmuştur.
CA Public Key bilgileri, yetkili terminal altyapılarına güvenli şekilde dağıtılabilir.
Issuer Public Key Certificate, CA'nın ilgili sertifikalandırma süreciyle oluşturulmuştur.
Bu işlemler her kart üretiminde sıfırdan yapılmak zorunda değildir.
Aynı geçerli issuer anahtar ve sertifika altyapısı, uygun politika kapsamında birden fazla kart için kullanılabilir.
Aşama 2: ICC Anahtarlarının Hazırlanması
Kartın desteklemesi gereken offline authentication yöntemine göre ICC anahtar çiftine ihtiyaç duyulabilir.
DDA veya CDA destekleyen klasik RSA tabanlı uygulamalarda kartın kendi private key'iyle dinamik imza oluşturabilmesi gerekir.
Bu amaçla ICC anahtar çifti güvenli biçimde hazırlanır.
Aşama 3: ICC Sertifikasının Oluşturulması
Kartın public key'i, ilgili sertifika bilgileriyle birlikte issuer'ın imzalama sürecinden geçirilir.
Issuer Private Key kullanılarak ICC Public Key Certificate hazırlanır.
Böylece kartın public key'i issuer tarafından sertifikalandırılmış olur.
Aşama 4: Data Preparation
Data Preparation sistemi, kartın ihtiyaç duyduğu EMV verilerini bir araya getirir.
Bunlar arasında şunlar bulunabilir:
- Issuer Public Key Certificate
- ICC Public Key Certificate
- CA Public Key Index
- Public Key Exponent ve gerektiğinde Remainder alanları
- Kartın diğer EMV uygulama verileri
Bu bilgilerin hangi veri blokları veya kişiselleştirme komutlarıyla aktarılacağı, kullanılan kart işletim sistemine, ödeme uygulamasına ve kişiselleştirme çözümüne bağlıdır.
Aşama 5: Chip Personalization
Hazırlanan kişiselleştirme verileri, uygun güvenli kanallar ve APDU komutları aracılığıyla çipe aktarılır.
Kartın private key'inin güvenli depolanması ve yetkisiz şekilde dışarı çıkarılamaması bu aşamada kritik önem taşır.
Kişiselleştirme tamamlandığında kart, desteklediği offline authentication yöntemine göre terminale gerekli sertifikaları ve imza verilerini sağlayabilecek hale gelir.
6. POS Cihazı Sertifika Zincirini Nasıl Doğrular?
Güven zincirinin en önemli kısmına geldik.
Bir müşteri kartını POS cihazına taktığında, terminal ilgili EMV uygulamasını seçer ve karttan uygulama verilerini okur.
İşlemin offline data authentication gerektirdiğini ve desteklediğini varsayalım.
Adım 1: CA Public Key'in Bulunması
Terminal, kartın AID/RID bilgisini ve CA Public Key Index değerini kullanır.
Bu bilgilerle kendi güvenilir CA anahtar listesinden uygun CA Public Key'i bulmaya çalışır.
Eşleşen bir CA anahtarı bulunamazsa ilgili offline authentication yöntemi başarıyla tamamlanamaz.
Adım 2: Issuer Certificate'in Doğrulanması
Terminal, karttan Issuer Public Key Certificate bilgisini okur.
Daha sonra CA Public Key'i kullanarak sertifikanın kriptografik doğrulamasını gerçekleştirir.
Sertifika içindeki biçim, hash, son kullanma tarihi ve ilgili issuer bilgileri gibi gerekli kontroller yapılır.
Doğrulama başarılıysa terminal issuer'ın public key bilgisini güvenilir şekilde elde edebilir.
Adım 3: ICC Certificate'in Doğrulanması
DDA veya CDA kullanılan klasik RSA tabanlı yapıda terminal, karttan ICC Public Key Certificate bilgisini de alır.
Bu sefer doğrulama için CA Public Key değil, bir önceki aşamada doğrulanan Issuer Public Key kullanılır.
ICC sertifikasının bütünlük ve geçerlilik kontrolleri gerçekleştirilir.
Kontroller başarılıysa terminal ICC Public Key'i elde eder.
Adım 4: Kartın Private Key'e Sahip Olduğunun Doğrulanması
Burada kritik bir ayrım vardır.
Bir kartın geçerli ICC sertifikasını sunması, kendi başına ilgili ICC Private Key'e gerçekten sahip olduğunu kanıtlamaz.
Bunu göstermek için dinamik bir doğrulama gerekir.
DDA sürecinde kart, ilgili işlem verileri ve terminal tarafından sağlanan öngörülemez sayı gibi dinamik girdileri kendi private key'iyle imzalayabilir.
Terminal de doğruladığı ICC Public Key ile bu imzayı kontrol eder.
İmza başarılı şekilde doğrulanırsa kartın ilgili private key'i kullanabildiğine ilişkin kriptografik kanıt elde edilir.
CDA yönteminde ise dinamik imza doğrulaması, uygulama kriptogramının oluşturulmasıyla bütünleştirilir.
Böylece belirli işlem verileri ile kartın ürettiği kriptogram arasındaki bağ da doğrulanabilir.
7. SDA, DDA ve CDA Arasındaki Fark Nedir?
EMV offline data authentication denildiğinde üç temel yöntem karşımıza çıkar.
SDA (Static Data Authentication)
SDA, kart üzerindeki belirli statik verilerin issuer tarafından imzalandığını doğrular.
Terminal, CA Public Key üzerinden Issuer Public Key'i doğrular ve ardından Issuer Public Key ile Signed Static Application Data (Tag 93) bilgisini kontrol eder.
SDA'da kartın kendi ICC Private Key'iyle dinamik bir imza oluşturması gerekmez.
Bu nedenle yalnızca SDA, kartın kriptografik olarak kopyalanmasına karşı DDA veya CDA seviyesinde koruma sağlamaz.
DDA (Dynamic Data Authentication)
DDA, SDA'dan farklı olarak kartın kendi private key'ini kullanarak dinamik bir imza üretmesine dayanır.
Terminal, doğrulanmış ICC Public Key ile bu imzayı kontrol eder.
Bu yöntem, yalnızca statik bilgilerin kopyalanmasının yeterli olmamasını sağlar.
CDA (Combined Dynamic Data Authentication)
CDA, dinamik kart doğrulamasını uygulama kriptogramının oluşturulmasıyla ilişkilendirir.
Böylece kartın kimliğine ilişkin kriptografik kanıtın yanında, işlemin belirli kritik verilerinin de imzayla ilişkilendirilmesi sağlanır.
| Özellik | SDA | DDA | CDA |
|---|---|---|---|
| Issuer sertifikası | Kullanılır | Kullanılır | Kullanılır |
| ICC sertifikası | Gerekmez | Kullanılır | Kullanılır |
| Kartın dinamik imzası | Yok | Var | Var |
| İşlem kriptogramıyla birleşik doğrulama | Yok | Yok | Var |
| Statik verilerin kopyalanmasına karşı koruma | Sınırlı | Daha güçlü | Daha güçlü |
Bu karşılaştırma klasik RSA tabanlı EMV offline authentication yapısı içindir. EMV'nin daha yeni ECC tabanlı yöntemlerinde farklı anahtar ve sertifika formatları da bulunabilir.
8. Sertifika Doğrulaması Başarısız Olursa Ne Olur?
POS cihazı sertifikaları doğrularken çeşitli hatalarla karşılaşabilir.
Örneğin:
- CA Public Key bulunamaması
- Issuer veya ICC sertifikasının süresinin dolması
- Sertifika bütünlük kontrolünün başarısız olması
- Beklenen sertifika veya anahtar verilerinin eksik olması
- Dinamik imzanın doğrulanamaması
- Desteklenen iptal listeleri üzerinden ilgili sertifikanın geçersiz olduğunun belirlenmesi
Bu tür durumlar terminalin doğrulama sonuçlarını etkiler.
Ancak offline authentication başarısız olduğunda her işlem mutlaka anında reddedilir demek doğru değildir.
Terminal, kart ve ödeme şemasının kurallarına göre Terminal Verification Results (TVR) alanlarını günceller.
Daha sonra terminal ve kartın risk yönetimi ile action analysis aşamalarında işlemin çevrim içi yetkilendirmeye gönderilmesi, reddedilmesi veya başka bir uygun sonuca ulaşılması söz konusu olabilir.
Offline data authentication, issuer'ın çevrim içi olarak işlem tutarını, kart durumunu ve diğer riskleri değerlendirdiği authorization sürecinden farklıdır.
9. HSM Bu Yapının Neresinde?
HSM (Hardware Security Module), sertifika ve anahtar yönetimi süreçlerinde önemli bir güvenlik bileşenidir.
Özellikle CA ve issuer private key'lerinin korunması, anahtar üretimi ve dijital imzalama işlemlerinde güvenli kriptografik ortamlar kullanılabilir.
Örnek olarak:
- CA Private Key, Issuer Public Key Certificate'i imzalamak için kullanılır.
- Issuer Private Key, ICC Public Key Certificate'i imzalamak için kullanılır.
- ICC Private Key, kart üzerinde dinamik imza oluşturmak için kullanılır.
Buradaki private key'lerin tamamının aynı HSM içerisinde bulunması gerekmez.
CA, issuer ve kartın anahtarları farklı güvenlik alanlarında ve farklı yaşam döngüsü süreçlerinde yönetilir.
Ayrıca EMV offline authentication sertifika zinciri, çevrim içi işlem kriptogramlarının (örneğin ARQC) issuer tarafından doğrulanmasında kullanılan simetrik kriptografik anahtar yönetimiyle aynı şey değildir.
Bu iki mekanizma birbirini tamamlayabilir, ancak amaçları ve kullanılan anahtar türleri farklıdır.
10. Neden Üç Katmanlı Bir Güven Zinciri Kullanılıyor?
Şöyle düşünelim:
POS cihazı dünyanın farklı ülkelerinde, farklı bankaların çıkardığı milyonlarca kartla karşılaşabilir.
Her kartın public key bilgisini POS cihazına önceden yüklemek pratik değildir.
Aynı şekilde her bankanın bütün kartları için ayrı bir güven ilişkisini terminal üzerinde manuel olarak kurmak da ölçeklenebilir olmaz.
Bu nedenle hiyerarşik güven modeli kullanılır.
Terminal, ilgili ödeme uygulaması için güvenilir CA Public Key bilgilerine sahiptir.
CA, issuer public key'ini sertifikalandırır.
Issuer ise kartın ICC public key'ini sertifikalandırır.
Sonuç olarak terminal, başlangıçta güvenilir kabul ettiği CA Public Key'den hareketle kartın public key'ine kadar uzanan bir doğrulama gerçekleştirebilir.
Bu mimari, milyonlarca kartın birbirinden bağımsız terminallerde doğrulanabilmesini sağlayan temel kriptografik yaklaşımlardan biridir.
Sonuç
EMV kart güvenliği, yalnızca kart üzerindeki verilerin şifrelenmesinden ibaret değildir.
Kartın sunduğu bilgilerin güvenilirliği, public key sertifikaları ve dijital imzalar aracılığıyla da doğrulanabilir.
Bu yapıda:
- CA, issuer'ın public key'ini sertifikalandırır.
- Issuer, kartın ICC public key'ini sertifikalandırır.
- ICC, kendi private key'ini kullanarak dinamik doğrulama gerçekleştirebilir.
- POS terminali, güvenilir CA Public Key'den başlayarak sertifika zincirini doğrular.
Böylece uygun EMV offline authentication sürecinde terminal, kartın sunduğu statik verilerin güvenilirliğini ve DDA/CDA kullanılan durumlarda kartın ilgili private key'e sahip olduğunu kriptografik olarak değerlendirebilir.
Kart kişiselleştirme sürecinde oluşturulan sertifikalar, kartın üretim aşamasıyla ödeme anındaki güvenlik kontrolleri arasında doğrudan bir bağlantı kurar.
CA, Issuer ve ICC sertifikalarını anlamak; EMV, Data Preparation, HSM ve kart kişiselleştirme sistemlerinin güvenlik mimarisini kavramak için önemli bir adımdır.