‘壹’ 请教大侠,LPC2366FBD100芯片 怎样对嵌入式软件进行加密,防止代码被读出。谢谢
使用Virbox Protector 加密工具保护嵌入式软件代码。
1 高级混淆加密
通过VirboxProtector,开发者能够自由选择保护的函数,对指定函数进行高级混淆,有效防止 IDA 反编译,极大地增加了动态分析的难度。相比使用基于LLVM编译器的混淆,Virbox Protector的高级混淆功能以更少的指令达到更强的保护效果,耗电量更小。
2 基于 SMC 技术的代码加密
可以对指定函数进行代码片加密,只有程序运行的时候才能解密,破解者无法 Dump 出整体的内存,有效防止逆向工程工具对程序进行静态分析。
3 智能压缩
隐藏程序中的代码和数据,阻止 IDA PRO 等工具的反编译,并且有效的防止了加壳后的应用体积膨胀。
源代码加密前使用反编译工具查看效果
‘贰’ 我们公司现在要用到加密芯片,有谁可以告诉我哪个公司的好最好详细点!要加密性能高点的!
在电子行业,由于整个媒体产业的扩展,有关其的内容和数据
保护一直都得到了高度关注;而硬件系统由于开发成本巨大,对其进行保护更是该行业的重点。对固件、产品开发核心技术的保护固然重要,而对封装和PCB布线等可见部分的保护也不容忽视。多数公司一般习惯于使用采纳了安全芯片和算法的版权保护系统。IDKT系列是我司开发的一套定制型的加密芯片,其内部是纯逻辑电路。这使整个加密认证过程安全客观。此外,IDKT采用AES256的加密算法已软硬件相互加密解密的方式进行双向认证,使加密更加安全。为了防止数据截取,IDKT的通信都已密文的形式传播,并且结合伪数据随机的组合,使数据传递安全客户,为了使客户方案更加完善,IDKT以系统数据的方式进行操作,是加密多样且隐蔽。同时为了打破逻辑加密芯片的缺陷,IDKT采用定制型的方式,为每个客户单独定制一套独立的算法,保证每个客户的加密唯一性。为了保证唯一性,我司以封闭式的渠道进行供货,使市场流通性为0.内置2KB EEPROM空间,自定义加密参数,双重加密更加安全。物联网时代的到来,产品和产品之间的互联越来越多,智能外延设备也越来越广。如何保证方案商在外延设备上的利益,以及对外延设备合法性的认证,成为了方案商考虑的又一问题。单纯的软件认证,已不再可靠,硬件设备的认证,成为了主流。IDKT系列就带来了这样一套方案将硬件植入从机设备,由主机发起认证请求,该请求需要经过IDKT进行对应的加解密操作,回传认证密文,并由主机进行解密认证。
我们的加密芯片方案广泛应用于以下行业
1. 物联网(IoT)行业 智能家居(固件保护、通信加密、文件完整性校验、数据加密)、智能城市(固件保护、通信加密、文件完整性校验、数据加密)等
2. 车机行业 汽车影音系统(固件/系统保护、license授权、产量控制),汽车导航(固件/系统保护、license授权、产量控制),汽车诊断(固件/系统保护),车身传感器(通信加密、固件/系统保护),车内通信模块(通信加密、固件/系统保护),V2X(通信加密、固件/系统保护)等
3. 四轴飞行器行业 飞控系统保护(系统保护、license授权),配件电池认证(配件认证),飞控及手柄认证(通信加密)
4. 打印机耗材 墨盒加密防伪(配件认证)、 系统保护(系统保护、license授权)
5. 软件算法行业 指纹识别算法(license授权、数据加密),虹膜识别算法(license授权、数据加密),视频图像分析算法(license授权)等。
6. 安防行业 IPC(固件/系统保护、license授权、产量控制)、DVR(固件/系统保护、license授权、产量控制)、NVR(固件/系统保护、license授权、产量控制)
7. 机顶盒行业 DVB-S等(固件/系统保护)
8. 电子烟行业 产品防伪(防伪认证)方案主板和烟弹的加密认证和保护
嵌入式定制加密芯片及方案产品特性和应用
IDKT-AE/AL IDKT-AES/AEL IDKT-P1
1.)硬件的唯一性,因为从wafer开始就为每家客户定制唯一ID序列号来区别。
2.)硬件与软件结合,原厂根据客户系统运行平台特点针对性为客户写LIB,不同的编译器,不同的运行平台,不用的CPU,LIB各不相同,这就大大增强了安全性能。
3.)由原厂提供唯一ID序列号的IC 和针对性唯一的LIB,
4. )应用AES 256加密技术,随机数据随机运算。
5.)内置64 bit OTP功能,帮助客户管理出货数量及窜货的问题。
6.)内置2KB EEPROM空间,自定义加密参数,双重加密更加安全。
‘叁’ 嵌入式系统的加密方法有哪些
Virbox Protector ARM 加密工具
反调试
拒绝调试器对当前应用的附加操作,防止程序被恶意调试分析
快速完成加密
提供工具和命令行操作,编译、加壳一体化快速完成
高兼容性
支持ARM32、ARM64、x86及64位多种CPU架构,支持常规的 ARM linux 操作系统,完美支持Android4.0到最新系统
函数级保护
可对程序进行函数级的保护,实现代码加密、代码混淆
整体保护
实现智能压缩及反调试功能。
1 高级混淆加密
通过VirboxProtector,开发者能够自由选择保护的函数,对指定函数进行高级混淆,有效防止 IDA 反编译,极大地增加了动态分析的难度。相比使用基于LLVM编译器的混淆,Virbox Protector的高级混淆功能以更少的指令达到更强的保护效果,耗电量更小。
2 基于 SMC 技术的代码加密
可以对指定函数进行代码片加密,只有程序运行的时候才能解密,破解者无法 Dump 出整体的内存,有效防止逆向工程工具对程序进行静态分析。
3 智能压缩
隐藏程序中的代码和数据,阻止 IDA PRO 等工具的反编译,并且有效的防止了加壳后的应用体积膨胀。
‘肆’ firebird embed(嵌入式) 数据库能否加密
Firebird 本身不提供加密功能,没有办法加密的(至少目前最新的 2.5 不提供这个功能)。
听说 FB 3.0 计划提供,但那是遥遥无期的事儿了。
如果需要,只能自己通过 Hook 的方式监管文件读写,自己去实现加密了。
‘伍’ mbedtsl与openssl的区别,物联网嵌入式一般用哪个
物联网用mbed
什么是 SSL, 什么是 TLS 呢?
官话说 SSL 是安全套接层 (secure sockets layer),TLS 是 SSL 的继任者,叫传输层安全 (transport layer security)。
说白点,就是在明文的上层和 TCP 层之间加上一层加密,这样就保证上层信息传输的安全。如 HTTP 协议是明文传输,加上 SSL 层之后,就有了雅称 HTTPS。它存在的唯一目的就是保证上层通讯安全的一套机制。
它的发展依次经历了下面几个时期,像手机软件升级一样,每次更新都添加或去除功能,比如引进新的加密算法,修改握手方式等。
SSL1.0: 已废除 SSL2.0: RFC6176, 已废除
SSL3.0: RFC6101, 基本废除
TLS1.0: RFC2246, 目前大都采用此种方式
TLS1.1: RFC4346 TLS1.2: RFC5246, 没有广泛使用
TLS1.3:IETF 正在酝酿中
下面我们将介绍 TLS1.x 如何保证通讯安全。
二: CA & SSL Server & SSL Client 介绍
如何保证安全呢?你说安全就安全吗,究竟是怎么实现的呢?绝对安全吗? 哈,有人的地方就有江湖,有江湖的地方就没有绝对的安全。但 SSL/TLS 确实可以极大程度保证信息安全。下面根据图一 SSL/TLS 工作流来一览实现过程。
2.1 SSL/TLS 工作流
image
图一 SSL/TLS 工作流
CA: 证书授权中心 (certificate authority)。 它呢,类似于国家出入境管理处一样,给别人颁发护照;也类似于国家工商管理局一样,给公司企业颁发营业执照。
它有两大主要性质:
CA 本身是受信任的 // 国际认可的
给他受信任的申请对象颁发证书 // 和办理护照一样,要确定你的合法身份,你不能是犯罪分子或造反派。
当然,你需要被收保护费,同时,CA 可以随时吊销你的证书。 证书长啥样?其实你的电脑中有一堆 CA 证书。你可以看一看嘛:
360 浏览器: 选项 / 设置 -> 高级设置 -> 隐私于安全 -> 管理 HTTPS/SSL * 证书 -> 证书颁发机构
火狐浏览器: 首选项 -> 高级 -> 证书 -> 查看证书 -> 证书机构
chrome 浏览器: 设置 -> 高级 -> 管理证书 -> 授权中心
ubuntu: /etc/ssl/certs
这些都是 CA 的证书!
CA 的证书 ca.crt 和 SSL Server 的证书 server.crt 是什么关系呢?
SSL Server 自己生成一个 私钥 / 公钥对。server.key/server.pub //私钥加密,公钥解密!
server.pub 生成一个请求文件 server.req. 请求文件中包含有 server 的一些信息,如域名 / 申请者 / 公钥等。
server 将请求文件 server.req 递交给 CA,CA 验明正身后,将用 ca.key 和请求文件加密生成 server.crt
由于 ca.key 和 ca.crt 是一对, 于是 ca.crt 可以解密 server.crt. 在实际应用中:如果 SSL Client 想要校验 SSL server. 那么 SSL server 必须要将他的证书 server.crt 传给 client. 然后 client 用 ca.crt 去校验 server.crt 的合法性。如果是一个钓鱼网站,那么 CA 是不会给他颁发合法 server.crt 证书的,这样 client 用 ca.crt 去校验,就会失败。
比如浏览器作为一个 client, 你想访问合法的淘宝网站https://www.taobao.com, 结果不慎访问到https://wwww.jiataobao.com , 那么浏览器将会检验到这个假淘宝钓鱼网站的非法性,提醒用户不要继续访问!这样就可以保证了 client 的所有 https 访问都是安全的。
2.2 单向认证双向认证
何为 SSL/TLS 单向认证,双向认证?单向认证指的是只有一个对象校验对端的证书合法性。 通常都是 client 来校验服务器的合法性。那么 client 需要一个 ca.crt, 服务器需要 server.crt,server.key双向认证指的是相互校验,服务器需要校验每个 client,client 也需要校验服务器。 server 需要 server.key 、server.crt 、ca.crt client 需要 client.key 、client.crt 、ca.crt
2.3 证书详细工作流
image
图二 证书详细工作流
1)申请认证:服务器需自己生成公钥私钥对 pub_svr & pri_svr,同时根据 pub_svr 生成请求文件 csr, 提交给 CA,csr 中含有公钥、组织信息、个人信息 (域名) 等信息。(图一中 server.req 就是 csr 请求文件)
2)审核信息:CA 通过线上、线下等多种手段验证申请者提供信息的真实性,如组织是否存在、企业是否合法,是否拥有域名的所有权等。
3)签发证书:如信息审核通过,CA 会向申请者签发认证文件 - 证书。 证书包含以下信息:申请者公钥、申请者的组织信息和个人信息、签发机构 CA 的信息、有效时间、证书序列号等信息的明文,同时包含一个签名。 签名的产生算法:首先,使用散列函数计算公开的明文信息的信息摘要,然后,采用 CA 的私钥对信息摘要进行加密,密文即签名。(图一中生成 server.crt)
4)返回证书:client 如果请求验证服务器,服务器需返回证书文件。(图一中 handshake 传回 server.crt)
5)client 验证证书:client 读取证书中的相关的明文信息,采用相同的散列函数计算得到信息摘要,然后,利用对应 CA 的公钥解密签名数据,对比证书的信息摘要,如果一致,则可以确认证书的合法性,即公钥合法。客户端然后验证证书相关的域名信息、有效时间是否吊销等信息。 客户端会内置信任 CA 的证书信息 (包含公钥),如果 CA 不被信任,则找不到对应 CA 的证书,证书也会被判定非法。(图一中 check 可选,我们可以选择不验证服务器证书的有效性)
6)秘钥协商:验证通过后,Server 和 Client 将进行秘钥协商。接下来 Server 和 Client 会采用对称秘钥加密。(对称加密时间性能优)(图一中 pre-master/change_cipher_spec/encrypted_handshake_message 过程)
7)数据传输:Server 和 Client 采用对称秘钥加密解密数据。
2.4 SSL/TLS 单向认证流程
image
(1)client_hello
客户端发起请求,以明文传输请求信息,包含版本信息,加密套件候选列表,压缩算法候选列表,随机数,扩展字段等信息,相关信息如下:
支持的最高 TSL 协议版本 version,从低到高依次 SSLv2 SSLv3 TLSv1 TLSv1.1 TLSv1.2,当前基本不再使用低于 TLSv1 的版本;
客户端支持的加密套件 cipher suites 列表, 每个加密套件对应前面 TLS 原理中的四个功能的组合:认证算法 Au (身份验证)、密钥交换算法 KeyExchange(密钥协商)、对称加密算法 Enc (信息加密) 和信息摘要 Mac(完整性校验);
支持的压缩算法 compression methods 列表,用于后续的信息压缩传输;
随机数 random_C,用于后续的密钥的生成;
扩展字段 extensions,支持协议与算法的相关参数以及其它辅助信息等,常见的 SNI 就属于扩展字段,后续单独讨论该字段作用。
(2).server_hello+server_certificate+sever_hello_done
server_hello, 服务端返回协商的信息结果,包括选择使用的协议版本 version,选择的加密套件 cipher suite,选择的压缩算法 compression method、随机数 random_S 等,其中随机数用于后续的密钥协商;
server_certificates, 服务器端配置对应的证书链,用于身份验证与密钥交换;
server_hello_done,通知客户端 server_hello 信息发送结束;
(3). 证书校验
[证书链] 的可信性 trusted certificate path,方法如前文所述;
证书是否吊销 revocation,有两类方式离线 CRL 与在线 OCSP,不同的客户端行为会不同;
有效期 expiry date,证书是否在有效时间范围;
域名 domain,核查证书域名是否与当前的访问域名匹配,匹配规则后续分析;
(4).client_key_exchange+change_cipher_spec+encrypted_handshake_message
client_key_exchange,合法性验证通过之后,客户端计算产生随机数字 Pre-master,并用证书公钥加密,发送给服务器;
此时客户端已经获取全部的计算协商密钥需要的信息:两个明文随机数 random_C 和 random_S 与自己计算产生的 Pre-master,计算得到协商密钥; enc_key=Fuc(random_C, random_S, Pre-Master)
change_cipher_spec,客户端通知服务器后续的通信都采用协商的通信密钥和加密算法进行加密通信;
encrypted_handshake_message,结合之前所有通信参数的 hash 值与其它相关信息生成一段数据,采用协商密钥 session secret 与算法进行加密,然后发送给服务器用于数据与握手验证;
(5).change_cipher_spec+encrypted_handshake_message
服务器用私钥解密加密的 Pre-master 数据,基于之前交换的两个明文随机数 random_C 和 random_S,计算得到协商密钥: enc_key=Fuc(random_C, random_S, Pre-Master);
计算之前所有接收信息的 hash 值,然后解密客户端发送的 encrypted_handshake_message,验证数据和密钥正确性;
change_cipher_spec, 验证通过之后,服务器同样发送 change_cipher_spec 以告知客户端后续的通信都采用协商的密钥与算法进行加密通信;
encrypted_handshake_message, 服务器也结合所有当前的通信参数信息生成一段数据并采用协商密钥 session secret 与算法加密并发送到客户端;
(6). 握手结束
客户端计算所有接收信息的 hash 值,并采用协商密钥解密 encrypted_handshake_message,验证服务器发送的数据和密钥,验证通过则握手完成;
(7). 加密通信
开始使用协商密钥与算法进行加密通信。
2.5 实际 wireshark 分析
image我们搭建的 SSL/TLS 服务器是 192.168.111.100,client 是 192.168.111.101. client 需要认证 server 的合法性。 我们只看 TLSv1.1 的数据包:
第一包 (No. 25) Client Hello 包,即 SSL/TLS 单向认证流程的 (1)
第二包 (No. 27) Server Hello 包,包含服务器证书等。即 SSL/TLS 单向认证流程的 (2)
第三包 (No. 28) 服务器证书验证完成,同时发送 client key exchange+change cipher spec + encrypted handshake message. 即 SSL/TLS 单向认证流程的 (4)
第四包 (No. 29) 秘钥协商,change cipher spec + encrypted hanshake message. 即 SSL/TLS 单向认证流程的 (5)
第五包 (No. 30) 握手完成。开始上层数据传输。SSL/TLS 单向认证流程的 (7)
2.6 SSL/TLS 双向认证流程
和单向认证几乎一样,只是在 client 认证完服务器证书后,client 会将自己的证书 client.crt 传给服务器。服务器验证通过后,开始秘钥协商。实际 wireshark 分析:
image
和单向认证一样: 我们搭建的 SSL/TLS 服务器是 192.168.111.100,client 是 192.168.111.101. client 需要认证 server 的合法性,server 也需要认证 client 的合法性!
我们只看 TLSv1.1 的数据包:
第一包 (No. 55) Client Hello 包,即 SSL/TLS 单向认证流程的 (1)
第二包 (No. 57) Server Hello 包,包含服务器证书等。即 SSL/TLS 单向认证流程的 (2)
第三包 (No. 60) 服务器证书验证完成,同时发送客户端的证书 client.crt , 同时包含 client key exchange+change cipher spec + encrypted handshake message. 即 SSL/TLS 单向认证流程的 (4)
第四包 (No. 61)服务器验证客户端证书的合法性。通过后进行秘钥协商,change cipher spec + encrypted hanshake message. 即 SSL/TLS 单向认证流程的
(5)重传包 (No. 62) 由于网络原因,TCP 重传第 No. 60 包。
第五包 (No. 64) 握手完成。开始上层数据传输。SSL/TLS 单向认证流程的 (7)
2.7 证书等格式说明
crt/key/req/csr/pem/der 等拓展名都是什么东东?
带有私钥的证书 PKCS12(P12)
包含了公钥和私钥的二进制格式的证书形式,以 pfx 作为证书文件后缀名。
二进制编码的证书(DER)
证书中没有私钥,DER 编码二进制格式的证书文件,以 .cer 作为证书文件后缀名。
Base64 编码的证书(PEM)
证书中没有私钥,Base64 编码格式的证书文件,也是以 .cer 作为证书文件后缀名。
.crt 表示证书, .key 表示私钥, .req 表示请求文件,.csr 也表示请求文件, .pem 表示 pem 格式,.der 表示 der 格式。
文件拓展名你可以随便命名。只是为了理解需要而命名不同的拓展名。但文件中的信息是有格式的,和 exe,PE 格式一样, 证书有两种格式。
pem 格式和 der 格式。所有证书,私钥等都可以是 pem, 也可以是 der 格式,取决于应用需要。
pem 和 der 格式可以互转:
openssl x509 -in ca.crt -outform DER -out ca.der //pem -> der
openssl x509 -inform der -in ca.der -out ca.pem // der -> pem
pem格式:经过加密的文本文件,一般有下面几种开头结尾:
-----BEGIN RSA PRIVATE KEY-----
-----END RSA PRIVATE KEY-----
or:
-----BEGIN CERTIFICATE REQUEST-----
-----END CERTIFICATE REQUEST-----
or:
----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----
der 格式: 经过加密的二进制文件。
证书中含有 申请者公钥、申请者的组织信息和个人信息、签发机构 CA 的信息、有效时间、证书序列号等信息的明文,同时包含一个签名。如查看网络证书详细信息。
a) 先下载网络证书
火狐浏览器访问https://www..com/, 点击左上角绿色小锁,点击向右箭头,点击更多信息,点击查看证书,点击详细信息,点击导出。即可导出网络的证书 com.crt
b) 命令查看证书详细信息
openssl x509 -noout -text -in com.crt
image
详细信息中,有一个字段:X509v3 Basic Constraints: CA: FALSE
该字段指出该证书是否是 CA 证书,还是一般性的非 CA 证书。详细描述见RFC5280#section-4.2.1.9,同时 RFC5280 也详细描述证书工作方式等。
私钥加密,公钥解密!
2.8 SSL/TLS 和 Openssl,mbedtls 是什么关系?
SSL/TLS 是一种工作原理,openssl 和 mbedtls 是 SSL/TLS 的具体实现,很类似于 TCP/IP 协议和 socket 之间的关系。
三: 为Tomcat生成和配置HTTPS证书
单向:
-- 为服务器生成证书
keytool -genkey -dname "cn=programmer, ou=javaSoft, o=Sun, c=US" -keyalg RSA -keysize 1024 -alias tomcat -keypass changeit -keystore server.keystore -storepass changeit -validity 3600
配置Tomcat根目录下的/conf/server.xml
双向:
-- 为服务器生成证书
keytool -genkey -dname "cn=programmer, ou=JavaSoft, o=Sun, c=US" -keyalg RSA -keysize 1024 -alias tomcat -keypass changeit -keystore server.jks -storepass changeit -validity 3600
-- 为客户端生成证书
-- 双击.p12文件,按照提示安装证书,将证书填入到“受信任的根证书颁发机构”
keytool -genkey -v -alias client -keyalg RSA -storetype PKCS12 -keystore client.p12 -dname "cn=programmer, ou=JavaSoft, o=Sun, c=US"
-- 必须把客户端证书添加为服务器的信任认证。由于不能直接将PKCS12格式的证书库导入,必须先把客户端证书导出为一个单独的CER文件
keytool -export -alias client -keystore client.p12 -storetype PKCS12 -storepass changeit -rfc -file client.cer
-- 将该文件导入到服务器的证书库,添加为一个信任证书
keytool -import -v -file client.cer -keystore server.jks
-- 把服务器证书导出为一个单独的CER文件,使用如下命令
-- 双击.cer文件,按照提示安装证书,将证书填入到“受信任的根证书颁发机构”
keytool -keystore server.jks -export -alias tomcat -file server.cer
配置Tomcat根目录下的/conf/server.xml
‘陆’ 最近看到关于芯片国产化,加密芯片有什么好的品牌可以代替atmel的吗
IDKT 加密芯片完全PIN TO PIN兼容ATMEL 加密芯片:
在电子行业,由于整个媒体产业的扩展,有关其的内容和数据
保护一直都得到了高度关注;而硬件系统由于开发成本巨大,对其进行保护更是该行业的重点。对固件、产品开发核心技术的保护固然重要,而对封装和PCB布线等可见部分的保护也不容忽视。多数公司一般习惯于使用采纳了安全芯片和算法的版权保护系统。IDKT系列是我司开发的一套定制型的加密芯片,其内部是纯逻辑电路。这使整个加密认证过程安全客观。此外,IDKT采用AES256的加密算法已软硬件相互加密解密的方式进行双向认证,使加密更加安全。为了防止数据截取,IDKT的通信都已密文的形式传播,并且结合伪数据随机的组合,使数据传递安全客户,为了使客户方案更加完善,IDKT以系统数据的方式进行操作,是加密多样且隐蔽。同时为了打破逻辑加密芯片的缺陷,IDKT采用定制型的方式,为每个客户单独定制一套独立的算法,保证每个客户的加密唯一性。为了保证唯一性,我司以封闭式的渠道进行供货,使市场流通性为0.内置2KB EEPROM空间,自定义加密参数,双重加密更加安全。物联网时代的到来,产品和产品之间的互联越来越多,智能外延设备也越来越广。如何保证方案商在外延设备上的利益,以及对外延设备合法性的认证,成为了方案商考虑的又一问题。单纯的软件认证,已不再可靠,硬件设备的认证,成为了主流。IDKT系列就带来了这样一套方案将硬件植入从机设备,由主机发起认证请求,该请求需要经过IDKT进行对应的加解密操作,回传认证密文,并由主机进行解密认证。
我们的加密芯片方案广泛应用于以下行业
1. 物联网(IoT)行业 智能家居(固件保护、通信加密、文件完整性校验、数据加密)、智能城市(固件保护、通信加密、文件完整性校验、数据加密)等
2. 车机行业 汽车影音系统(固件/系统保护、license授权、产量控制),汽车导航(固件/系统保护、license授权、产量控制),汽车诊断(固件/系统保护),车身传感器(通信加密、固件/系统保护),车内通信模块(通信加密、固件/系统保护),V2X(通信加密、固件/系统保护)等
3. 四轴飞行器行业 飞控系统保护(系统保护、license授权),配件电池认证(配件认证),飞控及手柄认证(通信加密)
4. 打印机耗材 墨盒加密防伪(配件认证)、 系统保护(系统保护、license授权)
5. 软件算法行业 指纹识别算法(license授权、数据加密),虹膜识别算法(license授权、数据加密),视频图像分析算法(license授权)等。
6. 安防行业 IPC(固件/系统保护、license授权、产量控制)、DVR(固件/系统保护、license授权、产量控制)、NVR(固件/系统保护、license授权、产量控制)
7. 机顶盒行业 DVB-S等(固件/系统保护)
8. 电子烟行业 产品防伪(防伪认证)方案主板和烟弹的加密认证和保护
嵌入式定制加密芯片及方案产品特性和应用
IDKT-AE/AL IDKT-AES/AEL IDKT-P1
1.)硬件的唯一性,因为从wafer开始就为每家客户定制唯一ID序列号来区别。
2.)硬件与软件结合,原厂根据客户系统运行平台特点针对性为客户写LIB,不同的编译器,不同的运行平台,不用的CPU,LIB各不相同,这就大大增强了安全性能。
3.)由原厂提供唯一ID序列号的IC 和针对性唯一的LIB,
4. )应用AES 256加密技术,随机数据随机运算。
5.)内置64 bit OTP功能,帮助客户管理出货数量及窜货的问题。
6.)内置2KB EEPROM空间,自定义加密参数,双重加密更加安全。
‘柒’ 在立创商城卖的嵌入式系统的安全验证加密IC对程序的保护性可以吗
在立创商城卖的嵌入式系统的安全验证加密IC对程序的保护性还可以,这种东西没有绝对的,都是相对,看你需要。
‘捌’ 有哪些嵌入式行业的轻量级加密算法
加密方式有很多种,很多时候加密只是为了多让破解的人麻烦一点,多浪费一些时间。如果他破解你程序的时间超过了他开发同样产品的时间,差不多就算是加密成功了。在国内更多是为了防止工厂直接抄板。简单的加密就是搞个加密芯片(PS.金立:内置加密芯片。哈哈哈。。。),还有就是跟芯片的供应商谈好,使用某一段的芯片ID号作为加密的东西。
‘玖’ 常见软件的加壳技术有哪些呀
加壳的全称应该是可执行程序资源压缩,是保护文件的常用手段.
加壳过的程序可以直接运行,但是不能查看源代码.要经过脱壳才可以查看源代码.
加“壳”其实是利用特殊的算法,对EXE、DLL文件里的资源进行压缩。类似WINZIP 的效果,只不过这个压缩之后的文件,可以独立运行,解压过程完全隐蔽,都在内存中完成。解压原理,是加壳工具在文件头里加了一段指令,告诉CPU,怎么才能解压自己。加“壳”虽然增加了CPU附带但是减少了硬盘读写时间,实际应用时加“壳”以后程序运行速度更快(当然有的加“壳”以后会变慢,那是选择的加“壳”工具问题)。
一般软件都加“壳”这样不但可以保护自己的软件不被破解、修改还可以增加运行时启动速度。
加“壳”不等于木马,我们平时的巨大多数软件都加了自己的专用“壳”。
RAR和ZIP都是压缩软件不是加“壳”工具,他们解压时是需要进行磁盘读写,“壳”的解压缩是直接在内存中进行的,用RAR或者ZIP压缩一个病毒你试试解压缩时杀毒软件肯定会发现,而用加“壳”手段封装老木马,能发现的杀毒软件就剩不下几个。
因为加壳了之后等于把这个文件进行了保护(就是有些杀毒软件杀不了的原因)
因为文件不能重复加壳.判断依据是文件是否已经加了保护
加壳其实主要就有两个作用:
防止反编译(破解软件)和免杀
修改文件不一定要脱壳,看你的水平
些软件加壳工具
1、软件防盗版战士
《软件防盗版战士》是一个以数字许可的形式为MicrosoftWindows下(PE格式)应用程序提供版权保护以及数字化销售支持的纯软件产品。它含有认证版、序列号版这两个可选版本。认证版以128位二进制证书文件作为被保护软件的最终用户使用许可,并且主要以最终用户的硬盘、CPU、网卡及操作系统等特征信息为版权保护的安全源(保守地说,理论上认证版的版权保护强度达到3-5年内不可破解)。
安全指标:1、对象安全强度——《软件防盗版战士》的各种对象安全都尽可能地加入了加密算法中,其强度相当于对称算法的128位加密,比普通硬件狗的8位、16位、32位和64位(很少有64位的)安全强度强许多。2、入口安全强度——《软件防盗版战士》采用功能相关法解决入口安全问题。入口安全的最小复杂度大于40位的安全强度。《软件防盗版战士》的入口安全强度最大限定为128位(含128位)。
2、比泰软件防盗版战士2005J
比泰软件防盗版战士2005J(BS-APC),是比泰科技出品的一个软件加密保护产品系列(含L版、A版、J版等产品线),它们为商业软件提供可靠的防盗版保护并支持数字化发行。|它采用比泰公司世界领先的“执行代码抽取加密”技术,软硬件结合,以“认证技术”保证软件“对象安全”、以“功能相关法”保证软件“入口安全”、以具有唯一性的计算机(物理)特征数据作为身份认证指纹,并以软件用户计算机本身的运算能力进行防盗版保护。具有64位以上,到128位的加密安全强度。安全强度远胜传统的外壳加密式加密狗、API内嵌式加密狗,软件保护的功能范围及运行效率超过智能狗,且无须学习加密狗编程,不引入附加硬件维护问题。|适合对C/MFC/VisualC++(VC++)/BorlandC++Builder(BCB)、Delphi/ObjectPascal、PowerBuilder(PB)、Authorware、Director等开发工具所编译程序的保护。|因为它是对真实指令进行代码抽取加密,因此暂不保护伪编译程序,如VB、VFP、C#、JAVA。
3、AntiCrackProtector
ACProtect是由国人研究开发并拥有自主知识产权的加密软件精品,它有许多技术已经达到并超过了国外同类产品,是一个为Windows下的EXE/DLL/OCX/SCR等32位可运行文件加密系统。它通过为程序加上一层坚硬的保护壳,可以非常有效的防止盗版。还可以为程序设置限制注册功能。
即使你没有程序的原代码,你也可以用ACProtect在程序上加上运行次数限制,运行天数限制,运行有效日期限制。通过公匙加密算法(RSA)创建并校验注册KEY,只有在RSAKEY正确的情况下,才对那些受保护的代码进行正常解码。同时使用了内嵌式加密,可以有效的防止加密软件从内存中被抓取,也就是无法被脱壳。
内置反调试引擎,有效的增加了破解的难度。
专用的API系统,可以使ACProtect和你的软件紧密的接合在一起,这样,你就可以通过使用ACProtect来创建你的全功能评估版。
4、XQBOX软件保护安装系统
XQBoxSoftwareProtecting是一个以数字许可的形式为应用程序提供版权保护以及数字化销售支持的纯软件产品。它采用机器具有唯一性的数据做指纹,利用宿主计算机的运算能力进行防盗版保护。
XQBox保护系统是集软件保护和安装工具于一身的集成工具。XQBox核心代码是遵守标准c的规则来编写,它可以在,windows3.x/9x/2000/nt,unix,linux等各种操作系统下编译运行。作为中间件,它可在c、c++、java、delphi、vc、vb、vf、Masm32、pb、php、Authorware等。各种工具开发的软件中嵌入使用,它的兼容性非常好。核心代码经全域均匀抽值测试,各种特值测试和可行的全域测试均通过。
5、秦赢甲胄反盗版加密软件
这款反盗版软件的用户注册方便,终端用户不需要手动输入序列号认证码等等,一切由注册端软件自动完成;用户机器的硬件信息作为注册码/加密密钥;一个拷贝只能在同一台机器上注册;只要是同一台机器,可以在这台机器上注册多次;只能在注册的那台机器上运行
使用理论上安全的密码学协议和算法,保证不可脱机破解。不能通过注册机破解;不能通过散发序列号破解。
更改检测(可以检测病毒和破解者更改);反跟踪功能(Anti-Debug)。
运行时代码完整性校验,可防止Cracker跟踪时设置断点;可防止通过补丁程序破解。
反Dump功能(Anti-Dump);反反汇编功能(Anit-Disassembler);可以有效的管理经销商和序列号的发放;可以统计软件的销售数量;可以有效的管理用户注册。
6、PE加密保护软件EncryptPE
EncryptPE能加密保护常规PE文件(EXE、DLL、OCX等一般程序或NT服务程序),防静态分析修改,反动态跟踪调试,有效地保护软件,防止盗版。除常规的对抗调试器(SoftIce、TRW、OllyDbg等)、监视器、DUMP工具方法外,EncryptPE采用的加密保护的手段还有:随机加密算法、CRC校验、变形、代码替换、进程注入、APIHOOK、多线程、调试运行、全程监控等。
能将普通软件变成共享软件,增加定时注册提醒、限制试用日期、限制试用次数、限制试用天数、限制每次试用多长时间等功能。
能根据最终用户的机器信息、注册用户及加密时的保护密码计算注册码,从诸多加密算法中随机选择一种用于注册码的计算。
支持多语言,并为待加密软件提供多语言接口。
向待加密软件提供丰富的方便的编程接口,便于设计个性注册方式,同时使被加密程序与加密壳之间融为一个整体,增加破解难度。
可以运行于多种Windows平台,包括9X/ME/NT/2000/XP/2003。
7、注册码生成器
本软件可以自动随机生成2至32位注册序列号及对应的注册码,并将这些注册信息包含到一个动态联接库DLL文件中,这样软件开发者可以将这个DLL文件同应用程序一并发行,并在应用程序的相关模块中调用这个DLL文件中提供的函数获得注册号及相对应的注册码,注册号及相对应的注册码对软件使用者来说是不透明的,它可以用效的避免软件的盗版及其重复注册,切实保护软件开发者的版权。随软件一同提供免费的DLL源程序生成器工具,DLL注册码查询工具,启动应用程序时的注册对话框示例程序及全部C++源代码等。
8、计算机软件防盗版
计算机软件防盗版系统具有国际领先水平的保护知识产权的新技术。现该技术已顺利完成了全部研制。利用嵌入式加密,动态激活解密,工具化设计特征,检测体系,产品形态技术。于1999年7月通过公安部计算机信息安全检测中心的检测。计算机软件防盗版磁盘、光盘获公安部颁发的计算机信息安全产品销售许可证。
‘拾’ 什么是嵌入式密码它的作用是什么
(1)用智能卡实现用户身份识别和权限控制;
(2)具有嵌入式安全硬件模块的主板;
(3)数据加密;
(4)数字签名;
(5)操作系统安全增强;
(6)虚拟专用网络技术VPN;
(7)完善的密钥管理。