SBVLC: 一种安全的基于二维码的可见光通信系统

SBVLC: Secure barcode-based visible light communication for smartphones, TMC (IEEE Transactions on Mobile Computing), 2015年3月 [1]

http://ieeexplore.ieee.org/xpl/articleDetails.jsp?tp=&arnumber=7061506&queryText%3DSBVLC

1.1. 背景

纽约州立大学布法罗分校、密歇根州立大学、马萨诸塞大学卢维尔分校、香港城市大学的研究人员针对现有NFC(Near Field Communication)技术需要额外硬件支持、容易被监听和中间人攻击的安全问题,提出了一种安全的基于二维码的可见光通信系统,可用于移动支付、身份鉴别、加密数据传输、手机间便捷传输数据等场景。本文可作为手机间无需借助WIFI进行数据传输的新方法。

VLC(可见光通信,Visible Light Communication)是最近兴起的一种通信方法,其应用包括Li-Fi(可见光无线通信,Light Fidelity)等。本文是在学界首次对二维码可见光通信进行的研究。

1.2. 相关工作

在Cobra:一种基于彩色二维码的信息流传输[3]一文中,作者提出了一种同样是在手机间通过二维码高速传输信息的方案。本文(SBVLC)在展望中提到今后可以改用Cobra所使用的彩色二维码,来降低二维码生成时的性能开销,以及更高的信息吞吐量,但是Cobra这篇文章并未考虑到信息安全的问题。

在异步4D条形码[4]一文中,作者提出了一种通过4D的条形码传输信息的方案,这个方案的优点是具有很强的鲁棒性以及异步性,但是此方案并不实用:由于边缘检测和边缘矫正带来了很高的计算代价,使得它的信息传输速率低至100bit/s。

1.3. 业界调研

2014年3月13日,央行下发紧急文件《中国人民银行支付结算司关于暂停支付宝公司线下条码(二维码)支付等业务意见的函》,暂停支付宝、腾讯的虚拟信用卡产品,同时叫停的还有条码(二维码)支付等面对面支付服务,并要求支付宝、财付通将有关产品详细介绍、管理制度、操作流程等情况上报。二维码支付的安全性问题引起了社会的极大关注。280天之后这一规定解禁,但是安全问题依然面临很大挑战[5]。

1.4. 技术细节

SBVLC方法首先分析了二维码通信的安全几何模型,进而提出了防范窃听攻击的物理安全增强方法,如采用隐私屏幕贴膜(privacy screen projector)降低屏幕大角度可见度,或者两部终端进行主动同角度旋转,为了阻止他人对屏幕图像的窃取。

SBVLC需要两部终端具有彩色屏幕和前置摄像头,在此基础上进行多帧的二维码通信,提出了消息传递协议、握手协议和流协议,保证只要不被监听所有帧的二维码,通信内容就是安全的。SBVLC还是一个双工的信息传输方案,可以令通信双方同时收发信息。

1)双工通信方案

SBVLC实现了一个轻量级的可以在智能手机间用二维码通信的双工架构。这个架构是轻量级的,不需要复杂的密码库。

2)智能终端间密钥交换方案

SBVLC实现了一个交替的密钥交换方案,在交换之后即进行加密。

3)All-Or-Nothing数据流传输安全方案

有时需要传输的字符串很短,若仍然加入密钥并不实用。这个方案通过迭代加密的加密方式,保证了,在没有密钥的情况下,依然可以提供足够的安全性。此方案可以使得想要进行攻击的第三方只要没有获取到某一帧图片(通过旋转等方法),就无法获得有效信息。

