① 加密芯片的应用
传统的加密芯片,都是采用算法认证的方案,他们所鼓吹的是加密算法如何复杂,如何难以破解,却没有考虑到算法认证方案本身存在极大的安全漏洞。我们清楚的知道,单片机是一个不安全的载体,可以说对盗版商来讲,是完全透明的也不 为过,做算法认证,势必要在单片机内部提前写入密钥或密码,每次认证后给单片机一个判断标志,作为单片机执行的一个判断依据,那么盗版商就可以轻松的抓住 这一点进行攻击,模拟给出单片机一个信号,轻松绕过加密芯片,从而达到破解的目的。如果说,要破解芯片内部数据,那么通过传统的剖片、紫外光、调试端口、 能量分析等多种手段,都可以破解。 [4]
采用智能卡芯片平台的加密芯片,本身就可以有效防护这些攻击手段,将MCU中的部分代码或算法植入到加密芯片内部,在加密芯片内部来执行这些程序,使得加密芯片内部的程序代码成为整个MCU程序的一部分,从而可以达到加密 的目的,因为MCU内部的程序不完整,即便被盗版了,由于缺少关键代码,也无法进行复制,那么选择什么样的代码或程序,放入到加密芯片内部,就是考验 MCU编程者的功力了,尽可能的多植入程序,尽可能的增加算法的强度,就可以有效防止被破译的可能。
加密芯片的安全性是取决于芯片自身的安全,同时还取决于加密方案的可靠性。部分公司会给广大客户以误导,过分强调什么算法,无论采用对称算法 3DES 、AES [5] 还是采用非对称算法RSA ECC等,甚至采用国密办算法SM2 SM4等等,都是对防抄板来说,是没有太多的用处的。
对于方案设计公司,是无法使用SM1等国密办算法的,销售国密办算法的厂家必须有销售许可证,这一点是很多方案公司不可能有的,同时认证的方案本身就存在安全隐患,盗版商是不会去破解什么算法,而是从加密方案的漏洞去入手,去攻破,所以说,我们一直强调,加密方案的设计是非常重要的环节,不能简单的只看到加密芯片的自身的安全性,最重要的是密钥管理环节。
目前已知各种公开的加密算法都是比较安全的(当然已被破解的几种算法除外,如:SHA1,DES等),整个加密体系中最薄弱的环节在于密钥的生成、使用和管理。无论使用对称、非对称、哈希散列各种算法,密钥的管理是最终的难题,目前通常的方式是将私钥或者秘密信息存储在非易失性存储器中,这种方式危害极大,不具备高安全性。(具体请参考上面“安全性”内容)
由于PUF的不可克隆性、防篡改和轻量级等属性,使用PUF用于认证是一种非常有用的安全技术,是一种对现有安全加密机制的创新性技术。PUF输出的不可直接读取的唯一值作为私钥,配合非对称加密硬件引擎、随机数发生器、芯片ROM中唯一的unique ID,可以组成一个严密的安全加密装置。
PUF通常用集成电路来实现,通常用于对安全性要求较高的应用中。目前已有众多知半导体名企业开始提供基于PUF的加密IP技术和安全芯片。
② dss加密算法
对称性加密算法:对称式加密就是加密和解密使用同一个密钥。信息接收双方都需事先知道密匙和加解密算法且其密匙是相同的,之后便是对数据进行加解密了。对称加密算法用来对敏感数据等信息进行加密。
非对称算法:非对称式加密就是加密和解密所使用的不是同一个密钥,通常有两个密钥,称为"公钥"和"私钥",它们两个必需配对使用,否则不能打开加密文件。发送双方A,B事先均生成一堆密匙,然后A将自己的公有密匙发送给B,B将自己的公有密匙发送给A,如果A要给B发送消 息,则先需要用B的公有密匙进行消息加密,然后发送给B端,此时B端再用自己的私有密匙进行消息解密,B向A发送消息时为同样的道理。
散列算法:散列算法,又称哈希函数,是一种单向加密算法。在信息安全技术中,经常需要验证消息的完整性,散列(Hash)函数提供了这一服务,它对不同长度的输入消息,产生固定长度的输出。这个固定长度的输出称为原输入消息的"散列"或"消息摘要"(Message digest)。散列算法不算加密算法,因为其结果是不可逆的,既然是不可逆的,那么当然不是用来加密的,而是签名。
对称性加密算法有:AES、DES、3DES
用途:对称加密算法用来对敏感数据等信息进行加密
DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合。
3DES(Triple DES):是基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高。
AES(Advanced Encryption Standard):高级加密标准,是下一代的加密算法标准,速度快,安全级别高;AES是一个使用128为分组块的分组加密算法,分组块和128、192或256位的密钥一起作为输入,对4×4的字节数组上进行操作。众所周之AES是种十分高效的算法,尤其在8位架构中,这源于它面向字节的设计。AES 适用于8位的小型单片机或者普通的32位微处理器,并且适合用专门的硬件实现,硬件实现能够使其吞吐量(每秒可以到达的加密/解密bit数)达到十亿量级。同样,其也适用于RFID系统。
非对称性算法有:RSA、DSA、ECC
RSA:由 RSA 公司发明,是一个支持变长密钥的公共密钥算法,需要加密的文件块的长度也是可变的。RSA在国外早已进入实用阶段,已研制出多种高速的RSA的专用芯片。
DSA(Digital Signature Algorithm):数字签名算法,是一种标准的 DSS(数字签名标准),严格来说不算加密算法。
ECC(Elliptic Curves Cryptography):椭圆曲线密码编码学。ECC和RSA相比,具有多方面的绝对优势,主要有:抗攻击性强。相同的密钥长度,其抗攻击性要强很多倍。计算量小,处理速度快。ECC总的速度比RSA、DSA要快得多。存储空间占用小。ECC的密钥尺寸和系统参数与RSA、DSA相比要小得多,意味着它所占的存贮空间要小得多。这对于加密算法在IC卡上的应用具有特别重要的意义。带宽要求低。当对长消息进行加解密时,三类密码系统有相同的带宽要求,但应用于短消息时ECC带宽要求却低得多。带宽要求低使ECC在无线网络领域具有广泛的应用前景。
散列算法(签名算法)有:MD5、SHA1、HMAC
用途:主要用于验证,防止信息被修。具体用途如:文件校验、数字签名、鉴权协议
MD5:MD5是一种不可逆的加密算法,目前是最牢靠的加密算法之一,尚没有能够逆运算的程序被开发出来,它对应任何字符串都可以加密成一段唯一的固定长度的代码。
SHA1:是由NISTNSA设计为同DSA一起使用的,它对长度小于264的输入,产生长度为160bit的散列值,因此抗穷举(brute-force)性更好。SHA-1设计时基于和MD4相同原理,并且模仿了该算法。SHA-1是由美国标准技术局(NIST)颁布的国家标准,是一种应用最为广泛的Hash函数算法,也是目前最先进的加密技术,被政府部门和私营业主用来处理敏感的信息。而SHA-1基于MD5,MD5又基于MD4。
HMAC:是密钥相关的哈希运算消息认证码(Hash-based Message Authentication Code),HMAC运算利用哈希算法,以一个密钥和一个消息为输入,生成一个消息摘要作为输出。也就是说HMAC是需要一个密钥的。所以,HMAC_SHA1也是需要一个密钥的,而SHA1不需要。
其他常用算法:
Base64:其实不是安全领域下的加密解密算法,只能算是一个编码算法,通常用于把二进制数据编码为可写的字符形式的数据,对数据内容进行编码来适合传输(可以对img图像编码用于传输)。这是一种可逆的编码方式。编码后的数据是一个字符串,其中包含的字符为:A-Z、a-z、0-9、+、/,共64个字符(26 + 26 + 10 + 1 + 1 = 64,其实是65个字符,“=”是填充字符。Base64要求把每三个8Bit的字节转换为四个6Bit的字节(3*8 = 4*6 = 24),然后把6Bit再添两位高位0,组成四个8Bit的字节,也就是说,转换后的字符串理论上将要比原来的长1/3。原文的字节最后不够3个的地方用0来补足,转换时Base64编码用=号来代替。这就是为什么有些Base64编码会以一个或两个等号结束的原因,中间是不可能出现等号的,但等号最多只有两个。其实不用"="也不耽误解码,之所以用"=",可能是考虑到多段编码后的Base64字符串拼起来也不会引起混淆。)
Base64编码是从二进制到字符的过程,像一些中文字符用不同的编码转为二进制时,产生的二进制是不一样的,所以最终产生的Base64字符也不一样。例如"上网"对应utf-8格式的Base64编码是"5LiK572R", 对应GB2312格式的Base64编码是"yc/N+A=="。
标准的Base64并不适合直接放在URL里传输,因为URL编码器会把标准Base64中的“/”和“+”字符变为形如“%XX”的形式,而这些“%”号在存入数据库时还需要再进行转换,因为ANSI SQL中已将“%”号用作通配符。
为解决此问题,可采用一种用于URL的改进Base64编码,它不在末尾填充'='号,并将标准Base64中的“+”和“/”分别改成了“-”和“_”,这样就免去了在URL编解码和数据库存储时所要作的转换,避免了编码信息长度在此过程中的增加,并统一了数据库、表单等处对象标识符的格式。
另有一种用于正则表达式的改进Base64变种,它将“+”和“/”改成了“!”和“-”,因为“+”,“*”以及前面在IRCu中用到的“”在正则表达式中都可能具有特殊含义。
此外还有一些变种,它们将“+/”改为“_-”或“._”(用作编程语言中的标识符名称)或“.-”(用于XML中的Nmtoken)甚至“_:”(用于XML中的Name)。
HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL(SSL使用40 位关键字作为RC4流加密算法,这对于商业信息的加密是合适的。),因此加密的详细内容就需要SSL。https:URL表明它使用了HTTP,但HTTPS存在不同于HTTP的默认端口及一个加密/身份验证层(在HTTP与TCP之间),提供了身份验证与加密通讯方法,现在它被广泛用于万维网上安全敏感的通讯,例如交易支付方面。它的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。
项目应用总结:
1. 加密算法是可逆的,用来对敏感数据进行保护。散列算法(签名算法、哈希算法)是不可逆的,主要用于身份验证。
2. 对称加密算法使用同一个密匙加密和解密,速度快,适合给大量数据加密。对称加密客户端和服务端使用同一个密匙,存在被抓包破解的风险。
3. 非对称加密算法使用公钥加密,私钥解密,私钥签名,公钥验签。安全性比对称加密高,但速度较慢。非对称加密使用两个密匙,服务端和客户端密匙不一样,私钥放在服务端,黑客一般是拿不到的,安全性高。
4. Base64不是安全领域下的加解密算法,只是一个编码算法,通常用于把二进制数据编码为可写的字符形式的数据,特别适合在http,mime协议下的网络快速传输数据。UTF-8和GBK中文的Base64编码结果是不同的。采用Base64编码不仅比较简短,同时也具有不可读性,即所编码的数据不会被人用肉眼所直接看到,但这种方式很初级,很简单。Base64可以对图片文件进行编码传输。
5. https协议广泛用于万维网上安全敏感的通讯,例如交易支付方面。它的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。
6. 大量数据加密建议采用对称加密算法,提高加解密速度;小量的机密数据,可以采用非对称加密算法。在实际的操作过程中,我们通常采用的方式是:采用非对称加密算法管理对称算法的密钥,然后用对称加密算法加密数据,这样我们就集成了两类加密算法的优点,既实现了加密速度快的优点,又实现了安全方便管理密钥的优点。
7. MD5标准密钥长度128位(128位是指二进制位。二进制太长,所以一般都改写成16进制,每一位16进制数可以代替4位二进制数,所以128位二进制数写成16进制就变成了128/4=32位。16位加密就是从32位MD5散列中把中间16位提取出来);sha1标准密钥长度160位(比MD5摘要长32位),Base64转换后的字符串里论上将要比原来的长1/3。
③ 汽车上的ECU.EDS.还有很多,是什么意思,都有什么作用详细点!谢谢!
■ 什么是abs? abs是anti-lockbrakesystem的英文缩写,即“刹车防抱死系统”。在没有abs时,如果紧急刹车一般会使轮胎抱死,由于抱死之后轮胎与地面是滑动摩擦,所以刹车的距离会变长。如果前轮锁死,车子失去侧向转向力,容易跑偏;如果后轮锁死,后轮将失去侧向抓地力,容易发生甩尾。特别是在积雪路面,当紧急制动时,更容易发生上述的情况。abs是通过控制刹车油压的收放,来达到对车轮抱死的控制。其工作过程实际上是抱死—松开—抱死—松开的循环工作过程,使车辆始终处于临界抱死的间隙滚动状态。 但是在一些电影特技场景中,有的车子是不装abs的,所以我们才能看到它们侧滑、甩尾等多种高难度的刺激场面。对于一些想追求驾驶刺激的高级赛车手,他们同样不喜欢给汽车装上abs。终究一点,abs不是给特级演员和高级赛车手设计的,而是针对一般驾驶者,以保证他们驾车的安全。上世纪90年代汽车配置中最受关注的要属abs了,就是当时的捷达、桑塔纳也不敢说是每车必备,而到了现在,abs已是新车的标准配备。
■ 什么是esp? esp是英文electronicstabilityprogram的缩写,中文译成“电子稳定程序”。这一组系统通常是支援abs及asr(驱动防滑系统,又称牵引力控制系统)的功能。它通过对从各传感器传来的车辆行驶状态信息进行分析,然后向abs、asr发出纠偏指令,来帮助车辆维持动态平衡。esp可以使车辆在各种状况下保持最佳的稳定性,在转向过度或转向不足的情形下效果更加明显。 esp一般需要安装转向传感器、车轮传感器、侧滑传感器、横向加速度传感器等。esp可以监控汽车行驶状态,并自动向一个或多个车轮施加制动力,以保持车子在正常的车道上运行,甚至在某些情况下可以进行每秒150次的制动。目前esp有3种类型:能向4个车轮独立施加制动力的四通道或四轮系统;能对两个前轮独立施加制动力的双通道系统;能对两个前轮独立施加制动力和对后轮同时施加制动力的三通道系统。 esp最重要的特点就是它的主动性,如果说abs是被动地作出反应,那么esp却可以做到防患于未然。 ■ 什么是ebd? ebd的英文全称是electricbrakeforcedis-tribution,中文直译为“电子制动力分配”。汽车制动时,如果四只轮胎附着地面的条件不同,比如,左侧轮附着在湿滑路面,而右侧轮附着于干燥路面,四个轮子与地面的摩擦力不同,在制动时(四个轮子的制动力相同)就容易产生打滑、倾斜和侧翻等现象。ebd的功能就是在汽车制动的瞬间,高速计算出四个轮胎由于附着不同而导致的摩擦力数值,然后调整制动装置,使其按照设定的程序在运动中高速调整,达到制动力与摩擦力(牵引力)的匹配,以保证车辆的平稳和安全。 当紧急刹车车轮抱死的情况下,ebd在abs动作之前就已经平衡了每一个轮的有效地面抓地力,可以防止出现甩尾和侧移,并缩短汽车制动距离。ebd实际上是abs的辅助功能,它可以改善提高abs的功效。所以在安全指标上,汽车的性能又多了“abs+ebd”。目前国内车型中广本奥德赛、派力奥、西耶那等,都在制动中说明是“abs+ebd”。