用于执行虚拟专用网络功能的片上系统及包含该片上系统的系统的制作方法

文档序号:20202917发布日期:2020-03-27 20:49阅读:202来源:国知局
用于执行虚拟专用网络功能的片上系统及包含该片上系统的系统的制作方法

本发明涉及电子设备,具体涉及用于执行虚拟专用网络功能的片上系统及包含该片上系统的系统。



背景技术:

物联网(internetofthings,iot)设备中的安全威胁正逐渐增加。例如,人工智能机器人吸尘器有可能暴露在基于互联网的黑客入侵或通过内置的摄像头监视用户的房间的危险当中。摄像头有可能暴露在将照片或视频传送至入侵者的服务器或通过网络远程控制摄像头任意进行拍摄的危险当中。另外,数字门锁有可能暴露在通过截取控制功能任意进行开闭的危险当中。因此,iot设备当中加强安全越来越受关注。

虚拟专用网络(virtualprivatenetwork,vpn)是公司或团体为了避免通过公共网络暴露内容而开发的专用网络。vpn可使用称之为通道协议的特殊的基于tcp/ip的协议在设备之间形成安全信道。在vpn中,消息可在互联网或公共网上使用标准协议进行传递,或在vpn供应商和顾客签订服务水平合同后,通过服务提供商的专用网络进行传递。

vpn可通过在widows或linux等商用/通用操作系统上运行的软件应用或硬件实现。由于vpn使用具备高水平的复杂性的各种加密算法、密钥交换协议及哈希算法等,因此会产生大量的开销,从而只能在具备高配置的处理器和存储器的计算环境中运行,带来很多的限制。



技术实现要素:

所要解决的课题

可提供执行vpn功能的小型化的片上系统(system-on-chip,soc)。因基于微处理器(microcontrollerunit,mcu)的soc搭载于电子设备实现vpn通道,从而可大幅提高电子设备中的安全。

本实施例所要实现的技术课题不限于上述技术课题,可通过下面的实施例推导出其他的技术课题。

课题解决方案

一种片上系统,用于执行基于tls(transportlayersecurity)的消息加密动作,可包括:认证部,交换用于上述消息加密动作的密钥,执行对进行通信的主体的认证;aes(advancedencryptionstandard)引擎内核,用于执行利用密钥加密消息或解密经过加密的上述消息,或加密上述密钥或解密经过加密的上述密钥的功能;控制部,基于rtos(realtimeoperatingsystem)及用于执行上述消息加密动作的固件,控制上述aes引擎内核及上述认证部。

上述认证部可包括用于执行ecdsa(ellipticcurvedigitalsignaturealgorithm)及rsa(rivestshamiradleman)算法的电路。

上述片上系统,还可包括:随机数产生器,产生用于上述消息加密动作的随机数;哈希部,对上述消息或上述密钥进行哈希处理;及个人密钥存储部,用于存储个人密钥。

上述片上系统,可包括:mcu(microcontrollerunit),包括上述aes引擎内核、上述随机数产生器及上述哈希部;及tpm(trustedplatformmodule),包括上述认证部及上述个人密钥存储部。

上述片上系统还包括存储器,而上述存储器中存储上述rtos、上述固件及用于接收x.509证书的软件应用。

上述固件可包括将在商用或通用操作系统中执行的信号传递替代为在上述rtos中的消息传递的编码或函数。

上述固件可包括对指示可输入/输出文件的存储器区域的物理或逻辑地址的信息。

可提供一种包括片上系统的电子设备。

一种系统,用于通过虚拟专用网络(virtualprivatenetwork)传送消息,可包括:客户端设备,生成上述消息;vpn客户端,通过通信信道对从上述客户端设备接收的消息执行基于tls的加密动作,以输出封装的消息;vpn服务器,从vpn客户端通过vpn通道接收上述封装的消息并解密上述封装的消息;及服务器,从上述vpn服务器接收上述解密的消息;

其中上述vpn客户端包括基于rtos(realtimeoperatingsystem)及固件执行上述基于tls的加密动作的片上系统。

