• Sonuç bulunamadı

İkiliyi güncelle

İKİLİYİ_GÜNCELLE İKİLİYİ_OKU

3.5. Komutlar ve hata kodları genel bilgi

3.6.3. İkiliyi güncelle

Bu komut, ISO/IEC 7816-4 ile uyumludur, ancak, bu standartta tarif edilen komut ile karşılaştırıldığında kısıtlı bir kullanıma sahiptir.

İKİLİYİ_GÜNCELLE komut mesajı, APDU komutunda verilen bitler ile bir EF ikilisinde hali hazırda bulunan bitleri güncellemeyi (silmeyi + yazmayı) başlatır.

TCS_331: Bu komut, sadece, güvenlik durumu, EF’nin GÜNCELLE fonksiyonu için tarif edilen güvenlik öz niteliklerini karşılıyorsa, uygulanmalıdır (GÜNCELLE fonksiyonunun erişim kontrolü PRO SM’yi içeriyorsa, bir güvenli haberleşme komuta eklenmelidir).

3.6.3.1. Güvenli mesaj içermeyen komut

Bu komut, alınan verinin bütünlüğü kart tarafından doğrulanmadan, IFD’nin, hali hazırda seçilen EF’nin içine veri yazmasını mümkün kılar. Bu düz moda, sadece ilgili dosya

‘Şifrelenmiş’ olarak işaretlenmediyse izin verilir.

TCS_332: Komut mesajı.

Bayt Uzunluk Değer Tarif

CLA 1 ‘00h’ Hiç bir güvenli haberleşme istenmiyor

INS 1 ‘D6h’

P1 1 ‘XXh’ Dosyanın başlangıcından itibaren bayt kaydırması: en çok belirgin bayt P2 1 ‘XXh’ Dosyanın başlangıcından itibaren bayt

kaydırması: en az belirgin bayt

Lc 1 ‘NNh’ Lc güncellenecek dosyanın uzunluğu.

Yazılacak baytların sayısı.

#6-#(5+NN) NN ‘XX..XXh’ Yazılacak veri Not: P1’in bit 8’i 0’a ayarlanmalıdır.

TCS_333: Cevap Mesajı

Bayt Uzunluk Değer Tarif

SW 2 ‘XXXXh’ Durum kelimeleri (SW1, SW2)

- Komut başarılıysa, kart ‘9000’’i geri gönderir,

- Hiç bir EF seçilmemişse, geri gönderilen işlem durumu ‘6986’’dır.

- Seçilen dosyanın Erişim Kontrolü karşılanmıyorsa, komut ‘6982’ ile kesilir.

- Kaydırma, EF’nin ebadı ile uyumlu değilse (Kaydırma > EF ebadı), geri gönderilen işlem durumu ‘6B00’’dır.

- Yazılacak verinin ebadı, EF’nin ebadı ile uyumlu değilse (Kaydırma + Lc > EF ebadı), geri gönderilen işlem durumu ‘6700’’dır.

- Dosya öz nitelikleri içerisinde bir bütünlük hatası tespit edildiyse, kart, dosyayı bozulmuş ve yeniden kurtarılamaz olarak kabul eder ve geri gönderilen işlem durumu

‘6400’ veya ‘6500’’dır.

- Yazma başarısızsa, geri gönderilen işlem durumu ‘6581’’dir.

3.6.3.2. Güvenli mesaj içeren komut

Bu komut, alınan verinin bütünlüğünün kart tarafından doğrulanması ile, IFD’nin, hali hazırda seçilen EF’nin içine veri yazmasını mümkün kılar. Hiç bir gizlilik istenmediği için, veri şifrelenmez.

TCS_334: Komut mesajı.

Bayt Uzunluk Değer Tarif

CLA 1 ‘00h’ Güvenli haberleşme. İsteniyor

INS 1 ‘D6h’ INS

P1 1 ‘XXh’ Dosyanın başlangıcından itibaren bayt kaydırması: en çok belirgin bayt

P2 1 ‘XXh’ Dosyanın başlangıcından itibaren bayt kaydırması: en az belirgin bayt

Lc 1 ‘XXh’ Güvenli haberleşme için girdi verisinin uzunluğu

#6 1 ‘81h’ TPV: Düz değer verisi için işaret

#7 L

‘NNH’

veya

’81NNh’

LPV: Aktarılan verinin uzunluğu LPV > 127 bayt ise, L 2 bayttır

#(7+L)-#(6+L+NN) NN ‘XX..XXh’ Düz Veri değeri (yazılacak veri)

