[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
色々ありえいえいって調べた。
とりあえず頻繁に挙がるのは「SP 800-63 Digital Identity Guidelines」か。このうち「SP 800-63B Authentication and Lifecycle Management」の 5.1.1.2 Memorized Secret Verifiers に次の記述がある。
Verifiers SHOULD NOT require memorized secrets to be changed arbitrarily (e.g., periodically). However, verifiers SHALL force a change if there is evidence of compromise of the authenticator.
日本語訳はOIDF-J・JIPDEC共催OpenID BizDay#11「NIST SP 800-63-3を読む」のサイトにある。そこでは Verifierは,記憶シークレットを任意で(例えば,定期的に)変更するよう要求すべきではない(SHOULD NOT).しかしながらAuthenticatorが危殆化した証拠がある場合は,変更を強制するものとする(SHALL).
と訳されている。
ただし、パスワードの定期的な変更は「SHOULD NOT」であり「SHALL NOT」ではない。
これについて何か所かで理由が挙げられているが「この施策を取った場合パスワードは単調なものになりがちだから」ないし「パスワードの変更内容がわずかだから」らしい。パスワードが単調であれば容易に突破できる。また、定期的にパスワードを変更することでパスワードが漏洩していたとしてもその影響を押させることができるが、パスワードが漏洩していたうえでパスワードの変更内容がわずかであれば以前のパスワードから新しいパスワードが推測できるため攻撃者は突破が可能である。
パスワードの定期的な変更が有効なのは以下のような場合である。
特に最初の項目については契約先とのパワーバランスによっては変更が困難であり、定期的な変更を続けざるを得ないことはしばしばあるだろう。
こういう「ただダメというだけでは多分減らない」「減らしにくい事情がある」事例は割と他にもある。「パスワード付き zip で圧縮したファイルを送り、パスワードを別送」とかは代表例の一つか。
私が作ったツールの話ではなく、驚いたし便利だなぁと思ったツールの更新について紹介。
だいぶ前、キャラクター保管所のキャラクターシートをゆとシート2 for SW2.5 に複製するブックマークレットを作ったが、そういう機能が公式に付いた。
ゆとシートⅡ:コンバート機能の追加 - ゆとらいず工房支援所 (ゆとらいず工房)の投稿|ファンティア[Fantia] https://t.co/JhXVvCoECV #Fantia #ファンティア
— ゆとらいず工房 (@yutorize) March 30, 2020
SW2.5 向けだけなら「まぁ、うん」って感じで終わるのだがダブルクロスのキャラクターシートについてキャラクター保管所とキャラクターシート倉庫の双方からコンバートが可能である。
さらにデータの複製ができるだけではなく、単純にそれらの他のキャラクターシート管理ツールをゆとシート上で閲覧するだけの機能もある。つまり、「普段は使い慣れた他のツールでキャラクターシートを管理・編集し、人に見せる時だけ視認性に優れたゆとシート上で共有する」ということも簡単にできる。
JSON in Java という Java のライブラリがあって、これが JSON をさっと扱いたい場合に便利なのだがちょっと使い物にならない。というのは、ライセンスが次のようになっているのだ。ライセンス情報
The Software shall be used for Good, not Evil.
すなわち「このソフトウェアは良いことに使うべきであり、悪いことに使うべきではない」ってどういう意味なのだろう。これについて少しググると色々と「ダメだよね」という話題は出てくる。
代案に minimal-json を利用している。JSON in Java 程ではないが割と簡単に書ける。
// JSON in Java で書く
JSONObject result = new JSONObject(json);
boolean isOK = result.getBoolean("ok");
List<String> list = new ArrayList<String>();
JSONArray JSONarray = body.getJSONArray("myArray");
for(int i = 0; i < JSONarray .length(); i++) {
list.add(JSONarray .getString(i));
}
// minimal-json で書く
JsonObject result = Json.parse(json).asObject();
boolean isOK = result.getBoolean("ok", false);
List<String> list = new ArrayList<String>();
JsonArray JSONarray = body.get("myArray").asArray();
for (JsonValue prefix : JSONarray ) {
list.add(prefix.asString());
}Java の jar を Windows のサービスにしないといけない事情があり、簡単な手はないかな、と思って探していたら winsw(github)なるものがあった。
他にもいくつか手はあったが以下の3ステップで終わるので簡単だったのが選択の理由。
リポジトリの Releases から入手できる。この記事を書いている時点で最新は 2.6.2。普通の PC を使っているならば WinSW.NETCore31.x64.exe を入手すればよい。これを jar と同じディレクトリに置く。jar ファイルと同じ感じにリネームすること。
例えば次のように記載し、jar と同じディレクトリに置く。書き方のガイドはhttps://github.com/winsw/winsw/blob/master/doc/xmlConfigFile.mdにある。
<service> <id>myService</id> <!-- サービスの ID。サービスとしての一意キー --> <name>My Service</name> <!-- Windows のサービスとして表示される名称 --> <description>This is my service</description> <!-- サービスの説明 --> <executable>java</executable> <!-- サービスを実行するのに使うコマンド。今回は jar を動かすので java とする --> <workingdirectory>C:\Users\hiyoko</workingdirectory> <!-- 実行ディレクトリ --> <arguments>-jar hiyoko.jar</arguments> <!-- executable のコマンドに渡す引数 --> <logmode>rotate</logmode> <!-- ログの扱い --> </service>
コマンドプロンプトから (exe ファイルの名前) install を実行し、サービスに登録する。同じディレクトリにログが出るのでそれを参考にしつつ、ダメそうなら修正すること。
登録解除は (exe ファイルの名前) uninstall
【ゆとシートⅡ for SW2.5】(CGI配布版)
— ゆとらいず工房 (@yutorize) March 21, 2020
ver.1.07.0にアップデートしました。
ゆとらいず工房: ttps://yutorize.2-d.jp/?ytsheet2-sw2.5
Github: https://t.co/DUZDVQFw6T
タイトル通り。Release ver.1.07.0 "Oathkeeper" · yutorize/ytsheet2_sw2.5 から入手し、設置ができる。設定ガイドはhttps://github.com/yutorize/ytsheet2_sw2.5/blob/master/OAuthLogin.md にある。
だが、個人的にはゆとシート以上にゆとチャットの方が Discord でユーザを絞れたりしたら便利そうだなぁと思っている。ないしは Twitter のリストで絞れたりしたら便利かもしれない。