上述片上系统包括mcu(microcontrollerunit);上述mcu,可包括:aes(advancedencryptionstandard)引擎内核,用于执行利用密钥加密消息或解密经过加密的上述消息,或加密上述密钥或解密经过加密的上述密钥的功能;随机数产生器,产生用于上述基于tls的加密动作的随机数;及哈希部,对上述消息或上述密钥进行哈希处理。

上述片上系统还包括tpm(trustedplatformmodule);上述tpm,可包括:电路,用于执行ecdsa(ellipticcurvedigitalsignaturealgorithm)及rsa(rivestshamiradleman)算法;及个人密钥存储部,用于存储个人密钥。

上述通信信道可包括以太网(ethernet)、lte(longtermevolution)及wifi(wirelessfidelity)中的至少一种。

上述vpn客户端可内置于上述客户端设备。

上述客户端设备可为物联网设备。

上述固件可包括将在商用或通用操作系统中执行的信号传递替代为用上述rtos中的消息传递的编码或函数。

上述固件可包括对指示可输入/输出文件的存储器区域的物理或逻辑地址的信息。

发明效果

通过提供执行vpn功能的小型化soc,可在iot等小型化、轻量化电子设备之间或电子设备和服务之间,形成通过vpn的安全信道。将vpn功能实现于soc的解决方案,可通过国内/国际cc(commoncriteria)eal4等级(国际标准iso/iec15408)认证得到安全性保障。

附图说明

图1为根据一实施例的在tcp/ip网络中基于传输层安全(transportlayersecurity)实现的vpn示意图;

图2为根据一实施例的利用嵌入vpn功能的soc形成的安全信道示意图;

图3为根据一实施例的用于实现vpn功能的soc的框图;

图4为根据一实施例的用于实现vpn功能的soc的框图;

图5为根据一实施例的用于vpn功能的soc的详细框图;

图6为根据一实施例的包括内置有图2至图5的soc的电子设备的系统的示意图;

图7为根据一实施例的包括内置有图2至图5的soc的vpn设备的系统的示意图。

具体实施方式

下面,结合附图及几个实施例进行详细说明,以帮助本发明的技术人员容易实现本发明。

用于说明书中的“部”的术语可表示fpga(field-programmablegatearray)或asic(applicationspecificintegratedcircuit)等硬件构成要素、硬件构成要素的集合及/或电路。

tcp/ip(transmissioncontrolprotocol/internetprotocol)通信协议是为在传送计算机之间交换的消息时,避免发生错误,约定分割成适合的大小进行传输,接收其并变换为原来的信息的规则。

传输层安全(transportlayersecurity,tls)是为在互联网中通过证书认证对方,提供保密性及完整性的安全套层(securesocketslayer,ssl)标准化技术。tls可为tcp/ip通信网络提供安全功能。tls可包括:相互交换可支持的算法的第一步骤;执行加密密钥交换及认证的第二步骤;及利用对称密钥密码加密消息并认证消息,以输出封装的消息的第三步骤。

图1为根据一实施例的在tcp/ip网络中基于tls实现vpn的示意图。

如图1所示,系统1000可包括客户端1200、vpn客户端1400、vpn服务器1600及服务器1800。

客户端1200可以指与服务器1800基于tcp/ip协议执行交换消息的通信的设备。根据一实施例,客户端1200可包括计算机、智能手机、可穿戴设备、摄像头、摄录像机、tv、各种计量表(电表、燃气表、水表等)、atm设备、pos终端、车载黑匣子、iot设备等电子设备,但非限制。

根据一实施例,客户端1200和服务器1800可以是位于各家庭的电表和电力供应商的服务器。电力供应商的服务器基于从位于各家庭的计量表接收的数据计算所供应的电力的费用,收取计算的费用。

根据一实施例,客户端1200可以为iot设备,服务器1800可以为从iot设备收集数据的其他iot设备或服务器。客户端1200和服务器1800各具备可接入的有线或无线接口,通过有线或无线接口与至少一个以上的设备进行通信以发送或接收数据。

根据一实施例,客户端1200可以为ip(internetprotocol)摄像头,服务器1800可以为从ip摄像头收集影像数据的由政府或公共机构管理的服务器。

