網絡開發之《網絡安全》

用戶標識:html

username
password

設備標識:java

deviceid            // imei/macaddr/flashid/rfid/buildid/uuid
phonenumber         

 

手防禦層級逐漸加深,原創文章,轉載請註明出處,不然可能追責。c++

=================算法

一層防禦安全

目的:防君子服務器

方法:經過用戶名和密碼登陸。用戶名爲身份,密碼用來驗證身份。分佈式

二層防禦ui

目的:防空中抓包加密

方法:明文的用戶名和密碼經過算法進行加密傳輸 [對稱加密/非對稱加密/AES/RSA...]spa

三層防禦

目的:防有ROOT權限病毒程序 (自動保存功能會將密碼保存在本地,具備root權限的用戶能夠拿到)

方法:對本地保存的密碼進行加密 [Base64/md5/AES],這樣拿到的是加密後的密碼,沒有算法也不能逆向出原密碼。

參考:http://blog.csdn.net/hengyunabc/article/details/34623957

四層防禦

目的:防算法、密鑰被代碼逆向破解

說明:java代碼很容易被反編譯,黑客拿到算法代碼,反求出原密碼

方法:

  1. 能夠考慮jni調用c\c++算法實現,arm的指令集反編譯後難懂,增長破解難度

  2. 硬件加密,將算法和密鑰、ID放在專有硬件中,也就是所謂的加密芯片。

     將原文經過接口傳入加密芯片,返回密文和密鑰。

五層防禦

目的:防分佈式暴力破解

說明:參照DES的不安全性文章

方法:

 1. 用AES替代DES,128位替代64等,增長計算量

   2. 採用非對稱加密,RAS,結合硬件加密技術,將原文經過接口傳入加密芯片,返回密文和隨機公鑰(此處要保證公鑰的數量和不重複性)

六層防禦

目的:防止密文被截獲、轉發

說明:服務器向車輛發出控制指令時,生成的隨機公鑰+密文可能會被空中抓包截獲,黑客稍後轉發指令,可實現對車輛的控制

方法:

  1. 生成的公鑰在時間上具備時效性,超時則被丟棄

    2. 隨機公鑰只能被使用一次或者幾回,完成操做後被丟棄,不可複用

七層防禦

 目的:防止種種種種

 說明:再好的安全體系也有漏洞

 方法:

    1. 加入異常監控裝置,實時提醒用戶存在異常,必要的時候可關閉可能會發生危險的功能

    2. 法律和輿論

 

 附錄

 AES加密避免踩坑的方法:http://www.myhack58.com/Article/html/3/92/2015/67908.htm

 移動App該如何保存用戶密碼:http://blog.csdn.net/hengyunabc/article/details/34623957

 物聯網安全實戰,小米上榜:http://drops.wooyun.org/tips/10109

 

============================================

安全會是車聯網永恆不變的話題,路漫漫其修遠...

相關文章
相關標籤/搜索