Chip & EMV dünyasında “kart sahibinin” kimliğini doğrulamak önemli bir konu. Temel amacı, dolandırıcılığı engellemek.
Bunun için biz kartı basarken 8E (CVM List)Tag’ine aşağıdaki doğrulama yöntemlerini ekleyip, karta basıyoruz.
Karta yazılan liste aşağıdaki işaretlediğim numara formatındaki gibi oluyor ve terminaller tarafından kontrol ediliyor. Terminaller sırayla aşağıdaki listeyi deniyor ve onay almaya çalışıyor. POS’da aşağıdaki 5 metot da kullanıyor. ATM terminallerinin çoğunda Offline PIN metotlarını kullanamıyor. Direkt 3. Metottan başlıyor.
00000000000000004403410342031E031F03
1.Enciphered PIN for offline verification (Offline) - 4403
Kart PIN’i offline olarak doğrulanır. PINPAD’den girilen PIN, karta açık şekilde iletilir.
2.Plaintext PIN for ICC verification (Offline) - 4103
Kart PIN’i offline olarak doğrulanır. PINPAD’den girilen PIN, karta şifreli şekilde iletilir.
3.Enciphered PIN for online verification (Online) - 4203
Kart PIN’i online olarak doğrulanır. PINPAD’den girilen PIN, issuer banka hostuna şifreli şekilde iletilir.
4.Signature – 1E03
Kart sahibinden, işlem sonunda üretilen slip’i imzalaması istenir. Slip’teki bu imza, kartın arka yüzündeki imza ile karşılaştırılır.
5.No CVM Required - 1F03
İşleme kart sahibini doğrulamadan devam edilebileceğini ifade eder.
Scrum kelimesi Ragbi sporunda oyun dışı kalmış bir topun oyuna tekrar dahil edilmesi ve takımın birleşerek bir bütün halinde hareket etmesidir.
Scrum’un gerçek görüntüsü aşağıdaki gibi:
Çevik manifestoda 4 temel değerden toplam 12 prensip var. Bu prensipler ayrıntılı sistem geliştirme süreçleri, araçlar, dokümantasyon veya ayrıntılı planlardan ziyade geliştiricilerin çalışma koşullarına, yazılımın kendisine, müşterilere ve değişen sistem gereksinimlerinin nasıl ele alınabileceğine odaklıdır.
Agile (Çevik) Değerler:
Bireyler ve Etkileşimler (Süreçler ve araçlar yerine): İlk değerin insan olması ve insanlar arası iletişimin aslında gereksinimi ortaya çıkararak dolaylı yoldan sistemin başarısını oluşturur.
Çalışan Yazılım: Çevik manifesto için belgeler değerlidir ama çalışan yazılım çok daha fazla değerlidir.
Müşteri Katılımı: Çevik yöntemlerde müşteri süreç içerisinde devamlı rolü olan önemli bir paydaştır.
Değişim Yönetimi: Geleneksel yöntemlerde, değişimler aslında en temel masraf kaynağıdır ki proje yöneticileri bu durumdan kaçınmak üzere çok ayrıntılı planlar hazırlar. Çevik yaklaşımda ise proje planı statik bir doküman değildir. Her aşamada güncellenir ve değişir.
Agile (Çevik) Prensipler:
1. Süreç tamamen müşteri memnuniyeti odaklıdır. Bu yüzden yazılım olabilecek en erken zamandan başlamak üzere sürekli teslim edilir.
2. Değişen sistem gereksinimleri dikkate alınmalıdır. Gereksinim ne zaman değiştiği veya neye dönüştüğünden bağımsız olarak, bir şekilde sürece dahil edilmesini sağlanmalıdır.
3. İşlevsel son ürüne en kısa zamanda ulaşmak esastır. Müşteri teslimatları ise sürekli olarak devam etmelidir.
4. Müşterilerin sadece pasif izleyici ve gereksinim doğrulayıcısı olarak kalmasından ziyade sürece direkt katılımını sağlayacak altyapı kurulmalıdır. Müşteriler ve geliştiriciler, iş sorununu çözmek için birlikte çalışmalıdır.
5. Ancak motive bireyler uygun ve doğru çözümler üretir. O zaman ihtiyaç duyulan araçlar ve çalışma ortamı sağlanmalı ve çalışanlara doğru ürün teslim etme konusunda güvenilmelidir.
6. Mutlaka yüz yüze iletişim tercih edilmelidir. Mümkün olduğunca mesajlaşmadan kaçınılmalıdır.
7. Çalışan yazılım sürecin sadece ve sadece tek bir performans göstergesidir
8. Sürdürülebilir bir hız esastır. Yani çalışanların, hatta bütün paydaşların yorgunluk vb. nedenlerden dolayı tükenmişliğine müsaade etmemek gerekir.
9. Çeviklik ancak teknik mükemmellik ve iyi tasarımla birlikte mümkün olabilir.
10. Sadelik ve gereksiz işlerden kaçınmak esastır. Yani süreçler değer katmayan bütün unsurlardan temizlenmeli, yani yalınlaştırılmalıdır.
11. Ekip içi organizasyon (ekip içi öğrenme ve iş birliği) en iyi mimarileri, gereksinimleri ve tasarımları mümkün kılar.
12. Geliştirme ekipleri, geliştirme süreçlerini nasıl iyileştirecekleri konusunda düzenli olarak düşünmelidir.
EMV olarak gerçekleştirilen bir kredi kartı işleminde kart sahibinin terminal tarafından doğrulanmasına Cardholder Verification denmektedir. Kart sahibinin doğrulanma yöntemi de Cardholder Verificatipn Method (CVM) olarak da bilinir. 8E tagi ile kontrol edilir.
CVM altı temassız işlemler (Offline olanlar hariç):
Herhangi bir kart sahibi doğrulamasına ihtiyaç olmadan otorizasyona gönderilebilir. Issuer banka (kart sahibi banka) kendisine gelen bu işlemi onaylayabileceği gibi çeşitli kontroller sonucunda reddedebilir. Reddedilen işlemlerin önemli bir kısmı, eğer kart sahibi doğrulanabilmiş olsaydı (örneğin işlemler Pin’li olsaydı) onaylanabilirdi. Bu ve benzeri nedenlerden dolayı online temassız işlemlerde akışın değiştirilmesine karar verilmiştir.
Yeni akışla birlikte Issuer bankanın artık iki değil dört seçeneği olacaktır:
1. Onayla
2. Reddet
3. Kart sahibinden Pin girmesini iste
4. Kartın Pos cihazına takılmasını iste
Örnek işlem akışlarını aşağıda bulabilirsiniz:
CVM limit üstü işlemler:
Yeni akışla birlikte (eğer Acquirer ve Issuer bankalar geliştirmelerini tamamladıysa) işlem sonlandırılmaksızın müşteriden tekrar şifre girmesi istenebilecektir. Yani Issuer bankanın artık iki değil üç seçeneği olacaktır:
RSA algoritması asimetrik bir kriptoloji algoritmasıdır. Asimetrik çalıştığı için iki farklı anahtar kullanır. Bu anahtarlara Public Key ve Private Key denilir. Adından anlaşılacağı üzere public key herkes tarafından bilinirken, private key sadece mesajı yayınlayan kişi tarafından bilinir.
Bu kriptoloji algoritmasını 1977 yılında Ron Rives, Adi Shamir ve Leonard Aldeman geliştirmiş ve soy isimlerinin baş harflerini algoritma adı olarak kullanmışlardır.
Çalışması ise şu şekilde olur:
1. İki adet asal sayı seçilir. Bu sayıların büyük olması güvenlik açısından önemlidir. Bu iki sayıya p ve q diyelim.
2. Anahtarlar için base değerinin hesaplanması gerekmektedir. Base değerine n dersek; n = p*q şeklinde bu değer hesaplanabilir.
3. n değeri için totient fonksiyonu hesaplanır. Her iki çarpanda asal olduğu için n değerinin totient fonksiyonu ; φ(n) = (p-1)(q-1) olarak bulunur.
4. Public key değerimize e dersek, e’yi bulmak için 1< e <φ(n) aralığından bir asal sayı seçilmelidir. e değerimiz artık bizim public key değerimizdir.
5. Private key değerimize d dersek, d*e = 1 mod (n) olarak d değeri hesaplanır.
QR formatında ortak bir standardının kullanımı içinEMVCofirması tarafından bazı çalışmalar yapılıyor. İlki 2017 yılında yapıldı, 2018 yılında da müşteri ve terminaller için yeni güncellemeler geldi.
Burada EMVCo’nun amacı QR konusunda ortak standartlar oluşturmak. QR kod yapısında TLV (Tag-Length-Value) formatında bir dizin mevcut, sonunda da CRC doğrulama değeri var.
Aşağıda bizim de devamlı ilgilendiğimiz EMV alanları var, aşina olmanız için paylaşıyorum;
Örneğin:
·Payload Format Indicator: QR versiyon vb. ID bilgilerini tutuyor.
·Merchant Category Code (MCC): Üye işyeri kodu
·Country Code: Ülke kodu
·Merchant Name: İş yeri adı
·CRC: Doğrulama değeri. EMV dokümanına göre ISO standartı baz alınarak doğrulama değeri oluşturuluyor.
Bankalar bazen kartları koli halinde toplu gönderebiliyor. Koli barkod, kartların ayrı bir koli ile gönderilmesi için kullanılan bir barkod numarası.
Bu kullanılan numaralar “EAN-13” standartlarına yani Avrupa Article Birliğine uygun olarak üretiliyor. Buradaki EAN kodunu, belirli standartlara göre ülkemizde TOBB organize ediyor. Yani belirli bir standartları var, kafanıza göre bu numaraları üretemezsiniz.
Koli Barkodda toplam 13 hane var, şöyle sıralanıyor:
ØÜlke Kodu 3 Hane
ØFirma Kodu 4 Hane
ØÜrün Kodu 5 Hane
ØKontrol Hanesi 1 Hane
Daha kolay anlaşılması için aşağıda dosya formatında anlattım;
Giden Kurye Dosyasında; Koli barkod numarası ve barkod numarası bilgileri aşağıdaki formata benzer şekilde yer alıyor. Kurye firması, koli barkod alanı dolu olan kayıtları ayrı bir koli ile teslimatını yapıyor.
Koli Barkod No
Barkod No
Şube
1111111111111
1111111111111
Merkez
Kurye Gelen dosyasında; Firma, banka tarafından iletilen koli barkod numarası ve altındaki tüm barkodlar için ayrı ayrı dağıtım bilgilerini banka ile paylaşıyor.
Koli Barkod No
Barkod No
Şube
Dağıtım Durumu
1111111111111
1111111111111
Merkez
Şube Yetkilisine Teslim
Bu yapının bankaya ne tür avantajı ya da katkısı var?
-Banka, X şubesine gönderilecek 100 adet kart için gönderi başına örneğin 2 TL ödediğini düşünürseniz 2X100= 200 TL bir maliyeti oluyor.
-Koli barkod yapısında ise kurye firması koli bazında gönderi ücreti alıyor. Dolayısıyla banka, 1 koli gönderim ücreti 50 TL ise burada toplu gönderim yaparak 100 adetlik kart gönderiminden 150 TL tasarruf etmiş oluyor.
Ödeme sistemleri dünyasında, barkod numarası bir çok alanda (Kredi kartı Ekstresi, Kurye ile Kart dağıtımı vb.) kullanılıyor. Bugün bizde kurye ve barkod mantığı nasıl ilerliyor onu anlatmak istedim.
Ayrıca ekte gönderdiğim “Koli Barkod Neden Kullanılır?” mailime de bakabilirsiniz.
Bir kart için basım / barkod üretim / kurye süreçleri aşağıdaki gibi oluşuyor:
-Kart tutucusunun üzerine barkod numarası basılarak kartın fiziki basımı yapılır. Fiziki basılan kart, “Kurye” firmasına iletilir.
-Banka tarafından “Kurye dosyası” oluşturularak (ya da web servisle, bizde şu an web servisle ilerliyoruz) barkod numarası bazında kurye için gerekli bilgiler “Kurye firmasına” iletilir.
-Kurye tarafından fiziki iletilen kart bilgileri ile Kurye dosyası ya da web servisle iletilen bilgiler karşılaştırılarak mutabakat yapılır.
-Dağıtım sonucu barkod numarası bazında “Kurye firması” tarafından bankaya iletilir.
-Dağıtım ve mutabakat işlemleri “barkod numarası” üzerinden yapılır.
Kısacası Barkod Numarası, kartların kurye ile dağıtımı için olmazsa olmaz bir değerdir. Bir karta ait n adet barkod üretilmiş olabilir, fakat 1 barkod, 1 karta ait olmalıdır.
Not: Kartın dağıtım adedince barkod numarası üretilir. Örneğin; bir kart 3 kez Vade yenileme, Emboss yenileme vs. nedenleri ile yenilenmişse aynı kart numarası altında 3 farklı barkod numarası üretilmiş olabilir.