选一个适合自己的加密芯片,加密IC,如何才能真正的做到不被激活成功教程。[通俗易懂]

选一个适合自己的加密芯片,加密IC,如何才能真正的做到不被激活成功教程。[通俗易懂]做嵌入式产品,最头痛的事情就是害怕自己的代码给别人读出来,不需要通过自己,人家直接拿去生产了。所以要保护自己的最好方式就是使用硬加密IC的方式。当然有句话说的好“这世上没有激活成功教程不了的加密算法”。每一个加密芯片都有它的不足和优势,今天我不说如果激活成功教程加密IC,我拿几个产品来对比,只讲它的优点和缺点。     ATSHA204:使用SHA-256算法进行加密操作,内置16*32字节的slot(E

大家好,又见面了,我是你们的朋友全栈君。

      做嵌入式产品,最头痛的事情就是害怕自己的代码给别人读出来,不需要通过自己,人家直接拿去生产了。所以要保护自己的最好方式就是使用硬加密IC的方式。当然有句话说的好“这世上没有激活成功教程不了的加密算法”。每一个加密芯片都有它的不足和优势,今天我不说如果激活成功教程加密IC ,我拿几个产品来对比,只讲它的优点和缺点。

      ATSHA204:使用SHA-256算法进行加密操作,内置16*32字节的slot(EEPROM)可以存储用户数据和秘钥,芯片对外有2中通信方式,分别是单bus和i2c方式。

      我们先来说说SHA:算法最主要的特点就是,任意长度的输入能生成固定长度的输出,并且从输出的结果中不能还原输入的内容,而且要找到不同两个输入导致相同输出的情况在计算上不能实现。听起来很牛,不过其实也只是纸老虎罢了。你想,SHA算法全世界都在盯着,目标太大,每天都有黑客在算计它,也就是说你是躺着中枪,你的加密产品,每天都有成千上万的人忙着激活成功教程,那些想要激活成功教程你产品的人只需要坐收渔利就行了。

      ZW30I8:这个芯片有点特别,就是可以自己定义一个数学运算的公式,也就是说可以自己设计属于你自己的知道的唯一的加密算法。可以一次加密16字节的数据,输出对应的密文。芯片对外的通讯方式分别是UART和I2C。

      我们说说这个来自台湾的国产芯片的可自定义的算法。所谓自定义,就是可以自己设定运算法则明文加密成密文。这个运算的法则是只有你自己知道的,原理上这种加密的运算是可以激活成功教程的,但是它的好处是不像SHA目标那么大,只有那些想要激活成功教程你产品的人,靠他自己的能力来激活成功教程。我不知道这样形容对不对,SHA就像是一只老鹰,虽然想要吃到它不容易,但是盯着它的人太多了,一不小心就成了别人的佳肴。自定义算法就像一只麻雀,虽然没什么保护自己,但是没人会去关注它,反而这样就更安全。微软的window复杂了吧,这样做出来的东西都随便就让人给激活成功教程了。而linux就很少有人来激活成功教程,不是因为linux的算法有多么的复杂,而是因为关注linux的人少,那它反而就是安全的了。

      以上是对算法本身的安全性讨论的,其实目前如果要激活成功教程一个产品,特别是硬件的产品,谁都不会傻傻的用暴力的手段去激活成功教程加密算法本身,这样吃力不讨好,就好像越狱苹果一样,黑客不可能去激活成功教程IOS的加密体系,而且找它的漏洞,通过漏洞来绕开认证体系。

 那如何才能更加提高自己产品的安全系数呢?其实这是一个系统的问题,我们先来看看加密芯片和主MCU之间如何进行认证的原理吧。一般的方式就是主MCU发送一串明文给加密芯片,加密芯片通过加密算法的运算后就返回密文。明文-》算法-》密文。经过3个步骤,主MCU获得对应的密文和自己的匹配,如果正确就往下执行,如果不正确就退出。咋一看没啥问题,但是仔细分析一下就很多漏洞。主MCU只负责发送明文和匹配密文,它不管明文给到的是谁,而密文返回来的又是谁,它只负责匹配。根据这个漏洞,激活成功教程者就可以通过总线上挂载设备捕捉到明文,也可以监测到返回的密文,这样自己只需要做一样东西,就是绕过加密芯片,用单片机自己写一个程序,只要收到明文,就返回之前捕获到的密文,你不需要知道密文是如何运算的,代表什么意思。这就说明,其实加密芯片在整个加密的系统中不是必要条件。

 这个激活成功教程的关键是因为每次主MCU发的明文都是同一个,那如果明文每次都不一样这不就能避免激活成功教程了吗?确实是这样,如果主MCU每次发的明文都不一样,虽然激活成功教程者取到本次的明文,和密文,但是他也不知道下一次明文是多少,密文又是多少,这就在一定程度上增加了激活成功教程的难度。最好的做法就是我们增加一个随机数对明文进行编码,使得每次的明文不一样,密文也不一样了。增加随机数有两种方法,一种是用库函数rand()的方法。一种是外加一个硬件的随机数芯片。第一种其实并不能正在的确保它的随机性,它是有公式算出来的,想要更详细的解析可以百度一下。如果是一般的应用也是够的,但是如果您的产品值钱,最好还是加一个真随机数芯片了,这里也推荐一下国内的芯片ZW20I8。它是靠随机的电压,随机的温度,随机的时间几个随机因子生成的随机数,完全没有规律可言。

 最后我们还有一个要注意的地方,就是我们一般的加密认证都是在一开机的时候发一个随机明文给加密芯片,加密芯片返回密文匹配后就往下工作,之后就不会再判断了,这样的加密也是不强壮的。所以主MCU这边最好的方法就是在每一次的主循环中都加一次的匹配认证,或者在进去一个关机的函数时都要进行一次的匹配认证。这主要是防止对主MCU进行反汇编后,如果就是单一的一处做判断的跳转,很容易就给激活成功教程者挑出来。

 最后总结一下,1:加密芯片的算法优劣并不重要,重要的是有多少人知道您的加密算法。2:加密芯片也不是必要的条件,需要一个能够每次产生不一样明文的机制。3:加密系统中,增加主MCU和加密芯片之间的多次验证非常有必要。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/152882.html原文链接:https://javaforall.net

(0)
上一篇 2022年6月25日 下午3:00
下一篇 2022年6月25日 下午3:16


相关推荐

  • RAID10磁盘阵列损坏修复操作

    RAID10磁盘阵列损坏修复操作-f模拟硬盘损坏mdadm/dev/md0-f/dev/sdb1、查看损坏磁盘阵列的情况2、将损坏的硬盘设备移除3、插上新的硬盘(在真机上操作,虚拟机之间将损坏的硬盘删除,然后在添加新的硬盘即可)4、卸载挂载操作5、将新的硬盘添加到RAID10磁盘阵列中6、查看修复成功后的磁盘阵列信息(因为新添加的需要等待一段时间等待系统重新创建)7、重新挂载1、查看损坏后的磁盘阵列信息2、将损坏的硬盘从磁盘阵列中移除mdadm/dev/md0-r损坏的硬盘设备名mdadm-D/

    2022年6月3日
    42
  • UDP协议功能

    UDP协议功能为了在给定的主机上能识别多个目的地址,同时允许多个应用程序在同一台主机上工作并能独立地进行数据报的发送和接收,设计用户数据报协议UDP。1、使用UDP协议包括:TFTP、SNMP、NFS、DNSUDP使用底层的互联网协议来传送报文,同IP一样提供不可靠的无连接数据报传输服务。它不提供报文到达确认、排序、及流量控制等功能。2、UDP的报报文格式每个UDP报文分UDP报头和UDP数据区两部分。…

    2022年5月27日
    108
  • 几款永久免费内网穿透,好用且简单_内网穿透平台

    几款永久免费内网穿透,好用且简单_内网穿透平台第一款:Sunny-Ngrok提供免费内网穿透服务,免费服务器支持绑定自定义域名管理内网服务器,内网web进行演示快速开发微信程序和第三方支付平台调试本地WEB外网访问、本地开发微信、TCP端口转发新增FRP服务器,基于FRP实现https、udp转发无需任何配置,下载客户端之后直接一条命令让外网访问您的内网不再是距离官网地址:https://www.ngrok.cc/第二款:蜻蜓映射蜻蜓映射是一款免费的内网穿透软件。适用于远程桌面、远程服务器、远程办公、游戏联机、开发调试

    2022年4月19日
    1.6K
  • java中数组转列表_Java数组转list

    java中数组转列表_Java数组转list1.javajdk提供的Arrays.asList(T…a)方法publicstaticvoidmain(String[]args){String[]strArray={“a”,”b”,”c”};List<String>strList=Arrays.asList(strArray);Sy…

    2022年8月23日
    8
  • 在bash中export命令作用是什么_bash:no such file or directory

    在bash中export命令作用是什么_bash:no such file or directoryexport  export命令将会使得被export的变量在运行的脚本(或shell)的所有的子进程中都可用.  不幸的是,没有办法将变量export到父进程(就是调用这个脚本或shell的进程)中.  关于export命令的一个重要的使用就是用在启动文件中,启动文件是用来初始化并且设置环境变量,让用户进程可以存取环境变量脚本不能export(导出)变量到它的父进程(p

    2025年9月4日
    8
  • 如何做出美观的ArcGIS地图

    如何做出美观的ArcGIS地图如何做出美观的 ArcGIS 地图我相信 用过 arcGIS 的人来说 做一张 ArcGIS 地图肯定不难 但是 难在如何做出一副好看严谨的 ArcGIS 地图 1 投影首先 对于不同的国家要选择适合的坐标系 投影参考 http www ginkgomaps com maps world html 然后要分清投影坐标系和地理坐标系的区别 地理坐标系是球面坐标 参考平面是椭球面 坐标单位是经纬度

    2026年3月17日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号