重磅资料——linux shell语言编程规范安全篇之加解密原则!

规则1 禁止在shell脚本里面实现加解密算法

说明:shell作为解释性语言,在产品发布版本中以文本方式存在,功能实现逻辑能被直接看到,如果在shell脚本中实现加解密算法并使用,无任何保密性可言,所以禁止在shell脚本中实现加解密算法。


规则2 正确使用经过验证的安全的标准加密算法

说明:禁止使用是私有算法或者弱加密算法(如DES、SHA1等)。应该使用经过验证的、安全的、公开的加密算法。


规则3 禁止shell脚本中调用解密工具或者组件

说明:在产品发布版本中,shell脚本容易被修改,如果在脚本中使用了密码明文,会增加被利用的可能性,在产品功能实现中一般会涉及解密场景,如果在脚本中使用密文和解密组件获取密码明文并保存再变量中,会增大密码被利用的可能性。

防护措施:对于解密场景,解密操作全部由转门的加解密工具实现,shell脚本中不保存或使用密码明文等操作,直接使用由解密组件返回类似”对或错“的验证结果,尽量减少被利用的可能性。

错误示例:该例子中shell调用独立解密工具,在脚本中存在获取密码明文的过程,能被直接修改脚本获取密码明文。

重磅资料——linux shell语言编程规范安全篇之加解密原则!

modify

推荐做法:调用解密工具吧密文解密成明文作为参数直接使用。

重磅资料——linux shell语言编程规范安全篇之加解密原则!

modify


  • May you share freely, never taking more than you give.

  • 愿你宽心与人分享,所取不多于你所施与。


分享到:


相關文章: