1. 程式人生 > >我們真的需要複雜的密碼嗎?

我們真的需要複雜的密碼嗎?

  • 目錄
    {:toc}

現狀

想寫這篇文章很久了,不過作為一個安全行業的從業者,總覺得說出來有些汗顏,我們這個行業的安全人員總是引導甚至強制灌輸人們設定複雜密碼的做法,讓我一直覺得寫這篇文章是在對我們的自我否定、自我打臉,所以也就一直沒有寫。

直到我的想法發生了變化,我決定還是要說點什麼,一味地隱藏自己和自己的想法並不是一件明智的事情,雖然行業告訴我要學會保護和隱藏自己,但我覺得完全沒有必要。而且我身邊的人正面臨著這種痛苦,他們同我一樣苦惱,我想是時候傳播一些想法了。

前陣子,老婆發來資訊,抱怨現在很多網站的密碼都強制要求必須設定得很複雜,原來她正在註冊一教育平臺,而平臺對她設定密碼的要求如下:

密碼必須由資料、小寫字母、大寫字母、特殊符號組成!

圖片也有,但是我就不上傳了,markdown寫作還是儘量使用文字方便一點。

這種事情想必大家都遇到過,註冊的網站一旦多起來,這種複雜的密碼如何記憶?而這種變態的要求正是我安全行業的人士提出,並不斷給世人灌輸和強制推廣開來的,以前覺得倒是挺有道理,但是現在看來並不完全是,甚至是弊大於利。

比如“Wohao5huA!”、“[email protected]”、“Uj3k?u90”……,這種密碼你怎麼記憶?

安全人員一定會告訴你,不同的網站賬號密碼不要雷同,而且要設定的足夠複雜,例如按上面的密碼規則一樣,但是我們真的能記住這些複雜的密碼嗎?對我而言,記住一個複雜密碼就已經夠頭疼的了,還要那麼多的賬號密碼都不相同,打死我也記不住。最後再補一刀,密碼還要定期更換,每次更換的時候要跟上次密碼不能雷同,簡直吐血啊。那麼接下來會導致什麼現象出現呢?
- 乾脆所有賬號的密碼都一樣
- 把密碼寫下來,貼在電腦上、桌子上、牆上……
- 把密碼存放在文字檔案裡
- 使用三方密碼管理軟體
- 不斷的忘記密碼,不斷的找回密碼,不斷的設定密碼,不斷的忘記密碼……

有人因為頭疼繁瑣密碼的記憶,居然把WiFi密碼設定得和支付寶密碼一樣,真是讓人捏把汗。

本人的切身體會,恆生銀行,因為總是讓我設定過於複雜的密碼,導致的問題是自從辦過卡後我就再也沒有使用過,直到最後打算把剩餘的錢取完沒辦法才去重置密碼,而重置密碼又必須攜帶身份證到比較遠的地方辦理,重置的密碼又必須是一個複雜的密碼,這樣最後我就乾脆不再使用這張銀行卡了,真是頭疼。

那麼推而廣之,如果你是在運營一個網際網路的產品,如果密碼設定的很複雜,使用者勢必會因為每次登入忘記密碼而減少使用頻次,甚至是拒絕使用,就像上面的恆生銀行一樣。
安全和便利是一對矛盾。當然幸運的是現在有了手機驗證(其實以前也有,但是估計是資費問題使用的很少,不如現在常見),省去了用密碼登入的麻煩。但是目前仍然有很多產品仍然需要使用密碼登入,這一環節自始至終都會有。

這一點上微信做的就比較好,首先微信減少了使用者登入的次數,它對裝置進行關聯繫結,讓使用者不用每次都登入密碼(那些同樣是做社交類APP的公司值得學習的);其次,即使要設定密碼,你會發現它也沒有強制你設定複雜的密碼,因為它在服務端設定了對裝置的關聯繫結,即使他人猜到了你的密碼在試探登入時,服務端因為檢測到裝置環境發生變化會要求進行二次驗證,這在很大程度上保證了安全。總之,微信的安全措施由微信團隊來做了,而不是把複雜的事情讓使用者去承擔,就在這一點的認知上就值得學習。

記不清是哪本書裡有提過這麼一段,作者在過安檢的時候遇到點麻煩,需要工作人員登入出入境的內部系統查詢資訊,但是該系統要求密碼必須為複雜密碼,但是工作人員根本記不住,就索性寫下來貼在了桌子上,而作者在等待的過程中就很容易地窺探到了密碼。

