PLC解密家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 19181|回复: 13

第三代加密来袭,你都准备好了吗?

  [复制链接]

193

主题

86

回帖

6630

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
6630
QQ
发表于 2016-11-8 20:27:02 | 显示全部楼层 |阅读模式
当然这个第三代只是我个人的定义,或许不准确,下面我来具体分析一下这三代加密方式。

第一代密码是明码时代。三菱FX早期的产品全部是明码,串口监控的密码数据全部赤裸裸的,ASC码显示。到现在采用明码的还有很多PLC,比如台达的,欧姆龙全系列的,AB的,依然采用明码,无需计算,直接编译ASC码即可。

第二代加密进入密码逻辑运算加密时代。比如西门子S7-200CN系列,采用隔位异或法加密,松下FPX系列采用移位法加密,松下GT屏采用密钥加密法,8位密码需要逐个跟这个钥匙运算,才能得到真正的密码,信捷的也采用异或等组合逻辑运算法。但是再怎么组合,再怎么复杂,细心钻研的发烧友总能找到算法,把密码逆运算还原出来。

第三代加密,现在西门子S7-200 SMART,S7-1200,S7-1500,施耐德最高级别加密,松下FP7和FPXH系列的32位加密等等全部都是这种第三代加密。现在只能上图了。

看到了吗?中间红色绿底的部分就是密码,不光密码变换这里每一个位都变化,就是下载两次,相同的密码,完全相同的密码,这里的数据也是完全不同的。相同的密码,产生的数据是不同的,怎么解释??不但保密数据毫无规律,密码位数也在逐步增加,三菱可以是16位加密,丰炜可以是10位加密,松下FPXH可以32位加密,而SMART可以20位加密。我好晕哦!,下面应当轮到高手的您来发表演讲了,你肯定懂。。。。。。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0

主题

1

回帖

26

积分

新新会员

Rank: 1

积分
26
发表于 2017-6-14 11:45:20 | 显示全部楼层
不懂
回复

使用道具 举报

0

主题

1

回帖

22

积分

新新会员

Rank: 1

积分
22
发表于 2018-4-24 23:39:11 | 显示全部楼层
应该有阳钥和阴钥     阴钥藏在CPU再带的私有FLASH      阳钥放在外面的FLASH里, 阴钥可能就是根据当时的时间算出一种KEY放在CPU内部私有FLASH里,然后根据这个阴钥算出阳钥放到外部开放的FLASH里
回复 支持 反对

使用道具 举报

0

主题

9

回帖

54

积分

一级会员

Rank: 2

积分
54
QQ
发表于 2019-4-28 10:01:59 | 显示全部楼层
一窍不通!
回复 支持 反对

使用道具 举报

0

主题

41

回帖

105

积分

一级会员

Rank: 2

积分
105
发表于 2019-5-28 22:11:33 | 显示全部楼层
谢谢分享啊
回复 支持 反对

使用道具 举报

0

主题

5

回帖

216

积分

二级会员

Rank: 3Rank: 3

积分
216
发表于 2019-9-24 10:25:10 | 显示全部楼层
这个俺也在找密文对应表,第三代是AES加密,知识有限 看得一头雾水
回复 支持 反对

使用道具 举报

0

主题

2

回帖

40

积分

新新会员

Rank: 1

积分
40
发表于 2020-10-19 21:59:14 来自手机 | 显示全部楼层
逆向过西门子smart的,虽然也没完全搞明白,但是它的算法是先生成一个随机码,在软件里称为salt,这个码会明码保存在最终生成码的前2字节,这个码加上用户密码进行一堆运算就生成了最终的定长密码,保存在刚才两个字节后面,smart在与pc认证的时候,需要先告诉pc随机码salt的值,接下来是某些运算得出来的秘钥
回复 支持 反对

使用道具 举报

0

主题

2

回帖

40

积分

新新会员

Rank: 1

积分
40
发表于 2020-10-19 22:02:01 来自手机 | 显示全部楼层
至于smart pou的加密,这个与程序块前36字节有关,涉及异或与移位,这个比较简单,只要有足够数据就能推算出来,应该属于你定义的第二代加密
回复 支持 反对

使用道具 举报

0

主题

3

回帖

24

积分

新新会员

Rank: 1

积分
24
发表于 2020-10-26 11:22:51 | 显示全部楼层
潜水很长时间了,一直没打算回复这个帖子,前两天突然看有人更新回复,但是似乎楼上这位答的也是不准确,所以临时决定发个帖子。
其实200smart等新版本PLC的密码仍然不算高端,整个算法没有使用非对称加密或者是AES这种复杂加密,依然是简单的异或、移位、位与等普通操作,但与老200不同之处在于:
1. 出现了随机数种子,实际上也是楼上说的salt,这个2字节数据会极大干扰结果
2. 计算过程中,密码本身的值会被用于控制移位长度、位与内容
3. 这种简单的异或算法会经过极大量的迭代,有时可迭代1000次以上,由于这种迭代性,即使原来的密码发生很微小的改动,比如1bit改动,最终的结果也会出现天壤之别
另外在200smartPC解密认证的时候,会向PC发送一组20字节的随机码,这个字节码会被加入到解锁秘钥的计算中去,使最终结果随机性更强。
顺便说一句,PC端在解锁时,如果用户输入密码正确,其实会预先算出PLC端存储的这段20位密码,因为plc把随机数种子发送给了PC,所以如果可读出存储密码,实际上已经可以通过暴力破解算出真正的密码。如果密码位数较低,难度并不大。
我知道如果不上图很多人难以相信,但是本贴讨论范围仅限学术研究,为了防止有人用作它用,所有关键点均打码

PLC下载的SDB块

PLC认证产生的chanllenge

PC保存PLC的chanllenge

第一次大迭代,计算值等于PLC内部存储值

第二次大迭代

第三次大迭代

最后一轮迭代


以上是OD跟踪时整个秘钥计算的全过程,仅供学术交流,不得用于其它用途,如用于其它用途与本人不对其负责

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复 支持 反对

使用道具 举报

0

主题

3

回帖

24

积分

新新会员

Rank: 1

积分
24
发表于 2020-10-28 09:05:21 | 显示全部楼层
plcjiemi 发表于 2020-10-26 20:17
厉害,厉害,确实很多人可以穷举密码了,目前9位数字密码几分钟搞定.

差不多吧,我曾经为了测试算法试过暴力7位的只用了不到半分钟,这还是建立在当时没完全理解算法的基础上
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|PLC解密家园 ( 京ICP备14025225号-2 )

GMT+8, 2024-4-25 04:14 , Processed in 0.154929 second(s), 25 queries .

快速回复 返回顶部 返回列表