Epic: Security Hardening — Upgrade Password Hashing #151
Labels
No labels
Blocked
Duplicate
MoSCoW/Could Have
MoSCoW/Must Have
MoSCoW/Should Have
Points/1
Points/13
Points/2
Points/21
Points/3
Points/5
Points/8
Priority/Backlog
Priority/Critical
Priority/High
Priority/Low
Priority/Medium
State/Completed
State/In progress
State/In review
State/Paused
State/Unverified
State/Verified
State/Wont Do
Type/Bug
Type/Epic
Type/Feature
Type/Legendary
Type/Task
Type/Testing
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Blocks
Depends on
#13 Production-Ready Event Sourcing
aethyr/Aethyr
#152 Upgrade password hashing from MD5 to bcrypt
aethyr/Aethyr
Reference: aethyr/Aethyr#151
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Background and Context
Player passwords are currently stored as MD5 hex digests (
Digest::MD5.new.update(password).to_s) in both the GDBMpasswordsstore and the ESPlayerCreated/UpdatePlayerPasswordevents. MD5 is cryptographically broken — rainbow tables and collision attacks make it trivial to reverse hashes. This Epic upgrades password storage to bcrypt with transparent migration of existing MD5 hashes.Demonstrable Outcome
New passwords are stored as bcrypt hashes. Existing MD5 passwords are transparently upgraded to bcrypt on successful login. No player is locked out during the transition.
Acceptance Criteria
Digest::MD5is no longer used for password hashingbcryptgem is in runtime dependencies