模板: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值,並將密碼串告訴某個人(可能很多人相信他且你曾經告訴過他密碼串)。