当前位置: 首页 > news >正文

一文看懂智能终端密码模块

如果你看过清宫戏,对雍正矫诏篡位的桥段一定不陌生。他串通大臣拿到了传位诏书,把诏书上的“传位十四阿哥”改成了“传位于四阿哥”,顺利的坐上龙椅,出任皇帝,走上人生巅峰。(只是讲述故事剧情,不是说真实历史,请勿当真)

对于普通人来说,这不过是稗官野史,子虚乌有。但对于信息安全从业者来说,这种信息被劫持、被篡改的事件在数字世界屡见不鲜,每一次都会给企业和个人造成重大损失。为了不让数字世界的“雍正”得逞,工程师们为信息叠加了逻辑严密、环环相扣的安全buff……

图片

如何让信息机密又完整?

想要弄明白工程师如何为信息叠buff,先要从安全三要素——可用性、机密性、完整性说起。这三要素是前人通过无数实践总结而来,被视为安全问题的组成属性。以三要素为视角,我们可以轻松堵上“诏书”的安全BUG。

先来看可用性。可用性要求保护资源是“随需而得”,DoS(拒绝服务攻击)是破坏可用性的典型手段。以雍正矫诏为例,DoS攻击相当于他伪造了十万份诏书,让核验诏书的机构直接崩溃。“雍正”没这么做,DoS攻击走的也不是篡改信息的路线,我们直接略过。

图片

再来看机密性。机密性要求数据内容不能泄露加密是实现机密性要求的常见手段。我们以“传位十四阿哥”为例,每个字都用首个拼音字母代替,就变成了“cwyssag”。再把拼音字母之间建立映射关系,c→b,w→z,y→a,s→d,a→p,g→h,这句话就变成了“bzaddph”。经过这么一番操作,信息就从明文变成了密文,难以被破译和篡改。

图片

在现实中,借助更为复杂、精密的算法密钥,信息被更加安全的加解密。但是,算法和密钥这对搭档却被“区别对待”——在现代密码学中,信息的安全基于密钥的保密而不是算法的保密。这是因为公开的算法能够让更多人参与到算法的设计和验证中,保证算法的安全性、透明性、通用性。常用的算法如AES、DES、RSA都是公开算法,经过了无数次实战检验,安全性大可放心。相比之下,密钥的安全性需要工程师再动一番脑筋。

为了解决这个难题,工程师们寄出了“非对称加密算法”这件法宝。对称加密是指加密和解密使用同一个密钥,非对称加密则需要公钥和私钥两个配对的密钥,公钥和私钥之间存在唯一对应关系,用公钥加密的信息只有对应的私钥能解密。如果用开关锁做比喻,对称算法是用同一把钥匙开锁和关锁,而非对称算法使用两把不同的钥匙。在此机制下,通信双方只需保管好各自的私钥,信息的机密性便能得到保障。

图片

最后来看完整性。完整性要求保护数据内容是完整的、没有被篡改的,数字签名是保证信息完整性的有效手段。数字签名相当于信息发送方给信息签名盖章,接受方通过对比签章,判断信息是否完整、是否被篡改。

与加密、解密一样,数字签名也有签名验签两个环节。存在唯一对应关系的私钥和公钥是数字签名的绝佳工具。信息发送方使用自己的私钥对信息进行签名,为信息生成唯一标识,接收方使用对应的公钥验签,就能证明信息来源是否合法。在这种机制下,只要私钥安全,攻击者就无法伪造发送方的数字签名,信息的完整性就能得到保障。

图片

为了便于理解,我们可以把数字签名视为“传位诏书”封皮上的火漆印章。为了保险,火漆上的印章和虎符一样分成了严格匹配的两半,一半放在在军机处,一半放在指定的王公大臣手里。“雍正”就算拿到了诏书、篡改了内容,也没法同时伪造两个印章来证明诏书的完整性,自然无法篡位成功。

图片

芯盾时代智能终端密码模块(PMIT)

看到这里,很多小伙伴已经发现了保证信息的机密性和完整性的三个关键因素。

  • 第一,是生成私钥的算法是否安全,只有算法安全,才能保证私钥独一无二、无法复制。
  • 第二,是密钥、尤其是私钥的存储环境是否安全,密钥终究要存储在设备之中,如果存储环境不安全,密钥可能会被“雍正”窃取。
  • 第三,是密钥的使用环境否安全,如果加密和解密、签名和验签的进程被人监听,关键数据有可能会被重放,密钥有可能被破解。

图片

找到了关键因素,就可以对症下药。针对这三个问题,芯盾时代基于零信任理念,打造了智能终端密码模块(PMIT),通过三重防护让信息又机密又完整:

第一重:分割密钥技术