而使用密碼管理軟體,一是這些管理軟體的可信度和安全性值得懷疑,二是這些管理軟體一旦有突破的可能,則可能導致使用者的賬號密碼被一窩端。

原因

為什麼一定要輸入複雜密碼?產生這種現象的原因是什麼?一些人肯定會用這句話來解釋:存在即合理!
我想說的是存在的不一定合理,可以從以下幾個層面去解釋:
- 安全事故
- 安全行業人員的誤導
- 錯誤的政策要求
- 賬號密碼系統的負責團隊的擔責

首先說說安全事故,記得CSDN出現過一例被拖庫的事件,640萬密碼洩露:

網傳知名程式設計師社群CSDN遭遇黑客攻擊,共涉及640多萬個賬戶資訊洩漏的訊息,得到CSDN官方確認。接著天涯社群4000萬用戶資料洩密,令人震驚。
繼CSDN被攻擊後,今天又有訊息傳出稱,多玩遊戲也有800萬用戶資料被洩露,甚至傳言稱,包括人人網、開心網、天涯社群、世紀佳緣、百合網等大批社交網站會成為下一批目標。

我想說的是,這種密碼洩露是這些產品團隊的安全維護做得不到位,而且密碼居然在服務端明文儲存!即使使用者的密碼再複雜,也經不起這樣折騰,也是一樣會被洩露的呀。黑客拿到這些明文的密碼之後,就會去其他的網站平臺去撞庫。

撞庫是黑客通過收集網際網路已洩露的使用者和密碼資訊,生成對應的字典表,嘗試批量登陸其他網站後,得到一系列可以登入的使用者。

如果你其他重要平臺的密碼跟出現安全事故平臺的密碼雷同,就存在風險了,首先要做的就是趕緊去更改與之雷同或相似的密碼。鑑於此,對於非重要平臺賬號和重要平臺賬號,平時應予以區分開來,設定不同的賬號和密碼規則,舉個例子:
你僅僅是想下載一個資料,但是這個網站以後可能不會再登入,甚至很少再登入了,那麼我強烈你使用垃圾密碼,這裡說的垃圾密碼是區別於重要賬號密碼的。
你家的WiFi密碼也不至於設定和銀行卡支付寶密碼一樣吧?
減少重要密碼在網路其他平臺上的曝光次數,也就是說你的財務密碼沒必要拿去設定為一般性網站的密碼。

再說說安全行業人員的誤導,設定複雜密碼的建議是誰提出的呢?

2003年,Bill Burr為美國政府工作的時候提出了密碼安全領域的這一“聖經”:使用大寫字母、數字和非字母符號,原因是複雜的密碼難以被猜到,同時他建議經常更換密碼。

如果是對於一流級安全從業者也許適用,然而這項建議卻被一層層傳達開來,逐漸被普通平臺也視為鐵律,有點過頭了。

但是現在,Burr終於承認,他的建議是錯的!他表示,這些辦法其實不能提高密碼的安全性,反而會更容易受到攻擊,因為使用者設定了複雜密碼後,可能會重複使用,或者為了避免忘掉,往往會寫下來甚至貼在電腦旁邊。

再說說錯誤的政策要求。有些企業和單位也知道沒必要設定這複雜的密碼,但是政府一旦摻和進來監管,就一棍子打死了,沒有給你可選擇的機會。我聽到過另一個說法,就拖庫事件而言,酒店行業也常有發生,據說把很多官員的開房記錄都給洩露了,我不知道政府的出發點上有沒有一點這個緣故,總之聽聽就好。即使有,當然也不會是主要因素,但是強制監管無非是多了一個尋租的手段而已,各行各業都要監管的,這是國內慣例。

最後說說賬號密碼系統的負責團隊的擔責,假設你是一家網際網路公司裡使用者賬號密碼體系的負責人,你會怎麼要求你的使用者設定密碼?如果你不加以限制,你的老闆會不會覺得你沒有盡到責任?你的同行會不會覺得你很水?

想象以下,一家網際網路平臺的密碼可以設定的很簡單,那麼如果這家公司運營的好體現出了價值,就一定會出現使用者密碼被盜的情況,這種安全事故勢必會成為該公司前進成長的絆腳石,一定會加強,結果就是複雜密碼的出現。

既然行業裡大家都這麼做,你也只好這麼做,於是乎,大環境就形成了。

建議

