diff --git a/doc/html/CHANGES.html b/doc/html/CHANGES.html index 14771c6..2024632 100644 --- a/doc/html/CHANGES.html +++ b/doc/html/CHANGES.html @@ -22,7 +22,7 @@

-Last modified: June 26, 2000
+Last modified: July 1, 2000
Created: May 2, 2000

@@ -32,6 +32,18 @@

+
Release 7.2
+
Released.
+ +
revision 5.82 - date: 2000/07/01 13:15:37; author: nakahiro; state: Exp; lines: +60 -36
+
    +
  • $PC checking process is gathered to &lock*.
  • +
  • UserConfigExec did not work if $SYS_POSTERMAIL is 1. Fixed.
  • +
  • Added 'HELP' in top menu.
  • +
  • Keyboard shortcut was not printed. Fixed.
  • +
  • Superseding a message overrided an archived message of the message. Fixed.
  • +
+
Release 7.1.1
Released.
@@ -41,10 +53,6 @@

  • Lines at the head of quoted message are concatenated. Fixed.
  • -
    revision 5.80 - date: 2000/06/23 10:53:08; author: nakahiro; state: Exp; lines: +2 -2
    -
      -
    • Changed Release id.
    • -
    Release 7.1
    Released.
    diff --git a/doc/html/COLUMN.html b/doc/html/COLUMN.html index e8588df..db5fdf4 100644 --- a/doc/html/COLUMN.html +++ b/doc/html/COLUMN.html @@ -22,7 +22,7 @@

    -Last modified: June 23, 2000
    +Last modified: July 1, 2000
    Created: May 10, 2000

    @@ -45,7 +45,7 @@

    0. このドキュメントの目的

    本文書が対象としているKINOBOARDSのバージョンは, -KINOBOARDS version 1.0 release 7(KINOBOARDS/1.0R7.1) +KINOBOARDS version 1.0 release 7(KINOBOARDS/1.0R7.2) です.

    @@ -55,15 +55,120 @@

    0. このドキュメントの目的

    1. R7における認証方式
    2. +
    3. R7.0〜R7.1.1における認証方式
    4. R7は重いか?

    1. R7における認証方式

    +

    +出典: [kb-dev:10543] in 2000/6/27 +

    + +

    +[kb-dev:10503]〜[kb-dev:10543]において,「CGI security consideration」というSubjectで,きのぼずの認証方式の安全性についての議論がありました. +その議論を踏まえ,R7.2において認証方式の変更を行ないました. +

    + +

    +議論の結果として方式を変更した今でも, +R7.0〜R7.1.1の認証方式 +は,CGIでの利用に限れば充分に安全だと考えています. +ユーザ権限とセッション権限を分離し,パスワードを極力どこにも残さないようにすることにより,盗まれる権限をセッション権限に留め,復旧が容易です. +しかしこの方法は,ひとたびサーバ側がcrackされると(例え盗まれるのがセッション権限のみであろうと)全ユーザのセッション権限が盗まれてしまう,という欠点を持っているのも事実でした. +今回の変更は,従来からの上記セキュリティ設計の方針を崩さず,この欠点の解消を狙ったものです. +

    + +

    +具体的には,サーバ側で管理する各ユーザ毎の認証情報を2重化することで, +サーバ側がcrackされても,いきなりセッション権限を盗まれないようになっています(*). +この変更により,ログイン済みユーザがアクセスする度にダイジェストの計算をしなければならない(従来は完全一致の比較のみだった)ため,若干速度が低下しています. +

    + +

    +(*) brute forthアタック(ありそうなパスワードを推測し,しらみつぶしに攻撃する方法)で突破され,セッション権限やユーザ権限が盗まれる可能性は残っています. +この攻撃に対する安全性は,OSが提供しているダイジェスト関数の安全性に依存しています. +

    + + +

    +この方式ももちろん,完全ではありません. +クライアント側でHTTP-Cookiesを盗めば,セッション権限(ユーザ権限ではない)を盗めますし,相変わらず,ネットワークを見張られたらユーザ権限も盗まれます. +CGIのみで実現できるセキュリティレベルには限界があります. +必要な場合は,適宜IPレベルでの暗号化,署名,第三者機関による認証などを組み合わせてください. +

    + +

    +...とはいえ,パスワードとセッションキーの2本立てなんて面倒なことをしている以上,もう少し安全にできそうな気がしてます... +

    + +

    +以下,新認証方式の説明です. +

    + +

    +ユーザがユーザIDとパスワードを入力してログインする時に, +セッションキーを割り当てます.以下,説明を簡単にするため, +ユーザIDについては考えないものとします. +

    + +
    +  パスワード: p
    +  セッションキー: k
    +  一方向関数: f
    +  一方向関数用キー: s
    +  パスワードのダイジェスト: pd = f( s, p )
    +  セッションキーのダイジェスト: kd = f( s, k )
    +
    + +

    +において,ユーザの頭の中にp,ユーザのマシン(クライアント)にk, +サーバにsおよびpd, kdを保存します. +

    + +

    +ある時ユーザから,情報Xが入力されます. +ここでXは,pかもしれませんし,kかもしれません. +ログイン判定は, +

    + +
    +  f( s, X ) = pd ... (1)
    +  f( s, X ) = kd ... (2)
    +
    + +

    +のいずれかで成功するものとします. +

    + +

    +(1)で成功した場合,新たにsおよびkを生成し,それを元にpdとkdを再計算し, +サーバに保存します.クライアントにはkを送ります +(以後,HTTP-CookiesもしくはURL文字列として送信されるように). +

    + +

    +(2)で成功した場合は,特になにもしません. +

    + +

    +Xで,pとkのどちらでもアリ,ということにしているのが若干不安かな. +ここを付いた穴がありそうな気がするんですが, +なひには今のところ思いついてません... +

    + +

    2. R7.0〜R7.1.1における認証方式

    +

    出典: [kb-dev:10456] in 2000/5/10

    +

    +本コラムで議論している認証方式は,R7.0〜R7.1.1で使われていた方式です. +R7.2以降で用いられている認証方式については, +R7における認証方式をごらんください. +

    +

    まず先に,前提となるメッセージダイジェストについての知識を.

    @@ -145,7 +250,7 @@

    1. R7における認証方式

    が,これをOSやウェブサーバ,ネットワークのサポートなしに,CGIのみで実現するのは非常にコストが高くかつ無駄であり,きのぼずで要求されるセキュリティレベルを考慮すれば,これで充分だと考えています.

    -

    2. R7は重いか?

    +

    3. R7は重いか?

    出典: [kb-dev:10460] in 2000/5/10 @@ -184,7 +289,7 @@

    2. R7は重いか?

    第三の原因は,本体のプログラム(index.cgi)が長くなったこと. R6.10と比べて91KB→182KBに増えてます. -その分,起動時にPerlのコンパイラがきのぼずを解析するのにかかる時間も増えます. +その分,起動時にPerlのコンパイラがきのぼずを解析するのにかかる時間も増えます.

    diff --git a/doc/html/ENVIRONMENT.html b/doc/html/ENVIRONMENT.html index 46731f6..3794d05 100644 --- a/doc/html/ENVIRONMENT.html +++ b/doc/html/ENVIRONMENT.html @@ -22,7 +22,7 @@

    -Last modified: June 23, 2000
    +Last modified: July 1, 2000
    Created: May 2, 2000

    @@ -38,7 +38,7 @@

    0. このドキュメントの目的

    本文書が対象としているKINOBOARDSのバージョンは, -KINOBOARDS version 1.0 release 7(KINOBOARDS/1.0R7.1) +KINOBOARDS version 1.0 release 7(KINOBOARDS/1.0R7.2) です.

    diff --git a/doc/html/INSTALL.html b/doc/html/INSTALL.html index 666ba20..5bdd12f 100644 --- a/doc/html/INSTALL.html +++ b/doc/html/INSTALL.html @@ -22,7 +22,7 @@

    -Last modified: June 23, 2000
    +Last modified: July 1, 2000
    Created: May 2, 2000

    @@ -39,7 +39,7 @@

    0. このドキュメントの目的

    本文書が対象としているKINOBOARDSのバージョンは, -KINOBOARDS version 1.0 release 7(KINOBOARDS/1.0R7.1) +KINOBOARDS version 1.0 release 7(KINOBOARDS/1.0R7.2) です.

    diff --git a/doc/html/RELEASE.html b/doc/html/RELEASE.html index 075144f..ac20749 100644 --- a/doc/html/RELEASE.html +++ b/doc/html/RELEASE.html @@ -22,7 +22,7 @@

    -Last modified: June 23, 2000
    +Last modified: July 1, 2000
    Created: May 7, 2000

    @@ -39,34 +39,36 @@

    0. このドキュメントの目的

    本文書が対象としているKINOBOARDSのバージョンは, -KINOBOARDS version 1.0 release 7(KINOBOARDS/1.0R7.1) +KINOBOARDS version 1.0 release 7(KINOBOARDS/1.0R7.2) です.

    1. 変更点

    -R7.1での変更点は以下の通りです. +R7.2での変更点は以下の通りです.

    -R7.0からの変更点の詳細については, +認証方式の変更がありましたが,ユーザ管理用のkb.userファイルについては上位互換性が保たれています. +R7.0〜R7.1.1で使われていたkb.userをR7.2で利用する場合,各ユーザが次回ログインした際に,そのユーザの認証方式が自動的に新方式に移行されます. +それまでは旧方式での認証が行なわれます. +つまり,R7.0〜R7.1.1でHTTP-Cookiesを利用して認証を行なっていたユーザについては,次回ログインするまで旧方式で認証が行なわれることになります. +

    + +

    +R7.1からの変更点の詳細については, Changes: 変更履歴 を参照してください.

    diff --git a/doc/html/UNINSTALL.html b/doc/html/UNINSTALL.html index 71cc61c..adde749 100644 --- a/doc/html/UNINSTALL.html +++ b/doc/html/UNINSTALL.html @@ -22,7 +22,7 @@

    -Last modified: June 23, 2000
    +Last modified: July 1, 2000
    Created: May 7, 2000

    @@ -38,7 +38,7 @@

    0. このドキュメントの目的

    本文書が対象としているKINOBOARDSのバージョンは, -KINOBOARDS version 1.0 release 7(KINOBOARDS/1.0R7.1) +KINOBOARDS version 1.0 release 7(KINOBOARDS/1.0R7.2) です.