软件安全
可以从多个角度来看待软件安全。
首先,开发软件的组织必须实施安全流程,确保其开发的产品是可信的。这部分工作可以作为持续集成/持续分发(CI/CD)流程的一部分来完成,以实施并掌握软件开发生命周期(SDLC)。
其次,在组织框架和流程中,必须强制实施安全软件设计,例如使用安全编码规则和漏洞评估。
最后,所开发的软件产品的目标将是使用户能够执行安全功能和服务。因此,软件系统及其处理的数据必须值得信赖。
安全可作为组织安全和质量流程的一部分实施,例如,遵循ISO 21434等标准中关于汽车网络安全的建议。遵循现代软件开发中常用的CI/CD和SLDC指南及最佳实践,也可提高安全性。
软件产品开发应实施适用于所涉及标准和细分市场的编码规则,并在整个开发周期内使用适当的静态和动态工具进行验证。漏洞评估可以在开发周期内进行。
可以将常见缺陷列表(CWE)作为参考清单,还可以定期使用公共漏洞与披露(CVE)作为信息参考,以避免或解决已上市产品中的问题,或了解常用工具和库:软件工具应保持最新,不应使用过时的版本。如果发现了新漏洞,CVE也会随之更新。
安全软件可用于执行各种服务,如密钥生成或密钥派生,生成的密钥可用于各种加密操作。
安全软件还可用于执行各种加密功能,包括对称加密和解密、公钥加密或解密以及数字签名生成和验证,并可用于用户身份验证等。
Secure-IC提供的软件加密库解决方案可解决最后一个问题。该解决方案嵌入了多种密码算法的软件实现,如AES、基于RSA的密码技术、基于ECC的密码技术以及哈希函数和MAC函数。
软件加密库提供以下功能:
- 全软件,用C语言开发
- 针对各种攻击的嵌入式应对措施
- 支持的CPU架构:Intel、ARM、RISC-V等
- 支持的操作系统:裸机、Linux、Windows、Android、iOS等