Skip to content

docs: 口令抗暴力破解报告 - #12

Merged
Freecode100Year merged 1 commit into
mainfrom
docs/password-bruteforce
Oct 30, 2026
Merged

Freecode100Year merged 1 commit into
mainfrom
docs/password-bruteforce

Conversation

@Freecode100Year

Copy link
Copy Markdown
Owner

概要

在自述文件里加一份口令抗暴力破解报告,说明设了口令的房间文件对离线猜测的抵抗力。属于防御性安全文档,不含任何针对具体房间的攻击工具。

依据

  • 口令包装:PBKDF2-SHA-256、310000 轮,之后 AES-256-GCM 包装 32 字节主密钥。
  • 生成口令:20 位、31 字符表(去除易混淆字符),约 99 位熵。
  • 单次尝试成本:本机 WebCrypto 单核实测约 48 ms/次(约 21 次/秒)。

内容

  • 一张表:按口令类型(随机生成口令 / 8 位随机 / 6 位随机 / 词典词 / 4 位 PIN)和攻击者算力(手机、单张 GPU、千卡集群)估算离线破解时间。随机生成口令约 10¹⁴ 年起,几乎不可破;4 位 PIN 几乎瞬间。
  • 缓解措施:用「随机生成口令」、口令走独立渠道、或放弃口令模式而安全送达文件本身。
  • 安全模型文档补一节 口令抗暴力破解,附参数、去偏说明、估算脚本,并说明读取时强制校验轮数(拒绝被调低 kdf.iterations 的文件)。

只改文档;build:check 通过,README 与安全模型的互链锚点已核对。


Generated by Claude Code

A defensive analysis of the password-wrapping layer: PBKDF2-SHA-256 at
310000 iterations, the ~99-bit generated password, and measured per-attempt
cost (~48 ms/core here). A table estimates offline crack time by password
type across phone, single-GPU and cluster attackers, showing generated
passwords are effectively uncrackable while PINs and dictionary words fall
in seconds to hours. Mitigations and the estimate script included; the
security model gains a matching section.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PCUwNSXQdqfDSugmFo4qmM
@Freecode100Year
Freecode100Year merged commit 0ff9ec2 into main Oct 30, 2026
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants