随着互联网、智能终端等相关行业的飞速发展,对终端产品远程控制的需求在人们生活中越来越普遍。如何保障后台与终端产品之间数据安全交互、不被篡改、不被盗取成为产品安全性的主要问题。
密钥管理和分配:
方案中使用的对称密钥可以提前设置或采用临时生成方式;
平台和终端存储自身的非对称算法私钥用于签名使用;
平台和终端存储对方的公钥用于验签使用。
本文不对密钥的生成和存储进行详细讲解,假设平台与终端已经具有上述密钥,上、下行数据安全操作流程如下文所述。
下行数据安全:
平台对应用控制数据M使用对称算法进行加密得到数据D;
平台使用本身的私钥对D进行签名得到数据S;
平台将D+S通过网络传输到终端设备;
终端设备使用平台的公钥对D+S进行验签操作;
终端验签通过后使用对称密钥对数据D进行解密得到M;
终端根据数据M所提供的信息进行相应操作。
上行数据安全:
终端上行数据M1使用对称算法进行加密得到数据D1;
终端使用本身的私钥对D1进行签名得到数据S1;
终端将D1+S1通过网络传输到平台;
平台使用终端设备的公钥对D1+S1进行验签操作;
平台验签通过后使用对称密钥对数据D1进行解密得到M1;
平台根据数据M1所提供的信息进行相应操作。
注:如果传输的数据量较小,可以使用所存储的对方公钥进行数据加密,接收方使用自身私钥解密。数据量较大时建议使用对称算法提高运行效率。
网友评论