想升级一下产品以防被盗版,请问有什么好办法?

时间:2022-07-04 19:05:41
最近产品做得不错,可发现市面上有一些盗版的出现,想对产品进行升级,但还是担心再有同类现象发生,有什么好办法吗?

36 个解决方案

#1


LZ 想用软件防被盗版,还是硬件防被盗版?

#2


有软硬件结合的吗?

#3


简单的一点的,如果现在的硬件有唯一的 ID,就可以采用 LZ 所说的软硬件结合的方法。
如果现有的硬件没有唯一的 ID 可用于加密,则需要在硬件上增加专用的加密IC,这种方法可靠性更高一些。

#4


用加密芯片啊,现在哪还有设备裸机卖的啊,分分钟被别人抄走,真服了楼主了

#5


也不一定吧  我之前也没用过加密芯片,也还可以啊
推广给你了

#6


也不一定吧  我之前也没用过加密芯片,也还可以啊

#7


硬件加密是最彻底的方法

#8


看出货量了,如果市场销售不好自然没人来抄你的了,你卖了多少?

#9


每年好几K呢,这个量不少吧?

#10


几K,我的产品今年几十K,明年可能会上百K,你这个量确实不大。别跑题了,加密芯片怎么用啊?我刚看了下,网上好多种,哪些好用啊?

#11


引用 10 楼 WL20120105 的回复:
几K,我的产品今年几十K,明年可能会上百K,你这个量确实不大。别跑题了,加密芯片怎么用啊?我刚看了下,网上好多种,哪些好用啊?


LZ,你直接约这些加密IC的供应商啊,或者先打电话问问看有没有适合你的硬件的。

#12


我们公司就是加密芯片(正式名称是信息安全芯片,或密码算法芯片)公司。 

说穿了,就是这类芯片有安全要求,用户不能非法读取芯片内部的数据。这个是要过国密检测的。

很早以前,飞天就用我们的芯片实现过一款加密狗,用来保护 PC 端软件。他们开发了一套工具,就 PC 上的一些功能代码移植到安全芯片中。这样攻击者就无法绕过它。

现在,我们的一些用户也开始做嵌入式设备的保护方案。实际上原理是一样的,就是把能被非法读取的主控芯片上的一些核心代码,转移到安全芯片中。在设备运行中,通过主控与安全芯片的交互,共同完成设备功能。

如果你的设备代码量不大(只有几百 K),也可以全用安全芯片来实现。

对于需求量几K、几十K 的最终用户,我们不会直接支持。

不过,目前市面上已经有一些出这种安全保护方案的厂商。经过他们的手,成本会稍高一些。

另外,不要相信所谓“软加密”方案。当你的代码被人家一览无余地获取时,你再多翻几个跟头,还是在人家的手掌心里。

#13


加密芯片,可以用那种认证类的,和设备端做个对比,没芯片对比过不去,设备就不走了

#14


说认证的那个兄弟,过时了啊,认证不安全,现在认证方式的,破解公司直接在mcu端就把程序都搞走了,都不需要破芯片,不好用啊!

#15


认证类的确实不太好用,我推荐选择能支持移植程序的芯片,把程序做到芯片中保护,是不错方案

#16


这个我有所了解,有一款LKT的加密芯片,就是做这个的,有朋友用过,听说效果挺好的

#17


能具体点么 ,为啥程序移植的就好,好在哪里?总有个理由?

#18


哈哈 这个我知道,能编程的芯片 就是把一部分程序移入加密芯片中,通过加密芯片保护程序安全,如果程序不完整、功能则不完整,破解公司通常对mcu做手脚的方式就不管用了

#19


那如何来调用这个功能呢

#20


挂一个加密芯片

#21


引用 19 楼 xiaoyang666888 的回复:
那如何来调用这个功能呢

这个很简单。先看看你如何用安全芯片加密:你通过发送到安全芯片的命令和明文数据要求它加密,然后读回密文。
当你把一块功能代码移到安全芯片中,你就把它看作是加密功能好了。
比如说,你开发了一套指纹识别算法。如果放在普通 MCU 中,就会被盗。所以,你把其中核心的子算法放到安全芯片中。每到要调用时,就如同调用加密功能一样,发送命令、数据,取回结果。

