jaccnews-2017-08

【SECR: パスワードポリシの新常識】

いままで「常識」とされていた望ましいパスワード作成ルールについて、ここ数年のNIST(米国立標準技術研究所)やIPA(情報処理推進機構)やCERT/JPCERTなどの有力組織が見直しを勧告しています。
これらが新しい常識です

1. パスワードは複数の単語を 4~5つなげた十分長いものとする。単語は辞書に載っていないものも混ぜる
2. 定期的な変更を行うことに有用性はほとんどなく、むしろ害悪である場合も
3. マスタパスワード パスワードマネージャを適切に利用した上でパスワードはブラウザに記録させる

旧常識は以下でした

a. 英数記号を混ぜたランダムな8文字以上とする
b. 定期的に変更を行う
c. パスワードはブラウザに記録させない

以下解説します

×a. 英数記号を混ぜたランダムな8文字以上とする
○1. 複数の単語を 4~5つなげた長いものとする。単語は辞書に載っていないものも混ぜる

より覚えやすく、総当り攻撃にも強いことが実験的にも統計的にも確かめられています[wsj2017][xkcd]
例:Alpha bob c0c0c0 -den

△b. 定期的な変更を行う
○2. 定期的な変更を行うことに有用性はほとんどなく、むしろ害悪である場合も

定期的な変更を義務としても「最後に1や!を追加する」「2~3種類のパスワードを巡回する」程度が多く、積極的な意味はほとんどないことが確かめられています[nist2017][wsj2017]

また、定期的な変更によりパスワードの入力回数を増やすことはフィッシングなど攻撃の機会を増やすことにつながりより危険である[maruoka2015][ipa2014]、サービス利用者側の利便を損なうかたちでサービス提供者のセキュリティを担保することを問題視する意見もあります[maruoka2015][takagi2009]

×c. パスワードはブラウザに記録させない
○3. マスタパスワード パスワードマネージャを利用した上でパスワードはブラウザに記録させる

ごく初期はブラウザに(暗号化なしに)記憶させるのは絶対悪とする風潮がありましたが、現在ではブラウザのマスタパスワード機能やパスワードマネージャを適切に利用するほうが、より負担が少なく、安全です[jpcert2015][firefox]

なお、他の常識には依然として正しいものがあります
「サービスごとに異なるパスワード」を用いることは非常に有用です[nist2017][jpcert2015]
簡便な方法の一つとして、「秘密にして覚えておくパスワード」+「ランダム文字(必要に応じてメモ)」という方法があります 例:Alpha bob c0c0c0 -den
前半は記憶します。後半をサービスごとに変える覚えるのは負担なので、この部分だけメモする、というやり方です[jpcert2015]

なお、本メールでは典拠、参考文献は省略しております。詳細は当社ページを参照ください
https://sites.google.com/a/jacc.in/home/jaccnews-2013-11/guo-qujaccnyusu/jaccnews-2017-08

あわせ、本情報についてご意見あろうかとも思います。現時点での有力組織の見解としてご理解いただき、各シーンにあわせた活用方法が適切と存じます。

【TECH: bash 補完入力マニアックス】

人生は短いと聞きます。コマンドを入力する手数は、正しく、少なく、快適にしたいものです。
ここでは bash における補完入力のテクニックを紹介します

1. ファイル名補完 TAB (Ctrl+I)

皆様よくご存知のよう、途中まで入力したファイル名やコマンドを補完します。
なお、メタテクニックとして file_1.txt file_2.txt file_3.txt
というようなファイル命名はよくありません。補完を前提として 1_file.txt 2_file.txt 3_file.txt
とする習慣をつけると一手節約できます

2. ヒストリ補完 ESC p

ESC p [入力] [Enter] は過去の入力項目から補完します
たとえば過去に service iptables restart と入力していたとしたら
プロンプトから ESC p ser [Enter] とすると補完がなされます。!ser というやり方もあります。

3. 入力項目補完テンプレート

例えば service コマンドを使うときに
service [なにか] [なにか] の [なにか] に入る項目は決まっていますよね?
どうせなら service po[^I] re[^I] だけで service postfix restart
と入力できれば手軽です。それらを実現するのが、bash-completion です

導入するには(必要ならepelなどの外部レポジトリを追加の上で)
yum install bash-completion し、
 .bashrc に source (おいた場所)/bash-completion を記載します
なお、中にはややおせっかい(mv など)な項目もあるので、任意に取捨選択しましょう

【ERRT:07/19配信のお詫びと訂正】

前回送信の【TECH:Unixコマンドラインテクニック】において、ホームディレクトリのドットファイル一覧を想定した記述に誤りがありましたので、お詫びの上訂正いたします
ls -d .??* が想定した書法です。なお、単に ls -d .* としないのは、 .. . を排除するためです

(正)
ls -d */
ディレクトリのみを一覧します。ホームディレクトリであれば ls -d .??*/ という使い方も

(誤)
ls -d */
ディレクトリのみを一覧します。ホームディレクトリであれば ls -d .**?/ という使い方も

----

脚注

wsj2017 : あのパスワード規則、実は失敗作だった - WSJ NIST担当者によるコメント


Comments