Chip And PIN Bilgisinin Kırıldığı İddiası

Şubat 15, 2010

http://www.thisismoney.co.uk/savings-and-banking/article.html?in_article_id=499525&in_page_id=7
Yukarıdaki yazıda POS a yanlış PIN girildiği halde, PIN doğrulamasından geçildiğine dair bir iddia var.
Bakalım ne kadar doğru.
İddia edilen doğru pinin elde edildiği değil. POS cihazının PIN doğrulama adımının bir nevi geçilebilmesi. Yani varsa bu risk yanlızca Offline PIN doğrulamada var. Yani debit kartlar olası bu durumdan etkilenmezler, çünki onlarda PIN doğrulama online yapılmaktadır.
Offline PIN doğrulamada, PIN i doğrulayan kartın kendisidir. Bildiğim kadarıyla POS PinPad dan girilen PIN i Clear bir şekilde karta yollamakta ve senin PIN in bu mu diyerek bir doğrulama istemektedir.
PIN bilgisi kartın üzerindeki Chip te durmaktadır.
Burada idia edilen, kırılan yapının kart üzerindeki CHIP değilde, POS la kartın PIN verification esnasındaki haberleşmesi olduğunu tahmin ediyorum.
Tabi iddia doğruysa.

Kart Sisteminde Tanımlı KEY ler

Şubat 14, 2010

Key lerin kullanım amacı kısaca;

Kart basımında kullanılanlar, PIN, CVV,  CAVV doğrulamada kullanılanlar,PIN taşımada kullanılanlar ZPK, zone lar arası key taşımada kullanılanlar – ZMK gibi… ve daha bir sürüsü…

Özetle, Keyler mesajlarin, PIN bilgisinin yada PIN i şifreleyen key lerin acik halde (clear olarak) zone’lar arasinda yada POS-Host arasında gidip gelmemesi icin kullanilmaktadirlar.

Bu keyleri birkaç grup altında toplayabiliriz. Host ve Diğer bankalar arasındakiler, Host ve POS ları arasındakiler, Kart basımda kullanılan key ler gibi.

Bazı key lerin açıklamaları;

CVV2/CVC2/CID:  Kartınızın arka yüzündeki numaranın son 3 rakamı ( güvenlik kodu, cvv kodu, Card verification code: CVC ya da Card verification value: CVV  ) oluşturulurken kullanılan anahtar türüdür.
LMK: Local master key. HSM den herhangi bir key talep edildiginde bu key LMK altinda verilir. Bu key yanlizca HSM tarafindan bilinir ve kullanillir. Bu key clear halini kimse bilmez. HSM e LMK ürettirildiğinde bu key ler fiziksel kartlarda saklanırlar. Bu kartlar ki bunlara key componenet leride denmektedir, HSM i Auth moda almada, HSM herhangi bir sebeple üzerindeki LMK yı uçurduğunda, HSM e aynı LMK yı tekrar yüklemek için kullanılılar.
ZPK: Zone PIN key. Zone lar arasinda bir PIN bilgisi transfer edilmek istendiginde bu key once ZPK altinda gönderilir. Açılımı ZONE PIN KEY dir. Mesela BKM den bir işlem geldiğinde işlemde PIN bilgiside gelecekse F52 deki bu bilgi ZPK altındadır.
ZMK:Zone Master Key.  Bir key’i ortamlar arsında taşımak için kullanılan başka bir key. Mesela bir ZPK değişimi yapılacak. Clear ZPK, bulutta açık bir şekilde taşınmaz. Bu key ZMK gibi bir key altında taşınır ve key güvenliği için ekstra bir süreç işletilir.

TPK: Termianl PIN Key; POS bir PIN bilisi gönderecekse  bu PIN i TPK altında şifreleyerek gönderir.
TMK: Terminal Master Key; Farklı şekilde kullanım alanları olmakla beraber aşağıdaki kullanım şekli sadece bir örnektir. POS la bir TMK Exchange i yapmak istediğinizde, POS a bu TPK yı TMK altında gönderirsiniz. POS la daha önceden TMK paylaşımı yapmışsınızdır ve POS TMK altındaki TPK yı kolayca elde edebilir.
MEC: Message Encrytion Key; POS isterse bir mesajı üzerinde tanımlı MEC ile şifreleyerek gönderebilir. Bu MEC key, bütün poslarınız için aynı olmakla beraber, her pos için özel de olabilir.

AC:Application Cryptogram; Kart tarafında hard code bilenen ( perso esnasınd karta çakılan) ARQC üretmek/doğrulamak, ARPC doğrulamak/üretmek için Kart ve HOST kullanılan keydir. Mesela Kart ISSUER un kartı basarken  kullandığı AC keyi ile bir ARQC verisi üretir. Ve bir veri sayesinde o karta özel kimlik oluşur. İşlem host a geldiğinde, HOST bu ARQC yi aynı AC key i ile doğrulayama çalışır, kartın kendi kartı olduğunu teyit eder, kartı doğrular, ARPC üretir. Bu ARPC de kart tarafından doğrulanır.

Burada iki önemli key daha var. MAC ve ENC keyleri. Gene bu key lerde kart basım esnasında karta çakılırlar ve sonradan değiştirilemezler.

Unattended POS

Şubat 12, 2010