#22


引用 19 楼 xiaoyang666888 的回复:
那如何来调用这个功能呢

让mcu给芯片发命令调用呗。

#23


正式名称是信息安全芯片

#24


那这么说,芯片也是有主控的,能进行程序存储和运行了?

#25


引用 24 楼 zhangliang3521 的回复:
那这么说,芯片也是有主控的,能进行程序存储和运行了?

是的,密码芯片其中有一类是 SoC,运行架构与普通单片机无本质差异,只是它设计时进行了安全考虑。

防盗版就是要用这类芯片。这类芯片的 CPU 核,有 C51、C*Core 和 ARM 等多种。

不过,这类芯片一般规模较小,片上不跑通用操作系统。

#26


引用 24 楼 zhangliang3521 的回复:
那这么说,芯片也是有主控的,能进行程序存储和运行了?

对 加密芯片有自己的系统的,能独立保证程序运行的

#27


ASIC 密码算法芯片也有自己的系统,也能独立保证程序运行,但不宜作为这类防盗版应用。因为它们不支持用户自编的 COS 下载、运行。

#28


那芯片安全性如何保证, 碰到类似mcu破解方式怎么办

#29


引用 28 楼 xiaoyang666888 的回复:
那芯片安全性如何保证, 碰到类似mcu破解方式怎么办

能简单破解的 MCU 就不是安全芯片。就这么简单。

事实上,MCU 被“破解”是它本身就预留了可读写的通道,主要是用于程序“烧录”和调试。安全芯片没有这些通道,自然就“安全”了。
安全芯片不采用传统意义上的“烧录”方式,正式供货的芯片也不提供调试通道(一般另外提供可调试的样品)。

安全芯片是用来作密码算法的。如果它的算法和密钥能够被轻易读出,那还有用吗?

用户一个最简单的选择方法,就是选通过国密认证的信息安全芯片。也可以说,它们是经过国家认证了“安全性”的。

说穿了,一个 MCU 可被破解,就是它可读。你换一个不可读的就好了。问题来了,不可读的芯片一般没有那么大容量,你也很难将原来的 MCU 上的代码全部移植到这个不可读的芯片上。所以,出来了一种妥协的方案:把 MCU 中核心的代码移植到不可读的芯片中去。

#30


引用 28 楼 xiaoyang666888 的回复:
那芯片安全性如何保证, 碰到类似mcu破解方式怎么办

芯片通常没有调试方法,比较封闭,没有可用的在线调试,对mcu的操作是无法应用在加密芯片上的。

#31


LKT系列的我用过,业内有点名气,他们的这种加密方式很有特色,有加密需求建议可以尝试。

#32


那有机会,我也得试试,盗版的太猖獗了,得给他们点厉害瞧瞧了

#33


硬件加密。加密芯片。

#34


硬件产品吗?
加密芯片对于保护硬件很难,直接把你调用加密芯片验证的部分代码修改,跳过验证就是了,软件破解就是这么干的,对于硬件的人更容易,直接上调试器控制住CPU……

最有效的是带片内可编程程序的CPU,不过最近的CPU漏洞,(intel/AMD,arm都有)还是可能会泄露内部存储内容

#35


加密也不是不可以。加密并不等于认证。

过去就有过层层脱壳解密的 PC 程序,还有运行监测时钟防止软冰等跟踪工具。

至于嵌入式的,当然也可以把某些程序段落设计成函数,然后将这部分最终机器码加密。运行时,将其解密后放入 RAM,通过函数指针运行。

但攻击者可以监控你与加密芯片间的通讯数据,记录密文和明文。对付他的方式就是分散密钥,你每台设备上的密文都是不同的。但你的生产也增加了麻烦。

所以,目前最通行的方式,还是将部分核心代码直接放到 SOC 安全芯片(加密芯片)中,简单易行。

