zoukankan      html  css  js  c++  java
  • 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状态和特性

     

     (四)、security命令

    1. SECURITY DISABLE PASSWORD -F6h,PIO Data-Out

     

     只是失能的用户密码,并没有取消管理员密码。执行成功进入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

     

    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

     

    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

     

    如果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

  • 相关阅读:
    【C语言学习】-08 指针
    【C语言学习】-07 结构体
    【C语言学习】-06 函数
    百度地图添加大头针和视图
    ios8中修改的 推送和地图
    ios 有关设备信息
    详解Objective-C runtime
    IOS7 ~ Xcode5 制作 framework
    IOS 取消表格单元格 TableViewCell 去掉高亮状态 点击Cell取消选择状态
    验证码设计(转)
  • 原文地址:https://www.cnblogs.com/-tbd-/p/11589069.html
Copyright © 2011-2022 走看看