安企神电脑监控软件 在线试用
扫码咨询客服
安企神电脑监控软件、局域网监控软件
首页
功能介绍
产品简介
下载中心
帮助中心
客户列表
关于安企神

基于二维码的加密算法分析

更新时间:2022-10-28 15:46:28


本文简介:二维码以其成本低廉 、编码范围广 、信息容量大 、容错纠错能力强等优点 ,在社会生活的许多领域得到了广泛的应用 。 二维码用于证件管理可以实现证件信息的自动识读 ,便于网络化管理 ,并有一定的防伪功能 ,在国外已经有了成熟的应用 。 但在应用中发现二维码防伪功能十分有限 ,并且不能满足证件管理中的“人证同一性”问题 ,基于此 ,本文将指纹技术与二维码加密技术结合提出了一种应用方案 ,以期增强二维码

基于二维码的加密算法分析

二维码以其成本低廉 、编码范围广 、信息容量大 、容错纠错能力强等优点 ,在社会生活的许多领域得到了广泛的应用 。 二维码用于证件管理可以实现证件信息的自动识读 ,便于网络化管理 ,并有一定的防伪功能 ,在国外已经有了成熟的应用 。 但在应用中发现二维码防伪功能十分有限 ,并且不能满足证件管理中的“人证同一性”问题 ,基于此 ,本文将指纹技术与二维码加密技术结合提出了一种应用方案 ,以期增强二维码在证件管理中的防伪功能。

1  伪指纹特征密钥

1 .1  随机数发生器概述

在密码学中为了防止密钥被破译 ,密钥必须没有任何规律 ,基于此种要求提出了利用随机数作为密钥的方法 。目前对随机数发生器的研究很多 ,提出了很多方案 ,但迄今为止我们不能证明一个数字序列为完全随机 ,只是它的规律很难发现而已.目前用于密钥的机数发生器主要有美国联邦信息处理标准的 ANSI X9 .17 和 FIPS186等多种 。随机数发生器虽然对密钥被破译的问题提供了支持 ,但随机数是由谁产生的没有给出认证的问题 ,而这一点在证件管理中具有非常重要的意义。伪指纹特征随机发生器可以解决这种认证问题 。

1 .2  伪指纹特征随机发生器

伪指纹特征随机发生器的组成技术包括 :指纹特征数据采集技术 、伪指纹特征随机发生器技术 、伪随机指纹特征密钥技术 ,如图 1 所示 。

1

图 1  伪指纹特征随机发生器解决方案

(1)指纹特征数据采集器的作用是通过采集指纹数据 ,并经过指纹模式识别系统算法将它转化为指纹特征数据 。

(2)伪指纹特征随机发生器的作用是通过伪指纹特征随机发生器 ,产生伪随机指纹特征 。

(3)伪随机指纹特征密钥可使伪随机指纹特征数据生成相关的加/解密密钥 ,并且通过该密钥可以认证伪随机指纹特征数据的身份 ,即该密钥是谁的指纹。

1 .3  伪指纹特征密钥生成方法

伪指纹特征密钥的生成步骤如下 :首先采集指纹进行处理得到初始指纹特征信息 ,接着对该指纹特征信息设定参数进行一系列的平移和旋转 ,形成伪随机指纹特征 ,最后编码成为伪随机指纹特征数据值.具体实现过程如下 :

(1)如图 2 所示,图中的P点是某一个指纹特征点 ,T为平移向量 ,P’是平移后的点.即 :P′= P+ T

1

图 2  点的平移

(2)如图 3 所示 ,P 点是平移后的一点 ,P′是经过旋转后的一点 ,θ是旋转的角度 ,R 是旋转矩阵 。 即 P′= R * P

1

(3)如图 4 所示 ,P1 和 P0 经过平移旋转后的指纹特征点 ,P1′、P0′是 P1 和 P0 经过缩放后的点 ,其中 S为缩放矩阵 。 为简化计算 ,SX 和 SY 一般取值相同 。

1

(4)将得到的每个点的坐标拼接起来,产生一个伪指纹特征随机数 。

通过上述处理 ,我们并没有改变指纹拓补结构,将变化前的指纹特征与变化后的指纹特征作指纹比对运算 ,结果是判定两指纹相同。由此伪指纹特征随机数不仅表示了一个人的身份特征,而且具有随机不确定性。若将其用作密钥,则既可表示该密码的人的身份 ,又难以破译。经过上述过程产生的随机数值序列一般都太大(有256个字节),可以再利用哈希函数散列工具 ,将生成的伪指纹特征值散列成较小的随机数。