所谓 CPU 漏洞是针对具有操作系统的通用芯片说的,这类芯片都不是安全芯片。不是一码事。

#36


说实话,当前硬件加密是最彻底的方法了

#1


LZ 想用软件防被盗版,还是硬件防被盗版?

#2


有软硬件结合的吗?

#3


简单的一点的,如果现在的硬件有唯一的 ID,就可以采用 LZ 所说的软硬件结合的方法。
如果现有的硬件没有唯一的 ID 可用于加密,则需要在硬件上增加专用的加密IC,这种方法可靠性更高一些。

#4


用加密芯片啊,现在哪还有设备裸机卖的啊,分分钟被别人抄走,真服了楼主了

#5


也不一定吧  我之前也没用过加密芯片,也还可以啊
推广给你了

#6


也不一定吧  我之前也没用过加密芯片,也还可以啊

#7


硬件加密是最彻底的方法

#8


看出货量了,如果市场销售不好自然没人来抄你的了,你卖了多少?

#9


每年好几K呢,这个量不少吧?

#10


几K,我的产品今年几十K,明年可能会上百K,你这个量确实不大。别跑题了,加密芯片怎么用啊?我刚看了下,网上好多种,哪些好用啊?

#11


引用 10 楼 WL20120105 的回复:
几K,我的产品今年几十K,明年可能会上百K,你这个量确实不大。别跑题了,加密芯片怎么用啊?我刚看了下,网上好多种,哪些好用啊?


LZ,你直接约这些加密IC的供应商啊,或者先打电话问问看有没有适合你的硬件的。

#12


我们公司就是加密芯片(正式名称是信息安全芯片,或密码算法芯片)公司。 

说穿了,就是这类芯片有安全要求,用户不能非法读取芯片内部的数据。这个是要过国密检测的。

很早以前,飞天就用我们的芯片实现过一款加密狗,用来保护 PC 端软件。他们开发了一套工具,就 PC 上的一些功能代码移植到安全芯片中。这样攻击者就无法绕过它。

现在,我们的一些用户也开始做嵌入式设备的保护方案。实际上原理是一样的,就是把能被非法读取的主控芯片上的一些核心代码,转移到安全芯片中。在设备运行中,通过主控与安全芯片的交互,共同完成设备功能。

如果你的设备代码量不大(只有几百 K),也可以全用安全芯片来实现。

对于需求量几K、几十K 的最终用户,我们不会直接支持。

不过,目前市面上已经有一些出这种安全保护方案的厂商。经过他们的手,成本会稍高一些。

另外,不要相信所谓“软加密”方案。当你的代码被人家一览无余地获取时,你再多翻几个跟头,还是在人家的手掌心里。

#13


加密芯片,可以用那种认证类的,和设备端做个对比,没芯片对比过不去,设备就不走了

#14


说认证的那个兄弟,过时了啊,认证不安全,现在认证方式的,破解公司直接在mcu端就把程序都搞走了,都不需要破芯片,不好用啊!

#15


认证类的确实不太好用,我推荐选择能支持移植程序的芯片,把程序做到芯片中保护,是不错方案

#16


这个我有所了解,有一款LKT的加密芯片,就是做这个的,有朋友用过,听说效果挺好的

#17


能具体点么 ,为啥程序移植的就好,好在哪里?总有个理由?

#18


哈哈 这个我知道,能编程的芯片 就是把一部分程序移入加密芯片中,通过加密芯片保护程序安全,如果程序不完整、功能则不完整,破解公司通常对mcu做手脚的方式就不管用了

#19


那如何来调用这个功能呢

#20


挂一个加密芯片

#21


引用 19 楼 xiaoyang666888 的回复:
那如何来调用这个功能呢

这个很简单。先看看你如何用安全芯片加密:你通过发送到安全芯片的命令和明文数据要求它加密,然后读回密文。
当你把一块功能代码移到安全芯片中,你就把它看作是加密功能好了。
比如说,你开发了一套指纹识别算法。如果放在普通 MCU 中,就会被盗。所以,你把其中核心的子算法放到安全芯片中。每到要调用时,就如同调用加密功能一样,发送命令、数据,取回结果。