在tcp/ip通信中,为了加强安全,可将vpn应用于系统1000中。如图1所示,在客户端1200和服务器1800之间,可具备用于形成vpn通道的vpn客户端1400和vpn服务器1600。vpn客户端1400和vpn服务器1600可基于tls方式加密消息,通过vpn通道传送经过加密的消息。根据一实施例,vpn客户端1400可以是指位于客户端1200的内部的硬件模块。另外,vpn客户端1400可以是指位于客户端1200的外部的电子设备(电子装置)或包含于电子设备内的硬件模块。

首先,在交换可支持的算法的步骤中,vpn客户端1400和vpn服务器1600可交换加密套件。在此步骤中,可确定用于密钥交换和认证的加密方法、消息认证码(mac)。消息认证码可通过hmac哈希函数创建。

在密钥交换及认证步骤中,密钥交换和认证算法使用公开密钥方法或可以使用预先共享的密钥(tls-psk)。根据一实施例,密钥交换算法可包括rsa(rivestshamiradleman)、diffie-hellman、ecdh(elliptic-curvediffie-hellman)、srp(secureremotepassword)、psk(presharedkey)算法。根据一实施例的认证算法可包括rsa、dsa(digitalsignaturealgorithm)、ecdsa(ellipticcurvedigitalsignaturealgorithm)。

在消息加密及认证步骤中,作为对称密钥加密算法,可使用rc4、三元des(dataencryptionstandard)、aes(advancedencryptionstandard)、idea(internationaldataencryptionalgorithm)、des、camellia算法。根据一实施例的哈希函数可使用hmac-md5或hmac-sha算法。消息认证编码可通过哈希函数生成。

vpn客户端1400和vpn服务器1600各可包括用于传送和接收基于tls方式加密的消息的心的tcp和新的ip。新的tcp和ip可以指在基于tls方式形成的vpn通道中使用的协议栈(protocolstack)。

根据一实施例,为实现vpn功能,可在vpn客户端1400和vpn服务器1600中各搭载windwos或linux等商用/通用操作系统。如上所述,因用于实现vpn功能的动作复杂性高,所需的存储器使用量高,从而可在具备高配置的处理器和存储器的计算环境中,在操作系统的管理下被使用。此时,vpn客户端1400和vpn服务器1600可以在商用/通用操作系统中运行的软件应用或用于商用/通用操作系统的硬件模块的形式制作。在这些实施例中,vpn服务器1600可包括云及开源vpn服务器。另外,vpn服务器1600可包括商用vpn网关。

下面,公开用于消除在iot设备及可穿戴设备等未安装商用/通用操作系统的小型化及轻量化电子设备中有可能发生的安全威胁的soc。

图2为根据一实施例的利用嵌入vpn功能的soc形成的vpn通道示意图。

图2的客户端2200、vpn客户端2400、vpn服务器2600及服务器2800可各对应于图1的客户端1200、vpn客户端1400、vpn服务器1600及服务器1800。因此,下面即使是省略的内容,关于图1的客户端1200、vpn客户端1400、vpn服务器1600及服务器1800的上述内容通用适用于图2的客户端2200、vpn客户端2400、vpn服务器2600及服务器2800。

根据一实施例,vpn客户端2400可位于客户端2200的内部或外部。vpn客户端2400可从客户端2200通过通信路径接收消息。通信信道包括以太网(ethernet)、lte(longtermevolution)、usb(universalserialbus)或wifi(wirelessfidelity)等有线/无线接口。

vpn客户端2400可包括用于向vpn客户端2400供应电源的电源供应装置。例如,当vpn客户端2400位于客户端2200的外部时,vpn客户端2400可包括用于向vpn客户端2400供应电源的电源供应装置。根据一实施例,在将vpn客户端2400与从poe(poweroverethernet)获得电源的客户端2200连接的构成中,vpn客户端2400为从poe替代获得电源并将获得的电源传递给客户端2200,可在vpn客户端2400内置poe旁路(poweroverethernetbypass)。当vpn客户端2400位于客户端2200的内部时,vpn客户端2400无需另外的电源供应装置,可从内置于客户端2200的电源供应装置获得必要的电源。

vpn客户端2400加密从客户端2200接收的消息,封装经加密的消息,从而可通过vpn通道向vpn服务器2600传送封装消息。vpn服务器2600可解密通过vpn通道接收的消息传送给服务器2800。

