NFC近距离无线技术具有快捷、易用、安全等特性,其中安全是支付行业最关心的特性。

众所周知传统磁条银行卡的账号信息,是记录在磁条中,当进行刷卡交易时,POS机将交易金额,银行卡中的账号信息以及用户输入的账号密码,一起提交到银行服务器进行验证,当验证通过后即在银行后台完所扣款,然后返回交易结果。

由于磁条的易读取及静态特性,很容易被直接复制,制造出账号信息完全相同的两张卡,这样用户在银行卡未离开身边的情况下被盗刷。

使用NFC技术时,NFC芯片可与POS机进行动态的双向认证。每次交易的数据都是动态生成的,而且账号信息等是通过加密存放,无法直接读取。这样解决了几个问题:

1,NFC中的信息并非静态存放,破解者无法通过直接读取的方式来复制。

2,获取账号信息需要与POS机双向认证,非法设备不具有这些认证密钥,无法获取账号信息。

3,每次交易都由NFC芯片内的随机数发生器产生临时密钥,通信数据当次有效,所以即使捕捉NFC交互数据也无法复制交易。也无法简单篡改金额来伪造交易。

所以,NFC的安全性并不在于看不见交易数据,而是由于NFC为智能卡带来了能量,使得整个交易过程得以动态产生,无法通过简单的读取来复制银行卡,最终达到安全的目的。

下面以Mifare的认证过程加以说明:

1,Mifare卡B发出一个随机数Rb;

2,读卡器A产生一个随机数Ra,并将Rb一起加密后返回TokenAB给卡片;

3,卡片收到TokenAB后,译码并验证ToakeAB中的随机数Rb是否与步骤1中的相同。如不相同则认证失败;

4,卡片B将刚才的Ra加密后发给读卡器一个值TokenBA;

5, 读卡器A收到后,译码并验证TokenBA中的随机数是否和步骤2中的Ra中的相同。如相同则双向认证成功。

当卡片和读卡器有相同密钥的情况下,可以通过上述五个步骤的认证。而密钥在认证过程中并未被明文传输,所以安全性大为提高。

上述只是从卡复制的角度上阐述了NFC卡片的安全性,在支付过程中,还需要有用户密码这个方式来确保交易的安全。

NFC的安全性的更多相关文章

  1. 简单谈谈NFC(转载自-tlex/pku_android)

    NFC是Near Field Communication缩写,又称近距离无线通信,是一种短距离的高频无线通信技术,允许电子设备之间进行非接触式点对点数据传输(在十厘米内)交换数据.这个技术由免接触式射 ...

  2. [Android L]SEAndroid增强Androd安全性背景概要及带来的影响

    1  SEAndroid背景   Android对于操作系统安全性方面的增强一直沿用Linux内核所提供的MAC强制访问控制套件SELinux,对权限进行了更为深度的管理,有效地控制着进程对资源的访问 ...

  3. Android NFC开发概述

    NFC手机相比普通手机来说,有以下3个附加功能:  1.可以当成POS机来用,也就是“读取”模式   2.可以当成一张卡来刷,也就是NFC技术最核心的移动支付功能  3.可以像蓝牙.Wi-Fi一样做点 ...

  4. 解惑:NFC手机如何轻松读取银行卡信息?

    自支付宝钱包8.0推出了NFC新功能,只要将支持NFC功能的手机靠近公交卡.银行卡等带有芯片的IC卡上,可迅速读取卡内余额.卡的信息,还可以给卡进行充值,非常贴心实用. 但是很多网友表示担忧,要是别人 ...

  5. 手机NFC通信的安全车钥匙

    SmartKeys for Cyber-Cars:Secure Smartphone-based NFC-enabled Car Immobicizer 手机NFC通信的安全车钥匙 1概述 如今,智能 ...

  6. Android NFC标签 开发深度解析 触碰的艺术

    有几天没有更新博客了,不过本篇却准备了许久,希望能带给每一位开发者最简单高效的学习方式.废话到此为止,下面开始正文. NFC(Near Field Communication,近场通信)是一种数据传输 ...

  7. NFC手机

    NFC手机 NFC手机内置NFC芯片,比原先仅作为标签使用的RFID更增加了数据双向传送的功能,这个进步使得其更加适合用于电子货币支付:特别是RFID所不能实现的,相互认证和动态加密以及一次性钥匙(O ...

  8. NFC简介

    NFC简介 NFC是Near Field Communication缩写,即近距离无线通讯技术.由飞利浦和索尼公司共同开发的NFC是一种非接触式识别和互联技术,可以在移动设备.消费类电子产品.PC 和 ...

  9. 龙杰ACR122S NFC读卡器

    龙杰智能卡有限公司(ACS,龙杰智能卡控股有限公司之全资附属公司,香港联交所上市编号:8210)创立于1995年,是亚太地区第一大.全球三大智能卡读写器供应商之一.ACS被<福布斯亚洲>杂 ...

随机推荐

  1. Java程序员需要学习的知识点

    Java是全世界最受欢迎的3大编程语言之一,它可以开发出许多实用的WEB应用程序和桌面应用程序,更重要的一点,Java是跨平台的语言——编写一次,可以再任何地方运行.另外,Java也很容易入门,如果你 ...

  2. js加载优化三

    Javascript性能优化之异步加载和执行 Author:小欧2013-09-17 随着科技的发展,如今的网站和五六年前相比,现在的人们对web的要求越来越高了,用户体验,交互效果,视觉效果等等都有 ...

  3. #1042 - Can't get hostname for your address

    my.ini 或 my.cnf 末尾添加 skip-name-resolve 并重启MySQL服务器 ok!

  4. SQL Server - 聚集索引 <第六篇>

    聚集索引的叶子页存储的就是表的数据.因此,表行物理上按照聚集索引列排序,因为表数据只能有一种物理顺序,所以一个表只能有一个聚集索引. 当我们创建主键约束时,如果不存在聚集索引并且该索引没有被明确指定为 ...

  5. [置顶] 玩转Eclipse — 自动注释插件JAutodoc

    代码注释是一种良好的编程习惯.不管对于他人还是自己,注释都有助于代码的阅读和理解.手动添加注释,是一个非常费时和繁琐的工作,严重影响软件开发效率,这也是绝大多数程序员不愿添加注释的主要原因.JAuto ...

  6. 【转】高通平台android 环境配置编译及开发经验总结

    原文网址:http://blog.csdn.net/dongwuming/article/details/12784535 1.高通平台android开发总结 1.1 搭建高通平台环境开发环境 在高通 ...

  7. VS2008生成的程序无法在其它电脑上运行,提示系统无法执行指定的程序

    经过一番查找,最给力的参考是 http://www.cnblogs.com/visoeclipse/archive/2010/02/27/1674866.html ------------------ ...

  8. ZOJ(3455)

    Shizuka's Letter Time Limit: 2 Seconds      Memory Limit: 65536 KB Nobita receives a letter from Shi ...

  9. Raphaël—JavaScript Library

    Raphaël-JavaScript Library What is it? Raphaël is a small JavaScript library that should simplify yo ...

  10. Linux 多线程开发

    在任何一个时间点上,线程是可结合的(joinable)或者是分离的(detached).一个可结合的线程能够被其他线程收回其资源和杀死.在被其他线程回收之前,它的存储器资源(例如栈)是不释放的.相反, ...