大家好,我是老胡,今天我们来讲一物一码安全方面的内容。有一天,我们家小朋在幼儿园上了交通安全课,回家后,给我说“爸爸,老师说的:没有安全,就没有快乐”。这句话说的真的非常好,没有安全就意味着有很多危险,有很多危险哪里还有快乐可言。这句话也适合一物一码营销活动,专业的营销平台可以很轻松地帮助客户实现活动营销目标,糟糕不安全的营销平台会带来很多意想不到的烦恼。

安全真的非常重要,准备了两期内容专门讲这个安全专题。这期主要将二维码的安全,二维码的安全前几期零零散散地讲过一些,这期再系统地讲一下。主要有以下几个方面的内容,二维码Url编码安全,二维码数据传输安全管控,二维码印刷安全管控,以及商品生产阶段的二维码赋码安全管控。二维码的相关基础知识在第一期中已经详细讲解了,对于二维码,Url,域名,字符串等概念可以参考第一期的内容《二维码基础》。

首先来讲下二维码Url编码安全。二维码的Url是域名加上一串随机的字符组成,域名是固定的,随机的字符串是唯一的。例如像我们吉祥码的域名jixiangma.cn。一个真实的二维码Url如下: http://q.a5j.cc/?q=yuspi2cai9i96。二维码Url编码安全,实际上是指这个随机的字符串编码安全,例如就是指yuspi2cai9i96这个字符串的安全。下面为了描述方便这个随机字符串用X码来表示。

X码的生成不能有算法包含其中,这句话怎么理解呢?简单的理解是X码中不能由一个或多个已知字符推算出剩余字符是什么。为了保证X码的算法安全性,必须保证X码中的全部或者部分字符都是纯随机生成,字符与字符之间没有必然的算法联系。没有算法在其中,也意为着没法使用算法来破解X码,只能使用字符组合穷举的方式来破解X码。这种穷举的方式是没有任何效率可言的,可能穷举出一个码,就需要上千万次,上亿次的扫码比对;可能需要一天,几天到10多天的时间。这种叫硬破解,很笨的方式,即使有人尝试,也得不偿失,很容易被系统监控到。

X码的组成一般有两种形式,一种是X码中的每个字符都是随机生成,另外一种是序号字符串加上几个纯随机字符。第一种相比较第二种的好处是相同长度的字符串可被破解的难度更高;但是也有两个非常明显的缺点,就是X码生成困难和消费者扫码匹配困难。生成困难原因如下:X码整个字符串是随机生成,不能保证当次生成的字符串和已经历史生成的字符串不重复。举个例子来说,系统平台中已经有1亿个X码,现在生成一个新的X码,则这个新码就需要和历史的一亿个码进行比对判断,比对是否重复;如果没有重复就生成成功,如果重复则这个新码就被废弃掉。扫码匹配困难也是相同的道理,以上面的例子来说,消费者扫一个码,就要在这一亿个码中查找比对是否存在。

尤其是日积月累,例如一个平台系统中有几十亿或者上百亿的X码时,生成X码和扫码匹配会越来越困难。这种架构的系统平台,生成一次上亿的码,可能需要几个小时到几天的时间。消费者扫码,活动H5页面的展示也会越来越慢,严重影响消费者扫码体验。也就是说随着系统平台分配的码量的不断增加,系统性能也会随着降低。

序号字符串加上几个纯随机字符这种组合优点就非常明显了,X码的生成和扫码匹配都非常快速。生成时,有序号部分的存在,由于序号部分不会重复,整个X码也永远都不会重复;因此就不需要判断X码字符串在历史生成里面是否重复了,只需要简单地生成保存即可。而扫码匹配时更加简单,根据序号索引到系统平台对应的这个X码,把扫码得出的X码和系统平台中的X码一比对,就能知道是否匹配成功。这样就形成了它最大的优点:不会由于系统平台分配的码量的不断增加,而导致性能降低
对于破解难度,也不是个大问题。假如一个X码是13位字符(36进制0-9 a-z 36个字母),前面8个字符表示可以分配的码量,后面5位是随机字符组成。则可以分配的码量就是36的8次方,等于2,8211,0990,7456(2.8万亿);而破解难度为36的5次方分之一,就是6046,6176分之一;也就是说需要6千万次硬破解才可以验证出一个X码,应该说破解的可能性基本为零。
我们吉祥码采用的是序号加随机字符方式,生成和分配1亿码只需要秒级,几秒钟就可以完成。