2  二维码加密方案研究

生成二维码及使用的正常流程如图 6 所示 。

1

图 6  二维码正常使用流程

         通过上面的流程 ,可以在不同的环节对二维条码加密和解密形成不同的解决方案 ,各种方案如下 。

方案一 :本方案是对信源先加密 ,再进行编码 ,对二维条码解码后得到的是信息密文 ,只有通过解密程序才能识读 ,如图 7 所示 。

1

图 7  二维码加密方案一

方案二 :本方案是对信源先编码,编码后对码字进行加密。为了避免码字加密对纠错的影响 ,我们只能在纠错码生成前对数据码字进行加密 ,如图8所示 。

1

图 8  二维码加密方案二

        除此之外还可在生成二维码图形时,对码图进行随机加密,属高级加密,条码要通过高速解码芯片才能解密。对二维码进行加密时还可同时采用上面的方案形成更多混合方案。 由于二维码识读器已经商业化,任何符合国家标准的二维码都可利用二维识读器直接解码得到信息,因此对一般用户来说,应该采用第一种加密方案。第二种方案对二维码设备开发商在扩充其设备功能时使用。本文选择第一种方案 ,利用伪指纹特征密钥将信息加密 ,改善二维码的防伪功能。

3  伪指纹特征密钥加密证件信息的意义和流程

在证件管理中我们将证件信息存储在二维码中,将二维码打印在证件上实现证件信息的自动化读取,但没有证件的防伪功能。 在对称密钥体制中,收发双方必须共享密钥, 这就涉及到密钥的保存与传递问题,攻击者通常在密钥的保存传递环节中窃取密钥对密码体制进行攻击,伪指纹特征密钥可以有效防止这种攻击。我们用持证人的伪指纹特征密钥对证件信息加密后存储在二维码中,就可以使证件伪造者改动证件信息的同时不能相应改动二维码内存储的内容而被识破。在证件信息的读取过程中,只有持证人本人通过其指纹特征密钥才能解密证件信息,防止证件被冒名使用[5]。

伪指纹特征密钥加密解密流程如图 9 所示(其中 X表示信息明文 ,Y 表示信息密文)。

1

图 9  伪指纹特征密钥加密解密流程

4  结语

二维码技术用于证件管理,易于被复制和伪造,给应用带来了许多负面影响。 本文对二维码加密技术做了大胆的尝试,利用伪指纹特征密钥将二维码进行加密,有效地解决了证件的防伪和认证问题 。

立即下载试用

如何防止企业内部开发代码被泄密?

       据统计报告,企业在遭遇数据泄露事件时,有百分之八十的概率是出现在内部人员身上。这表明,内部数据安全问题远远比网络攻击更加可怕。尤其是在研发型企业里,代码这种重要又值钱的数据,是最容易让别有用心之人动歪心思的。

 

       代码数据的泄露,对企业造成的打击和影响是不可估量的,对于研发部门来说,重要的数据可不仅仅是代码,还有很多核心数据需要保护。下面我们就从不同角度看看,有哪些技术手段可以保护代码不泄露。

  

一、对代码本身采用的技术手段

 

      1、代码混淆:也称为模糊处理,其技术原理是代码重命名,也就是说原先具有含义的方法名称,重命名为毫无意义的(A,B,C 诸如此类)。缺点:无法隐藏调用的系统的函数。

 

      2、代码隐藏:因为代码混淆改变了方法签名,在很多时候是有问题的,例如程序集要被其他人使用的时候。因为方法名变成了毫无意义的一些字符,将造成使用者极大的麻烦,也可能导致现有引用程序集的失效。

 

      3、非托管代码编:使用非托管代码编写核心代码(例如核心算法),然后使用平台交互的方式进行调用,非托管代码比较难反编译。

 

      4、强名称签名:这种方法,用通俗的话说就是对文件按照Microsoft的算法对文件进行Hash,然后将hash出来的数据(public key token )写入文件。在运行或者对文件进行调用的时候,SDK会检查public key token ,若不符合则抛出异常,退出。

 

      5、代码加密:改变MSIL和JIT的通信,根据底层的需要来解密代码。破解的难度大,较安全,内存无完整代码。但是这种方式可能会导致编程的难度大,若利用专门的加密软件,则会加大系统的开发成本。

 

      6、代码本地化:代码完全编译成本机代码,同win32下的应用程序一样,完全失去了.NET的优越性。

 

      7、代码加水印:简单的说,就是让特定的字符串以图片的形式,绘制在程序的界面上,用来提示软件是否注册,这种保护方法,关键的地方就是对图片绘制条件的判断,如果仅仅是用true 或者false 来判断,就形同虚设了。

 

