給你的網站「加把鎖」 動態口令輕鬆實現

來源:互聯網
上載者:User

仲介交易 SEO診斷 淘寶客 雲主機 技術大廳

隨著網路的全面普及,網路安全問題也日趨嚴峻。 暨著名的技術交流社區CSDN爆出600余萬使用者純文字密碼暴露事件之後,天涯社區4000萬使用者純文字密碼也洩漏于世,緊跟著人人網、開心網、貓撲等,甚至京東商城、當當網、支付寶這樣的電商網站都相繼爆出密碼洩露問題, 幾百萬上千萬的使用者資料赤裸裸的暴露在公開的網路平臺之上,讓我們不由的擔心起網路日益嚴峻的安全問題。

現如今,很多電商及銀行的網站都採用了動態密碼服務,大大的保障了使用者的資訊和資金安全,主要方式有:

1、動態口令卡:類似于刮刮卡形式,通過橫豎兩個指標來確定當前密碼。

常見:銀行口令卡等;

缺點:需要隨身攜帶,且容易被覆制或拍照記下,安全性相對不高,並且有限次使用。

2、硬體權杖:根據專門的演算法(一般為時間演算法)生成一個不可預測的亂數字組合,每個密碼只能使用一次,或類似于U盾一類的需插入硬體進行資料比對。

常見:U盾、QQ權杖等;

缺點:需要隨身攜帶,使用較為繁瑣,並且要花費不少硬體成本;

3、手機口令:一種是通過軟體來實現動態口令的生成,另一種較為簡單,通過短信獲取驗證碼來確認身份;

常見:QQ手機權杖,支付寶付款手機驗證碼等;

缺點:需要和手機綁定,如遇更換手機號則較為麻煩,有時還會遇到延時或無法接收,網站需部署短信平臺,大量短信需要不少成本;

以上各種方式各有其優點,但都有一個很大的問題,就是不適合中小網站部署,都需要耗費大量的時間成本和資金成本,且給使用者增加了很多負擔;那麼有沒有一種更為方便快捷並且無需成本的安全口令解決方案呢?

筆者通過多年的網路建設經驗,總結併發明瞭一種簡單並行之有效的動態口令實施方案,且適用各類語言編寫的網站,中小網站均可快速部署。

中小網站使用者登錄常用的方式為:「使用者名+密碼」 或 「使用者名+密碼+驗證碼」;即便採用了MD5加密,也無法保證客戶密碼不會洩露,因為密碼的輸入過程有可能被旁邊的人看到,或者電腦後臺的木馬記錄,如果要解決這個問題, 那只有一個辦法,讓看到的人或監聽密碼的木馬上當,也就是說,他們看到或者記錄到的密碼並不是真正的密碼,因為密碼隨時都在變化!

具體解決方法:原有的「使用者名+密碼」的選項可以繼續保留(驗證碼完全可以取消),增加一欄動態密碼框,驗證需要三項結果匹配才能登陸。

下面就來重點解釋一下如何設計動態密碼框:筆者採用的方式是利用「時間演算法」來生成動態口令,因為時間是每分每秒都在變化的,用時間來做演算法,可以確保動態口令的時效性,即:上一秒的密碼在下一秒就失效了。 舉例,現在時間是「14:28分54秒」,則動態密碼可以設定為「142854」,後臺獲取目前時間設為「A」,輸入框的值為「B」,當輸入「142854」時,則「B=A」 驗證通過!為了避免輸入的時間差, 可以在前臺把時間直接賦值給「A」,然後在後臺進行比對。

  

當然,在實際運用中,我們不可能直接把時間作為動態口令,這樣不但太過簡單,而且無法多人共用這個體系,因此,我們要在「時間」的基礎上來做文章,即設定每個人特定的演算法。 還是以上面的時間「14:28分54秒」為例,我們現在進行拆分,並加強演算法,為了便於記憶,我將時間分為三個部分「14、28、54」,並以數位「365」作為附加口令,算式如下:「14+3、28+6、54+5」, 即最終動態密碼實際為「173459」。 如果希望更加的安全,我們設置可以在此基礎上不斷的變化,比如引入「+-*÷」,附加口令也可以是任意自己易記的數位,如生日、身份證號等,「時間+附加碼」通過特定演算法隨意組合。

  

OK,大功告成!這樣的密碼除了設定者本人以外,任誰也想不到是如何得來的,而且每秒都在變化,最關鍵的是,對於程式師來說,只需短短10分鐘便可部署完畢!

如果您對本文還有疑問或者部署中遇到問題,可以與作者聯繫(QQ:622569)。

文:曹建祥

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.