物联网整体的数据安全机制设计一般是由云平台及数据处理时通盘考虑,而物联网前端的数据加密技术,主要由数据采集通信的信息加密、前端设备安全的硬件加密、软件加密三大类别。

通常,真实数据信息为明文,对其施加变化的过程就是加密,加密后输出的数据就是密文数据。反之,将密文恢复到明文的过程就是解密。用于完成加密和解密的算法就是加密方法,加、解密过程涉及的参数就是密钥。非法使用者试图从密文中分析出明文的复杂度决定了数据安全度,因此信息解密的重点就在算法上,目前众多加密方法都是依据算法来区分的。

一、信息加密

【1】DES(Data Encryption Standard)算法-对称加密算法

DES算法将要加密的明文分组,每组64bits,采用64bits的密钥,循环移位16次得到16个子密钥(实际用到了56位,第8、16、24、32、40、48、56、64位是校验位, 使得每个密钥都有奇数个1)。DES算法的入口参数有三个:Key、Data、Mode。其中Key为7个字节共56位,是DES算法的工作密钥;Data为8个字节64位,是要被加密或被解密的数据;Mode为DES的工作方式,有两种:加密或解密。DES解密的特点是明文和密文等长,每次对8bits加密,解密和加密互逆。

3DES(即Triple DES)是DES向AES过渡的加密算法,它使用3条56位的密钥对数据进行三次加密。是DES的一个更安全的变形。它以DES为基本模块,通过组合分组方法设计出分组加密算法。

AES(Advanced Encryption Standard,高级加密标准)加密算法采用的是对称分组密码体制,AES的区块长度固定为128位,密钥长度的最少支持为128。AES加密算法是美国联邦政府采用的区块加密标准,这个标准用来替代原先的DES,其特点是加密速度快。

【2】RSA加密算法-非对称加密算法

RSA是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。RSA就是他们三人姓氏开头字母拼在一起组成的。RSAd的算法安全基础就是大整数的因数分解极为困难,因此其密钥越大越安全,通常在1024b以上。RAS是一种非对称加密算法,即加密、解密使用不同的密钥。因此通常是先生成一对RSA密钥,其中之一是保密密钥,由用户保存;另一个为公开密钥,可对外公开。

RAS的特点是其安全性依赖于大数分解,而目前,RSA的一些变种算法已被证明等价于大数分解,需要避开使用。RSA算法的保密强度随其密钥的长度增加而增强。但是,密钥越长,其加解密所耗用的时间也越长,需要综合计算成本考虑。由于大数计算,使得RSA最快的情况也比DES慢上好几倍,无论是软件还是硬件实现。速度一直是RSA的缺陷,但安全性更优。

DSA(Digital Signature Algorithm),其安全性与RSA相比差不多,安全性依赖于计算模数的离散对数的难度。DSA的一个重要特点是两个素数公开,这样,当使用别人的p和q时,即使不知道私钥,你也能确认它们是否是随机产生的,还是作了手脚。

ECC(Ellipse Curve Ctyptography,椭圆加密算法),其安全性设计是利用椭圆曲线上的有理点构成Abel加法群上椭圆离散对数的计算困难性。ECC在某些情况下它比其他的方法使用更小的密钥(比如RSA加密算法)提供相当的或更高等级的安全,大概上160位的椭圆密钥与1024位的RSA密钥安全性相同。在私钥的加密解密速度上,ecc算法比RSA、DSA速度更快,另外其存储空间及贷宽要求更少。

【3】MD5(Message Digest Algorithm 5)算法-散列算法

MD5由美国密码学家罗纳德·李维斯特(Ronald Linn Rivest)设计。 MD5算法采用散列函数实现,以512bits分组来处理输入信息,512bits又划分16个子分组,每个字分组为32bits,经过变换处理,输出4个32bits的分组,串联成128bits的加密序列(散列值)输出。