二、研发部门内部管控手段

 

      8、禁用U口:企业可以通过禁用USB接口,这种方式可以有效防止恶意的数据拷贝,如果需要对外发送的话,需要经过审核后由专人拷贝出来再外发。

 

      9、控制访问权限:网站白名单,只允许访问工作需要的网站,其他一律禁止掉。这个算是比较严格的限制方式了。采用应用过滤,禁止掉所有的文件传输、网盘、邮件等。这个方案相对有效,但是不能排除通过未知的应用协议来传文件,而且会给日常工作带来一些不便。

 

      10、部署DLP数据防泄漏系统:有条件的企业可能会在内外网边界部署DLP数据防泄漏系统,所有内部向外部发出的数据,都要经过DLP系统的内容扫描,在确保不包含敏感信息的情况下才允许发出。这也是比较常见的一种方式,可以有效防止各个渠道的外发泄密。

 

      11、第三方身份验证:现在有许多基于标准且高度安全的身份验证产品可供选择,这样的话,你的员工/客户等等就不需要一个个记住账号密码了,这样就能减少账号泄密的风险了。

 

      12、服务器上备份文件:及时的将重要文件备份,以便丢失后能及时找回,同时可以减少无意的泄密带来损失。

 

      13、特殊部门不允许进行文件外发:比如研发部门或者财务部门这种核心和敏感数据较多,不允许他们直接的对外发送文件,如果需要发送的话,需要经过审批后,由专人进行发送。

 

      14、监控电脑的文件外发动作:这个就需要有带有监控功能的软件了,可以监控到每个人的电脑操作行为,一旦产生外发动作,就会给管理员发出警报。

 

      15、云桌面:云桌面也是一种很流行的方式,很多研发型企业都在使用,它的成本比较低,使用灵活,可以快速响应企业和开发需求,比如企业规模扩大时,可快速实现资源配置和扩展。最重要的是,数据都集中在服务器上,开发人员的终端不再保存数据和存储,实现代码等数据不落地,对于企业来说,不仅仅是便于管理了,而且更能保障信息安全。

 

      16、网络隔离:这个算是目前最流行的方式了。将研发网与办公网、测试网、外网等进行隔离,防止不同部门、不同业务之间的违规数据交换。通过网络隔离的方式,可以有效防止内部核心代码数据泄露。

 

      17、对企业数据信息存储介质做渗透测试:渗透测试是完全模拟黑客可能使用的攻击技术和漏洞发现技术,对目标系统的安全做深入的探测,发现系统最脆弱的环节。

 

      18、内部设备的管理:很多企业会疏于对打印机、传真机等设备的管控,殊不知这些也是泄密渠道之一。必要的时候可以安装一些打印管理软件,实现打印内容监控、打印计数、打印审核等。

 

三、防止外部攻击的方法

 

      19、使用多种抵御手段:安装各种防火墙、入侵检测系统、DDoS防护服务、防病毒等产品来防范黑客的攻击和病毒的入侵。可以有效抵御外部的攻击导致的数据泄露,对企业整个网络安全环境起到一定的保护作用。

 

      20、监视攻击:有很多很好的监控工具,但是需要投入时间和精力来确保随时可以监控到异常。选择监控系统时,得确保知道自己在监控什么以及如何回应。

 

      21、分析各种网络日志:日志的搜集与分析可帮助企业侦测针对性攻击。IT和安全人员可从中发现关于黑客的一些宝贵信息,例如黑客如何进入网络,以及黑客的攻击策略。

 

      22、高防服务器:高防服务器就是能够帮助网站拒绝服务攻击,并且定时扫描现有的网络主节点,查找可能存在的安全漏洞的服务器类型。


本文为收集整理,文章部分观点不代表本站观点,如有侵权或其它问题请反馈客服。https://www.wgj7.com/cjwt/16477.html