下面我们说下二维码数据的传输安全;二维码从系统平台生成到赋码到每一件商品上,中间经过了很多数据传输环节。一物一码系统平台生成二维码Url数据文件,数据文件移交给活动厂商的接口负责人或者印刷厂的接口人,接口人再把这些文件给印厂的技术人员生成二维码图形数据,技术人员再把这些二维码图形数据输入印刷设备。上述这么多环节,涉及了各方的人员,就需要保证二维码数据不被泄露。

理想的方式是从一物一码系统平台生成的数据文件进行加密;加密文件可以经过各个接口人,但是密码是直接发给印厂技术人员的手里,不经过任何中间流转;并且一物一码平台的数据导出操作者,也不能知晓密码;这样就把安全基本控制在一个人身上了,即使出了问题也很容易回溯是哪个环节的问题。

当然对于印厂内部数据管控问题,需要和印厂签订严格的数据保密协议;既然印厂是通过印刷得到了利益,也有相应的责任和义务保证印刷过程中不出现数据泄露的问题。

OK,我们再来说下印刷厂印刷安全管控;上述第二点说的是数据安全,有很重要的环节在印厂;除了数据安全,印厂还要有完善的成品安全管控和废品安全管控。印刷成品管控相对容易,第一,保证印刷工人在生产印刷过程中不进行拍照,第二,生产完成后要入特定安全的库房,这个库房有专人看守管理,专职的入库和出库。

对于废品管理是个大难点,一定要小心,很多二维码泄露大多数是废码处理不严格导致的。废码处理一般有以下两种方式:一个是发给订货厂商,由厂商自己保管和销毁;第二种是印厂自己处理,纸质的就粉碎或者焚烧处理,金属的就压扁或者压成块处理,塑料的一般是粉碎或者压缩等。印厂处理需要专业的设备,而且需要专人负责,有些印厂为了节约处理成本,不做任何处理,就卖给废品收购了,这样就往往导致了二维码被泄露出去。总之印刷一定要找专业性和安全性都非常高的印刷公司,并且签订严格的数据保密协议。

最后我们来说下生产安全管控,这个是在商品生产赋码阶段。生产管控抓好几个点就没什么大问题 1)二维码印刷成品专人管理,专人入库和出库 2)生产线制定防止工人盗扫的严格规章制度3)对于生产过程中的废码,也需要专人来做管理 ,做到总出库量等于生产商品数加上废码数。

另外一物一码系统平台也需要具备识别异常扫码的功能,像我们吉祥码系统,就有活动扫码波动预警,单人扫码次数预警,单一IP地址扫码过多预警,还可以根据需求配置不同的安全策略等等。总之厂商做一物一码营销活动时,选择一家专业的安全的一物一码系统平台非常非常重要。

OK 总结下,今天说了,二维码安全的四个方面:二维码Url编码安全,二维码数据传输安全管控,二维码印刷安全管控,商品生产的赋码安全管控。对于奖品和红包安全,下期来说。

如果大家觉得有帮助,可以关注我们的公众号【吉祥码】一起学习讨论。欢迎转载,谢谢。


↓↓↓更多一物一码行业应用的资讯↓↓↓

- 欢迎关注【公众号】老胡说:一物一码

