模板:User committed identity/doc
此頁面是Template:User committed identity的模板文件。 此頁面可能包含了模板的使用說明、分類和其他內容。 |
模板參數
編輯沒有描述。
參數 | 描述 | 類型 | 狀態 | |
---|---|---|---|---|
雜湊數值 | 1 | 沒有描述 | 不明 | 必填 |
雜湊函式 | 2 | 沒有描述
| 不明 | 建議 |
背景顏色 | background | 沒有描述
| 不明 | 非必填 |
border | border | 沒有描述 | 不明 | 非必填 |
邊框闊度 | border-width | 沒有描述
| 不明 | 非必填 |
extra-style | extra-style | 沒有描述 | 不明 | 非必填 |
冠詞 | article | 沒有描述
| 不明 | 非必填 |
模板說明
編輯{{User committed identity
|散列值
<!-- 必填:設定一串亂碼,可以用中英文、數字和英式標點符號等字符 -->
|散列函数 <!-- 選用:預設為SHA-512 -->
|background= <!-- 選用:背景HTML色彩 -->
|border= <!-- 選用:邊框HTML色彩 -->
|article= <!-- 選用:用其他冠词取代“一份”-->
|border-width= <!-- 選用:框闊度:預設為1-->
}}
範例如下:
{{User committed identity|cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e|SHA-512|background=#E0E8FF|border=#aaa|article=一个|border-width=5}}
解說
編輯本模板提供一種方法,當此模板安置以後,將用來證明操作帳戶的是您本人。加密金鑰放置在您的使用者頁面之後,萬一發生帳戶遭到盜用的情況,將可以用來使其他人相信您是該使用者名稱的真實持有者。
為何需要?
編輯本模板的預期作用是用來幫助帳號遭竊取的人,但願這種事情不會發生。
如果你用自己的帳號公開了真實身分,而如果帳號被盜你的身分就可以用來和你的朋友重新建立聯絡。需要記住的是,這種情況下你並不能通過自己的帳號和朋友建立聯絡,因為帳號可能被他人控制了。但是,一些維基百科的使用者並沒有透露自己的真實身分或只透露了一點點,這就很難重新證明自己的身分。
除了擁有一個強力密碼或為你的帳號註冊電子信箱位址外,並沒有什麼可替代的方法。你仍應儘自己所能來防止帳號被利用,包括使用強力密碼及使用公共電腦時記得登出帳號。如果你能做到的話,公開自己的PGP公鑰也是有一定用處的。但是即使你做得再好,帳號仍然有可能被盜,如通過特洛伊木馬或對你的密碼進行暴力破解。使用這個模板就可以為你留下最後一線希望。
如何利用
編輯本模版主要的概念是使用密碼雜湊技術。您需要先選擇一個只有本人知道的密碼字串,再經由單向的密碼雜湊功能編譯這個密碼字串以得到一組亂碼,最後使用此模板公開此編譯好的密碼字串。由於密碼雜湊技術保證沒有一個人會輕易地將亂碼解譯回自設的密碼字串,因此,未來當遇到帳號被洩漏等不幸事件時,如果您可以提供原先的密碼字串,且此密碼字串經過相同密碼雜湊演算法處理後與您之前提供的雜湊值相等,您即可十分有力的證明您是此雜湊字串的提供者。
選擇合適字串
編輯- 你所使用的字串應該不容易猜測。如果你並沒有公開自己的真實身分,那麼任何和你真實身分有關的字串都會是好的字串。如果你曾經公開過自己是誰,你就需要用更多不容易被猜到的資訊。如果你使用的字串容易被猜到,那麼別人也可能會知道你的字串是什麼。
- 你的字串應該和你的身分有一定關係。如果這個字串被人知道,你也可以明白地證明你和這個身分的關係。例如,你的字串可以包括你能拿到的電話號碼和電子信箱位址。
- 不要選擇很快就不能證明你身分的字元。例如,當你可能要換電話號碼時將現有的號碼作為字串就是一個不好的選擇。
- 如果你想更換字串,那就換吧。但你應該追溯自己作為密碼使用過的老字串。如果你想進一步證實自己的身分,最好把它們全部公開。這就可以證明你是從這個身分一公開就使用自己帳號的同一個人。
- 你的字元不應該太短:至少要有15個字元。一個精心的攻擊者會使用暴力破解來嘗試所有字元,直到他們猜到你用的字串為止。但如果你的字串足夠長,攻擊也要花費更長的時間。如果你的字串達到15個字元,同樣長度的字串會有1027個,也就是1千秭(這還只計算了只帶空格和字母的字串)。
- 對於類 UNIX 系統使用者,使用 /dev/urandom 之類的隨機檔案 dd 截取一部分
dd if=/dev/urandom of=目标文件 bs=4096 count=1
並且儲存妥當也是不錯的選擇。考慮到內容的雜亂性,這樣的字串最好 base64 後傳送給驗證者讓驗證者解密再驗證或者乾脆直接以檔案形式傳送。dd
在經過root的Android中安裝的Busybox里一般也可以找到,將命令中dd
替換為busybox dd
即可使用。 - 如果你有一套 PGP 系統,例如 GnuPG,您也可以使用公鑰指紋,並將公鑰放在使用者頁面的子頁面處,按照#使用PGP的方法進行驗證。
取得雜湊
編輯如果你需要在日後使用,確定你輸入模板里的是「精確的字串」。字串容易讓自己記住,又很難被人猜出很重要。如果攻擊者知道這個字串,那麼這個功能就是沒有用的。使用者名稱是公開的也容易猜到,而密碼也不是好的選擇,因為在多數帳號被盜的事件中,密碼多數已經被猜到了。
- OS X/Linux/Android:在類unix的系統中,GNU核心工具組和常常用於微型系統以及Android的Busybox都提供了
sha224sum
、sha256sum
、sha384sum
和sha512sum
的程式(sha1sum
、md5sum
甚至更差的雜湊極度不建議使用,Busybox 的用法為busybox 内置命令名 命令参数
)。這套工具的使用較為簡單,可以直接輸入命令,鍵入字元(標準輸入),最後換行後 Ctrl-D 結束輸入(EOF)。由於最近的密碼學研究已經對使用SHA-1的長期可靠性提出了質疑,一般推薦使用SHA-256(224) 或 SHA-512(384);使用幾個雜湊值對同一份資訊進行驗證也可能是不錯的解決方案。如果沒有指定參數,這個模板預設情況下使用SHA-512進行加密。如果你並沒有 GNU 核心工具或 GnuPG,也可以使用openssl sha512 (流/文件名)
一類的參數以便用 OpenSSL 的命令列工具或直接用HashCalc來取得hash值。為了安全,最好只用原生的可執行程式或客戶端執行的JavaScript來建立hash值。
- Windows 下可以用 PowerShell 執行如下代碼取得雜湊欄位:
[bitconverter]::tostring((new-object security.cryptography.sha512managed).computehash([text.encoding]::utf8.getbytes("用户信息确认串"))).replace("-", "")
- 線上方式:通過這個網站可以線上取得雜湊。輸入字串後點擊
Convert file
後便可生成幾組雜湊字串,其中第一組字串即標註著hex:
的字串便是你所需要的 SHA-512 雜湊。
使用
編輯如果要向別人提交自己的身分並證明自己就是最初開始使用這個帳號的人,把最早用來計算的準確密碼串交給一個可靠的使用者。他們可以用相同的字串計算得到適當的hash值,並證明你就是自己宣稱的那個人。
一旦你證明了自己的身分並建立了新的帳號或獲得原始帳號的控制權,你可能要重新建立一個hash值,並將密碼串告訴某個人(可能很多人相信他且你曾經告訴過他密碼串)。
使用PGP
編輯對於一個 PGP 金鑰,需要證明您能夠使用所提供公鑰對應的私鑰,且需要一定時效性保證。PGP 程式的使用方法請參考GPG。
聲明所有權
編輯PGP 可以對一個訊息進行有時間戳的簽章,因此可以有效證明身分。
對於類UNIX系統使用者,可以使用以下命令生成簽章(將 ${USERNAME}
換成使用者名稱,${DATE}
換為出現異常行為的日期:)
echo "此处我(依照 PGP uid 所示的用户)在此声明账号${USERNAME}为我所有,且于${DATE}开始被盗用。" | gpg --clearsign
PGP 的簽章中會帶有時間戳,因此並不一定需要指定時間($(date)
)。
如果您使用Windows,可以建立一個類似內容的文字檔案,或者通過Cygwin等環境處理。
接下來可以將生成的資訊通過電子郵件傳送。
驗證訊息
編輯如果您之前並沒有交換過公鑰,可使用 gpg --import
或類似命令匯入,但請務必檢查這個公鑰與被盜用日之前所提供的公鑰指紋匹配。
接下來您可以使用 gpg --verify
或類似功能進行校驗。請務必確認簽章時間正常。除此之外,您也可以每次都額外要求聲明者簽章您所指定的隨機字串給您,來保證安全性。