分析了以上幾個原因後,我失望地發現設定複雜密碼已經是現實,必須遵從的現實,但是我們仍然可以通過以下幾個方面來降低我們記憶複雜賬號密碼的負擔,提高我們賬號的安全性。

1、分級

區別對待重要賬號密碼與普通賬號密碼,可以分個三類:
- 重要賬號密碼
- 一般性賬號密碼
- 垃圾賬號密碼

對於家裡的WiFi管理,我完全贊同你把賬號密碼寫下來,也完全可以貼在牆上或者桌子上。畢竟家裡不是公共場所,來家裡的無非是親戚朋友熟人,或者偶爾有維修師傅快遞人員等,他們對你家的WiFi賬號並不感興趣,最多是問一下WiFi密碼,當然大家也都會相告,所以刻意隱藏WiFi密碼也沒意義。但是一定要跟其他賬號密碼不存在關聯,否則密碼洩露就是洩露一連串,因為你的手機號這些人是很清楚的,有好奇或者心懷惡意的人用你的手機號和WiFi密碼來去試探你其他的賬號密碼就容易造成安全事故。

你那些登入頻次很低,甚至是垃圾網站平臺的密碼,就沒必要設定得和銀行卡支付寶密碼一樣了吧?!

垃圾平臺的賬號密碼,登入頻次非常低,一年登入不了一次,索性不要去記憶,用的時候找回即可,但是你要記住找回的路徑,用什麼方式可以找回。這個跟知識的檢索一個道理,你不用記住完整的一套東西,但是隻要你想用的時候能知道怎麼找到這套東西即可。

2、斷聯

如果你仍然嫌多,那就索性分為兩類:
- 重要性的賬號密碼
- 不重要的賬號密碼

重要的賬號系統跟不重要的賬號系統就要走不同的,例如我會專門申請一個郵箱用來接收垃圾平臺的郵件和找回密碼,我這個郵箱我稱為垃圾郵箱。而重要平臺和銀行類的找回密碼郵箱我用的是另一個郵箱,稱之為重要郵箱。
垃圾郵箱隨便用,即使在網上隨便發出去都沒關係,即使被盜我也漠不關心,因為它不關聯我的其他賬號體系。而重要的郵箱我會減少曝光,所以至今這個郵箱都很少受到垃圾和廣告郵件。當那些垃圾平臺或網站因為運營不善導致的安全事故也不會波及到我啦。

3、手機驗證

可增加用手機驗證登入的頻次,減少對密碼的設定和使用

4、聯想密碼

如果你的重要平臺的賬號密碼仍然很多,可以根據使用該平臺的相關功能進行關聯記憶。

5、不上不正規網站不用不正規應用

現在是移動網際網路時代,我說一個Android手機上的安全事情,我遇到過的:在下載了惡意軟體(事先是不知道是不是惡意軟體的)後,該應用有讀取密碼的許可權,由於在安裝的時候一堆許可權夾雜在一起很難逐個去判別,結果在執行該軟體後它自動去進行手機驗證碼的認證,因為手機發來的驗證簡訊它會自動去讀取,並會根據驗證簡訊裡的關鍵字匹配到自己需要的那條驗證碼,然後悄悄地做一些事情。我當時是被惡意開通了移動的增值服務費,雖然事後打移動客服電話投訴撤銷了資費,但是你就不懷疑一下:這些增值服務商,移動在合作的時候不知道它們是惡意的?無非是一個明火執仗,一個事後分贓罷了。

6、安全事故應急措施

例如最近的“華住旗下酒店1.3億使用者資料洩露”事件,出現這類事件後應立即更改與該平臺相關的郵件密碼,嚴重的可更換手機號等。現在是資料分析時代,黑客把這些資料賣給黑產,通過資料分析來有效地進行人物畫像,進而可大大提高詐騙的成功率。

8月28日,暗網中文論壇上出現一則出售華住酒店資料的帖子,涉及1.3億人身份及開房資訊的資料被標價為8比特幣或520門羅幣(約等於37萬人民幣)出售。對此,華住酒店集團向新京報記者表示,華住已經報警,目前,兜售的資訊是否來源於華住正在內部核實,事件正在調查,調查結果會進一步公佈。

發帖人釋出的內容顯示,被出售的資料包含漢庭、美爵、禧玥、漫心、諾富特、美居、CitiGo、桔子、全季、星程、宜必思、怡萊、海友等酒店。被售賣的資料共為三部分,分別為華住官網註冊資料資訊,共53G,約1.23億條記錄;酒店入住登記身份資訊資料,共22.3G,約1.3億人身份證資訊;酒店開房記錄資訊資料,共66.2G,約2.4億條記錄。

