网络开发之《网络安全》

用户标识:

username
password

设备标识:

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

手防护层级逐渐加深,原创文章,转载请注明出处,否则可能追责。

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

一层防护

目的:防君子

方法:通过用户名和密码登录。用户名为身份,密码用来验证身份。

二层防护

目的:防空中抓包

方法:明文的用户名和密码通过算法进行加密传输 [对称加密/非对称加密/AES/RSA...]

三层防护

目的:防有ROOT权限病毒程序 (自动保存功能会将密码保存在本地,具有root权限的用户可以拿到)

方法:对本地保存的密码进行加密 [Base64/md5/AES],这样拿到的是加密后的密码,没有算法也不能逆向出原密码。

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

四层防护

目的:防算法、密钥被代码逆向破解

说明:java代码很容易被反编译,黑客拿到算法代码,反求出原密码

方法:

  1. 可以考虑jni调用cc++算法实现,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

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

安全会是车联网永恒不变的话题,路漫漫其修远...

原文地址:https://www.cnblogs.com/alanfang/p/5152090.html