工程师修养
0 灵魂型工程师修养
技术是为了灵魂服务的,术服务于道,在当前我认为有两点需要工程师具备
- 云原生技术层面素养
- 安全服务(价值观)技术层面素养
什么才是灵魂型工程师呢,我摘抄自瑞典马工的公众号消息
- 决策层需要提出有说服力的价值主张。
- 产品团队需要管理企业客户需求。
- 行销团队需要明确企业客户的画像。
- 销售队伍需要和企业客户真实对话的能力。
- 研发团队需要提升软件工程素质。
- 所有团队在 IT 安全上要表现出专业度。
- 需要若干有说服力的的企业客户成功案例。
1 加解密相关经验
关于加密技巧相关
- 涉及到AEAD块加密相关,默认推荐使用AES128_GCM来加密给大部分的数据使用。
- 涉及到流式AEAD家解密,默认推荐使用AES128_GCM_HKDF_1MB来加密数据。目前,流式AEAD的实现实际上就是小的块AEAD,(基于45b7561b39d6490116b150c44b3a4502c79e72c1分析)
- CBC模式因为IV会受到bitwise attack的影响,应当尽量不要使用!任何情况下,参与加密的内容如果可以被bitwise attack且明确区分是padding还是加解密异常的,都应该直接失败
CHACHA20-POLY1350的相关安全行分析
- 流式加密一般速度比较快,CHACHA20就是流密码。安全分析见下面的pdf,
- https://www.cryptrec.go.jp/exreport/cryptrec-ex-2601-2016.pdf
Ciphersuite的文档看
- https://ciphersuite.info/rfc/?page=1
实现代码相关
- 因为openssl本身的实现可能出现代码泄露的问题,所以,一般推荐直接使用google的tink作为加解密的基本组件参与到运算当中,实现起来会比较简单。
结尾
唉,尴尬