2、硬编码凭证永远不应成为设计过程的一部分。开发人员可以采取的另一项措施是在设备运行之前要求用户更新凭据。如果设备附带默认凭据,则用户应使用强密码或多因素身份验证或生物识别技术更新它们。
3、PKI 和数字证书。公钥基础设施(PKI)和 509 数字证书在安全物联网设备的开发中发挥着关键作用,提供分发和识别公共加密密钥,通过网络进行安全数据交换以及验证身份所需的信任和控制。
4、API 安全性。应用程序性能指标(API)安全性对于保护从 IoT 设备发送到后端系统的数据的完整性至关重要,并确保只有授权设备,开发人员和应用程序才能与 API 通信。
5、身份管理。为每个设备提供唯一标识符对于了解设备是什么,它的行为方式,与之交互的其他设备以及应该为该设备采取的适当安全措施至关重要。随着区块链技术的出现,尽管我们已经朝着这个未来主义的愿景迈近了很多步,但还远远无法达到理想的目标。以下简单地列出了一些关键的局限性:
1、缺少专门为物联网设备开发的主流区块链网络(注意:截至本文撰稿时间,还没有任何区块链系统称得上是「主流的」);
2、设备制造商尚未将加密密钥嵌入到所有硬件中,也没有把与区块链的兼容性确立为一个通用标准;
3、用于保证隐私保护算法的软件加密方法效率极低且不切实际 [1],而硬件解决方案则需要建立在对制造商和整个制造供应链完全信任的基础上。因此止数据盗版很难被防止;
4、人工智能还不够精密,无法在设备中实现这种高度自主的决策行为;
5、为了进一步消除链上交易风险,还需要确立相应的法律手段,但是只有有限的国家和地区 [2] 才承认链上智能合约具有和链下合约同等的法律约束力。
但即使存在这些局限性,区块链依旧具有提供广泛增值应用的潜力,能够解决物联网面临的许多技术。首先,让我们更深入地了解区块链技术当前的进展,以及我们可以做些什么来改善现有技术水平。
为物联网设备开发的区块链网络
考虑到区块链和物联网之间的所有协同作用,一个能够完美适配物联网需求的区块链网络会具备哪些特征?尽管许多区块链技术在本质上都是基础性的,并不会明显侧重于特定应用,但在公共分类帐层面,有许多设计和优化选择能够反映设计者在开发过程中考虑到的应用堆栈。
物联网设备的特征及其对区块链网络设计的影响
在谈及物联网,特别是将其与现有区块链网络上运行的节点做对比时,我们需要明确一点:目前所有的区块链网络,都依赖于功能强大且始终联网的服务器来执行所有记录保存和共识任务。当下显而易见的是,我们所认为的大多数「物联网」设备,或者更小的,有时是移动的联网设备,其受限且独有的特征并不适合上述情况。
「IoT」一词基本上被用于指代任何连入互联网的设备,我们可以对这些设备的特征做一些总结性的陈述:
大规模:[3] 据一些统计显示,物联网设备的数量已经超过了世界人口,并将继续以更快的速度增长;
有限的算力:[4] 即使是与普通笔记本电脑的处理能力相比,物联网设备的算力在量级上往往也排不上号;
有限的存储空间:大多数物联网设备的初衷并不是在本地存储信息,而是单纯的信息中继(例如上传到云端),因此其存储空间非常有限;
有限的带宽和网络连接性:许多物联网设备在没有可靠网络连接的野外环境运行,联网成本高昂(例如,树林深处的卫星网络);
能耗限制:许多物联网设备使用电池或通过能量采集机制运行,这严重限制了其能耗。
那么想要设计最适合物联网设备的区块链网络,需要满足哪些关键指标?
1、网络需具备可扩展性:考虑到可能有数十亿个设备连接到任何特定的区块链网络,该网络必须能够扩展其处理交易和请求的能力。
2、网络需支持通用资产的发现和交易:物联网设备上有许多可交易的数字资产和资源(例如数据),其中不仅仅是货币。因此还需要发现这些资产的途径。
3、网络需支持选择性存储:考虑到物联网设备的所有局限性,它们将只能参与网络的一个小的子集,并且必须仔细甄选每个设备所存储和处理的内容。
4、网络不能仅仅依靠「工作」来维持安全性:网络安全不能单纯基于解决复杂的密码难题,这会使物联网设备难以执行区块链事务。
5、网络需支持去信任的轻节点:目前的物联网设备并不足以支持全节点的 *** 作,但仍需要保持其在区块链网络上的独立性,因此在物联网设备上运行的「轻」节点不能太过天真(即盲目地信任另一个全节点),并且应该具备某种方法能够验证网络状态和状态转换。
6、网络需支持点对点交易:IoT 设备之间的许多事务都是高度本地化的,即设备彼此相邻,不可能每次都去等待全网验证造成的延时。
综上,即便目前区块链与物联网的结合还存在许多局限性,在满足上述关键指标的基础上,就能够设计出最适合物联网设备的区块链网络,从更好地赋能物联网生态。国密算法:国家密码局认定的国产密码算法,即商用密码。
非对称密码(公钥算法):SM2,SM9
对称密码(分组密码,序列密码):SM1,SM4,SM7,ZUC
杂凑算法(散列,哈希算法):SM3
概述 : 对称加密算法(分组密码) ,分组长度128位,密钥长度128位, 算法不公开 ,通过加密芯片的接口进行调用。
场景 :采用该算法已经研制了系列芯片、智能IC卡、智能密码钥匙、加密卡、加密机等安全产品,广泛应用于电子政务、电子商务及国民经济的各个应用领域(包括国家政务通、警务通等重要领域)。
概述 : 非对称加密算法(公钥算法) ,加密强度为256位,是一种椭圆曲线算法。
公钥密码学与其他密码学完全不同, 使用这种方法的加密系统,不仅公开加密算法本身,也公开了加密用的密钥。公钥密码系统与只使用一个密钥的对称传统密码不同,算法是基于数学函数而不是基于替换和置换。公钥密码学是非对称的,它使用两个独立的密钥,即密钥分为公钥和私钥,因此称双密钥体制。双钥体制的公钥可以公开,因此称为公钥算法。
使用私钥加密后的密文只能用对应公钥进行解密,反之使用公钥加密的密文也只能用对应的私钥进行解密。通过对私钥进行椭圆曲线运算可以生成公钥,而由于椭圆曲线的特点,知道公钥却很难反推出私钥,这就决定了SM2算法的安全性。SM2算法最常见的应用是进行身份认证,也就是我们熟知的数字签名与验签,通过私钥的私密性来实现身份的唯一性和合法性。
场景: 适用于商用应用中的 数字签名和验证 ,可满足多种密码应用中的 身份认证 和 数据完整性,真实性 的安全需求。
场景: 适用于商用密码应用中的 密钥交换 ,可满足通信双方经过两次或可选三次信息传递过程,计算获取一个由双方共同决定的共享秘密密钥(会话密钥)。
场景: 适用于国家商用密码应用中的 消息加解密 ,消息发送者可以利用接收者的公钥对消息进行加密,接收者用对应的私钥进行解,获取消息。
涉及国密标准: GB/T 329181-2016、GB/T 329182-2016、GB/T 329183-2016、GB/T 329184-2016、GB/T 329185-2017、GB/T 35275-2017、GB/T 35276-2017。
概述:哈希算法(散列算法,杂凑算法) ,任意长度的数据经过SM3算法后会生成长度固定为256bit的摘要。SM3算法的逆运算在数学上是不可实现的,即通过256bit的摘要无法反推出原数据的内容,因此在信息安全领域内常用SM3算法对信息的完整性进行度量。
场景: 适用于商用密码应用中的 数字签名和验证 , 消息认证码的生成与验证 以及 随机数的生成 ,可满足多种密码应用的安全需求。
涉及国密标准: GB/T 32905-2016
概述:对称加密算法(分组密码) ,分组长度128位,密钥长度128位,使用某一密钥加密后的密文只能用该密钥解密出明文,故而称为对称加密。SM4算法采用32轮非线性迭代实现,加解密速度较快,常应用于大量数据的加密,保存在存储介质上的用户数据往往就使用SM4算法进行加密保护。
场景:大量数据的加密,解密,MAC的计算 。
分组密码就是将明文数据按固定长度进行分组,然后在同一密钥控制下逐组进行加密,从而将各个明文分组变换成一个等长的密文分组的密码。其中二进制明文分组的长度称为该分组密码的分组规模。
分组密码的实现原则如下:必须实现起来比较简单,知道密钥时加密和脱密都十分容易,适合硬件和(或)软件实现。加脱密速度和所消耗的资源和成本较低,能满足具体应用范围的需要。
分组密码的设计基本遵循混淆原则和扩散原则
①混淆原则就是将密文、明文、密钥三者之间的统计关系和代数关系变得尽可能复杂,使得敌手即使获得了密文和明文,也无法求出密钥的任何信息;即使获得了密文和明文的统计规律,也无法求出明文的任何信息。
②扩散原则就是应将明文的统计规律和结构规律散射到相当长的一段统计中去。也就是说让明文中的每一位影响密文中的尽可能多的位,或者说让密文中的每一位都受到明文中的尽可能多位的影响。
涉及国密标准: GB/T 32907-2016
概述 : 对称加密算法(分组密码) ,分组长度128位,密钥长度128位, 算法不公开 ,通过加密芯片的接口进行调用。
场景 :适用于非接触式IC卡,应用包括身份识别类应用(门禁卡、工作z、参赛证),票务类应用(大型赛事门票、展会门票),支付与通卡类应用(积分消费卡、校园一卡通、企业一卡通等)。
概述:非对称加密算法(标识密码) ,标识密码将用户的标识(如邮件地址、手机号码、QQ号码等)作为公钥,省略了交换数字证书和公钥过程,使得安全系统变得易于部署和管理,非常适合端对端离线安全通讯、云端数据加密、基于属性加密、基于策略加密的各种场合。
SM9算法不需要申请数字证书,适用于互联网应用的各种新兴应用的安全保障。如基于云技术的密码服务、电子邮件安全、智能终端保护、物联网安全、云存储安全等等。这些安全应用可采用手机号码或邮件地址作为公钥,实现数据加密、身份认证、通话加密、通道加密等安全应用,并具有使用方便,易于部署的特点,从而开启了普及密码算法的大门。
概述 : 对称加密算法(序列密码) ,是中国自主研究的流密码算法,是运用于移动通信4G网络中的国际标准密码算法,该算法包括祖冲之算法(ZUC)、加密算法(128-EEA3)和完整性算法(128-EIA3)三个部分。目前已有对ZUC算法的优化实现,有专门针对128-EEA3和128-EIA3的硬件实现与优化。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)