「パスワードSALT」の版間の差分

提供:MoodleDocs
移動先:案内検索
 
(2人の利用者による、間の12版が非表示)
1行目: 1行目:
鋭意作成中です - [[利用者:Mitsuhiro Yoshida|Mitsuhiro Yoshida]] 2009年11月25日 (水) 06:06 (UTC)
==パスワードSALTとは?==
==パスワードSALTとは?==


パスワードは、[http://en.wikipedia.org/wiki/MD5_hash md5 hash]と呼ばれる、暗号化された形でMoodle内に保存されます。
パスワードは、[http://en.wikipedia.org/wiki/MD5_hash md5 hash]と呼ばれる、暗号化された形でMoodle内に保存されます。


[http://en.wikipedia.org/wiki/Salt_%28cryptography%29 パスワードSALT]は、md5ハッシュが計算される前、パスワードにランダム文字列を追加して、さらにパスワードを安全にする手法です。パスワードSLATにより、パスワードの推測がさらに難しくなります (ランダム文字列を大きくするほど、推測の困難さが増します)。
[http://en.wikipedia.org/wiki/Salt_%28cryptography%29 パスワードSALT]は、md5ハッシュが計算される前、パスワードにランダム文字列を追加して、さらにパスワードを安全にする手法です。パスワードSALTにより、パスワードの推測がさらに難しくなります (ランダム文字列を長くするほど、推測の困難さが増します)。


==パスワードSALTを有効にする==
==パスワードSALTを有効にする==


パスワードSALTを設定するには、あなたの[[設定ファイル|config.phpファイルに]]次の行を追加してください:
パスワードSALTを設定するには、あなたの[[設定ファイル|config.phpファイル]]に次の行を追加してください:


  $CFG->passwordsaltmain = 'ここにランダムな半角文字列を記述してください';
  $CFG->passwordsaltmain = 'ここに沢山の半角文字を使って、ランダムな文字列を記述してください';


ランダム文字列は、数字および他の文字を混ぜた形で記述してください。適切な長いランダム文字列を取得するため、[http://dev.moodle.org/gensalt.php Moodle Salt Generator]を使用することができます。ストリング長は、少なくとも40文字を推奨します。
ランダム文字列は、数字および他の文字を混ぜた形で記述してください。適切な長いランダム文字列を取得するため、[http://dev.moodle.org/gensalt.php Moodle Salt Generator]を使用することができます。ストリング長は、少なくとも40文字を推奨します。
32行目: 30行目:
==SALTを無効にする==
==SALTを無効にする==


'''Note''': Not Recommended! Once enabled, you should leave password salt enabled.
'''注意''': 推奨できません! パスワードSALTを一旦有効にした場合、パスワードSALTを有効のままにしてください。


To disable password salting in Moodle, you can delete, comment out, or change the value of passwordsaltmain to "empty"
パスワードSALTを無効にするには、あなたは、passwordsaltmainの値を削除、コメントアウトまたは空にすることができます。


  // EXAMPLE: set to empty string
  // : 空の文字列を設定
  $CFG->passwordsaltmain = <nowiki>''</nowiki>;
  $CFG->passwordsaltmain = <nowiki>''</nowiki>;




  // EXAMPLE: comment out
  // EXAMPLE: コメントアウト
  /*
  /*
  $CFG->passwordsaltmain = <nowiki>''</nowiki>;
  $CFG->passwordsaltmain = <nowiki>''</nowiki>;
  */
  */


However, you are not done! You '''must also move the old salt to an "alt" value''', just like the "changing the salt" description, above:
しかし、あなたはこれで完了したわけではありません! あなたは、前述の「SALTを変更する」ように、'''古いSALTを代替値 (alt value) として、移動する必要があります:


  $CFG->passwordsaltalt1 = 'old long random string';
  $CFG->passwordsaltalt1 = '古いランダム文字列';
  $CFG->passwordsaltmain = <nowiki>''</nowiki>;
  $CFG->passwordsaltmain = <nowiki>''</nowiki>;


==Importing users from another site==
==別のサイトからユーザをインポートする==


If you import users from another Moodle site which uses a password salt, you need to add the other site's salt to config.php too. Upto 20 alternate salts may be added
パスワードSALTを使用している別のMoodleサイトからユーザをインポートする場合、あなたは、config.phpに別のサイトのSALTも追加する必要があります。以下のように最大20のSALTを追加することができます。


  $CFG->passwordsaltalt1, $CFG->passwordsaltalt2, ...  $CFG->passwordsaltalt20
  $CFG->passwordsaltalt1, $CFG->passwordsaltalt2, ...  $CFG->passwordsaltalt20
58行目: 56行目:
==パスワードSALTは、どのように動作しますか?==
==パスワードSALTは、どのように動作しますか?==


When a password is checked, the code looks for <code>CFG->passwordsaltmain</code>. If set, it appends the user's password to the salt before calculating the md5 hash.
パスワードのチェック時、Moodleコードは、<code>CFG->passwordsaltmain</code> を探します。設定されている場合、md5ハッシュを計算する前、ユーザのパスワードにSALTが追加されます。


If the unsalted md5 hash of a user's password validates, it is assumed that the salt was set for the first time since the last time the user logged in. The user's password is upgraded, using the salt. '''The password is salted during the first login after the salt was set in config.php.'''
SALTされていないmd5ハッシュのユーザパスワードが確認された場合、最後にユーザがログインした後、SALTが設定されたと見なされます。ユーザパスワードは、SALTを使用してアップグレードされます。'''config.phpにSALTが設定された後、初回ログインにて、ユーザのパスワードがSALTされます。'''


If neither the unsalted md5 hash, or the salted md5 hash validates, the code looks for up to 20 alternate salts.
SALTされていなmd5ハッシュまたはSALTされたmd5ハッシュ値のどちらでもない場合、Moodleコードは、20個の代替SALTを探します。


If you change salts, in order not to orphan existing user accounts, you must enter the old salt into one of the alternate slots.
あなたがSALTを変更する場合、既存のユーザアカウントを迷子にしないため、古いSALTを代替スロットに入力する必要があります。


When a user who has an "old salt" password logs in, the first test of their authentication with the new salt will fail... then the code will test any alternate salts, looking for one that allows the password to be proven valid.
ユーザが「古いSALT」パスワードにてログインする場合、新しいSALTによる認証のテストは失敗します ... そして、Moodleコードは、パスワードが有効であると証明できるよう、別のSALTを探します。


If a user is deemed valid, the system will upgrade the user's hashed password to the latest salt.
ユーザパスワードが有効であると見なされた場合、システムはユーザのパスワードを新しいSALTを使用して、アップグレードします。


[[Category:セキュリティ]]
[[Category:セキュリティ]]


[[en:Password_salting]]
[[en:Password_salting]]

2014年5月1日 (木) 03:29時点における最新版

パスワードSALTとは?

パスワードは、md5 hashと呼ばれる、暗号化された形でMoodle内に保存されます。

パスワードSALTは、md5ハッシュが計算される前、パスワードにランダム文字列を追加して、さらにパスワードを安全にする手法です。パスワードSALTにより、パスワードの推測がさらに難しくなります (ランダム文字列を長くするほど、推測の困難さが増します)。

パスワードSALTを有効にする

パスワードSALTを設定するには、あなたのconfig.phpファイルに次の行を追加してください:

$CFG->passwordsaltmain = 'ここに沢山の半角文字を使って、ランダムな文字列を記述してください';

ランダム文字列は、数字および他の文字を混ぜた形で記述してください。適切な長いランダム文字列を取得するため、Moodle Salt Generatorを使用することができます。ストリング長は、少なくとも40文字を推奨します。

注意: セキュリティ上の理由から、config.phpの修正が、パスワードSALTを有効にできる唯一の方法です - Moodleインターフェースにより編集することはできません。

SALTを変更する

どのような理由であれ、あなたがSALTを変更したい場合、新しいSALTと共に、config.php内に古いSALTを保持する必要があります。

以下のように、古いSALT passwordsaltmainpasswordsaltalt1 に変更します (厳密表現を使用する必要があることに留意してください):

$CFG->passwordsaltalt1 = '古いランダム文字列';
$CFG->passwordsaltmain = '新しいランダム文字列';

あなたが将来的に再度SALTを変更する場合、しばらくの間 (すべてのユーザが少なくとも1回ログインして、新しいSALTを使用するようになるまで)、前のSALTを保持する必要があります。前のSALTを20個を保持するため、あなたは、$CFG->passwordsaltalt2、$CFG->passwordsaltalt3 等を使用することができます。

警告: あなたがSALTを変更して、古いSALTをconfig.phpに保持しない場合、あなたのサイトにログインできないようになります!

SALTを無効にする

注意: 推奨できません! パスワードSALTを一旦有効にした場合、パスワードSALTを有効のままにしてください。

パスワードSALTを無効にするには、あなたは、passwordsaltmainの値を削除、コメントアウトまたは空にすることができます。

// 例: 空の文字列を設定
$CFG->passwordsaltmain = '';


// EXAMPLE: コメントアウト
/*
$CFG->passwordsaltmain = '';
*/

しかし、あなたはこれで完了したわけではありません! あなたは、前述の「SALTを変更する」ように、古いSALTを代替値 (alt value) として、移動する必要があります:

$CFG->passwordsaltalt1 = '古いランダム文字列';
$CFG->passwordsaltmain = '';

別のサイトからユーザをインポートする

パスワードSALTを使用している別のMoodleサイトからユーザをインポートする場合、あなたは、config.phpに別のサイトのSALTも追加する必要があります。以下のように最大20のSALTを追加することができます。

$CFG->passwordsaltalt1, $CFG->passwordsaltalt2, ...  $CFG->passwordsaltalt20

パスワードSALTは、どのように動作しますか?

パスワードのチェック時、Moodleコードは、CFG->passwordsaltmain を探します。設定されている場合、md5ハッシュを計算する前、ユーザのパスワードにSALTが追加されます。

SALTされていないmd5ハッシュのユーザパスワードが確認された場合、最後にユーザがログインした後、SALTが設定されたと見なされます。ユーザパスワードは、SALTを使用してアップグレードされます。config.phpにSALTが設定された後、初回ログインにて、ユーザのパスワードがSALTされます。

SALTされていなmd5ハッシュまたはSALTされたmd5ハッシュ値のどちらでもない場合、Moodleコードは、20個の代替SALTを探します。

あなたがSALTを変更する場合、既存のユーザアカウントを迷子にしないため、古いSALTを代替スロットに入力する必要があります。

ユーザが「古いSALT」パスワードにてログインする場合、新しいSALTによる認証のテストは失敗します ... そして、Moodleコードは、パスワードが有効であると証明できるよう、別のSALTを探します。

ユーザパスワードが有効であると見なされた場合、システムはユーザのパスワードを新しいSALTを使用して、アップグレードします。