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