[从智能锁谈STM32安全技术 学习笔记] 七. 标准与认证

声明:版权归原作者所有,如有侵权请联系删除。

本章主要对标准与认证做概要性介绍,帮助开发人员了解:

  • 开产品开发中,需要遵循的各种标准
  • 在产品初步开发完成后,需要推向市场时,应该通过什么样的信息安全认证

7.1 标准概论

标准其实就是一些规范文件。

标准可以来做什么?标准的最大特点是可以反复使用,而且达到通过标准,能获得一致性结果。

遵循标准对安全有什么价值?不遵循安全标准,基本上等于不安全。举个栗子,在 STM32 加密库中,看到 RSA PKCS 1.5 的函数名称,而不是直接的 RSA 运算。这是因为 RSA 算法的基本原理只是给我们展现了教科书级别的算法。在实际应用中,如果直接使用,非常容易受到攻击。例如,假设我们所有人的公钥指数都选为 3,虽然模数 n 不同,私钥指数是不同的。但是如果没有按照 RSA PKCS1.5 进行填充,那么根据中国余数定理,如果同一内容多方加密后,攻击,可以在不知道私钥指数的情况下,将明文恢复。这是所谓的广播攻击。而如果遵循了 RSA PKCS 1.5 的随机填充要求,这个攻击就无法奏效。这是我们需要 PKCS1.5 的原因。当然这些年随着攻击防护研究的深入,PKCS1.5 标准也正在更新换代中。

所以安全技术开发中有一个非常重要的原则:要遵循标准。很多公司都规定要使用公开的算法,要用公开的标准。在做安全开发时,一定要记住:不可随随便便搞发明创新,否则极有可能给系统留下安全漏洞。当然,在遵循算法标准的情况下,可以在实现算法的过程中加入更多的防护。

7.2 与安全有关的标准

当谈论标准时,通常涉及两类标准。

  • 大类标准,例如 FIPS(美国联邦信息处理标准),再如国密 SM(商用密码)

  • 一些具体的算法或者协议标准,该类内容很多,这里只谈STM32 用户开发中常用的。

    • 加密:DES、AES、RSA。DES已经认为不安全,应该被AES取代
    • 单向散列函数:MD5,SHA1,SHA2,SHA3。MD5已经被攻破,SHA1不推荐使用。
    • 消息认证码:含有 HAMC 以及以及 AES 算法的消息认证码
    • 数字签名: RSA PKCS1.5、椭圆曲线 ECDSA
    • 公钥体系基础架构:X.509,常用的数字证书就是 X.509 标准定义的

    除了这些国际算法标准,中国也有相应的国家密码标准,称之为国密。如 SM1 为对称密钥,其加密强度与 AES 相当;SM2 为非对称加密,基于椭圆曲线 ECC;SM3 摘要消息;SM4 是一个对称密钥算法。

    通讯安全标准也是有标准,如 TLS。

    处理信息安全的时候会发现,基本上天天需要和这些已经标准化的算法与协议打交道。

7.3 认证概论

通用控制器目前信息安全强制认证并不常见。但是如果所销售的产品所在行业已经有国家强制性标准,比如要销售给美国政府的事业单位,则认证是必不可少的步骤。还有一些客户是基于风险所考虑的。不同的国家有不同的法律要求,如果因为安全的原因,例如用户个人信息泄露,而导致制造商分销商被起诉,则有可能面临巨额赔偿。而认证可以降低该风险,甚至免除责任。最后一种则是客户为了提高客户满意度,提高产品区分度,所通过的一些认证。

如果打算去做认证,那么在做产品计划的时候,就需要认真考量时间和费用这两点。很多产品认证,一方面需要的时间很长,半年甚至一年;另一方面,认证的费用也很高,百万级别的费用并不少见。

有时候产品认证的范围,不仅仅是送测的产品。整个公司的研发,生产环境以及公司的产品制造流程都可能在认证范围之内。

