0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

密码算法实现的SCA防护

Semi Connect 来源:Semi Connect 2023-10-11 09:12 次阅读

对于安全控制器而言,密码算法的实现与安全性紧密相关,密码算法实现

模块应能有效抵御各种侧信道攻击(SCA)。密钥参与的运算所泄露的侧信道信息(如功耗曲线、电磁辐射曲线、时间等)与包括密钥在内的输入数据是相关的,密码算法的安全实现应掩盖或消除这种相关性。

无论对称密码算法还是非对称密码算法,其在安全控制器中的实现均以消除以下关系作为防御侧信道攻击的指导原则。

(1) 密钥运算的数据与所泄露的侧信道信息的关系;

(2)密钥运算所使用的实际数据和输入数据之间的关系。

以非对称密码算法的功耗分析防护为例,可采用如下办法来消除上述关系:进行功耗补偿,使得私钥位为0 或1产生相同的功耗;统一操作,使得私钥位为0或1执行相同的操作;对私钥运算的输入数据或中间值进行随机化,即用随机数掩盖真实数据之后再进行计算。

为防御针对对称密码算法实现的功耗分析,进行功耗补偿、对密钥运算中所使用的中间数据随机化(也称随机掩码 Masking),同样也是主要手段。掩码方法的核心思想是将对称密码运算的中间数据随机化,使功耗不依赖于真实的中间值,这破坏了差分功耗分析(DPA)实施的基本条件,攻击者无法根据中间值将大量明文正确地分组,也无法根据中间值计算预期的假设功耗。用随机数掩盖中间值的操作主要包括异或、加法和乘法三种,相应的掩码方法分别称为布尔掩码、加法掩码和乘法掩码。

人们最初应对侧信道攻击的方法是在芯片输出信号中施加各种噪声,但这些方法的效果并不好,尤其是 DPA 之类的分析方法具有很强的噪声过滤能力。

在电路层面,可以使用双轨逻辑来防御侧信道攻击。双轨逻辑的另一个优势是所有状态有相同的功耗权重,从而使得功耗分析难以实施。但双轨逻辑的实施成本较高,在芯片内设置随机数发生器,使用随机数对密码运算进行保护,是目前抵抗侧信道攻击的最有效、最经济的方式。







审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 控制器
    +关注

    关注

    112

    文章

    15223

    浏览量

    171188
  • SCA
    SCA
    +关注

    关注

    1

    文章

    35

    浏览量

    11900
  • DPA
    DPA
    +关注

    关注

    0

    文章

    29

    浏览量

    15614
  • 密码算法
    +关注

    关注

    0

    文章

    18

    浏览量

    7353
  • 随机数发生器

    关注

    0

    文章

    20

    浏览量

    10944

原文标题:密码算法实现的SCA 防护,密碼算法實現的 SCA 防護