一物一码(10):二维码的安全管控相关推荐

  1. 8.3 综合案例2.0-扫码支付二维码生成

    综合案例2.0-扫码支付二维码生成 扫码支付完整流程 案例说明 1.硬件 2.连线图 搭建云平台环境 1.添加设备 2.创建设备类型 3.功能定义(创建物模型) 代码 1.更改MQTT信息 2.测试 ...

  2. python3 + opencv +pyzbar实时检测二维码 / 定位二维码,并绘制出二维码的框和提取二维码内容

    python3 + opencv +pyzbar实时检测二维码 / 定位二维码,并绘制出二维码的框和提取二维码内容 1 pyzbar二维码检测模块 1.1. pyzbar模块介绍 1.2 pyzbar ...

  3. C++生成条型码和二维码源码及调用示例 还是C#方便

    先看调用,越简单越好. //画条码 直接贴到主模板图上GenBarCode(memDC, barCodeSn_left, barCodeSn_top, barCodeSn_bottom, sn, iS ...

  4. Halcon学习笔记_05:一维码、二维码

    1.一维码 定义: 由一组规则排列的条.空以及对应的字符组成的标记,"条"指对光线反射率较低的部分,"空"指对光线反射率较高的部分,这些条和空组成的数据表达一定 ...

  5. Halcon一维码和二维码识别

    Halcon一维码和二维码识别 一.Halcon一维码识别 二.Halcon二维码识别 一.Halcon一维码识别 1.一维码的识别过程: (1).创建条码模型create_bar_code_mode ...

  6. uniapp 扫码识别(一维码、二维码)

    注:需开启扫码功能,首先要在manifest.json配置中打开APP模块配置中 Barcode(扫码).Camera&Gallery(相机和相册) 自带扫码插件:uni.scanCode(O ...

  7. VC编译zxing-cpp(一维码或二维码库)

    zxing-cpp是用于生成或识别一维码或二维码的C++库,它和原版的zxing(java)在使用上区别不大.下载zxing-cpp. 将下载的zxing-cpp-master.zip解压至目录. 最 ...

  8. 关于.NET HttpClient方式获取微信小程序码(二维码

    随着微信小程序的火热应用,市面上有关小程序开发的需求也多了起来.近来分析了一项生成有关生成微信小程序码的需求--要求扫码跳转到小程序指定页面(带参数):看了下小程序官方文档,以及网上的例子,未看到多少 ...

  9. qr码是二维码码_如何使用QR码进行有效的营销和推广

    qr码是二维码码 Efficient means doing things right. Effective is about doing the right things. 高效意味着做正确的事. ...

  10. delphi 解析一维条码_一维码和二维码区别有哪些

    我们天天都可以看到一维码,商品上的条码就是一维码,那么,一维码和二维码有哪些区别呢?今天兆麟电子就来给大家介绍一下,一维码和二维码的本质区别有哪些. 一维码和二维码区别有哪些 一维码和二维码有哪些区别 ...

最新文章

  1. jca oracle官方文档,Oracle 官方文档说明
  2. 深入探讨Container
  3. ubuntu常用软件安装_机器学习_第一部分纯命令版本
  4. java字段偏移量什么意思_求结构体的字段的偏移量
  5. 自然语言处理_人工智能自然语言处理技术拉动产业升级引擎
  6. 最实诚导师招生简章“火”了:目前只有不太充足的经费,但绝不克扣研究生补贴!...
  7. php合并两个有序链表,合并两个排序的链表
  8. 使用Python获取键盘的输入
  9. .NET 开源GIS解决方案一 概述
  10. 最新服务器处理器天梯,服务器cpu天梯图2020 至强处理器天梯排名
  11. 电子厂里撂了挑子,我默默自学起了Android|2021年中总结
  12. MP3歌词的同步与拖拽设计
  13. h5/web遮罩弹窗
  14. 初学者怎么学习Java
  15. 图书馆管理系统代码html语言,html图书管理系统
  16. 营收净利双双“滑坡”,华米科技离“独立”还有多远?
  17. ios学习 准备列表
  18. FT232USB串口通信线序
  19. 32.构造ICMP请求包进行路由跟踪
  20. win10电脑窗口设置为护眼模式

热门文章

  1. SpringMVC数据回写与异常处理
  2. U盘引导安装 OS X Yosemite 10.10.2 【黑苹果-图文教程】
  3. 鸽巢原理以及poj2356
  4. java练习题 有50枚硬币,可能包括4种类型:1元,5角,1角,5分。已知总价值为20元。求各种硬币的数量。
  5. 清华同方连锁网吧监管解决方案(转)
  6. PHP 开发参考消息 博文+镜像+技术+框架
  7. 政务外网环境下面springboot项目部署解决方案
  8. 智慧水务信息化建设指南?干货分享!
  9. 用计算机能表演节目,计算机专业科举行2017年学生文艺汇演
  10. Linux_关闭SELINUX