Bu pos türünün yaptığı iş, “Unattended” ın türkçe karşılığı ile örtüşüyor.

Bu pos tipini tek cümleyle tarif etmek biraz zor. Kısaca;

Sabit bir bedeli tahsil etmeye yarayan bir pos tipi.

Bu posu kullanmak için bir satıcı yardımına ihtiyacınız yok.

Otobüse binerken, temassız kartınızdan biletin bedelini düşen pos lar bu tipten olabilir.

C#, SortedDictionary, Nesne Sıralama

Şubat 5, 2010

SortedDictionary .Net te olan bir yapıdır.

Dictionary e ekleyeceğiniz bir key değerine göre sıralama yapmaktadır.

Obje leri sıralamak bir dert olabilir.

Her bir obje için, o objeyi unique leştirecek bir key üretip, bu key de Dictionary e verdiğimize bize sıralı bir Array yada Listeye cast edebielceğimiz bir yapı oluşturmaktadır.

SQL de Lock lar

Ocak 19, 2010

Bu konuda özet bir döküman.
Bende fırsat buldukça yazacağım.
http://www.mssqlcity.com/Articles/Adm/SQL70Locks.htm

SQL ClustredIndex, Muhteşemsin

Ocak 19, 2010

SQL de clustered index in önemini bir kez daha anladım.
içerisinde 500.000 kayıt olan bir tabloda 8000 lik bir loop ta, 1400 kayıt için 21 dakika zaman harcarken, clusteredIndex leri oluşturduğumda saniyeler içerisinde 8000 kaydı işledim.

Bu performans makinaya ve daha farklı ögelere de bağlı olmakla beraber, ana olarak clusterd Index in önemini bir kez hada hatırlattı bana

SQL, Sayı Üretme, RAND, NEWID

Ocak 15, 2010

Sql de sayı üretme bazen bir sorun olabilir.
RAND fonksiyonu 0 -1 arası bir değer üretmektedir.
NEWID ise bildiğimiz GUID gibi bir uniqueidentifier üretmektedir.

Burada bir 10 satır bir veri dönen selection içerisinde her bir satır için bir int değer üretme olayını nasıl yaparız?

SELECT TOP 10 RAND() , ( ABS(CAST(CAST(NEWID() AS VARBINARY) AS INT)) % 15 ) +1 FROM XXX_TABLE

Mesela burada, 2.kolonda mod(15) e göre bir int değer üretmektedir.

HSM Temel Bilgi

Ocak 15, 2010

Kredi kartı sisteminde çok önemli bir yeri olan ve güvenli key üretmenin ana unsuru olan HSM cihazları ile ilgili son derece özet ve yeterli bir bilgi bulabileceğiniz bir site.

http://www.jpos.org/wiki/HSM_basics

Kendi bilgi dağarcığımdan bir kaç not; Thaless 8000 e özel ve genel bilgiler;

1.HSM ler üzerlerinde key tutmazlar. Yada  ürettikleri herhangi bir veriyide tutmazlar, cvv gibi… HSM yanlızca kendi LMK sını bilir.

2.İstendiği zaman key üretirler. Ürettikleri key ide gene üzerinde tutmazlar.

3.Kendi ürettikleri key ile şifrelenmiş bir veriyi doğrulayabilirler.

4.HMS ler key dış dünyaya kendi LMK ları altında verirler.

5.THALES ve Safenet HSM leri benim kullanıklarım v bilgidiğim türden HSM üretici firmalardır.

6.THALES key üretirken, amaç sorgulaması yapar. Yani ürettilen key i belli bir amaç için üretir. Mesela CVV key i, AC , MAC yda ENC keyi ni özel olarak üretir.

7.Safenet key üretiminde bu amacı sorgulamaz. Safenet e ürettirdiğiniz key e siz bir anlam yüklersiniz. Safenet sie ürettiği key için bir ID verir ve bu ID ile bu key kullanılmay abaşlanır.

Bit, Byte, Hex sayılar

Aralık 23, 2009

Aşağıda bri tablo ile bu sayı tipleri hakkında gayet özet bir bilgi verilmiştir.

Detaylı bilgi için. http://www.learn-c.com/data_lines.htm

Binary Decimal Hexadecimal Binary Decimal Hexadecimal
0000 00 0 1000 08 8
0001 01 1 1001 09 9
0010 02 2 1010 10 A
0011 03 3 1011 11 B
0100 04 4 1100 12 C
0101 05 5 1101 13 D
0110 06 6 1110 14 E
0111 07 7 1111 15 F

EMV – TLV

Aralık 23, 2009

TLV: Tag – Length – Value anlamındadır.
EMV de veri elemanlarının -Data Tags- ifade ediliş şekli.
Tag : Veri elemanının id si. Bu id unique tir.
Length : Veri elemanının uzunluğu
Value : Veri elemanının değeri

EMV da veri, kart, pos ve host arasında TLV yapısında taşınır.
Aşağıdaki WEB adresi, bir TLV datsını decode etmeye yarayan bir örnek uygulama sunmaktadır.
http://iso8583.info/tools/TLVdecoder/

Mesela;

5A084546710000000000 bu TLV de;

5A: Kart Numarası; PAN; Personel Account Number

08:Uzunluk;Hex değerlidir. Decimal olarak 8 byte lık veri var anlamındadır.

546710000000000: Kart Nuamrası