文章出处:【微信号:Semi Connect,微信公众号:Semi Connect】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    通过Python脚本实现WIFI密码的自动猜解

    本文将记录学习下如何通过 Python 脚本实现 WIFI 密码的自动猜解。
    的头像 发表于 01-25 10:46 722次阅读
    通过Python脚本<b class='flag-5'>实现</b>WIFI<b class='flag-5'>密码</b>的自动猜解

    基于单片机的指纹密码锁设计

    利用单片机和指纹识别模块实现指纹密码锁,通过指纹模块采集识别指纹,4*4矩阵键盘输入密码,能够进入管理系统,进入管理后能修改密码、注册指纹,删除指纹等操作。
    的头像 发表于 11-30 09:29 667次阅读
    基于单片机的指纹<b class='flag-5'>密码</b>锁设计

    什么是软件成分分析(SCA)?

    的安全风险至关重要。那么,如何管理开源代码呢?软件成分分析(SCA)又是如何管理开源代码的呢?文章速览:什么是软件成分分析?软件成分分析要求为什么SCA应该成为应用
    的头像 发表于 11-25 08:04 404次阅读
    什么是软件成分分析(<b class='flag-5'>SCA</b>)?

    一种SCA波形库远程管理和SCA波形远程加载运行的技术方案

    电子发烧友网站提供《一种SCA波形库远程管理和SCA波形远程加载运行的技术方案.pdf》资料免费下载
    发表于 10-23 11:30 0次下载
    一种<b class='flag-5'>SCA</b>波形库远程管理和<b class='flag-5'>SCA</b>波形远程加载运行的技术方案

    高安全等级密码模块设计架构解决方案

    算法层面,由于对称密码算法 SM4 没有基于密钥的分支运算,因此对称算法对计时攻击天然免疫,故无须针对上述算法做专门的计时攻击
    发表于 10-17 12:16 548次阅读
    高安全等级<b class='flag-5'>密码</b>模块设计架构解决方案

    密码算法实现的FIA防护

    安全控制器中的密码算法实现模块同样能有效抵御各种故障注入攻击(FIA),目前主要的防护手段包括检错技术和容错技术。
    的头像 发表于 10-12 09:55 269次阅读

    51单片机实现电子密码

    电子发烧友网站提供《51单片机实现电子密码锁.zip》资料免费下载
    发表于 10-11 09:21 1次下载
    51单片机<b class='flag-5'>实现</b>电子<b class='flag-5'>密码</b>锁

    基于Python实现随机森林算法

    机器学习算法是数据挖掘、数据能力分析和数学建模必不可少的一部分,而随机森林算法和决策树算法是其中较为常用的两种算法,本文将会对随机森林算法
    的头像 发表于 09-21 11:17 653次阅读
    基于Python<b class='flag-5'>实现</b>随机森林<b class='flag-5'>算法</b>

    面向OpenHarmony终端的密码安全关键技术

    、随机数产生器等,这一层的功能支撑密码算法或是协议的实现;第二层为密码算法层,密码
    发表于 09-13 19:20

    hash算法在FPGA中的实现(1)

    在FPGA的设计中,尤其是在通信领域,经常会遇到hash算法实现。hash算法在FPGA的设计中,它主要包括2个部分,第一个就是如何选择一个好的hash函数,减少碰撞;第二个就是如何管理hash表。本文不讨论hash
    的头像 发表于 09-07 17:01 599次阅读
    hash<b class='flag-5'>算法</b>在FPGA中的<b class='flag-5'>实现</b>(1)

    基于STM32+华为云IOT实现动态口令密码

    随机密码锁是一种常见的电子锁系统,它使用数字密码代替传统的物理钥匙来进行身份验证和门锁控制。该项目基于STM32微控制器实现一个安全可靠的随机密码锁系统。
    的头像 发表于 07-13 11:46 4776次阅读
    基于STM32+华为云IOT<b class='flag-5'>实现</b>动态口令<b class='flag-5'>密码</b>锁

    加密算法如何保护嵌入式设计

    密码学与用于实现它的算法一样强大。在现代密码学中,我们拥有基本的XOR函数,以及当今许多应用程序中使用的更复杂的算法。在这篇博文中,我将概述
    的头像 发表于 06-28 10:16 311次阅读
    加密<b class='flag-5'>算法</b>如何保护嵌入式设计

    基于模拟电路的电子密码锁设计

    随着科技的不断发展和进步,电子密码锁已经成为了人们日常生活中必不可少的一种安全防护措施。传统的机械密码锁存在着许多缺陷,例如使用不便、易损坏、安全性差等问题。因此,研究开发一种基于模拟电路的电子
    的头像 发表于 06-09 16:13 617次阅读
    基于模拟电路的电子<b class='flag-5'>密码</b>锁设计

    TI电机控制算法里面的SVPWM原理及编程实现算法

    TI电机控制算法里面的SVPWM原理及编程实现算法对研究SVPWM,电机控制有很大的帮助
    发表于 05-15 17:11 9次下载

    SPFA 算法实现原理及其应用

    。因此,我们需要添加一个计数器,记录每个点进队列的次数。当一个点进队列的次数超过图中节点个数时,就可以判定存在负环。 2、代码详解 以下是使用Java实现 SPFA算法的代码,其中Graph类表示有向
    发表于 04-29 12:43