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