passwd salt iteration nonce
| | | |________________________________________,
V V V | |
Hi( *, *, * ) = SaltedPassword ---------------------------------)----------, |
| | | |
V | V |
HMAC(key, "Client Key") = ClientKey | HMAC(key, "Server Key") = ServerKey |
| | | | |
| V | | |
| H(*) = StoredKey | | |
| | | | |
| V V V V
| HMAC(key, str) = ClientSignature HMAC(key, str) = ServerSignature
| |
V___________________________V
XOR
|
V
ClientProof
Server:
exchange nonce
recv ClientProof
StoredKey = authDB[username]
ClientSignature = HMAC(StoredKey, nonce)
ClientKey = ClientProof XOR ClientSignature
if H(ClientKey) == StoredKey then
OK // the client knows the correct ClientKey.
else
NG
HMAC(key, str): Apply the HMAC keyed hash algorithm
H(str): Apply the cryptographic hash function
Hi(str, salt, i):
U1 := HMAC(str, salt + INT(1))
U2 := HMAC(str, U1)
...
Ui-1 := HMAC(str, Ui-2)
Ui := HMAC(str, Ui-1)
Hi := U1 XOR U2 XOR ... XOR Ui
カテゴリ別アーカイブ
記事検索
最新記事
月別アーカイブ
アクセスカウンター
タグごと記事リンク
- 540
- AirCross
- android
- awk
- beer
- BitVisor
- blu-ray
- Bluetooth
- bunbougu
- C++
- chifure
- Cloud
- coloria
- cosme
- COVID19
- daiei
- DC-GH6
- dedup
- DMC-GH3
- DMC-GH4
- DMW-FL360L
- DSC-HX200V
- earsopen
- FreeBSD
- gcc
- Gfarm
- GH4
- Git
- GPU
- haskell
- HDD
- HG
- HHKB
- i288
- iijlab
- iijmio
- IPA
- IPv6
- Jail
- jetglide
- Jubatus
- KATA
- ke-non
- kernelvm
- LED
- Lowepro
- m43
- mercurial
- mesos
- Mew
- MNP
- MOZA
- muji
- nail
- NAT
- p2p
- pelikan
- PH-1
- PLAN9
- platinum
- Python
- RX-8
- sandisk
- SCREEN
- siwm
- skk
- sony
- ssh
- stationery
- swex
- swim
- TASCAM
- tmux
- tokyo-olympic-2020
- topvalu
- TV
- ufs
- unix
- VAIO_type_P
- VM
- VoidTokyo
- whisky
- willcom
- WiMAX
- wine
- y!mobile
- ZFS
- zozo
- グラノーラ
- サングリア
- シェーバー
- ジェルネイル
- フルグラ
- ミューズリー
- 一脚
- 化粧品
- 品川区水泳大会
- 土佐文旦
- 常滑焼
- 靴
人気記事(週間)
人気記事(月間)