1996年后该算法被证实存在弱点,可以被加以破解,对于需要高度安全性的数据,专家一般建议改用其他算法,如SHA-2。2004年,证实MD5算法无法防止碰撞(collision),因此不适用于安全性认证,如SSL公开密钥认证或是数字签名等用途。MD5 算法还可以作为一种电子签名的方法来使用,使用 MD5算法就可以为任何文件(不管其大小、格式、数量)产生一个独一无二的“数字指纹”,借助这个“数字指纹”,通过检查文件前后 MD5 值是否发生了改变,就可以知道源文件是否被改动。因此文件加密才是MD5大量应用场景的地方。

SHA-1算法,将任意长度的明文分组,每组为512位,最后一组若不足512位,就补位从第一组开始,通过给定的初识缓冲区链接变量,经过80轮的运算之后,得到长度为160bit的字符串,字符串将参与下一组的运算中,以此类推,最后一组得到的160bit的字符串就是sha1加密结果。SHA-1摘要比MD5摘要长32 位,所以SHA-1对强行攻击有更大的强度,比MD5更安全,相对的速度上要慢些。

HMAC加密算法(Hash-based Message Authentication Code)是一种基于Hash函数和密钥进行消息认证的方法,主要是利用哈希算法,以一个密钥和一个消息为输入,生成一个消息摘要作为输出,能提供消息完整性认证和信源身份认证。HMAC中的H代指Hash散列算法,HMAC可以使用多种单项散列式,例如使用SHA-1,则构成HMAC-1,选用SHA-256散列算法,则构成HMAC-256。

【4】ssl协议

SSL(Secure Socket Layer,安全套接层)协议是网景(Netscape)公司率先采用的网络安全协议。它是在传输通信协议(TCP/IP)上实现的一种安全协议,采用公开密钥技术。SSL广泛支持各种类型的网络,同时提供三种基本的安全服务,它们都使用公开密钥技术。SSL协议可分为:

认证,通信双方进行身份确认;

SSL记录协议,建立在可靠的传输协议之上,完成高层协议提供的数据封装、压缩、加密等基础功能;

SSL握手协议,建立在SSL记录协议之上,在数据实际传输前,协商加密算法、交换加密密钥等。

SSL协议位于会话层,处于TCP/IP协议和各种应用层协议之间。因此SSL协议的优势在于它是与应用层协议独立无关的。高层的应用层协议(例如:HTTP、FTP、Telnet等等)能透明的建立于SSL协议之上。IETF将SSL作了标准化,并将其称为TLS(Transport Layer Security),TLS利用密钥算法在互联网上提供端点身份认证与通讯保密,其基础是公钥基础设施(public key infrastructure,PKI)。

二、硬件加密

硬件加密是在待加密的电子产品之外,附加另外的硬件电路,与待加密的电子产品通信,使得待加密的电子产品内部程序,通过数据通信来判断自己是否继续完成后续操作(或执行下面程序)。

目前通用的硬件加密就是通过专用加密芯片或独立的处理芯片等实现密码运算,将加密芯片、专用电子钥匙、硬盘等一一对应到一起时,加密芯片把加密信息、钥匙信息、硬盘信息等对应进行加密运算,并写入到硬盘主分区表中。这些硬件绑定在一起,缺失任何一个都无法运行。用户把核心算法防盗芯片内部,其集成了各类对称或非对称算法,保障内部的密钥及信息不会被非法读取或篡改。

目前加密芯片的主要应用做加密认证为主,建立在普通芯片基础上,采用ID号认证、密钥认证、随机数加密认证等方式进行加密,这种做法安全性较低,容易被破解,好处就是加密芯片平台安全、算法统一、应用简单。

但从行业发展来看,后续应用方向应该是将主控处理器的程序及数据移植一部分到加密芯片中运行,造就必须有加密芯片参与主处理器才算完整,保证程序及数据的绝对安全,进而提高整体产品的安全性。实现原理为:软件中部分代码及数据经过编译,“移植”到加密芯片上内部,软件中不再拥有该部分代码及数据的副本,程序需要通过功能调用指令来运行加密芯片内部的关键代码并获得返回验证的数据结果,才能确保软件全部功能完整。

