模板:User committed identity/doc

维基新闻,自由的新闻源

模板说明[编辑]

{{User committed identity
|hash string <!-- 必填:設定一串亂碼,可以用中英文、數字和英式標點符號 -->
|hash function <!-- 選用:預設為SHA-512 -->
|background= <!-- 選用:背景HTML色彩 -->
|border= <!-- 選用:邊框HTML色彩 -->
|article= <!-- 選用:用其他冠词取代“一份”(暂未使用)-->
}}

范例如下:

{{User committed identity|sdtrt6r1y4741s45e1a5|SHA-512|background=#E0E8FF|border=#E0E8FF|article=an }}

解说[编辑]

本模板提供一种方法,当此模板安置以后,将用来证明操作账户的是您本人。加密金钥放置在您的用户页之后,万一发生账户遭到盗用的情况,将可以用来使其他人相信您是该用户名的真实持有者。

为何需要?[编辑]

本模板的预期作用是用来帮助账号遭窃取的人,但愿这种事情不会发生。

如果你用自己的账号公开了真实身份,而如果账号被盗你的身份就可以用来和你的朋友重新建立联系。需要记住的是,这种情况下你并不能通过自己的帐号和朋友建立联系,因为账号可能被他人控制了。但是,一些维基百科的用户并没有透露自己的真实身份或只透露了一点点,这就很难重新证明自己的身份。

除了拥有一个强力密码或为你的账号注册电子邮箱地址外,并没有什么可替代的方法。你仍应尽自己所能来防止账号被利用,包括使用强力密码及使用公共电脑时记得退出账号。如果你能做到的话,公开自己的PGP公钥也是有一定用处的。但是即使你做得再好,账号仍然有可能被盗,如通过特洛伊木马或对你的密码进行暴力破解。使用这个模板就可以为你留下最后一线希望。

如何利用[编辑]

本模版主要的概念是使用密码杂凑技术;选择一个只有本人知道的密码字串,经由单向的密码杂凑功能编译这个密码字串,并且公开此编译好的密码字串(当然,编译好的会是乱码)。这样做的结果会得到一组乱码,没有一个人会轻易地将乱码解译回自设的密码字串;因此,如果你给了某人一个密码字串,而且此技术将此字串编译成乱码,并且此乱码证明是同一个公开者,这是一个非常强力的证据,来证明给予的那个密码字串的人和原始公开此字串的人是相同的。推测泄漏此账号的攻击者应该不会知道这个密码字串。

选择合适字串[编辑]

  1. 你所使用的字串应该不容易猜测。如果你并没有公开自己的真实身份,那么任何和你真实身份有关的字串都会好的字串。如果你曾经公开过自己是谁,你就需要用更多不容易被猜到的信息。如果你使用的字串容易被猜到,那么别人也可能会知道你的字串是什么。
  2. 你的字串应该和你的身份有一定关系。如果这个字串被人知道,你也可以明白地证明你和这个身份的关系。例如,你的字串可以包括你能拿到的电话号码和邮箱地址。
  3. 不要选择很快就不能证明你身份的字符。例如,当你可能要换电话号码时将现有的号码作为字串就是一个不好的选择。
  4. 如果你想更换字串,那就换吧。但你应该追溯自己作为密码使用过的老字串。如果你想进一步证实自己的身份,最好把它们全部公开。这就可以证明你是从这个身份一公开就使用自己账号的同一个人。
  5. 你的字符不应该太短:至少要有15个字符。一个精心的攻击者会使用暴力破解来尝试所有字符,直到他们猜到你用的字串为止。但如果你的字串足够长,攻击也要花费更长的时间。如果你的字串达到15个字符,同样长度的字串会有1027个,也就是1千秭(这还只计算了只带空格和字母的字串)。

取得杂凑[编辑]

如果你需要在日后使用,确定你输入模板里的是“精确的字串”。字串容易让自己记住,又很难被人猜出很重要。如果攻击者知道这个字串,那么这个功能就是没有用的。用户名是公开的也容易猜到,而密码也不是好的选择,因为在多数账号被盗的事件中,密码多数已经被猜到了。

在类unix的系统中,GNU 核心工具提供了sha1sumsha224sumsha256sumsha384sumsha512sum的程序。由于最近的密码学研究已经对使用SHA-1的长期可靠性提出了质疑,一般推荐使用SHA-512。如果没有指定参数,这个模板默认情况下使用SHA-512进行加密。如果你并没有GNU 核心工具或GnuPG,也可以使用HashCalc来获取hash值。为了安全,最好只用本地的可执行程序或客户端执行的JavaScript来创建hash值。

Windows 下可以用 PowerShell 执行

[bitconverter]::tostring((new-object security.cryptography.sha512managed).computehash([text.encoding]::utf8.getbytes("Secret phrase here"))).replace("-", "")

来得到杂凑字串

使用[编辑]

如果要向别人提交自己的身份并证明自己就是最初开始使用这个账号的人,把最早用来计算的准确密码串交给一个可靠的用户。他们可以用相同的字串计算得到适当的hash值,并证明你就是自己宣称的那个人。

一旦你证明了自己的身份并建立了新的账号或获得原始账号的控制权,你可能要重新创建一个hash值,并将密码串告诉某个人(可能很多人相信他且你曾经告诉过他密码串)。