910 likes | 1.2k Views
现代密码学 vs 集成电路技术. 白国强 清华大学 微电子学研究所 2012 年 8 月 11 日 . 合肥. 提纲. 现代密码学 现代半导体与集成电路技术 从密码学看集成电路技术 密码算法的集成电路实现 密码电路的安全保护 从集成电路技术看现代密码学 结论. 现代密码学. 诞生 上世纪七十年代的几个重要事件,成了现代密码学诞生的标志: 1971—1972 年 IBM 设计了分组算法 LUCIFER 算法。 1976 年, Diffie 和 Hellman 公钥密码思想的提出。 1977 年 NBS (现在的 NIST )完成了 DES 算法的制定。
E N D
现代密码学vs集成电路技术 • 白国强 • 清华大学 微电子学研究所 • 2012年8月11日.合肥
提纲 • 现代密码学 • 现代半导体与集成电路技术 • 从密码学看集成电路技术 • 密码算法的集成电路实现 • 密码电路的安全保护 • 从集成电路技术看现代密码学 • 结论
现代密码学 • 诞生 • 上世纪七十年代的几个重要事件,成了现代密码学诞生的标志: • 1971—1972年IBM设计了分组算法LUCIFER算法。 • 1976年,Diffie和Hellman公钥密码思想的提出。 • 1977年NBS(现在的NIST)完成了DES算法的制定。 • 1978年RSA算法的发明。 • 发展 • 八十年代:序列分析,ElGamal, ECC, 安全协议、杂凑算法性理论。 • 九十年代:DSA, IDEA, MD5, SHA, AES。 • 走向成熟:当前的主要研究内容 • 各种密码算法的分析与设计。 • 各种安全协议的分析与设计。
现代密码学 • 密码算法类型与典型算法 • 序列密码(流密码) • Geffe • A5/A1 • 分组密码 • DES,IDEA,3DES,AES。 • SMS4。 • 公钥密码 • RSA • ECC • Hash函数 • MD5,SHA-1 • SHA-3
Geffe序列密码生成器 • 使用3个LFSR,通过非线性方式组合而成。 sj-1 sj-2 sj-3 sj-L sj=c1sj-1,+c2sj-2,+…+cLsj-L
LFSR-2 LFSR-1 LFSR-3 LFSR-2 LFSR-1 LFSR-3 • 停走式序列密码发生器 • 用一个LFSR的输出控制另一个LFSR的停走。 • 交错停走式序列密码发生器 时钟
LFSR-1 LFSR-2 LFSR-3 • A5/1序列密码发生器(GSM移动通信) • 由三个LFSR驱动。三个LFSR的异或作为输出。 • 三个LFSR的特征多项式如下 • f1(x)=x19+x18+x17+x14+1 • f2(x)=x22+x21+1 • f3(x)=x23+x22+x21+x8+1 • 密钥长度64比特,作为三个LFSR的初始状态。 • 每个LFSR的时钟由其中间位控制。 • 安全性 • 穷尽空间:254。 • 248预计算,146GB存储,1分种攻破 • 242预计算,300GB存储,1秒种攻破 • 238预计算,64GB存储,240步攻破
时钟 控制 19 18 17 16 15 1413 12 11 10 9 8 7 6 5 4 3 2 1 22 21 20 19 18 17 16 15 1413 12 11 10 9 8 7 6 5 4 3 2 1 23 22 21 20 19 18 17 16 15 1413 12 11 10 9 8 7 6 5 4 3 2 1
分组密码 加密变换 明文: 密文: DES算法
明文P 密钥K 明文P 初始密钥加 K0=K 密钥加 逆字节替换 1 字节替换 逆行移位 行移位 9 列混合 逆列混合 密钥加 K1 密钥加 逆字节替换 逆行移位 9 字节替换 行移位 1 列混合 逆列混合 密钥加 K9 密钥加 10 逆字节替换 字节替换 逆行移位 行移位 密钥加 K10 初始密钥加 密文C 密文C AES算法
字节替换表格通常称为S-盒。输入的高4比特记为x,低4比特记为y。字节替换表格通常称为S-盒。输入的高4比特记为x,低4比特记为y。 • 例如:输入:01101011,高4比特0110,低4比特1011,查表结果为7F=01111111 S-盒
字节替换的原理 • 分两步进行。假设输入字节为a,替换后的输出为b。 • 视a为GF(28)上的元素。计算a的逆a-1。约定0的逆为0。 • 对a-1作如下的仿射变换,最后得到b: • b=A·a-1⊕c • 其中,A是一个如下的8×8矩阵。C是一个固定的列向量。 • 上述运算中,有限域GF(28)的域多项式取作下面的多项式: • m(x)=x8+x4+x3+x+1
RSA算法 • 选定密钥 • 随机选取两个大素数p和q。 • 计算n=pq,φ(n)=(p-1)(q-1) • 随机选取正整数d,满足0<d< φ(n), gcd(d, φ(n))=1 • 计算e=d-1mod φ(n)。 • 公开e和n作为用户A的公钥。保密d, 以及p和q。d是用户A的私钥。 • 加密 • 对消息M,假设0<M<n。 • 计算C=Memodn • 解密 • 计算P=Cdmodn
ECC算法 • 参数选取 • 选定基于:GF(2m),GF(P)。 • 选一个方程E:y2=x3+ax+b • 计算E上的点数#E,并分解之。如有大素因子,则确定E。 • 选择E上基点P0=(x0,y0)。 • 选择私钥kA,计算公钥 • PA=kAP0 • 签名产生 • 关键计算:Q=kP0。 • 签名验证 • 关键计算:kP+lQ
512bit 512bit … 512bit 512bit 512位消息分组 80个32位子分组 20个 20个 20个 20个 160 SHA-1 160 SHA-1 160 160 SHA-1 160 SHA-1 160 A B C D E 第2轮 … 第3轮 第4轮 A B C D E 第1轮 + + + + + 杂凑算法SHA-1
现代密码学 • 密码算法的实现 • 最方便实现 • 笔和纸 • 算盘,。。。 • 软件实现 • 普通:对通用CPU编程 • 嵌入式:对嵌入式小CPU编程 • 硬件实现 • FPGA:现场可编程门阵列电路 • ASIC:面向应用的专用集成电路 • 对加速引擎编程。公钥算法多是这种情况,如RSA,ECC • 直接完整的算法实现。分组算法多是这种情况。
现代半导体与集成电路技术 • 1907年,发明电子管。 • 1947年12月,发明晶体管。 • 1958年,发明集成电路。 • 至今,微电子科技创造了人类科技奇迹。 • 现在:世界半导体产业的年销售额已超过3000亿美元。 • 集成电路(IC)制造:从最初的4微米特征尺寸,到现在的45纳米,目前正向32纳米转移。 • 芯片集成度已至吉规模(GSI, giga scale, 109)。 • 加工的晶圆直径进入300mm(12英寸)时代。 • IC的规模已达到把整个系统集成到一个芯片,即系统芯片(SoC, System on a Chip)的阶段。 • 制造能力走在设计能力的前面
现代半导体与集成电路技术 摩尔(Moore)定律 • 1965年4月,Gorden Moore在美国Electronics杂志35周年纪念文章中预言“芯片元件数每18月增倍,而元件成本减半”。 • 该定律揭示了IC能力随时间按指数规律增长 • 特征尺寸减小,集成度提高。芯片尺寸面积减小。 • 性能与功能提高,成本降低。 • 在集成电路发明后的50多年中,特征尺寸由几百微米开始,逐渐缩小到几十微米,几微米。从上世纪九十年代开始,进入1微米以内。目前已到几十纳米。 • 晶圆尺寸:由4英寸,到6英寸,8英寸。目前已到12英寸。
现代半导体与集成电路技术 • Moore定律演进图 19
现代半导体与集成电路技术 世界半导体产业和市场 2010: 2990亿美元。 2011: 3150亿美元。 21
现代半导体与集成电路技术 • 我国半导体产业与市场 • 市场: • 我国从2005年起成为世界最大芯片市场:规模$408亿美元。 • 市场规模超过北美和日本。 • 美国:$365亿。中国:$408亿。日本:$330亿。
现代半导体与集成电路技术 我国半导体产业与市场 • 2008年,市场规模为$952亿美元,占世界市场的38.3% 我国市场占世界市场份额
现代半导体与集成电路技术 • 产业 • 我国IC产业销售额状况 • 2008年1246.82亿元。 • (182.82亿美元) • 2011年1572亿。 • 以低端IC和分离器件为主 • 产业跟不上,市场被人占: • 我国IC产业销售额占世界IC市场的份额 • 2008年占到7.51% • (而需求占到38.3%) • 2011年,集成电路进口 • 1702亿美元 • 供需缺口巨大,半导体一直 • 是中国贸易逆差最大领域, • 远远超过石油。
现代半导体与集成电路技术 • 21世纪微电子科技发展的两个方向 • 由集成电路(IC)向集成系统(IS)转变——微系统 • 由微电子学向纳电子学转变——纳电子学 • SOC是IC向IS转变最迫切、最现实的方向 • 20世纪是集成电路(IC)时代,21世纪则是集成系统(IS)时代 • SOC是当前最迫切、现实的方向 • More than Moore(产品多功能化)相对比重逐年增大
从密码学看集成电路技术:密码算法的集成电路实现从密码学看集成电路技术:密码算法的集成电路实现 • DES算法的集成电路实现 • 最早的DES芯片应该出现在上世纪70年代。 • 到80年代已有商业化芯片,速度在Mbps量级。以下是90年代的学术研究结果。 • 关键问题:S-盒的实现,需要查表。占面积;提高频率的瓶颈。 • 最近10年,由于集成电路技术的进步,DES芯片的设计已很容易。
从密码学看集成电路技术:密码算法的集成电路实现从密码学看集成电路技术:密码算法的集成电路实现 • AES算法的集成电路实现 • 字节替换(S-盒)为关键 • 紧致实现(小面积、低功耗) • 通过塔域方法,直接计算S-盒 • 500-1000门电路即可实现 • 高速实现 • 直接计算S-盒 • 用混合基方法直接计算AES的S-盒(CHES2010) 会议“Cryptographic Hardware and Embedded Systems ”(CHES)自1999年创立,现在是国际密码学会主办的最重要的主题会议之一,每年有300多人参加。
从密码学看集成电路技术:密码算法的集成电路实现从密码学看集成电路技术:密码算法的集成电路实现 • AES算法的集成电路实现 • 以下为学术研究的一些结果
从密码学看集成电路技术:密码算法的集成电路实现从密码学看集成电路技术:密码算法的集成电路实现 • RSA的集成电路实现 • 以下为RSA算法最早期的集成电路实现结果 29
从密码学看集成电路技术:密码算法的集成电路实现从密码学看集成电路技术:密码算法的集成电路实现 • RSA算法的集成电路实现 • 主要运算:Y=(md)modN • 核心运算:X=(A·B)ModN, 即模乘运算。关键为模运算。 • 模运算方法 • 普通除法,太费时 • Barret算法,免除法,但可能需预计算多个值。 • Montgomery算法,免除法,预计算两个值。 • 芯片设计技术 • 脉动阵列电路方法,芯片工作频率高,但计算一次需要的周期数也多。 • 大乘法器方法,计算周期数少,但需要大的电路驱动能力。 • 冗余数 • 免进位加法器
从密码学看集成电路技术:密码算法的集成电路实现从密码学看集成电路技术:密码算法的集成电路实现 • RSA的集成电路实现 • 以下为RSA算法芯片的一些产品情况
从密码学看集成电路技术:密码算法的集成电路实现从密码学看集成电路技术:密码算法的集成电路实现 • RSA的集成电路实现 • 以下是RSA算法电路实现的一些研究结果
从密码学看集成电路技术:密码算法的集成电路实现从密码学看集成电路技术:密码算法的集成电路实现 • ECC算法的集成电路实现 • ECC的灵活多样,即多参数,给芯片实现带来困难。 • 芯片定义是个问题。 • 对外提供的运算功能 • 支持的有限域类型:GF(2m),GF(p) • 支持的有限域大小:160,192,256, • 研究状况 • 支持特定GF(2m)情况居多, • 支持所有素数域GF(p) • 支持若干特定曲线,NIST曲线。
从密码学看集成电路技术:密码算法的集成电路实现从密码学看集成电路技术:密码算法的集成电路实现 • ECC算法的集成电路实现 • 部分研究成果
从密码学看集成电路技术:密码算法的集成电路实现从密码学看集成电路技术:密码算法的集成电路实现 • Hash函数的集成电路实现 • Hash函数的电路实现是当前密码算法芯片实现研究中的一个热点。以下为部分研究结果
从密码学看集成电路技术:密码算法的集成电路实现从密码学看集成电路技术:密码算法的集成电路实现 • 真随机数生成器 • 真随机数集成电路生成的重要性 • 真随机数是所有安全方案实际安全性的第一源动力 • 方式 • ASIC:独立芯片;电路模块。 • FPGA:需求场合多,非常困难。(CHES2010) • 方法 • 基于热噪声 • 基于环型振荡器 • 基于混沌的。 • 难点 • 获得理想随机特性并不容易 • 与工艺密切相关 • 功耗、速度都是问题。 • 是一个值得持续研究的课题。
清华大学微电子所相关工作—密码芯片 • THECC/233-100芯片 • 2004年3月完成 • 中芯国际0.18微米工艺 • 2.34×2.34mm2 • 密钥长度233bit • 直接进行签名和验证 • 每秒3000次签名 • 数字证书芯片 • 2007年7月流片 • SMIC 0.18 EEPROM工艺 • 支持国标算法: • ECC • SCB2 • SCH • 支持国际算法
清华大学微电子所相关工作-密码芯片 • 高速ECC算法专用芯片 • SMIC 0.18工艺 • 5×5mm2 • 高速网络安全处理器芯片 • 0.13工艺 • 支持国际密码算法标准 • RSA,SHA-1,RC4 • 支持国家密码算法标准 • ECC,SCB2,SCH杂凑
清华大学微电子所相关工作—真随机数 • 多个真随机数产生芯片 • 基于热噪声 • 基于混沌原理
从密码学看集成电路技术:密码算法的集成电路实现从密码学看集成电路技术:密码算法的集成电路实现 • 近年状况 • 集成电路技术的进步以及持续的学术研究,使得当前用集成电路实现任何一种常用密码算法,显得比较容易。 • 对大多数密码算法,实现目标朝两个极端方向发展 • 紧凑性实现:极小面积,极低功耗。 • 高速实现:速度优先,不太考虑面积和功耗。 • 由过去的单芯片单功能,发展到了单芯片多功能,即单独一块芯片实现多种密码算法。即SOC密码芯片: • 客户端情况。智能IC卡芯片是最典型一类。其中可能会包括3DES,AES,RSA,SHA-1等算法。包括什么算法是由应用标准决定的。 • 服务端情况:高速SOC密码协处理器。 • 如何比较各种实现,是个复杂问题。
从密码学看集成电路技术:密码电路的安全保护从密码学看集成电路技术:密码电路的安全保护 • 密码电路的安全性 • 攻击目标 • 获取密钥。 • 获取用户其它信息。 • 获取被实现算法。 • 攻击方法 • 侧信道攻击(非入侵式攻击)。 • 能量攻击。 • 错误攻击。 • 电磁攻击。 • 半入侵式攻击。 • 入侵式攻击。 • 木马和恶意电路攻击。
从密码学看集成电路技术:密码电路的安全保护从密码学看集成电路技术:密码电路的安全保护 • 差分功耗分析 • P.Kocher1999年针对攻击DES算法的实现引入。 • 思想:运行DES算法设备时,在加密(或解密)过程中某个时段的电流值,与该时段内处理的包含有密钥信息的变量有关。这个变量由密钥和被加密的数据组成。更换数据,密钥不变,多次重复,同时收集该时间段内的能量消耗情况,即可利用这些信息容易判断出攻击者对密钥的猜测是否正确。由此,可以得到运行中的密钥。 • 基于这一思想的攻击称为DPA(Differential Power Analysis)。 • DPA对所有其他密码算法也十分有效。 • 目前对DPA的防止,只能做到增加攻击难度,不能完全消除。 • 在DPA的启发下,已提出了各种攻击密码设备的侧信道方法。 • IC卡芯片已成能量攻击的最大牺牲品: • 理由为:攻击者容易得到和操控芯片。 • 提高IC卡芯片的安全性已成为巨大产业最重要的技术问题。
清华微电子所在功耗攻击方面的工作 • 抗攻击成果 • 算法级:ECC,RSA,3DES,AES等算法的抗攻击研究 • 电路级:功耗平衡基本运算单元研究 • 门级:抗功耗攻击单元门电路研究 • 芯片反解剖工程研究 • ECC算法抗攻击研究 • THECC/233-100芯片的抗攻击研究 43
清华微电子所在功耗攻击方面的工作 k0P-k1P k0P-k2P k0P-k3P k0=1110 x x xx….xx k0P k1=1110 1 1 11…..11 k1P k2=11100 1 11…..11 k2P k3=1110 0 0 11…..11 k3P kmP km=11100 0 10….01 对ECC芯片多指数单数据(MESD)攻击 P k0P,k1P,k2P,k3P … k0 k1 ,k2 ,k3 … THECC-100
清华微电子所在功耗攻击方面的工作 2012年6月份完成