セキュアErase

想定環境

デバイス接続時のカーネルメッセージ例

ugen0.2: <UD-3000SA UD-3000SA> at usbus0
umass0 on uhub0
umass0: <UD-3000SA UD-3000SA, class 0/0, rev 3.00/4.27, addr 2> on usbus0
umass0:  SCSI over Bulk-Only; quirks = 0x8100
umass0:2:0: Attached to scbus2
da0 at umass-sim0 bus 0 scbus2 target 0 lun 0
da0: <UD3000SA  0427> Fixed Direct Access SPC-4 SCSI device
da0: Serial Number 20150331008EF
da0: 400.000MB/s transfers
da0: 228936MB (468862128 512 byte sectors)
da0: quirks=0x2<NO_6_BYTE>

目的

コマンド実行

camcontrol security da0 -U user -e パスワード」の実行でバッチリだ!(嘘)

# camcontrol security da0 -U user -e パスワード
pass0: <SanDisk SDSSDXPS240G X21200RL> ACS-2 ATA SATA 3.x device
pass0: 400.000MB/s transfers
camcontrol: Can't secure erase (security is disabled)

実はこれを実行する前に、以下のコマンドを実行してセキュアEraseできるか確認する。

camcontrol security da0

たとえば SanDisk ExtremePro SSD(SDSSDXPS-240G)の場合、以下の結果が得られる。

pass0: <SanDisk SDSSDXPS240G X21200RL> ACS-2 ATA SATA 3.x device
pass0: 400.000MB/s transfers

Security Option           Value
supported                 yes
enabled                   no
drive locked              no
security config frozen    no
count expired             no
security level            high
enhanced erase supported  yes
erase time                2 min
enhanced erase time       18 min
master password rev       fffd

上記結果から「enabled no」であることが確認できる。 このままでは、セキュアEraseでは実施できず、以下のコマンドで「enabled yes」に変更する必要がある。

# camcontrol security da0 -U user -s パスワード
pass0: <SanDisk SDSSDXPS240G X21200RL> ACS-2 ATA SATA 3.x device
pass0: 400.000MB/s transfers
Issuing SECURITY_SET_PASSWORD password='パスワード', user='user', mode='high'

この結果、以下のように表示が変わる。

pass0: <SanDisk SDSSDXPS240G X21200RL> ACS-2 ATA SATA 3.x device
pass0: 400.000MB/s transfers

Security Option           Value
supported                 yes
enabled                   yes
drive locked              no
security config frozen    no
count expired             no
security level            high
enhanced erase supported  yes
erase time                2 min
enhanced erase time       18 min
master password rev       fffd

上記状態で再度実行すると、以下のように成功する。

# camcontrol security da0 -U user -e パスワード
pass0: <SanDisk SDSSDXPS240G X21200RL> ACS-2 ATA SATA 3.x device
pass0: 400.000MB/s transfers
Issuing SECURITY_ERASE_PREPARE
Issuing SECURITY_ERASE_UNIT password='パスワード', user='user'

Erase Complete

つまりコマンド実行するなら

-s オプションと -e オプションは同時に指定できるので、セキュアEraseするのに躊躇ないなら、以下のように実行できる。

# camcontrol security da0 -U user -s パスワード -e パスワード
pass0: <SanDisk SDSSDXPS240G X21200RL> ACS-2 ATA SATA 3.x device
pass0: 400.000MB/s transfers

You are about to ERASE ALL DATA from the following device:
pass0,da0: <SanDisk SDSSDXPS240G X21200RL> ACS-2 ATA SATA 3.x device

Are you SURE you want to ERASE ALL DATA? (yes/no) yes
Issuing SECURITY_SET_PASSWORD password='パスワード', user='user', mode='high'
Issuing SECURITY_ERASE_PREPARE
Issuing SECURITY_ERASE_UNIT password='パスワード', user='user'

Erase Complete

見てのように「yes」「no」を聞いてくるので、確認不要(バッチモード)なら「-y」オプションを加えるとよい。

# camcontrol security da0 -U user -s パスワード -e パスワード -y
pass0: <SanDisk SDSSDXPS240G X21200RL> ACS-2 ATA SATA 3.x device
pass0: 400.000MB/s transfers
Issuing SECURITY_SET_PASSWORD password='パスワード', user='user', mode='high'
Issuing SECURITY_ERASE_PREPARE
Issuing SECURITY_ERASE_UNIT password='パスワード', user='user'

Erase Complete

「-e」「-s」「-y」のオプション指定の順番に制限は無い。好きな順序で指定してかまわない。

よくある質問とその答え

Q.パスワードは何を設定すればいいですか?

A.結論を言えばてきとー。

A.SanDisk曰く「SanDisk SSD Dashboard」では「sandisk123」を設定している。

Q.パスワード毎回設定するなら覚えなくていいのでは?

A.大丈夫だ。問題無い・・・わけでもなく、正常に処理された場合は覚えておかなくてもなんとかなるけど、 処理に失敗した場合、回復処理の時にパスワードが必要となるので、覚えておく必要がある。

参考文献