而這次事件疑似華住公司程式設計師以資料庫連線方式於20天前上傳至github(一個面向開源及私有軟體專案的託管平臺)導致洩露。

早在2013年,漢庭等酒店就出現過資料洩露,當時是因為酒店所使用的Wi-Fi管理和認證管理系統存在漏洞,資料傳輸過程並未加密,導致資料洩漏。此次資料被拖庫的原因尚不清楚,華住官方暫無迴應。

有趣的是,以上幾個安全事故均不是因為使用者的密碼設定不當導致,即使是使用者密碼設定的很複雜一樣會被牽連,這些事故的造成均是公司的安全運維做的不夠到位。而對於使用者來說,出現安全事故後第一時間修改其他賬號密碼,洩露的郵箱可以廢棄,與該郵箱關聯的賬號可以解綁並重新繫結一個新的郵箱了,也即實現斷聯。

相關推薦

我們真的需要複雜密碼

目錄 {:toc} 現狀 想寫這篇文章很久了,不過作為一個安全行業的從業者,總覺得說出來有些汗顏,我們這個行業的安全人員總是引導甚至強制灌輸人們設定複雜密碼的做法,讓我一直覺得寫這篇文章是在對我們的自我否定、自我打臉,所以也就一直沒有寫。 直到我

我們真的需要前端框架??

停止寫JavaScript框架 JavaScript框架看起來像死亡和稅收一樣不可避免。我敢肯定每次有人開始一個新的web專案時,他們問的第一個問題的肯定是: 我們用的是什麼JS框架?這真讓我著急上牆。 這就是JS框架在當今業界根深蒂固的現像。實際上,框架並不是非有不可,

【原創】我們需要學jQuery?

引言 最近擼Vue的專案,感覺的有點心累。恰巧近日,有讀者來信,就是想諮詢一下 煙哥,現在還有必要學習jQuery麼? 我明白,現在MVVM框架逐漸佔據了主要市場,很多老專案也逐漸的從jQuery轉向了MVVM架構! 例如,知名網站github在2018-09-06發了一篇文章叫《Removing jQu

為什麼我們需要複雜密碼

    前兩天我開啟郵箱一看,收到公司1331一封要求修改郵箱密碼的郵件。為什麼我們需要一個複雜的密碼呢?雖然我一直以來設定的密碼都很複雜,但是公司這次要求修改密碼的郵件激發起我的好奇心,我想試試究竟什麼樣的密碼才算安全?    

現實中的大城市道路 需要無人駕駛汽車

無人駕駛汽車相信許多80後都看過一部美國譯制片《霹靂遊俠》,筆者早已忘卻了主人公的名字,但對於那輛有生命的汽車,我卻一直記憶猶新,它的名字叫基恩,外殼堅硬,如銅墻鐵壁,抗得住子彈,甚至能把子彈反彈回去;程序設定基恩會分析路況環境,恰到好處、善解人意地同主人聊天,比之Siri懂事1000倍,自然,基恩肯定能自我

在你決定之前,想想你需要APP?你真的需要網站

我冒著被同行唾棄,被業者鄙視的風險來​​寫這篇文章。如果哪天你們看到我沒有在更新網誌了,就代表我已被排擠到混不到飯吃活活餓死了。既然如此為何要還說呢,你以為我不說,別人就不知道馬桶裡面的是大便嗎?(本人稱為這個是馬桶理論) 崛起 在.com時代,泡沫後大家恢復了理智

java多線程讀一個變量需要加鎖

多線程 final關鍵字 一個 ati 關鍵字 java多線程 其他 同時 關聯 如果只是讀操作,沒有寫操作,則可以不用加鎖,此種情形下,建議變量加上final關鍵字; 如果有寫操作,但是變量的寫操作跟當前的值無關聯,且與其他的變量也無關聯,則可考慮變量加上volat

postgresql recovery.conf改變需要重啟

ask end recovery log ova pro before pre 需要 之前在研究pgpoll時,發現trigger_file參數指定的文件存在後,會自動將standby節點提升為可寫節點。不需要手動執行pg_ctl promote,但是這個時間一般有延遲,因

你忘記過VM密碼

常見 ... ima system 忘記 主機 exe 系統 處理 翻出N年前的VM主機,但是忘記密碼時如何處理?總不能扔吧....常見的方法有哪些?1.重裝一個VM(但是裏面數據就沒了)2.做一個PE進去重置密碼(如何身邊沒有PE怎麽樣)3.用我們的辦法...還記得shi