根据另一实施例,vpn客户端2600加密从服务器2800接收的消息,封装经加密的消息,从而可通过vpn通道向vpn客户端2400传送封装消息。vpn客户端2400可解密通过vpn通道接收的消息传送给客户端2200。

vpn客户端2400和vpn服务器2600中的至少一个可包括内置可将随机数、密码、认证、哈希等安全技术,基于搭载有安全引擎的微处理器(microcontrollerunit,mcu),以超低价、超轻量方式实现的vpn功能的soc。

首先,vpn客户端2400可包括用于vpn功能的(或用于形成vpn通道的)第一soc(soc#1)。第一soc(soc#1)可基于tls方式执行加密消息或解密封装消息的动作。

第一soc(soc#1)可包括包含安全模块的至少一个mcu。第一soc(soc#1)利用包含安全模块的至少一个mcu,在没有linux或windows等操作系统的环境(例如,iot设备)中形成vpn通道。在第一soc(soc#1)中可使用基于arm公司开发的coretex-m的mcu。例如,第一soc(soc#1)可搭载stmicroelectronics公司开发的stm32mcu,但非限制。

通过vpn客户端2400输出的封装消息可传送至vpn服务器2600。vpn服务器2600可从vpn客户端接收封装消息并解密封装消息。vpn服务器2600也可包括用于实现vpn功能的第二soc(soc#2)。搭载于vpn服务器2600的第二soc(soc#2)与搭载于vpn客户端2400的第一soc(soc#1)相同,因此,在此不再赘述。

在图2中表示vpn服务器2600与vpn客户端2400一样,包括用于实现vpn功能的第二soc(soc#2),但vpn服务器2600为实现vpn功能,不包括第二soc(soc#2),而是包括通过linux或windows等商用/通用操作系统管理的软件应用或硬件模块。即vpn客户端2400通过第一soc(soc#1)实现vpn功能,而vpn服务器2600也可包括通过linux或widows等商用/通用操作系统管理的方式的vpn软件或硬件,以实现vpn功能。与此相反,vpn服务器2600通过第二soc(soc#2)实现vpn功能,而vpn客户端2400也可包括通过linux或widows等商用/通用操作系统管理的方式的vpn软件或硬件,以实现vpn功能。

图3为根据一实施例的用于实现vpn功能的soc的框图。

图3的soc3000可表示图2的第一soc(soc#1)及第二soc(soc#2)中的某一个的框图。如图3所示,soc3000可包括控制部3200、认证部3400及aes(advancedencryptionstandard)引擎内核3600。

控制部3200通过控制soc的整体动作执行基于tls的消息加密动作。根据一实施例,控制部3200可包括mcu内的cpu(centralprocessingunit)等处理器内核。控制部3200基于搭载于rtos(realtimeoperatingsystem)及soc3000的固件控制soc3000的构成要素,以执行基于tls的加密动作。

认证部3400交换用于加密的密钥,执行对进行通信的主体的认证。认证部3400可基于ecdsa(ellipticcurvedigitalsignaturealgorithm)算法或rsa(rivestshamiradleman)算法等签名算法执行认证。签名算法也称之为公开密钥算法,使用个人密钥和公开密钥对获得证书,与通信对象认证身份。

根据一实施例,认证部3400可将作为加密芯片的一个种类的可信平台模块(trustedplatformmodule,tpm)包含在soc3000中实现。tpm是整合在网关的系统硬件中执行密码生成或存储等密码相关作业的微处理器,可执行保护用于密码或软件启动的数据等小规模敏感信息等基于硬件的安全。包括在soc3000中的tpm可包括用于执行ecdsa算法及rsa算法的电路。包括在soc3000中的tpm可执行基于tls加密消息的动作所需的复杂性高的计算或需要很多内存的计算。

aes引擎内核3600可执行利用密钥加密消息或解密经加密的消息的功能、加密密钥或解密经加密的密钥的功能。在共享加密密钥的第一集团和第二集团中,第一集团加密的消息可由第二集团解读。没有加密密钥的第三集团无法解读消息。根据一实施例,aes引擎内核3600可通过将搭载有用于执行aes算法的电路的mcu包含于soc3000中实现。

根据一实施例,mcu和tpm可通过印刷电路基板连接。此时,soc3000可以是印刷电路板的形式。

图4表示根据一实施例实现vpn功能的soc的框图。

图4的soc4000表示图3的soc3000的追加实施例。soc4000的控制部4200、认证部4400及aes引擎内核4600可各对应图3的soc3000的控制部3200、认证部3400及aes引擎内核3600。

如图4所示,soc400还可包括随机数产生器4300、哈希部4500及个人密钥存储部4700。

随机数产生器4300可产生加密动作所需的随机数。所产生的随机数可包括确定的随机数和不确定的随机数。不确定的随机数可看做是真随机数。根据一实施例,随机数产生器4300可包括实现利用种子产生随机数的算法的硬件电路。根据一实施例,随机数产生器4300可通过将搭载有随机数产生模块的mcu包含于soc4000中实现。

哈希部4500可执行哈希算法。哈希部4500使用sha-1、sha-2等sha(securehashalgorithm)对消息、公开密钥或个人密钥进行哈希处理。例如,哈希部4500对原消息进行哈希处理生成32字节长度的概要值。根据一实施例,不同的消息可哈希处理成不同的概要值。此时,即使原消息中的一部分(例如,1比特)不同,概要值可能产生很大的差异。根据一实施例,哈希部4500可通过将搭载有哈希模块的mcu包含于soc4000中实现。

个人密钥存储部4700是用于存储个人密钥的存储器空间。为执行加密算法需要个人密钥,而为不向外部暴露个人密钥的同时加密消息,保管好个人密钥防止暴露是很重要的一件事情。根据一实施例,个人密钥存储部4700可通过将搭载有用于存储个人密钥的空间的tpm包含于soc4000中实现。

图5表示根据一实施例实现vpn功能的soc的详细的框图。

图5的soc4000表示图4的soc4000的追加实施例。soc5000的控制部5100、aes引擎内核5300、随机数产生器5400、哈希部5500、认证部5700及个人密钥存储部5800可各对应图4的soc4000的控制部4200、aes引擎内核4600、随机数产生器4300、哈希部4500、认证部4400及个人密钥存储部4700。

如图5所示,存储器5200可保存rtos、固件及用于执行x.509动作的指令集合。x.509动作是指从公认认证机构(certificationauthority,ca)获得证书的动作,可执行分配公开密钥和个人密钥的作用。根据一实施例,存储器5200可包括如动态随机接入存储器(dram)、静态随机接入存储器(sram)等易失性存储器,闪速存储器、rom(readonlymemory)、pram(phase-changerandomaccessmemory)、mram(magneticrandomaccessmemory)、reram(resistiverandomaccessmemory)及fram(ferroelectricsrandomaccessmemory)等非易失性存储器。

如上所述,图5的soc5000因在未安装linux、windows、ios、安卓等商用/通用操作系统的环境中运行,从而可基于安装有rtos的固件执行基于tls的加密动作。因此,根据一实施例,为实现vpn功能所需的在商用/通用操作系统中的信号(signal)传递可被soc5000的rtos中的消息传递替代。例如,固件可包括将在商用或通用操作系统中的信号传递替代为在rtos中的消息传递的编码或函数。另外,为替代为实现vpn功能所需的在商用/通用操作系统中文件输入/输出(或文件系统),可将soc5000配置为只在soc5000内的指定的特定存储器位置进行文件输入/输出。例如,固件中可记录对指示可输入/输出文件的存储器区域的物理或逻辑地址的信息。

控制部5100可通过基于rtos及固件控制soc5000内的构成要素(5200、5300、5400、5500、5600、5700及5800),执行基于tls的加密动作。

通信信道5600的可以指用于执行从外部(例如,图2的客户端2200)接收原消息的动作、将加密原消息封装的消息(即经过加密的消息)输出至外部(例如,图2的vpn服务器2600)的动作、从外部(例如,图2的vpn服务器2600)接收封装的消息(即经过加密的消息)的动作、解密封装的消息传送至外部(例如,图2的客户端2200)动作的有线/无线接口。

例如,通信信道5600可包括可接入以太网(ethernet)、usb(universalserialbus)、有线局域网(localareanetwork,lan)、wifi(wirelessfidelity)等无线局域网(wirelesslocalareanetwork,wlan)、蓝牙(bluetooth)等无线个人局域网(wirelesspersonalareanetwork;wpan)、zigbee、nfc(nearfieldcommunication)、rfid(radio-frequencyidentification)、plc(powerlinecommunication)或3g(3rdgeneration)、4g(4thgeneration)、lte(longtermevolution)等移动通信网(mobilecellularnetwork)的调制解调通信接口等。

图6为根据一实施例的包括内置有图2至图5的soc的电子设备的系统的示意图。

系统6000可包括具备第一电表6220的第一家庭6200、具备第二电表6420的第二家庭6400、具备第三电表6620的第三家庭6600、vpn服务器6800及电力供应商的服务器6900。

第一电表6220、第二电表6420及第三电表6620可各基于有线或无线通信接口,将第一家庭6200的第一电力使用量数据、第二家庭6400的第而电力使用量数据、第三家庭6600的第三电力使用量数据传送至电力供应商的服务器6900。

第一电表6220、第二电表6420及第三电表6620各有可能暴露在对电力使用量数据的黑客入侵危险、电力使用量数据的变更及操作危险等安全威胁中。因此,第一电表6220、第二电表6420及第三电表6620可各通过vpn通道将电力使用量数据安全地传送至电力供应商服务器6900。

第一电表6220、第二电表6420及第三电表6620中可各内置结合图2至图5详细说明的soc。电表是难以搭载linux和widows等商用/通用操作系统的小型化设备,可通过内置结合图2至图5详细说明的小型化soc实现vpn功能。

例如,图3的soc3000内置于第一电表6220中,通过基于tls的加密算法加密第一电力使用量数据,并将封装的第一电力使用量数据通过vpn通道输出至vpn服务器6800。vpn服务器6800可解密封装的第一电力使用量数据传送给服务器6900。

第二电力使用量数据和第三电力使用量数据也通过与第一电力使用量数据相同的方式,在无黑客入侵、伪造、更改的危险下安全地传送至服务器6900。

图7为根据一实施例的包括内置有图2至图5的soc的vpn设备的系统的示意图。

系统7000可包括ip摄像头7200及与ip摄像头7200连接的第一vpn设备7300、iot设备7400及与iot设备7400连接的第二vpn设备7500、制造设备7600及与制造设备7600连接的第三vpn设备7700、与第一vpn设备7300、第二vpn设备7500及第三vpn设备7700连接的poe(poweroverethernet)开关7800及与poe开关7800连接的vpn服务器7900。

第一vpn设备7300、第二vpn设备7500及第三vpn设备7700各为内置有图2至图5的soc的设备,将接收的数据加密的封装数据通过vpn通道传送至poe开关7800。

例如,第一vpn设备7300可加密从ip摄像头7200接收的影像数据并将其传送至poe开关7800。根据一实施例,第一vpn设备7300可位于ip摄像头7200的外部并通过通信信道接收影像数据。例如,第一vpn设备7300中可具备以太网端口,第一vpn设备7300可通过以太网端口从ip摄像头7200接收影像数据。根据一实施例,第一vpn设备7300可包括基于以太网和usb2.0的至少一个告诉接口(例如,10mbps以上),以处理影像数据。

第二vpn设备7500可加密从iot设备7400接收的iot数据并将其传送至poe开关7800。根据一实施例,第二vpn设备7500可位于iot设备7400的外部并通过通信信道接收iot数据。例如,第二vpn设备7500中可具备蓝牙端口,第二vpn设备7500可通过蓝牙端口从iot设备7400接收iot数据。

第三vpn设备7700可加密从制造设备7600接收的各种数据并将其传送至poe开关7800。根据一实施例,第三vpn设备7700可位于制造设备7600的外部并通过通信信道接收各种数据。例如,第三vpn设备7700中可具备以太网端口,第三vpn设备7700可通过以太网端口从制造设备7600接收各种数据。

poe开关7800将从第一vpn设备7300、第二vpn设备7500及第三vpn设备7700接收的数据通过vpn通道传送至vpn服务器7900。

上面的说明提供用于实现本发明的示例性的构成及动作。本发明的技术思想不限于上述说明的实施例,还包括通过单纯变更或修改上述实施例获得的实现方式。另外,本发明的技术思想还包括未来容易变更或修改上述说明的实施例获得的实现方式。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1