7.4 认证流程

认证实验室和颁发证书的认证机构主体通常不是同一个。

为了通过认证,一般需要提交文档、源代码、产品样片。认证测试很多时候价格不菲,而且按次收费。为了通过认证,就要选用正确的芯片与软件开发包。STM32 与 STM32 加密库在这个时候就可以发挥作用。

认证实验室或者受委托机构,会对你提交的文档、代码进行审查,同时进行产品安全测试。如果认证标准需要评估管理体系生成流程,则认证机构会组织对提交材料的单位进行现场审查。

文档审查、产品测试以及现场审查都符合标准,则由认证实验室或者受委托机构提交一份评估报告。

认证主管机构认可评估报告,会颁发相应证书。证书一般都是有期限的。

收到证书后,认证进入维护阶段。若产品发生变化,则可能需要提交产品更改申请。若产品到期,则要考虑是否重新延展认证书年限。同时,认证管理机构会定期对获得证书的单位进行监督审查。

当然,有些认证可能只需要提交问卷或者提交自测试的结果就可以了。那样的话会比较简单,但前提是认证机构相信这个自测试结果。

7.5 NIST FIPS 140

NIST FIPS 140 是美国国家强制的标准,该标准是美国 NIST 联合加拿大制定的,在英国等其他国家也得到承认。当前版本是 FIPS-140 2。NIST 创建了 CMVP 来认证加密模块是否达到了 FIPS140 的要求。不符合该标准的产品无法进入美国政府的采购列表。产品一旦符合它的规定,并得到认证,就已达到了美国和加拿大公共机构的安全标准,可以向美国和加拿大出口。这个认证分为两部分,CAVP 密码算法验证体系,以及 CMVP 密码模块验证体系。CAVP 密码算法验证体系是 CMVP 的先决条件。

FIPS-140 2 具有 4 个等级:

  • 等级1. 通常用于软件加密产品
  • 等级2. 要求基于角色的认证,具备记录物理篡改的能力(篡改取证)
  • 等级3. 增加物理篡改预防的措施
  • 等级4. 包含高级防篡改的功能。针对产品运行在不受保护的物理环境中。任何方向的攻击都可以大概率被检测到,然后导致明文数据被擦除。

FIPS-140 认证过程时间长,成本高。如果产品通过了 CMVP 认证,获得 FIPS-140 认证证书,可在产品中加入 FIPS-140 2 inside 等标志。

7.6 STM32 的 CAVP 认证

STM32 加密库为了减轻客户 FIPS-140 产品认证工作,提供通过 CAVP 认证的加密库 XCUBE-CRYPTOLIB。

STM32 的 CAVP 认证包括以下内容:

  • 对于 Hash 和 HMAC算法:
    • SHA-1、SHA-224、SHA-256、SHA-384、SHA-512
    • HMAC-SHA-1、HMAC-SHA2-224、HMAC-SHA2-256、HMAC-SHA2-384、HMAC-SHA2-512
  • 对于对称密钥 AES 算法,STM32 AES-CBC、AES-CCM、AES-CFB128、AES-CMAC、AES-CTR、AES-ECB、AES-GCM、AES-KW、AES-OFB、AES-XTS
  • 对于随机数,STM32 DRBG
  • 对于RSA公钥算法,STM32 RSA PKCS 1.5 通过了认证,可以用来签名和验证签名。
  • 对于椭圆曲线 ECC 公钥算法,STM32 ECDSA 密钥生成、密钥验证、签名生成、签名认证
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 210,978评论 6 490
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 89,954评论 2 384
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,623评论 0 345
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,324评论 1 282
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,390评论 5 384
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,741评论 1 289
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,892评论 3 405
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,655评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,104评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,451评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,569评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,254评论 4 328
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,834评论 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,725评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,950评论 1 264
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,260评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,446评论 2 348

推荐阅读更多精彩内容