#(7+L+NN) 1 ‘8Eh’ TCC: Kriptografik denetim toplamı için İşaret

#(8+L+NN) 1 ‘04h’ LCC: Aşağıdaki kriptografik denetim toplamının uzunluğu

#(9+L+NN)-#(12+L+NN) 4 ‘XX..XXh’ Kriptografik denetim toplamı (4 ençok belirgin bayt)

Le 1 ‘00h’ ISO/IEC 7816-4’te belirtildiği şekliyle

TCS_335: Doğru Güvenli Haberleşme girdi biçimi varsa Cevap Mesajı

Bayt Uzunluk Değer Tarif

#1 1 ‘99h’ TSW: Durum kelimeleri için işaret (CC tarafından korunacak)

#2 1 ‘02h’ Lsw: Geri gönderilen durum kelimelerinin uzunluğu

#3-#4 2 ‘XXXXh’ Durum kelimeleri (SW1, SW2)

#5 1 ‘8Eh’ TCC: Kriptografik denetim toplamı için İşaret

#6 1 ‘04h’ LCC: Aşağıdaki kriptografik denetim toplamının uzunluğu

#7-#10 4 ‘XX..XXh’ Kriptografik denetim toplamı (4 en çok belirgin bayt)

SW 2 ‘XXXXh’ Durum kelimeleri (SW1, SW2)

Güvenli haberleşmesiz İKİLİYİ_GÜNCELLE komutu için tarif edilen (İlave 2 Kısım 3.6.3.1) “Düzenli” işlem durumları, yukarıda tarif edilen cevap mesajı yapıları kullanılarak geri gönderilebilir.

Buna ilaveten, özel olarak güveli haberleşme ile ilgili bazı hatalar oluşabilir. Bu durumda, işlem durumu, güvenli haberleşme yapısı kullanılmadan basitçe geri gönderilir.

TCS_336: Güvenli Haberleşmede hata varsa Cevap Mesajı

Bayt Uzunluk Değer Tarif

SW 2 ‘XXXXh’ Durum kelimeleri (SW1, SW2)

- Geçerli bir oturum şifresi yoksa, işlem durumu ‘6A88’ geri gönderilir.

- Bazı beklenen veri nesneleri (yukarıda belirtildiği gibi) güvenli haberleşme biçiminde bulunamıyorsa, işlem durumu ‘6987’ geri gönderilir: Bu hata, beklenen bir işaret bulunamıyorsa veya komut gövdesi uygun bir şekilde inşa edilmediyse oluşur.

- Bazı veri nesneleri doğru değilse, işlem durumu ‘6988’ geri gönderilir: Bu hata, bütün talep edilen işaretler varsa ancak bazı uzunluklar beklenenlerden farklıysa oluşur.

- Kriptografik denetim toplamlarının doğrulaması başarısızsa, geri gönderilen işlem durumu ‘6688’’dir.

3.6.4. Sorgulama al

Bu komut, ISO/IEC 7816-4 ile uyumludur, ancak, bu standartta tarif edilen komut ile karşılaştırıldığında kısıtlı bir kullanıma sahiptir.

SORGULAMA_AL komutu, içerisinde bir kriptogramın veya bazı şifreli verinin karta gönderildiği güvenlik ile ilgili bir yöntemde kullanmak amacıyla, karttan bir sorgulama oluşturmasını ister.

TCS_337: Kart tarafından oluşturulan sorgulama, sadece, karta gönderilen, bir sorgulama kullanan, bir sonraki komut için geçerlidir.

TCS_338: Komut mesajı

Bayt Uzunluk Değer Tarif

CLA 1 ‘00h’ CLA

INS 1 ‘84h’ INS

P1 1 ‘00h’ P1

P2 1 ‘00h’ P2

Le 1 ‘08h’ Le (beklenen sorgulamanın uzunluğu)

TCS_339: Cevap mesajı

Bayt Uzunluk Değer Tarif

#1-#8 8 ‘XX..XXh’ Sorgulama

SW 2 ‘XXXXh’ Durum kelimeleri (SW1,

SW2) - Komut başarılıysa, kart ‘9000’’i geri gönderir, - Le ‘08h’’den farklıysa, işlem durumu ‘6700’’dır.

- P1-P2 parametreleri doğru değilse, işlem durumu ‘6A86’’dır.

3.6.5. Doğrula

