NFC的安全性
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的安全性的更多相关文章
- 简单谈谈NFC(转载自-tlex/pku_android)
NFC是Near Field Communication缩写,又称近距离无线通信,是一种短距离的高频无线通信技术,允许电子设备之间进行非接触式点对点数据传输(在十厘米内)交换数据.这个技术由免接触式射 ...
- [Android L]SEAndroid增强Androd安全性背景概要及带来的影响
1 SEAndroid背景 Android对于操作系统安全性方面的增强一直沿用Linux内核所提供的MAC强制访问控制套件SELinux,对权限进行了更为深度的管理,有效地控制着进程对资源的访问 ...
- Android NFC开发概述
NFC手机相比普通手机来说,有以下3个附加功能: 1.可以当成POS机来用,也就是“读取”模式 2.可以当成一张卡来刷,也就是NFC技术最核心的移动支付功能 3.可以像蓝牙.Wi-Fi一样做点 ...
- 解惑:NFC手机如何轻松读取银行卡信息?
自支付宝钱包8.0推出了NFC新功能,只要将支持NFC功能的手机靠近公交卡.银行卡等带有芯片的IC卡上,可迅速读取卡内余额.卡的信息,还可以给卡进行充值,非常贴心实用. 但是很多网友表示担忧,要是别人 ...
- 手机NFC通信的安全车钥匙
SmartKeys for Cyber-Cars:Secure Smartphone-based NFC-enabled Car Immobicizer 手机NFC通信的安全车钥匙 1概述 如今,智能 ...
- Android NFC标签 开发深度解析 触碰的艺术
有几天没有更新博客了,不过本篇却准备了许久,希望能带给每一位开发者最简单高效的学习方式.废话到此为止,下面开始正文. NFC(Near Field Communication,近场通信)是一种数据传输 ...
- NFC手机
NFC手机 NFC手机内置NFC芯片,比原先仅作为标签使用的RFID更增加了数据双向传送的功能,这个进步使得其更加适合用于电子货币支付:特别是RFID所不能实现的,相互认证和动态加密以及一次性钥匙(O ...
- NFC简介
NFC简介 NFC是Near Field Communication缩写,即近距离无线通讯技术.由飞利浦和索尼公司共同开发的NFC是一种非接触式识别和互联技术,可以在移动设备.消费类电子产品.PC 和 ...
- 龙杰ACR122S NFC读卡器
龙杰智能卡有限公司(ACS,龙杰智能卡控股有限公司之全资附属公司,香港联交所上市编号:8210)创立于1995年,是亚太地区第一大.全球三大智能卡读写器供应商之一.ACS被<福布斯亚洲>杂 ...
随机推荐
- oracle安装报错检查操作系统版本: 必须是5.1 or 5.2。实际为 6.1未通过
oracle安装时报错,提示:操作系统版本: 必须是5.1 or 5.2.实际为 6.1未通过 , 解决方案 这里只认证5.1.5.2的OS版本,但是我的win server 2008系统版本为6.1 ...
- T-SQL 创建、修改、删除数据库,表语法
CREATE 语句 CREATE语句的开头都是一样的,然后是特定的细节. CREATE <object type> <object name> 一.CREATE DATABAS ...
- 安装 Kali Linux 后需要做的 20 件事
安装 Kali Linux 后需要做的 20 件事 本文含有我觉得有用的每一件事情.本文分为三大部分: 专门针对Kali用户 Kali Linux是来自Debian的一个特殊版本,Kali Linux ...
- Add Digits 解答
Question Given a non-negative integer num, repeatedly add all its digits until the result has only o ...
- 学生管理系统(list)
学生管理系统:学习了一点文件指针的操作和链表操作,以前总想搞下子,刚好碰到同学要做这个,自己瞎搞了一通. 实现功能:数据添加,查找,删除,插入,修改只是在查找加几句就没写. #include < ...
- python分布式抓取网页
呵呵,前两节好像和python没多大关系..这节完全是贴代码, 这是我第一次写python,很多地方比较乱,主要就看看逻辑流程吧. 对于编码格式确实搞得我头大..取下来页面不知道是什么编码,所以先找c ...
- sendto() 向广播地址发包返回errno 13, Permission denied错误
http://blog.csdn.net/guanghua2_0beta/article/details/52483916 sendto() 向广播地址发包返回errno 13, Permission ...
- 安装jansson库【JSON库C语言版】
本次操作在Ubuntu 14.04下进行,其他的系统大同小异,安装软件时请根据系统版本进行调整. 1.下载jansson源码: git clone https://github.com/akheron ...
- 9.5 在 C# 中使用 F# 库
9.5 在 C# 中使用 F# 库 像 C# 一样,F# 也是一种静态类型的语言,就是说,编译器知道每一个值的类型,以及类方法和属性的签名.对于与 C# 的互操作性来说.这是很重要的,由于,编译器能够 ...
- CentOS 5.7 中文乱码问题解决方案
一.安装中文支持: # yum install "@Chinese Support" 二.用 yum 安装中文字体 #yum install fonts-chinese.noarc ...