#22


引用 19 楼 xiaoyang666888 的回复:
那如何来调用这个功能呢

让mcu给芯片发命令调用呗。

#23


正式名称是信息安全芯片

#24


那这么说,芯片也是有主控的,能进行程序存储和运行了?

#25


引用 24 楼 zhangliang3521 的回复:
那这么说,芯片也是有主控的,能进行程序存储和运行了?

是的,密码芯片其中有一类是 SoC,运行架构与普通单片机无本质差异,只是它设计时进行了安全考虑。

防盗版就是要用这类芯片。这类芯片的 CPU 核,有 C51、C*Core 和 ARM 等多种。

不过,这类芯片一般规模较小,片上不跑通用操作系统。

#26


引用 24 楼 zhangliang3521 的回复:
那这么说,芯片也是有主控的,能进行程序存储和运行了?

对 加密芯片有自己的系统的,能独立保证程序运行的

#27


ASIC 密码算法芯片也有自己的系统,也能独立保证程序运行,但不宜作为这类防盗版应用。因为它们不支持用户自编的 COS 下载、运行。

#28


那芯片安全性如何保证, 碰到类似mcu破解方式怎么办

#29


引用 28 楼 xiaoyang666888 的回复:
那芯片安全性如何保证, 碰到类似mcu破解方式怎么办

能简单破解的 MCU 就不是安全芯片。就这么简单。

事实上,MCU 被“破解”是它本身就预留了可读写的通道,主要是用于程序“烧录”和调试。安全芯片没有这些通道,自然就“安全”了。
安全芯片不采用传统意义上的“烧录”方式,正式供货的芯片也不提供调试通道(一般另外提供可调试的样品)。

安全芯片是用来作密码算法的。如果它的算法和密钥能够被轻易读出,那还有用吗?

用户一个最简单的选择方法,就是选通过国密认证的信息安全芯片。也可以说,它们是经过国家认证了“安全性”的。

说穿了,一个 MCU 可被破解,就是它可读。你换一个不可读的就好了。问题来了,不可读的芯片一般没有那么大容量,你也很难将原来的 MCU 上的代码全部移植到这个不可读的芯片上。所以,出来了一种妥协的方案:把 MCU 中核心的代码移植到不可读的芯片中去。

#30


引用 28 楼 xiaoyang666888 的回复:
那芯片安全性如何保证, 碰到类似mcu破解方式怎么办

芯片通常没有调试方法,比较封闭,没有可用的在线调试,对mcu的操作是无法应用在加密芯片上的。

#31


LKT系列的我用过,业内有点名气,他们的这种加密方式很有特色,有加密需求建议可以尝试。

#32


那有机会,我也得试试,盗版的太猖獗了,得给他们点厉害瞧瞧了

#33


硬件加密。加密芯片。

#34


硬件产品吗?
加密芯片对于保护硬件很难,直接把你调用加密芯片验证的部分代码修改,跳过验证就是了,软件破解就是这么干的,对于硬件的人更容易,直接上调试器控制住CPU……

最有效的是带片内可编程程序的CPU,不过最近的CPU漏洞,(intel/AMD,arm都有)还是可能会泄露内部存储内容

#35


加密也不是不可以。加密并不等于认证。

过去就有过层层脱壳解密的 PC 程序,还有运行监测时钟防止软冰等跟踪工具。

至于嵌入式的,当然也可以把某些程序段落设计成函数,然后将这部分最终机器码加密。运行时,将其解密后放入 RAM,通过函数指针运行。

但攻击者可以监控你与加密芯片间的通讯数据,记录密文和明文。对付他的方式就是分散密钥,你每台设备上的密文都是不同的。但你的生产也增加了麻烦。

所以,目前最通行的方式,还是将部分核心代码直接放到 SOC 安全芯片(加密芯片)中,简单易行。

所谓 CPU 漏洞是针对具有操作系统的通用芯片说的,这类芯片都不是安全芯片。不是一码事。

#36


说实话,当前硬件加密是最彻底的方法了