İ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.