Guitar Pro我們需要的一款軟件, 怡情悅性的首選...

Guitar Pro Guitar Pro活動 11月11日這個令人興奮的日子又來了。沒錯,“雙十一”所有網購達人狂歡的日子。同時期待已久的Guitar Pro 也將在“雙十一”當天,把福利分享與你我。11月11日Guitar Pro 將在麥軟商城進行“雙十一勁爆促銷”活動。活動產品一定有一款是

CC++編譯器的未來.我們需要C++麽?

gin 編譯 需要 shu cdt cst tar href shuf 諗檬仗詿棠傲瓷灼瘴腔行嗜匣http://t.docin.com/hwvkm7301 俠啃聳藤獻松儺沸臉筆乖暇氖寥http://huiyi.docin.com/krvt5800 度路訝概訟斜蔥麽傲厝林

為什麽mysql設置了密碼之後,本地還可以直接訪問,不需要輸入密碼就可以登錄數據庫了?

leg 訪問 cheng 重載 賬號登陸 為什麽 除了 msyql 用戶 轉自 http://blog.csdn.net/buyaoxx/article/details/77619619 今天開發中在Centos7中安裝MySQL5.6版本後,在表中新建了一個weich

原來我們需要被肯定

理由 http 有一種 pos 哪裏 會有 post gpo class 既然躲不開,為何還抓不回來。 其實,生活看似簡單,那只是我們把生活簡單化了,但是很多事情並非我們所想的那麽簡單,只是我們太需要被肯定,這就好像萬物一樣,世間萬物存在的理由,萬物都有萬物存在的理由

Oracle外鍵需要建索引

一鍵 tro 導致 ron 必須 影響 進行 問題 body 關於Oracle中的外鍵,首先要說明一下。 1. 除非已定義了父表主鍵或唯一鍵約束,否則oracle將不允許創建子表的外鍵約束。 2. 在定義外鍵約束時,oracle不會自動創建索引,所以必須手動在與外鍵約束

批量添加用戶,並且第一次登陸需要輸入密碼

Linuxif [ ! -f account.txt ]; then echo "The file do not exist!" exit 1 fi username=$(cat account.txt) for username in $username do useradd $

系統集成項目經理和高級項目經理資格通過培訓可以獲得,你還需要軟考

項目管理 原系統集成項目經理和高級項目經理的資格獲得的渠道為必須取得工信部的軟考資格後,才可以由用人單位向工信部資質管理部門申請。 現在改由電子聯合會負責資質相關工作了,直接向電子聯合會註冊申請項目經理了,目前直接培訓就可以拿項目經理證了,前幾個年苦哈哈考了軟考的小夥伴們情何以堪。 其實

滴滴需要重塑戰略?

重塑戰略 轉型戰略; ——滴滴需要轉型戰略嗎? 背景資料:2015年之前,滴滴、快的持續燒錢,在2015年2月滴滴、快的宣布合並。2016年,滴滴出行宣布收購優步中國的品牌、業務、數據等全部資產在中國內地運營。向這種快速並購案,說明滴滴要做龍頭老大。通過快速發展壯大的運營中,滴滴也暴露出許多問題。

學習大數據需要Java基礎

大數據開發 大數據學習 大數據工程師 大數據編程 大數據 近幾年,很多人都聽到過一個名詞“大數據”也有一部分人選擇學習了解大數據,那麽大數據到底是什麽,學習大數據需要有Java基礎嗎? 推薦一個大數據學習交流群 119599574每天晚上20:10都有一節【免費的】大數據直播課程,專註大數

【張其中】中本聰,我們究竟需要怎樣的加密貨幣?

地方 隱藏 什麽是 資產 bsp 禁止 實現 gin 無法 作者介紹:張其中,中科院碩士,連續創業者,樂家app創始人,花貓快問聯合創始人,鏈寶科技聯合創始人,關註EOS公鏈生態發展,致力於基於EOS的DAPP應用實踐與產品研究。這篇文章早該寫了,沒寫的原因,一來是有點懶,

jupyter notebook啟動需要輸入密碼的問題

width style ont src 分享圖片 http token 描述 span 問題描述: 安裝完jupyter notebook之後,啟動時需要輸入密碼,如下圖所示: 解決方法: 1、啟動jupyter notebook 2、在另一個的終端中輸入 ju