直播主题:利用PKCS #11和安全器件开发Linux®系统的安全IoT边缘设备到云端应用|Microchip 安全解决方案系列研讨会 第18场
内容简介:本次研讨会上,您将了解如何在联网的嵌入式Linux应用中实现代码的可重用性,简化集成并降低维护费用,以实现安全身份验证。我们的安全专家将探讨我们的解决方案是怎样通过CryptoAuthLib库和安全加固器件(如可信平台的ATECC608和TrustAnchor TA100)支持标准PKCS #11接口。
直播讲师:徐波(Barry Xu) |Microchip 资深应用工程师
FAQ详情:
1、sleep模式下唤醒速度如何
A:60us就可以了
2、安全库需要占用多少资源?8位机可能资源不够
A:8位的要看用到哪些API, 最好有10K以上
3、在使用 USB HID 设备的 Linux 项目中怎么合并 CryptoAuthLib呢?
A:Cryptoauthlib可以支持USB HID协议的通信方式,可以直接通过USB口来调用外部的安全芯片,前提是安全芯片需要一个USB HID到I2C的转换芯片,这个也有现成的方案,都是开源的
4、安全芯片哪些加密算法
A:ECCP256,SHA256,AES,RSA等
5、设备公钥使用的genkey是什么级别
A:genkey是一个命令,可以通过这个命令实现生成新的密钥对,或者用已有的私钥产生对应的公钥
6、云端用的是哪个云
A:google, amazon, azure
7、安全芯片支持哪些通讯方式?
A:I2C,SWI,SPI
8、代码是开源的吗
A:Microchip CryptoAuthlib 是开源的
9、请问PKCS#11是直接固化到终端设备上的吗?
A:PCKS#11是API
10、PKCS11标准的最大优势是什么?
A:PKCS11是提供了一个上层应用和安全硬件的软件适配层,最大的优势就是兼容各种不同的安全硬件
11、功耗如何
A:sleep电流大概30nA,工作时最大电流为14mA
12、WINC1500内置了TLS协议栈,用它来实现边缘设备到云端的连接,是否还需要使用ATECC608?如果需要,哪款比较合适?
A:TLS只是代表可以实现安全连接,但所需要的安全机密信息如何保存并没有说明,如果需要更高的安全性,也可以外挂608实现
13、从功能上讲,trust&go、flex、custom的主要区别是啥?
A:Trust&go是预配置好,不能修改, Trust flex是预配置,但可以给客户加附加功能,好像secure boot。Trustcustom 是一片空白的ECC608
14、请问一下,这个开源系统,如何落实安全措施?
A:安全平台主要是保护密钥,ECC608是用来保护密钥,开源代码对安全是没有影响
15、如果我把P256签名证书存放在ATECC器件里,有没有潜在的安全隐患?
A:安全芯片可以安全的保管这些机密信息,在安全芯片内已经实现了多种安全保护
16、PKCS#11有哪些应用领域呢?
A:不同的安全应用领域,包括IOT网络,安全验证等
17、蓝牙通讯的加密必须使用5.0以上吗
A:不一定,取决于你的应用,我们有基于4.0的安全加密连接参考案例
18、预配置安全件修改参数在哪看看到?
A:参数一般都固化好的,但是对于一些slot的内容可以根据配置进行修改
19、软件的开发环境有哪些?
A:常用的Linux开发环境都支持,包括C/C++和Python等
20、密匙预配置后能在后期修改吗?
A:代表身份的私钥是不允许修改的
21、支持哪些RTOS?
A:对于RTOS来说,我们并没有特别指定,目前来说FreeRTOS,Linux我们都有相应的例程
22、IIc通信有防护吗?
A:对于一些关键信息,我们提供IO Protection这种方式对于I2C的通讯数据进行保护
23、IO Protection相关介绍资料可以发一下吗?
A:跟我们工程师联系
24、PKCS#11使用对时间上增加多少?
A:关键是与什么相比?如果与没有安全连接的进行对比,那么时间会增加不少,但如果是跟之前用软件实现的安全连接对比,时间会减少很多,毕竟安全芯片提供了硬件的安全密码算法的支持,可以提速不少
25、预烧录是什么意思呢?有什么好处呢?
A:好处是密钥不会被人家获取
26、符合国内加密标准吗
A:后续系列待考虑
27、可信的唯一标识是指什么?
A:就是代表身份的唯一的私钥
28、密钥可以用户私有设置吗?
A:可以
29、提供底层库的技术支持吗
A:可以提供
30、CRYPTOAUTHLIB库的移植需要具备什么条件呢?
A:可以用于任意平台,只需要有I2C接口,不管是硬件I2C还是IO口模拟的都可以,需要预留足够的flash和ram,移植时只需要关注HAL层,实际上只是对I2c读写按要求做了一次封装,还是很简单的
31、需要云识别,没有网络怎么办?
A:没有网络无法实现
32、芯片采用哪些加密算法?内部有唯一ID吗?
A:每个芯片都有唯一的72位序列号;ECC608支持SHA256, ECDSA256, ECDH/ECDHE256和AES128, TA100另外还支持RSA算法等
33、请问,可以扩展其他加密方式吗
A:目前只支持我们安全芯片支持的安全密码算法,我们有多种安全芯片,支持的安全密钥算法也有很多
34、支持哪些通信协议
A:目前主要是安全芯片的通讯接口,包括I2C,SWI,还有SPI
35、根据机制加密,PKCS#11可以分为几类呢?
A:你指的是密码算法吗?如果是,那其实主要是安全芯片支持的那些算法,都是目前主流的算法
36、边缘设备的数据处理速度多少
A:取决于边缘设备的处理能力
37、PKCS#11的简化应用模式有哪些呢?
A:取决于应用,看你需要安全密码实现方式中的哪些方式,但是如果要简化,为啥要用PKCS11?
38、有没有全套设计参考案例?
A:如果是参考代码的话,我们在Github:https://github.com/MicrochipTech/cryptoauthlib/wiki/PKCS11
39、如果使用默认凭据,应该如何获取设备的公钥和证书?
A:设备的公钥本身不具有私密性,可以通过读取安全芯片或者使用genkey产生,证书的话我们一般会把一些证书里的关键信息放到安全芯片里,然后通过证书重构函数来重新构建证书,另外默认凭据如何和器件的证书和密钥关联起来,构成整个完整的信任链,这个是系统需要考虑的,具体我们可以后续沟通
40、C和python语言构建的应用程序能兼容吗?
A:实现上我们的Cryptoauthlib会编译成一个动态链接库,这样不管是C还是Python都是可以直接调用这个动态链接库的,所以可以互相兼容的
41、PKCS#11大批量使用了吗?
A:是
42、软件中集成也需要硬件环境支持吧
A:是的,需要在主控外接通过I2C, SWI或SPI, 以及USB来和安全芯片通信,这样软件才能运行起来
43、加密方式有几级?
A:是指加密安全级别属于哪一级吗?Microchip的安全元件符合Jil最高等级。
44、支持什么通信协议,通信过程如何保障安全性?
A:通讯接口我们支持I2C,SPI和SWI,通讯过程中的安全性我们提供IO Protection这种方式进行保证
45、只能用到linux平台吗?
A:我们的Cryptoauthlib可以用在任何平台,包括MCU和MPU等都可以,只是在Linux中用PKCS11有很多优势,兼容和统一接口等
46、ATECC608提供linux平台的驱动么?
A:我们的Cryptoauthlib在跑在用户层的,直接调用Kernel里面的i2c设备来读写的;Linux底层驱动是Kernel本身实现的
47、是否有RSA加密算法的方案?
A:我们的安全芯片TA系列支持RSA的算法
48、CryptoAuthLib可以在哪些平台上运行呢?
A:我们没有平台的限制
49、有没有车规级芯片应用
A:我们有车规级的安全芯片,也有相应的一些应用
50、如何保证预配置服务是安全的?有检查机制吗
A:我们有一个经过安全认证的,并且被7*24小时监控的预置服务环境,在客户提交自己的安全信息的时候,不会经过任何第三方,直接点对点的将自己的安全信息传递到我们的HSM机器上
51、支持蓝牙通讯的加密吗?
A:新的蓝牙已经提供了一些加密的通讯机制,但是我们可以配合安全芯片提供更高的安全性,我们有一些相关的参考例程,具体可以咨询我们的工程师。如果是指数据加密,ECC608支持少量数据加密
52、如果使用Trust&Go或者FLEX安全器件,需要直接联系microchip官方渠道来获取吗?还是可以从分销商或者代理商渠道采购?如果从分销商或者代理商渠道购买,安全参数也由他们代为定制吗?谢谢
A:也可以通过代理商,但对于所需要的manifest,需要代理商在microchip拿到后,转给客户
53、又没有具体应用场景和具体应用案例?
A:一般我们所说的IoT的应用,像现在的AWSl,GCP或者Azure,甚至是一些私有云我们都可以做
54、医疗数据用什么安全方案
A:医疗数据安全设计真实性验证及数据私密性及完整性保护,如果涉及Linux,可以考虑PKCS#11+CRYPTOLIB实现三个不同方面
55、有全套的解决方案么
A:有,可以到microchip网站去看
56、有没有开发套件
A:有的,具体可以按照你们的要求咨询我们各地的技术支持
57、芯片内部有唯一ID吗?
A:有的,每个芯片都有自己唯一的序列号
58、有几种封装
A:有多种封装,比如SOIC,UDFN,3-lead Contact, 如果需要更小的封装可以咨询microchip各地销售
59、请问,贵司这类产品用在IPC上的云端应用吗?
A:有客户在用
60、云链接的通讯采用什么方式?
A:云连接就是通过以太网或者WIFI
61、云端如何保障安全性
A:这个要看云的安全架构,TLS是一个好例子
62、如何保证在云端的信息安全问题
A:这个要看云端的安全机制,ECC608是保证节点的密钥安全
63、安全芯片密钥如何发放
A:这个一般是在安全的环境中,比如我们的HSM环境下,由安全芯片自己产生,也可以自己写入自己设定的私钥,但这种方式我们其实并不推荐
64、提到的接口方式都可以提供案例是吗?
A:这个在CAL里都提供了支持,客户只需要指定接口类型,针对自己的平台,做好接口的配置就好了
65、如果自己系统已有网络安全系统,是否可以兼管你们这个开源的嵌入式系统?
A:这个只要能够兼容我们安全芯片现在支持的安全密码算法就可以了
66、支持的接口类型哪些
A:支持I2C和SPI接口,以及USB HID
67、如何使用 cryptoauthlib python 模块呢?
A:只需要在python中通过pip install cryptoauthlib就可以自动下载安装库了,通过github上的cryptoauth_tools例程就可以用Python来访问安全芯片了, https://github.com/MicrochipTech/cryptoauthtools
3、在使用 USB HID 设备的 Linux 项目中怎么合并 CryptoAuthLib呢?
A:Cryptoauthlib可以支持USB HID协议的通信方式,可以直接通过USB口来调用外部的安全芯片,前提是安全芯片需要一个USB HID到I2C的转换芯片,这个也有现成的方案,都是开源的
这个USB HID到I2C的开源方案哪里有?