くだらねえ質問はここに書き込め! Part 236
■ このスレッドは過去ログ倉庫に格納されています
まずは2ch-Linux-Beginnersを読みましょう。
いろいろとまとめられているので(・∀・)イイ!!
http://www12.atwiki.jp/linux2ch/
読んでも解決しなかったら、質問を書きこむ前にここを読もう。
http://www12.atwiki.jp/linux2ch/?About
質問に対して答えてもらったら、お礼よりも、結果報告。
過去ログ検索
Google検索
https://www.google.com/search?hl=ja&as_q=検索語句&as_sitesearch=2ch.net%2Ftest%2Fread.cgi%2Flinux%2Fhttps://www.google.com/search?hl=ja&as_q=検索語句&as_sitesearch=5ch.net%2Ftest%2Fread.cgi%2Flinux%2F
※前スレ
くだらねえ質問はここに書き込め! Part 235
https://mao.5ch.net/test/read.cgi/linux/1549582859/ DBANでググったら乱数はデフォルトだとメルセンヌツイスターを書き込むらしい
詳しくないので本当のところは分からないけどメルセンヌツイスターって一定量の結果があればそれから次にくる数値を完全に予測できる暗号とかには使えないアルゴリズムらしいからそれだとあえて乱数を書き込む意味が無いような気が…
元々乱数を書き込むのは何が上書きされたかの予測をできなくすることで残存磁気からの復元を困難にする目的らしいが完全に予測ができるパターンならそれでフィルタをかければ良いだけになるので
単純に全部ゼロを書き込むゼロフィルと大差無いように思うのだが実際のところどうなのだろう?
(USBやCD起動ですぐだとエントロピー源も良質なの無さそうだしシードに何が使われているのかも謎に思う 何を使っているのだろうか…?)
最近のHDDは記録密度が高くて一度でも何かで上書きされたら国家レベルで特殊な装置を使っても残存磁気から復元は無理らしいからまぁどうでも良い話だが無駄に時間をかけるのもあれだし…
そうなるとゼロフィル1回の場合はDBANなんて使わずcat /dev/zero > /dev/sda とかの方が手軽で一番速い気が…(途中経過が知りたい場合はcatの代わりにpvコマンドを使うとして)
乱数を書き込むにしても/dev/urandomはそれなりに高速で一応暗号にも使えるらしいからそっちの方が良いような…
そこの所どうなのだろう?DBANでメルセンヌツイスターを書き込む意味はあるのかな?
LinuxでのHDD消去の最適解は何なのだろうか…? >>429
NISTのガイドラインが出てるから読んでみたら
https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-88r1.pdf
ディスクによっても技術が変わるからどうやればセキュアかなんて計るのは難しい
HDDの上書きは Clear レベルの話でどのビットパターンで〜とかはさらにオプショナルな話
ガイドラインでは機密度が高いものは認定業者に完全破壊を委託しろとさ エキサイト先生にご登場願いながら頑張って
NIST等々の各国の文章を読み漁ったが全てが終わったあとにこんなページを見つけた…
https://www.a-d.co.jp/datasweeper/erase_standards.html
知りたい事が簡潔に全て日本語でまとめられていた…
やはり最近のHDDは一度でも上書きをすれば国家や研究所レベルで1ビットずつ解析するような事をされても読み出すのは困難らしい
しかし代替セクタ領域や余剰領域、隠し領域などHDDメーカーによって異なる実装の通常の方法ではアクセス不可の領域にデータが残る場合もあるので本当に機密なら物理破壊しか無いらしい
結論としてはHDDのコントローラーに特別な方法で物理アクセスしない限りそれら領域にはアクセス不可能なので国家レベルの機密とかでもない限りゼロフィル1回で良いっぽい
そしてそのゼロフィルの方法は”cat /dev/zero > /dev/sda”やdd、DBAN等々のHDD消去ソフトは使わずATAコマンドのSecure Eraseを使えば良いらしい!!
ATAコマンドのSecure Eraseでは通常アクセス不可の領域もゼロフィルされ、さらにHDDのコントローラーが直接行う為マシン性能やHDDの接続インターフェイスの速度の影響を受ける事なく最速でゼロフィルできる!!
(ATAコマンドの規格どおりHDDメーカーがしっかり実装していなければアクセス不可領域の消去は結局のところ不確かだが通常の領域の消去くらいは正しく実装されていると思って良いみたい) 具体的にATAコマンドのSecure Eraseを行うには
Linuxだとhdparmコマンドを使えば良いみたい
詳しくはATA公式Wikiの
https://ata.wiki.kernel.org/index.php/ATA_Secure_Erase
ここに全部書いてある通り
(※USB経由の接続だと危険な場合もあるので必ずATAケーブルで直接接続して行う)
ちなみにSSDの場合は内部で暗号化されており暗号化キーを変えるだけなので数十秒で終わる
ただ実装がメーカー任せなのとセキュリティー研究者から内部の暗号化方法に脆弱性が指摘された製品も多く、SSDの場合はHDD以上に再利用可能な方法で消去は困難で物理破壊推奨らしい
(単純なゼロフィルを行ってもSSDの場合は素子の寿命を考えてコントローラーが色々工夫して書き込んでいるので以前書き込んだ場所に上書きされるとも限らず無駄にSSDを痛めるだけでデータ消去の意味は薄い)
とはいえ直接コントローラーに接続して特別な方法で解析しない限り安全なので大手メーカーの製品なATAコマンドのSecure_Eraseを行えば十分っぽい
もう完全にLinux関係ないスレチの話になってしまったがHDDもSSDもATAコマンドのSecure_Eraseを行うのが一番でそれもメーカーがツールを出していればそれ経由で行うのが推奨ということでした!! おしまい >>437
> SSDの場合は内部で暗号化されており
のところだけ間違ってると思う。
それはSSDかどうかに関係なく自己暗号化ドライブ(SED)の話。 >>438
それより下のレベルでの話でコントローラー自体が実際に素子に記録する際に暗号化していてその暗号化キーを書き換えるだけだからすぐにSecure_Eraseが終わると思っていたが間違いなのか…(少なくとも大手のSSDは)
ウェアレベリングを回避しての全素子ゼロフィルだとするとそんなにすぐには終わらないだろうし間違いだとしたら一体どんな仕組みなのだろうか… SSDの話は色々勘違いしていたみたいです
暗号化ではなくコントローラーのマッピングデータを消すだけだから早いみたいです
実際に素子からは消えてないが通常の方法ではまず復元は不可能で問題ないみたいでした
ATA Secure_Eraseにはエンハンスモードもありそちらだとウェアレベリングを回避して全素子ゼロフィルを行えるものもあるっぽい…
実装がHDD以上にメーカー依存でHDDよりも再利用可能な方法での消去は難しく破壊が推奨みたい ■ このスレッドは過去ログ倉庫に格納されています