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. 用lsb_release -a 查看linux版本

    1.要通过yum 安装上这个命令的软件包 yum -y install redhat-lsb 2.lsb_release -a 查看linux版本信息

  2. linux下源码安装apache服务

    1.搭建静态网站是,我们只需要搭建apache服务即可满足要求. 例如:如果我再客户端游览器输入地址,他会找到192.168.1.100这个服务器,然后根据端口会找到apache服务器.apache他 ...

  3. Java Socket 简单梳理

    Sockets let you send raw streams of bytes back and forth between two computers, giving you fairly lo ...

  4. codecomb 2086【滑板鞋】

    题目背景 我的滑板鞋时尚时尚最时尚 回家的路上我情不自禁 摩擦 摩擦 在这光滑的地上摩擦 月光下我看到自己的身影有时很远有时很近 感到一种力量驱使我的脚步 有了滑板鞋天黑都不怕 题目描述 你在魅力之都 ...

  5. InternetExplorer 表单及用户名密码提交

    陆ftp或者其他类似需要输入密码的站点,可以在url中直接输入用户名密码,格式为: ftp://username:password@url 另外一种情况是,如果是表单提交的也可以通过url填写,如: ...

  6. 关于 Private strand flush not complete

    网友发来告警日志,原本是关于一个死锁的情形,而另外的一个问题则是从redo log buffer写出到redo log file出现了不能分配新的日志,Private strand flush not ...

  7. linux添加静态路由表,重启继续生效(转载)

    在日常的使用中,或者在服务器中,有两个网卡配置两个地址,访问不同的网络段,这种情况是非常常见的现象,但是,我们需要额外的添加路由表来决定发送的数据包经过正确的网关和interface才能正确的进行通信 ...

  8. 自定义View的封装

    通过上一个博文的自定义View的编写后,发现代码其实挺复杂的,所有这里通过对代码进一步的优化,即用到了java的一个重要的特点:封装.通过对父类的方法进行封装,然后在子类继承后实现相应的函数即可,达到 ...

  9. 通过dataflow导入customer

    本文在Magento ver.1.9.1.1上测试通过 (1)在配置文件中设置对应的选项.如果是多website,记得选择相应的website下的store.如果没有添加新的website,建议还是选 ...

  10. 苹果试图做?XCode6 放弃prefix.pch档

    当我们升级到XCode6后, 新建project发现默认是没有pch文件的.非常多人開始不习惯了,苹果到底为什么要取消这一个pch文件. 苹果觉得,因为组件单一模块的原因.你不应该在你的prefix代 ...