SBVLC在软件实现上部分利用了,支持IOS和Android的开源二维码Zxing库[2](http://code.google.com/p/zxing),来生成和扫描二维码。

此种方法无需特定的硬件支持,几乎可以支持市面所有带有彩色屏幕、前置摄像头的智能手机,更可以扩展到笔记本等满足硬件需求的设备。

1.5. 测试

图1  在采用了隐私屏幕贴膜的终端进行信息窃取实验

图2  针对不同的二维码级别(QR Code Version),编码、解码、吞吐量变化情况

为了使得相机捕捉图像的效率更高,处理图像所需要的CPU开销更少,本方案采用了自适应尺寸的缩略图来展示不同Version的QR Code。对于相同的文本信息,Version越高,容错性越高,信息量也越大,即二维码的图案更复杂。由上图可见,Galaxy S3会在QR Code Version为19时,达到速率的峰值,即70Kbps,图2所示。速度的瓶颈在Version>18之后从二维码刷新频率,变成了CPU的处理能力。如果双方同时传输信息,由于同时要进行编码和解码,CPU开销至少是原来的2倍,尽管如此信息传输速度也至少为8Kbps当Version为13时。

图3  使用激光进行干扰信息传输实验

经过测试,当其他人试图用激光束照射手机屏幕时,若角度>60°,传输完全不受影响;另外,激光照射的角度无法<30°,否则会被另一台手机挡住,如图3所示。

最后,在IPhone 4/4S/5和很多Android手机上的实验结果表明,97.5%的测试者可以学会SBVLC通信方法,并且该方法足够安全。此外此种方法无需特定的硬件支持,几乎可以支持市面所有带有彩色屏幕、前置摄像头的智能手机,更可以扩展到笔记本等满足硬件需求的设备。

1.6. 专家观点

目前在近距离通信领域,二维码的普及程度远远高于NFC。目前二维码的通信多数属于单向的,主要用于访问网站或金融支付等。而本文提出的SBVLC是双工的通信,此外目前学界还没有类似的采用成熟的二维码多帧加密方法。

本文提出的方案无需借助NFC模块,鉴于目前智能手机普遍带有前置摄像头的情况下,该成果可用于手机系统中,鉴于可以实现70kbps的传输速率,因此可以作为手机间的传输信息的工具,功能类似“快传”,免去了类似“快传”等应用还需要建立WIFI网络所带来的不佳的用户体验,也给仍然使用2G网络的用户一个免费且更快的数据传输体验。作为手机厂商,也可以加入本文中提到的隐私屏幕贴膜,以及控制屏幕的可视角度等,以更好地支持基于此方案的端到端安全短距通信。

1.7. 参考文献

[1] Zhang, B., Ren, K., Xing, G., Fu, X.,Wang, C., SBVLC: Secure barcode-based visible light communication forsmartphones, IEEE Transactions on Mobile Computing, vol.PP, Mar. 2015

[2] Zxing (open source qr library), 2012.http://code.google.com/p/zxing

[3] Tian Hao, Ruogu Zhou, and GuoliangXing. Cobra: color barcode streaming for smartphone systems. In MobiSys, 2012.

[4] Tobias Langlotz and Oliver Bimber.Unsynchronized 4d barcodes:coding and decoding time-multiplexed 2d colorcodes.In ISVC, 2007..

[5] 马化腾:银联已制定二维码支付标准. http://www.nandu.com/html/201503/04/1051829.html

时间: 2024-10-03 21:54:17

SBVLC: 一种安全的基于二维码的可见光通信系统的相关文章

一种基于二维码的半自动文件拷贝方法

在一种受限的环境中,要把文件拷贝出去显然是不可能的.因为既不能进行直接的文本拷贝(Ctrl+C, Ctrl+V),又不能使用scp(因为网络隔离).那么,真的一点办法都木有了吗?答案是否定的,因为毛主席说过,"卑贱者最聪明,高贵者最愚蠢".作为一个好琢磨的程序员,因为好奇("与天斗,其乐无穷:与地斗,其乐无穷:与人斗,其乐无穷."),所以很快想出了一个解决的办法,那就是利用非常盛行的二维码技术.虽然全自动拷贝不好实现,但半自动拷贝还是非常容易做到的.于是,本文尝试利

基于二维码的自适应安防巡逻系统

本作品采用嵌入式系统技术,结合无人机和二维码,借助开源计算机视觉库Open CV和机器人操作系统ROS,实现了室内大型场所的自适应安防巡逻.硬件方面,设计了 Parrot ardrone 2.0无人机作为载体,Minnow Board Turbot主板作为嵌入式核心版的系统.软件方面,编写了无人机飞行控制和图像处理的程序,利用PID控制算法实现了无人机的飞行控制. 整个系统包含无人机.二维码和主板,无人机是直接巡逻的工具,二维码给定飞行路线,主板放置于大型场所的房顶来与无人机通信实现控制.系统的

基于SignalR的消息推送与二维码描登录实现

1 概要说明 使用微信扫描登录相信大家都不会陌生吧,二维码与手机结合产生了不同应用场景,基于二维码的应用更是比较广泛.为了满足ios.android客户端与web短信平台的结合,特开发了基于SinglarR消息推送机制的扫描登录.本系统涉及到以下知识点:     SignalR:http://signalr.net/ 这官网,ASP.NET SignalR 是为 ASP.NET 开发人员提供的一个库,可以简化开发人员将实时 Web 功能添加到应用程序的过程.实时 Web 功能是指这样一种功能:当

两种PHP生成二维码的方法

PHP生成二维码,个人认为最常用的有两种,1.使用google的api生成,2.使用PHP QR Code生成,两种方法生成的二维码都是很清淅的,效果不错.下面来分别说明这两种方法如何实现. 一.PHP使用google api在线生成二维码: 关于这个API的介绍就不说了吧,你可以去Google的官方网站查询,相信大家关注的是具体代码,如下: <?php $urlToEncode="http://www.baidu.com";//要生成二维码的网址 generateQRfromG

通过jquery-qrcode在线生成二维码

随着移动互联网的发展,二维码现在应用得越来越广泛了,随手扫扫就可以浏览网站.加个好友什么的,比起手工输入真的是方便太多了. 前期做了一个综合测评系统,考虑逐步实现移动化,一长串的IP地址用户输入也不方便,借助二维码的话,用户拿起手机扫扫就可以直接进入系统. 基于这个应用场景,就上网研究下了网站二维码的实现方式,归纳起来有以下两种: 1.借助一些二维码生成网站或者二维码生成器生成二维码图片,然后挂在网站上,如码云 QR-Code (二维码) 在线生成器 优点:开发成本为零,能够快速实现多样化的二维

如何用C代码生成二维码

当下因微信和支付宝等手机应用广泛使用,而基于二维码/一维条码的移动支付,也借助手机移动端席卷全国,使得越来越多的人知道有"二维码"这么一种东西. 对于普通用户而来,一般只知道将自己的二维码展示给别人,别人使用软件识别这个二维码即可完成一定的功能.比如,扫码二维码付款.扫码二维码加微信好友.扫码二维码访问网页.扫码二维码下载app等等.这些个功能,在日常行为中,已经很常见了,但作为程序猿的我们,我们怎么能不知道二维码是如何生成的呢?或者说,我要自己生成一个二维码,除了去网页上找二维码生成

javascript生成二维码

摘要: 百度百科上是这样介绍二维码的:二维码(Quick Response Code),又称二维条码,它是用特定的几何图形按一定规律在平面(二维方向)上分布的黑白相间的图形,是所有信息数据的一把钥匙.在现代商业活动中,可实现的应用十分广泛,如:产品防伪/溯源.广告推送.网站链接.数据下载.商品交易.定位/导航.电子商务应用.车辆管理.信息传递等.如今智能手机扫一扫(简称313)功能的应用使得二维码更加普遍,随着国内物联网产业的蓬勃发展,更多的二维码技术应用解决方案被开发,二维码成为移动互联网入口

二维码防伪标签制作生产

二维码防伪标签制作生产(何 188.264.66502)二维码防伪系统开发.二维码防伪标签制作等.二维码防伪标签功能不仅仅强大在具有防伪功用,还具有便利查询.数据交流.精确计算等功用.那么二维码防伪标签制造过程有哪些呢?是如何生成的?下面就简单地介绍一下-- 不知不觉间,防伪标签已经慢慢的融入了商品包装中,我们每天都要面对众多各异的商品,你可能会不经意间就发现防伪标签的存在,特别是二维码防伪标签,网络实体店都能看到二维码防伪标签,应用十分广泛,那么二维码防伪标签 一.二维码防伪标签技术,是中国正

二维码收礼金:新潮与传统人情碰撞下的道德困惑

自互联网诞生以来,其对社会架构.人性.道德.规则等带来的冲击和颠覆是前所未有的.这其中,既有好的,也有坏的.而且好坏也是在转换之中--经过时间的沉淀,当初不被理解的新鲜事物却成为生活的一部分,当初看似风靡一时的却最终被淘汰.新事物的出现之后表现地如此具有冲击力,也让不同年龄.不同认知的人群产生不同想法. 就在近日,北京朝阳区的一个婚礼现场,伴娘在脖子上挂支付宝的收钱码收礼金,却惨遭新娘婆婆的"白眼相待".这一事件迅速走红网络,二维码收礼金是否合适引发争议.年轻人认为挺好玩,很新潮,中老