全新的加密芯片技术, PUF(物理不可克隆功能)技术,在采用相同的原料、设计、技术和制作工艺,也无法产生两个一样的芯片。这是基于随机物理因素(不可预测和不可控制),这些因素在制造过程中自然存在和/或偶然引入,导致制造出来的芯片存在微小差异,而这些差异在一个可控范围内并非常敏感,又不影响芯片正常运作。这些随机、不可预知、不可控制的差异提取与各种算法结合,造就了动态、唯一、不可预测、无限多个的“密钥”。

三、软件加密

软件加密就是收发信息前,先调用信息安全模块对信息进行加解密的一种软件安全保护技术。通常会有以下几种实现方案:

【1】序列号加密

当前很多软件在使用时,都需要有注册序列号方能使用。注册序列号的生成一般就是把用户私人信息(主要是硬件信息)提供给软件单位,该单位就会根据用户提供的信息计算出一个序列号,用户需要将这个序列号输入到软件中通过验证才能合法使用该软件,甚至软件会依据不同序列号开放不同的功能。目前大部分软件都采用这种方式实现软件合法使用保护。

【2】时间限制

软件内部嵌入了时间保护机制,软件在运行一段时间后自动失效,需要重新激活才能继续使用。其实就是程序内部有一个定时器在工作来统计程序的运行时间,其判断依据有两种,一种是当前时间来判断(有些软件更改系统时间就能继续使用,呵呵),一种是程序使用了多长时间或次数来判断。这种技术目前主要应用在试用版程序上。

【3】注册文件保护

和序列号加密保护类似,只是一注册文件形式提供,文件格式由开发单位定义,通常是包含一些不可显示字符信息的二进制文件,里面有一些加密或未加密的用户信息、注册信息、硬件信息等软件启动或运行过程中,会去调用文件的信息进行验证。

【4】光盘保护技术

软件在启动时判断光驱中是否存在程序需要的特定文件或信息,如果没有,拒绝运行。早年见这种技术很常见(例如以前很多人在网上搜索免光驱的某某游戏,呵呵),目前比较少见。

【5】软件狗技术

软件狗通常是一个安装在并口、串口等接口上的硬件电路(U盘),内部嵌套了接口及工具软件。当被软件狗保护的软件运行是时,不定时地向插在计算机的软件狗发出查询命令,软件狗及时给出响应,其正确的响应能确保软件继续运行,俗称“喂狗”。这是有效防止软件盗版行为的一种技术。

【6】硬件捆绑技术

软件采用与用户使用的不可更改硬件信息进行捆绑,指定软件只能在某设备上运行,不能被拷贝到安装到其他硬件设备上一种技术保护手段。首先用户注册信息、硬件信息提供到软件方,进行特定生成不可逆的加密信息,软件启动时。读取硬件信息及相关信息,通过内部算法计算出加密信息和预设的加密信息是否一致来确认软件是否能启动。