在私钥的算法上,芯盾时代采用自主研发的分割密钥技术生成私钥,将用户的私钥拆分成为两半,一半存放在客户端,一半存放在服务端,借助服务端更完备的防御体系、更安全的存储环境避免完整私钥被窃取。密钥被拆分后,使用私钥签名时需要客户端与服务端相互配合,签名和验签的安全性得到了提升,就算攻击者获取了存储在客户端的部分私钥,也无法伪造数字签名。

图片

第二重:白盒算法

密钥终归是数据。黑客通过调试器、dump内存等手段搭建白盒环境,获取App运行过程中过的所有数据,对密钥和数字证书进行还原和破解。为了保证白盒环境下的密钥安全,芯盾时代采用白盒算法,采用分段加密、部分加密等方式保护密钥和数字证书存储及运行过程安全,让攻击者望数据兴叹。

第三重:安全数据沙箱

在白盒算法的基础上,芯盾时代更进一步,用终端安全数据沙箱构建可信的运行环境,配合独立进程保护,在终端形成独立的软件数据防护区域,防止关键数据被窃取、被篡改,保证加解密过程的安全可控。

除了用三重防护保证密钥的安全,芯盾时代智能终端密码模块(PMIT)还全面支持国密算法,满足密码应用安全性测评要求。

有了智能终端密码模块(PMIT),芯盾时代的“智能业务安全产品线”能保障金融企业的业务安全稳定运行,让C端用户用手机银行App安心进行各种操作;“零信任企业安全产品线”能保证企业远程办公、远程开发、远程运维的安全,让员工更安全的访问企业内网。

图片

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • ElasticSearch索引和搜索词匹配的一些细节
  • 企业级环境部署:在 Linux 服务器上如何搭建和部署 Python 环境?
  • Vue+ElementUI+Electron环境搭建及程序打包
  • 广电数安 未来已展 | 天空卫士亮相BIRTV2024
  • 探索音视频SDK在软件集成与私有化部署中的技术难题与解决策略
  • Gartner首次发布AI代码助手魔力象限,阿里云进入挑战者象限,通义灵码产品能力全面领先
  • 解锁 QLExpress:高效数据处理的神器
  • springboot嵌入式数据库实践-H2内嵌数据库(文件、内存)
  • 服务器机房与数据中心的区别?
  • linux 杀死所有 python进程的命令
  • nginx反向代理,负载均衡,动静分离
  • Linux下TCP编程
  • 编成笔记-atan2函数学习分析
  • RabbitMQ 性能优化
  • E:Failed to fetch的解决方案——Linux换源方法
  • 【附node操作实例】redis简明入门系列—字符串类型
  • Angular Elements 及其运作原理
  • golang 发送GET和POST示例
  • Javascript 原型链
  • java中的hashCode
  • Laravel Telescope:优雅的应用调试工具
  • passportjs 源码分析
  • Promise面试题,控制异步流程
  • spark本地环境的搭建到运行第一个spark程序
  • webgl (原生)基础入门指南【一】
  • win10下安装mysql5.7
  • 计算机常识 - 收藏集 - 掘金
  • 前端技术周刊 2019-02-11 Serverless
  • 深入浅出webpack学习(1)--核心概念
  • 一天一个设计模式之JS实现——适配器模式
  • 以太坊客户端Geth命令参数详解
  • 正则表达式小结
  • FaaS 的简单实践
  • ​​​​​​​STM32通过SPI硬件读写W25Q64
  • ​flutter 代码混淆
  • ​一、什么是射频识别?二、射频识别系统组成及工作原理三、射频识别系统分类四、RFID与物联网​
  • (1)安装hadoop之虚拟机准备(配置IP与主机名)
  • (3)Dubbo启动时qos-server can not bind localhost22222错误解决
  • (Matalb时序预测)PSO-BP粒子群算法优化BP神经网络的多维时序回归预测
  • (poj1.2.1)1970(筛选法模拟)
  • (九十四)函数和二维数组
  • (五)大数据实战——使用模板虚拟机实现hadoop集群虚拟机克隆及网络相关配置
  • (一)Mocha源码阅读: 项目结构及命令行启动
  • (转)LINQ之路
  • (转载)在C#用WM_COPYDATA消息来实现两个进程之间传递数据
  • ****** 二 ******、软设笔记【数据结构】-KMP算法、树、二叉树
  • *算法训练(leetcode)第四十五天 | 101. 孤岛的总面积、102. 沉没孤岛、103. 水流问题、104. 建造最大岛屿
  • . ./ bash dash source 这五种执行shell脚本方式 区别
  • .naturalWidth 和naturalHeight属性,
  • .Net MVC + EF搭建学生管理系统
  • .Net Web项目创建比较不错的参考文章
  • .NET 表达式计算:Expression Evaluator
  • .NET 指南:抽象化实现的基类
  • .NET(C#) Internals: as a developer, .net framework in my eyes
  • .NET中winform传递参数至Url并获得返回值或文件