Bu komut, ISO/IEC 7816-4 ile uyumludur, ancak, bu standartta tarif edilen komut ile karşılaştırıldığında kısıtlı bir kullanıma sahiptir.

Doğrula komutu, kartta, komuttan gönderilen CHV (PIN) verisi ile kartta hafızaya alınan referans CHV arasındaki karşılaştırmayı başlatır.

Not: Kullanıcı tarafından girilen PIN’in sağ tarafı, IFD tarafından, 8 baytlık bir uzunluğa kadar ‘FF’ baytları ile doldurulmalıdır.

TCS_340: Komut başarılıysa, CHV sunumuna karşılık gelen haklar açılır ve geri kalan CHV teşebbüs sayacı yeniden başlatılır.

TCS_341: Referans CHV kullanımı için daha sonraki teşebbüslerin sayısını sınırlamak amacıyla kartta başarısız bir karşılaştırma kaydedilir.

TCS_342: Komut mesajı

Bayt Uzunluk Değer Tarif

CLA 1 ‘00h’ CLA

INS 1 ‘20h’ INS

P1 1 ‘00h’ P1

P2 1 ‘00h’ P2 (doğrulanmış CHV açıkça

bilinir)

Lc 1 ‘08h’ Aktarılan CHV kodu

uzunluğu

#6-#13

8 ‘XX..XXh’ CHV

TCS_343: Cevap mesajı

Bayt Uzunluk Değer Tarif

SW 2 ‘XXXXh’ Durum kelimeleri (SW1,

SW2) - Komut başarılıysa, kart ‘9000’’i geri gönderir,

- Referans CHV bulunmazsa, geri gönderilen işlem durumu ‘6A88’dir.

- CHV engellenirse (CHV’nin geri kalan teşebbüs sayacı boştur) geri gönderilen işlem durumu ‘6983’tür. Bir kez bu durum oluşursa, CHV başka hiç bir zaman başarılı bir şekilde sunulamaz.

- Karşılaştırma başarısızsa, geri kalan teşebbüs sayacı azaltılır ve durum ‘63CX’ geri gönderilir (X > 0 ve X geri kalan CHV teşebbüsleri sayacına eşittir. X = F’, CHV teşebbüsleri sayacı F’’den büyüktür).

- Referans CHV bozulmuş olarak kabul ediliyorsa, geri gönderilen işlem durumu ‘6400’

veya ‘6581’dir.

3.6.6. Cevap al

Bu komut, ISO/IEC 7816-4 ile uyumludur.

Bu komut, (sadece T=0 protokolü için gerekli ve mevcuttur) hazırlanan veriyi karttan arayüz cihazına aktarmak amacıyla kullanılır (bir komutun hem Lc hem de Le içerdiği durum).

MESAJ_AL komutu, veriyi hazırlayan komuttan hemen sonra oluşturulmalıdır, aksi takdirde, veri kaybolur. MESAJ_AL komutunun uygulanmasından sonra (hata ‘61XX’ veya hata

‘6CXX’ oluşması hariç, aşağıya bakınız), daha önce hazırlanan veri artık mevcut değildir.

TCS_344: Komut mesajı

Bayt Uzunluk Değer Tarif

CLA 1 ‘00h’

INS 1 ‘C0h’

P1 1 ‘00h’

P2 1 ‘00h’

Le 1 ‘XXh’ Beklenen baytların sayısı

TCS_345: Cevap mesajı

Bayt Uzunluk Değer Tarif

#1-#X X ‘XX..XXh’ Veri

SW 2 ‘XXXXh’ Durum kelimeleri (SW1,

SW2) - Komut başarılıysa, kart ‘9000’’i geri gönderir,

- Kart tarafından hiç bir veri hazırlanmamışsa, geri gönderilen işlem durumu ‘6900’

veya ‘6F00’’dır.

- Le mevcut baytların sayısını geçerse veya Le boşsa, geri gönderilen işlem durumu

‘6Cxx’’tir. Burada ‘xx’, mevcut baytların sayısını tam olarak gösterir. Bu durumda, hazırlanan veri bir müteakip MESAJ_AL komutu için hala mevcuttur.

- Le boş değilse ve mevcut baytların sayısından daha küçükse, talep edilen veri kart tarafından normal olarak gönderilir ve geri gönderilen işlem durumu ‘61xx’’tir. Burada

‘xx’, bir müteakip MESAJ_AL komutu tarafından hala mevcut olan fazladan baytların sayısını gösterir.

- Komut desteklenmiyorsa (protokol T=1), kart ‘6D00’ı geri gönderir.