物联网-物联前端安全加密技术简介相关推荐

  1. 【惯性导航姿态仪】 05 捷联式惯性导航系统技术简介

    [惯性导航姿态仪] 05 捷联式惯性导航系统技术简介 引言: 惯性导航系统的基本原理 捷联的含义 自主式的导航方法 惯性导航是一门信息科学 惯性导航基本工作原理图 此文书摘自 : <捷联式惯性导 ...

  2. 基于物联感知和GNSS技术的铁塔安全监测解决方案

    监测背景 电力铁塔是承载电力供应的重要设施,它的安全性需要得到可靠的保障.但是铁塔一般安装在户外,分布广泛,且有很多安装在偏远地区,容易受到自然.人力的影响和破环.因此需要使用辅助的方法实时监控通信塔 ...

  3. 蓝牙Mesh物联系统开发一 项目简介

    前言 基于先前写过ESP32蓝牙Mesh WIFI共存模式下的网关博文,挺多朋友感兴趣并私信问源码,于是在课余时间重新搭建了一套小型的系统,仍以ESP32作为蓝牙Mesh网关,泰凌微8258作为节点的 ...

  4. 物联网技术融合成为新趋势,LPWAN2.0泛在物联·ZETA生态大会在深圳召开

    党的二十大报告提出:"加快发展数字经济,促进数字经济和实体经济深度融合,打造具有国际竞争力的数字产业集群."而数字产业需要通信技术作为底层支撑.但由于以5G.WiFi.蓝牙为代表的 ...

  5. 2022年系统集成企业的物联网平台首选:物联集成平台

    物联网与系统集成有着千丝万缕的关系,感兴趣可以了解以下文章: 物联网平台正在涌向系统集成​ 不是所有物联网平台都适合系统集成​ 现在直接介绍今天的主角: IOTOS物联网系统集成平台 -- 物联网中( ...

  6. 关于物联网卡,您想了解的都在这里

    最近几年,物联网的概念非常火爆,越来越多的应用于我们生活的方方面面.连接物联网和智能硬件联网的重要桥梁,对于物联网相关企业来说非常重要,离不开物联网卡的支持. 1.物联卡定义 物联卡是电信.移动.联通 ...

  7. 深圳核芯物联蓝牙aoa技术培训线上线下齐发力,修炼内功,蓄势待发高精度定位行业的头部公司

    蓝牙AOA产品技术选谁好?参加免费培训就明了.深圳核芯物联线上线下齐发力,修炼内功,蓄势待发!参考核芯曾哥长文 核芯物联岳毅恒 ​ 深圳核芯物联科技有限公司 战略合作拓展总监 线上线下齐发力,修炼内功 ...

  8. 联通物联卡有哪些类型与资费套餐

    自2016年9月以来,电信.移动和联通都把发展战略的重点放在物联网技术上,而联通物联卡是物联网技术中最重要的组成部分,作为物联网技术信息内容调换的媒介,也受到了大家的关注.下面中景元物联网就给大伙儿详 ...

  9. 天翼物联获中国信通院2022 AIoT先锋企业

    近日,由中国信息通信研究院组织开展的2022 AIoT先锋企业评选活动成果发布,中国电信天翼物联凭借为AIoT发展作出的积极贡献获"2022 AIoT先锋企业",是唯一获得该奖项的 ...

最新文章

  1. Hinton等大牛要来中国授课,首个AI人才国际培养计划在北大启动
  2. 【Linux开发】V4L2应用程序框架
  3. git仓库相关知识01-安装和基本命令
  4. 锐捷网络交换机配置命令大全
  5. eclipse安装java web插件
  6. 第 197 章 Unity
  7. Java DatagramPacket 中的坑
  8. 把项目通过maven生产源码包和文档包并发布到自己的私服上
  9. 计算机辅助档案管理文字说明,计算机辅助档案管理
  10. vulnhub Pwned: 1
  11. Day25——组合总和III、电话号码的字母组合
  12. 5.里氏代换原则依赖倒置原则
  13. holder.js占位图片生成器
  14. 区块链习题知识汇总练习——大力推进区块链、原宇宙技术发展
  15. 五、再次执行hello-world.cc
  16. html5音乐播放器格式midi,HTML5 Audio時代的MIDI音樂文件播放
  17. xx.exe 中的 0x014180bd 处有未经处理的异常: 0xC0000005: 读取位置 0xfeeefeee 时发生访问冲突(当指针访问异常时,应考虑是不是对象未创建)。
  18. 《乌合之众--大众心理研究》读书笔记
  19. 87.el-table翻页后保存前一页所选并再次返回前一页时把数据勾选上
  20. 亲测四款好用的Mac电脑手账软件

热门文章

  1. 二层与三层交换机之间有什么区别?
  2. 1626:Hankson 的趣味题
  3. 计算机a类会议论文难度,中国计算机学会推荐国际学术会议和期刊(A类)2019年...
  4. 李阳英语228句口语要素 +校园英语迷你惯用语 +1000句最常用英语口语
  5. 关于谭浩强老先生的《C++程序设计教程》
  6. 一瓶OTC,药店被罚10万,原因是...
  7. 为什么建议大家使用 Linux 开发?有那么爽吗?
  8. JZOJ 1307 Jail
  9. 【Jquery】jquery-qrcode把域名地址生成二维码图片,扫码即可访问
  10. win11安装SolidWorks激活时闪退,长时间无响应