您可以添加到网摘 让更多人关注此文章:
第一点:了解你的风险
找出你的系统存在什么风险,并决定你最需要保护的对象。例如,如果你正在将虚拟专用网加速硬件置入你的通信处理器中,那么你需要考虑当加密密钥处于闲置状态时该将其存储在哪里。如果密钥位于未加密的系统磁盘中,那么攻击者是否会向它们发起攻击呢?这是一个你应该要考虑规避的实际风险。另一方面,你是否正在担心投资巨大的有组织犯罪会推动先进的量子密码技术?如果你真的担心,那到大可不必,虽然量子密码技术也许真的在某一天会被付诸实施,但可能性毕竟微乎其微。在视其为一种真正的风险之前,我们还有很长的一段的路要走。
第二点:不要进行缺乏安全性的设计
你崭新的技术先进、速度超快、经过改进的系统级芯片(SoC)将至少被生产五年时间。遗憾的是,随着时间的推移芯片也会逐渐过时。不要让过时的安全功能成为导致你的产品退出市场的首要因素。当你决定在你的下一个芯片中要加入什么样的安全功能时,你必须考虑什么样的安全系统可以实现高于当前食物链一个级别的安全性能。你的客户会指望你在下一代芯片中提供相同的安全性能。如果你仅仅着眼于竞争对手的芯片中使用的安全功能,那么你只是在研究历史。
第三点:不要超安全标准设计
相反,你仍然需要考虑门数,众所周知,密码算法需要使用大量门。这是密码技术极快地执行海量数学运算以锁定传递的数据的一个特性。安全性似乎是一种暗黑艺术,因此当人们告诉你他们需要某个性态点时,你往往会盲目地相信。要更深入地核查一下。检查一下使用情况,并询问软件支持、CUP负载、缓冲器大小、开销、网络带宽的情况,然后再决定你实际需要什么样的安全性内核。
第四点:从系统的角度考虑,不要从功能角度考虑
安全系统实现过程中最普遍的错误在于忘记像攻击者一样去思考。在这一领域中,安全IP供应商会向其客户提供大量支持。攻击者相当聪明。他们不会费心去攻击主要的密码算法。相反,他们会在安全性上寻找出路,破解系统设计工程师未考虑到或者考虑到了但却认为是别人执行过程中的漏洞。例如,安全系统通常依赖于较好的随机源代码。你系统的源代码是什么?是否可能通过重置或故障状态将它强制为已知状态?如果可能的话,攻击者可能会这样做。
第五点:保护这些密钥
如果你从开始就在你的架构中设计了安全密钥存储机制来处理这些重要的密钥,那么你和你的客户就可以高枕无忧。你和你的团队正花费时间和财力为你的下一个硅片产品加入安全性,安全性仅仅相当于密钥的保密性。考虑一下你的芯片的生命周期。芯片如何进行创建和初始化?芯片在密钥的整个生命周期内如何处理密钥?最后,当密钥不再需要时芯片如何毁灭密钥?尽管这看起来简单,但安全性生命周期对于成功的安全系统却是最为重要的考虑因素,并且这需要参考专家意见
|