「インターネットのパスワードのためにより多くの安全性を提供する」というwebユーザーのパスワード修正の問題


Lotus Notesには「Internetパスワードのためにより多くの安全性を提供する」という項目があります.Lotus Notes DominoのInternetパスワードの安全性を改善するオプションです.オプションがYesに設定されている場合、インターネットは動的なHas方式で暗号化します.
  1、配置方法:
  このようにして暗号解読の難しさが増し、その構成方法は以下の通りである.
   Internetのパスワードを入力して「個人」のドキュメントを保存した後、Dominoは自動的にインターネットのパスワード領域を一方的に暗号化します.Domino 4.6またはより高いバージョンのサーバにアクセスするユーザのパスワードのセキュリティを向上させるために、より安全なパスワードフォーマットが使用されてもよい.既存の「個人」ドキュメントのパスワードフォーマットをアップグレードしたり、作成したすべての「個人」ドキュメントに対してより安全なパスワード形式を自動的に適用したりすることができます.既存の個人文書  1. Domino Administratorから「個人とグループ」をクリックし、より安全なパスワード形式にアップグレードする「個人」ドキュメントを選択します.  2. 「操作」「より安全なインターネットパスワードフォーマットにアップグレード」を選択します.  3. はいをクリックします.新しい個人文書  1. Domino Administratorから「設定」をクリックし、「すべてのサーバドキュメント」を選択します.  2. 「操作」「目次の簡単な表を編集」を選択します.  3. 「より安全なインターネットパスワードを使う」ドメインでは「はい」を選択します.  4. ドキュメントを保存して閉じます.注意  ユーザーのInternetパスワードをNotesパスワードと同期させることを選択すると、より安全なパスワードフォーマットが必要です.
    変更され、ユーザードキュメントが保存されたら、手動で通常の暗号化方式に戻すことはできません.ドミオはユーザのドキュメントにセキュリティドメインを追加します.このドメインの値は1です.エージェントで削除しない限り、1です.
2、Webユーザーがパスワードを変更した時の検証問題:
    ユーザーが古いパスワードを入力する時、私達はウェブページのoldPasswordフィールドからユーザーが入力した古いパスワードを取って、ユーザードキュメントに保存されているオリジナルの古いパスワードと照合して、ユーザー本人がパスワードを変更しているかどうかを判断します.
   1)通常の暗号化方式は使えます.
oldPasswd = Evaluate("@Password('" + curdoc.oldPassword(0)) + "')" )
if (oldPasswd(0) = namesdoc.Httppassword(0) ) then 
           // 
 End if
 
   2)Hash暗号化方式を採用していますので、現在のパスワードと同じかどうかを判断することはできません.解決方法は次のコードの緑の後ろ姿において、現在はユーザーが入力した記憶の中の古いパスワードを確認しています.ユーザドキュメントに記憶されているHash暗号化されたシリアルとの依存関係がありますか?パスワードが一致しています.古いパスワードが一致しない場合
   
  If newPasswd = confimPasswd Then
  'Msgbox namesdoc.HTTPPassword(0) +" == ?" + Cstr(s.VerifyPassword(oldPasswd,s.HashPassword(namesdoc.HTTPPassword(0))))
  If  Not s.VerifyPassword(oldpasswd,s.HashPassword(namesdoc.HTTPPassword(0))) Then   
   Print|
   <script language=javascript>
   alert("      !")
   history.go(-1)
   </script>|
   Exit Sub   
  End If
  
  macro$ = "@Hashpassword('"+ newPasswd +"')" '    
  result =  Evaluate(macro$)
  namesdoc.HTTPPassword = result(0) 
  Call namesdoc.Save(True,True)
  
  '              
  Print|
  <script language=javascript>
  alert("        !
15 !") window.location='oa/mainoa.nsf?logout'; </script>| Else Print| <script language=javascript> alert(" , !") history.go(-1) </script>| Exit Sub End If