<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    DiffieHellman協議實踐

    開發過程中遇到了一些數據傳輸安全性問題,一個很重要實際需求,客戶端加密的數據在服務端要解密回來還要進行一些處理。

    腦中立馬跳出幾種解決方法:

    1、直接使用MD5進行加密好了,可是MD5是不可逆的算法,而某些數據到達服務器端需要解密出來進行一些處理。看來不滿足實際需求。

    2、那可以嘗試下DES,3DES或者AES等一些對稱算法加密處理,想想挺好的,對稱算法的效率也挺快。可是密鑰該怎么從服務端安全的傳遞到客戶端呢,這個問題不解決,加密還是如同虛設。

    3、最后一種方案那就是使用RSA非對稱算法,這個算法的好處就是服務器端自己維護私鑰,把公鑰開放給客戶端,有人在網絡上監聽到公鑰和加密后的數 據也沒關系,因為加密的數據需要私鑰才能解的開。也許大家都熟悉https協議,其實這種協議就是用RSA非對稱算法來實現,但是大家肯定也有感受,用 https的時候網頁打開的速度會比http要慢很多。我也考慮到這點,于是做了一個基準測試,在服務端寫了個測試類,結果讓我大吃一驚,2g的cpu循 環100次用私鑰去解密竟然花了我50000多毫秒,那我循環10000次呢,靠,竟然花了幾分鐘。那如果采用這種方案去實現的話,應用程序的性能會被這 些解密動作所拉下。沒辦法哦,又只能放棄此類方案。

    4、山重水復疑無路,柳暗花明又一村。突然腦中又蹦出另外一種想法,還是使用對稱算法,關于密鑰的傳遞可以采用DiffieHellman協議。 于是乎,上網查了一些資料,發現java類似的算法還是可以查的到,但是單有java也不行,我要在客戶端加密,java端進行解密,所以還需要有 JavaScript的類似算法。最后在enano-1.1.7這個php開源的電子商務網站內找到了相關信息。無意間發現這個開源程序的一篇wiki, 詳細介紹了一套安全解決方案(http://enanocms.org/News:Article/2008/02/20/Diffie_Hellman_key_exchange_implemented)。

    以上只是我的思路,但還沒有寫個應用程序測試過。那么光有理論沒有實踐也不行,那就建個工程實現一下唄。嘿嘿。

    case:用戶注冊。

    case描述:客戶在客戶端填寫一些信息,提交之前通過密鑰把用戶名和密碼進行加密,服務端需要把用戶名和密碼解密回來進行進行處理,一個很重要的 處理就是,給密碼加鹽值,然后進行MD5加密,也許你會問,為什么這個動作不能在客戶端做呢,其實也是可以的,但是為了不想讓黑客知道我密碼加密的體制所 以放到服務端進行。

    case UML:


    設計到的一些類和文件:




    其中用到了base64,主要就是解決了中文亂碼問題。

    實現過程中的一些總結:

    1、對于安全算法等一些總結,我用到一些相關算法類都是可以單獨拿來用的。而jdk中也有支持的相關類,可以看看jca和jce。這兩個擴展包其實并沒有真正的實現,他們只是對這些安全問題的抽象。真正的實現有sunjce和Bouncy Castle。

    2、對于算法本身定義的理解很重要,AES支持128,192,256位的密鑰,但每次被加密的一定要是128位的內容,一般我們被加密的都是超過此長度的,那可以這么來處理:


    把要加密的內容進行分組處理。解密也是類似。

    最后的總結:此次實踐只是模擬了一個場景,還可以運用很多場景中,OpenSSL,OpenID都可以運用。不是我說的,我也是看了找了相關的材 料,OpenSSL java的項目還在建設中,php是有的,大家可以去找下,openid也是有用到的,這里推薦一個開源的項目openid4java,也可以去查查看, 有時間去看看里面的源碼還是不錯的。如果你也啥地方還不明白或者需要里面用到的一些代碼,可以和我溝通交 流,msn:yangpingyu@gmail.com.

    posted on 2011-02-21 16:00 yangpingyu 閱讀(505) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
    博客園   IT新聞   Chat2DB   C++博客   博問  
     
    <2011年2月>
    303112345
    6789101112
    13141516171819
    20212223242526
    272812345
    6789101112

    導航

    統計

    常用鏈接

    留言簿

    隨筆分類

    隨筆檔案

    收藏夾

    linux

    產品交互

    分析,設計,架構

    安全

    技術牛人

    數據庫

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 91人人区免费区人人| 国产一级a毛一级a看免费视频 | 亚洲国产精品无码成人片久久| 极品美女一级毛片免费| 国产又长又粗又爽免费视频| 亚洲国产成人久久精品大牛影视| 免费毛片在线看片免费丝瓜视频| 456亚洲人成在线播放网站| 精品国产sm捆绑最大网免费站| 亚洲天堂福利视频| 国产四虎免费精品视频| 久久久久久亚洲精品影院| 好男人视频社区精品免费| 国产成人精品日本亚洲语音| 国产精品极品美女免费观看| 无码天堂va亚洲va在线va| 亚洲人成人无码网www国产| a高清免费毛片久久| 亚洲AV永久纯肉无码精品动漫| 91免费国产精品| 亚洲国产成人无码AV在线| 免费人成视网站在线观看不卡| h视频免费高清在线观看| 婷婷精品国产亚洲AV麻豆不片| 足恋玩丝袜脚视频免费网站| 亚洲中文字幕无码av| 亚洲Av无码乱码在线播放| 久久99毛片免费观看不卡| 亚洲最大在线视频| 四虎免费永久在线播放| 精品一区二区三区免费观看| 亚洲高清在线视频| 国产福利在线免费| 大学生一级毛片免费看| 极品色天使在线婷婷天堂亚洲| 久久精品国产亚洲Aⅴ蜜臀色欲| 无码国产精品一区二区免费模式 | 国产亚洲精品国产| 69天堂人成无码麻豆免费视频| 日韩亚洲综合精品国产| 日本亚洲欧洲免费天堂午夜看片女人员|