linux 发现sata硬盘的过程 命令名码 identify,SATA命令之security

参考文档:ATA8-ACS4

(一)、security相关特性在identify的位置

SECURITY SUPPORTED bit 在word 82

SECURITY ENABLED bit 在word 85  word 128

MASTER PASSWORD CAPABILITY bit 在word 128

MASTER PASSWORD IDENTIFIER field在word 92

(二)、identify中security相关的含义

(a) .通过SECURITY SET PASSWORD 命令设置用户密码,可以使SECURITY ENABLED bit置为1;如果SECURITY ENABLED bit为0,表示无有效用户密码。

(b) MASTER PASSWORD CAPABILITY bit为0,表示管理员密码性能为High

MASTER PASSWORD CAPABILITY bit为1,表示管理员密码性能为Maximum

如果SECURITY ENABLED bit为0,MASTER PASSWORD CAPABILITY bit也需为0

(c) MASTER PASSWORD IDENTIFIER feature不支持,则MASTER PASSWORD IDENTIFIER field为0000h或FFFFh, 支持则MASTER PASSWORD IDENTIFIER field出厂设置成FFFEh

(三)、security状态和特性

eaf755812e7c4aac50b7898076d24030.png

(四)、security命令

SECURITY DISABLE PASSWORD -F6h,PIO Data-Out

915ab934d4be7b8cb05c2d90ba97e380.png

只是失能的用户密码,并没有取消管理员密码。执行成功进入SEC1阶段

(1)如果SECURITY ENABLED bit为0

(a)如果IDENTIFIER为0(对比用户密码),设备将返回command aborted

(b)如果IDENTIFIER为1(对比管理员密码),设备将对比PASSWORD field的密码和存储的管理员密码是否一致

(2)如果SECURITY ENABLED bit为1,并且MASTER PASSWORD CAPABILITY为0(High)

(a)如果IDENTIFIER为0(对比用户密码),设备将对比PASSWORD field的密码和存储的用户密码是否一致

(b)如果IDENTIFIER为1(对比管理员密码),设备将对比PASSWORD field的密码和存储的管理员密码是否一致

(3)如果SECURITY ENABLED bit为1,并且MASTER PASSWORD CAPABILITY为1(Maximum)

(a)如果IDENTIFIER为0(对比用户密码),设备将对比PASSWORD field的密码和存储的用户密码是否一致

(b)如果IDENTIFIER为1(对比管理员密码),设备将返回command aborted

2.SECURITY ERASE PREPARE -F3h,PIO Non-Data

SECURITY ERASE PREPARE命令会在SECURITY ERASE UNIT命令之前立即发送

3.SECURITY ERASE UNIT -F4h,PIO Data-Out

2073f8dd16df653f74be46ee748ca4cf.png

SECURITY ERASE PREPARE命令需要先发送,并且发送成功,然后再发送SECURITY ERASE UNIT命令, 执行成功进入SEC1阶段,执行成功后将清除用户密码,而管理员密码保持不变

如果SECURITY ENABLED bit为0,并且IDENTIFIER bit为0(对比用户密码),设备将返回command aborted

(1)如果SECURITY ENABLED bit为1

(a)如果IDENTIFIER为0(对比用户密码),设备将对比PASSWORD field的密码和存储的用户密码是否一致

(b)如果IDENTIFIER为1(对比管理员密码),设备将对比PASSWORD field的密码和存储的管理员密码是否一致

4.SECURITY FREEZE LOCK -F5h,PIO Non-Data

使设备进入security frozen状态,禁止security相关命令的操作,此命令只能通过power-off或hardware reset取消。命令执行成功会设置SECURITY FROZEN bit为1.

5.SECURITY SET PASSWORD -F1h,PIO Data-Out

3957da3731c4337cacad4019d69fd012.png

(1)IDENTIFIER为1表示设置管理员密码,MASTER PASSWORD CAPABILITY bit保持不变。仅仅设置master密码不会启用安全性(即,下次开机后不会锁定设备,SEC状态不会改变)。

(a).MASTER PASSWORD IDENTIFIER feature支持,若NEW MASTER PASSWORD IDENTIFIER field的值不是0000h也不是FFFFh,设备将保存NEW MASTER PASSWORD IDENTIFIER field(word 92),若NEW MASTER PASSWORD IDENTIFIER field的值是0000h或FFFFh,设备将保存已经存在的MASTER PASSWORD IDENTIFIER field并返回命令完成,而不是保存NEW MASTER PASSWORD IDENTIFIER field

(b).MASTER PASSWORD IDENTIFIER feature不支持,设备将忽略NEW MASTER PASSWORD IDENTIFIER field

(2)IDENTIFIER为0表示设置用户密码,MASTER PASSWORD IDENTIFIER field保持不变。

(a).SECURITY ENABLED bit将设置成1(security is enabled)

(b).MASTER PASSWORD CAPABILITY bit将设置成 NEW MASTER PASSWORD CAPABILITY bit

6.SECURITY UNLOCK -F2h,PIO Data-Out

884a22dc467e1b8bf436cad292552ba8.png

如果SECURITY ENABLED bit是0,并且IDENTIFIER bit是0(对比用户密码),设备将返回command aborted

(1).SECURITY ENABLED bit是1,MASTER PASSWORD CAPABILITY bit是0(High)

(a) .如果IDENTIFIER为0(对比用户密码),设备将对比PASSWORD field的密码和存储的用户密码是否一致

(b) 如果IDENTIFIER为1(对比管理员密码),设备将对比PASSWORD field的密码和存储的管理员密码是否一致

(2).SECURITY ENABLED bit是1,MASTER PASSWORD CAPABILITY bit是1(Maximum)

(a).如果IDENTIFIER为0(对比用户密码),设备将对比PASSWORD field的密码和存储的用户密码是否一致

(b)如果IDENTIFIER为1(对比管理员密码),设备将返回command aborted

(3).如果密码对比失败,设备返回command aborted,password attempt counter减1,

如果密码对比成功,则SECURITY LOCKED bit设置成0,设备将不处于SEC3/SEC4阶段。

参考文档:ATA8-ACS4

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值