我是一名技术人员,想问问程序保护的话是不是加密算法越复杂 安全性越好?使用RSA或者ECC等非对称算法是不是可绝对保证安全?

Yaho0 发布于 2016/05/27 11:21
阅读 226
收藏 0

我是一名技术人员,想问问程序保护的话是不是加密算法越复杂 安全性越好?使用RSA或者ECC等非对称算法是不是可绝对保证安全?

加载中
1
李阿淇
李阿淇

加密算法越复杂,对被加密的数据安全性而言是要好,对于程序保护的话,还有所不同

李阿淇
李阿淇
回复 @Yaho0 : 把要保护的设备程序挑选一部分放到加密芯片中就行了,设备中就只有部分程序不能独自使用,必须配合芯片中程序才能完整正常运行,有的芯片可以存储几十K到100多K的程序,很厉害的,而且还可以兼有数据加密功能
Y
Yaho0
回复 @李阿淇 : 那该怎么做呢?
李阿淇
李阿淇
回复 @Yaho0 : 从芯片角度来说自然没问题,密钥得到了很好的保护,但从设备端来说,数据与程序都是不安全的,可能会被外界获取到,一旦被获取,那么芯片也就失效了,无论是多么安全的算法,密钥从mcu端丢失,或者认证程序被发现,进行删除后,存储密钥的芯片就没用了
Y
Yaho0
回复 @李阿淇 : 这样做不挺好的吗,有什么问题呢?
李阿淇
李阿淇
回复 @Yaho0 : 这个说起来有点长,最开始的时候加密芯片存储ID码,然后发展到存储密钥,通过密钥加密数据来进行认证,这种方式的核心思想都是数据认证的方式,也就是说双方同时做一个操作,结果相同那么程序就可以运行下去
下一页
2
莫扎特的代码
莫扎特的代码
加密的安全性不是依靠算法的复杂性,而是依靠秘钥的复杂性,所有的加密算法都是开源的,rsa也并非完全安全,rsa本身基于大数的因数分解,,因此秘钥的长度就决定了加密的安全性,rsa记得最长已被破解的秘钥是728位,
Y
Yaho0
数据加密类芯片依赖密钥 程序保护芯片 则关键在于程序移植, 由于MCU程序不完整,所以其的所有破解都无效了。
1
12叔
12叔
没有绝对的事 只能提高 破解的难度
Y
Yaho0
嗯嗯,是
1
我心痛了
那是不是密码越长越安全呢?
Y
Yaho0
程序保护的关键在于程序存储在什么地方 如果放在不安全的地方(如mcu),即便采用高安全性加密算法如RSA或者ECC 也只能保证数据传输过程中不被破解,而对于mcu端程序防护效果不明显
1
我心痛了
谢谢楼主
Y
Yaho0
客气,大家互相学习
0
w4ww
Y
Yaho0
0
黑暗圣堂武士
黑暗圣堂武士
加密是使用较小的代价提高破解难度。
Y
Yaho0
是的,您说的对,大家都是根据自己产品预算进行最大限度的保护
0
西南茂
西南茂

你说的程序保护是指对源代码进行加密还是对业务中的敏感信息进行加密呢?

如果是不希望自己的源代码被获取而要进行加密的话我不知道该怎么做,但是你可以把代码托管到码云私有仓库,出了问题找红薯。

如果是代码里面的敏感信息如密码进行加密的话,我个人感觉选择一个相对来说计算耗费不大又比较难以破解的算法就差不多了,毕竟加密算法并没有绝对的不可破解,只要计算资源足够基本都能找到破解的方式。

如果你是采用PHP的话,可以去了解一下password_hash这个函数,我上个项目就用这个加密的。

Y
Yaho0
回复 @西南茂 : 嗯,我也是现在急需,才了解到的
西南茂
西南茂
@Yaho0 您说的这些我没有了解过。
Y
Yaho0
程序保护,是对源代码保护,但也并非简单的加密,而是在加密芯片内部实现 您说的多数都是在上位机软件层面上的加密方式,在各种嵌入式设备中很多都是无网络操作, 所以都不适合。
返回顶部
顶部