[teknik]
(4) 

NFC kartlar hk.

tchuck #1489791
nfc kartların süreci hakkında çok bilgim olmadığı için bir örnke üzerinden çalışma prensibini öğrenmek istiyorum.

bir uygulama yazdım diyelim.
bu uygulama vasıtasıyla, nfc kartı bir "hesap cüzdanı" şeklinde kullanmak istiyorum.
yükleme ve hesap düşmeyi uygulamadaki belli kullanıcılar yapabilecek sdece (diyelim).

2 senaryo;

1.
- Adam kartı teslim aldı, bana 500tl verdi.
- Ben NFC kartı application vasıtasıyla telefona okuttum ve içine 500TL yükledim.
- Adam bu parayı yine benim applicationımla çalışan gişelerde harcadı.
soru: bu senaryoda tüm bu hesap işlemlerini nfc üzerinde yürütebilir miyim? yürütürsem bunun güvenlik prosedürü nasıl oluyor? yani sadece appteki X kullanıcının yükleme yapmasını istiyorum, ancak NFC kartta bu sınırlandırmayı nasıl sağlayacağım? Adam kendi uygulaması üzerinden benim verdiğim NFC'ye kendi işlem girebilir. mi? nasıl engelliyoruz?

2. senaryo:
- NFC kartı adama teslim ederken uygulamama okuttum ve nfc id'si ile, kullanıcıyı birbirine match ettim.
- adam NFC karta her yükleme veya harcama yaptığında, yugulama üzerinden bulut veritabanından işlem hareketlerini yönetiyorum.
- Haliyle NFC üzerinde hiçbir işlem yaptırmıyorum, sadece nfc'nin id'sini adama tanımlayıp tüm işlemleri api vasıtasıyla yürütüyorum.
soru: bu 1000 kat daha güvenli ve kafama yatıyor. ama bu durumda da offline'a düştüğü an işlem yapamıyor.

NFC'nin çalışma prensiplerine göre hangi senaryodan ilerlemek daha mantıklı?

 

benim gördüğüm tüm uygulamalarda 2.senaryo geçerli. hatta o derece ki, nfc'nin sadece okunabilir, üzerine yazılamaz bir şey olduğunu düşünüyorum.

co2s2

Bu şekilde çalışmaların yapıldığı bir ortamda bulundum ama bu konuda bizzat çalışmadım. Bilgim bu konuda çalışanlardan duyduklarım kadar.

İlk senaryo için kartı şifreliyorsunuz. Kartın içinde bir bakiye tutup, yükleme yapıldığında veya validatörde harcama yapıldığında kartın içindeki bakiyeyi değiştiriyorsunuz. Tabi bunun icin yükleme ve harcama noktalarına keyinizi iletmeniz lazım.

İkinci senaryo için, yine kartın içinde bir offline bakiye tutabilirsiniz. Onlinea çıkmadığız durumda karttan offline bakiyeyi düşersiniz. Kartın ilk online işleminde offline bakiyeyi eski haline getirirsiniz. Burada yine kartın sifrelenmesi gerekiyor, bir de bakiye yönetimi biraz daha karışık oluyor (harcanan offline bakiyeyi online bakiyeden düşmek gerek, online bakiye yokken offline bakiye kullanılırsa nasıl olacak vs.)

inheritance

Finansal süreçleri offline bakiye üzerinden yürütmek çok mantıklı değil zaten. Çok zorda kalmadıkça ya online olması ya da olabildiğince sık online olup sunucuya işlemleri geçmesi tercih ediliyor. Böylece mutabakat sorunları falan ortadan kalkıp olası memnuniyetsizliklerin önüne geçiliyor.

inheritance'ın dediklerine de katılıyorum. Zaten banka kartları da benzer bir mantıkla çalışıyor; işlemlerin çoğu online ama bazı durumlarda offline'a izin veriliyor. Mesela otomatlar vb. gibi cihazlarda her an bağlantı olmayabiliyor. Bu durumlarda hem POS hem de kart içinde gömülü belli risk kurallarına göre çalışan onay süreçleri var (İşlem X liradan küçükse, bugün Y'den daha az offline işlem yaptıysam, işyeri türü Z değilse onay ver vb.)

salihdt

Benim gördüğüm tüm uygulamalar da 2. senaryo üzerinden gidiyor. Zaten offline'a düşmeyeceksin çok istisnai bir iş amacın yoksa (mesela uçakta kahve satıyorsan mecbur offline olur ama onun dışında offline yapman için bir sebep yok)

1. senaryoda kartların spoof edilme riski de var, bir şekilde patlatıp fake kartlar oluşturup uğraşabilirler. Ne gerek var öyle bir riske. Dandik akbil bile online çalışıyor.

roket adam
1

mobil görünümden çık