91
现现现现现 现现现现现 vs vs 现现现现现现 现现现现现现 现现现 现现现 现现现现 现现现现现现现 现现现现 现现现现现现现 2012 2012 8 8 11 11 . . 现现 现现

现代密码学 vs 集成电路技术

  • Upload
    vinson

  • View
    74

  • Download
    5

Embed Size (px)

DESCRIPTION

现代密码学 vs 集成电路技术. 白国强 清华大学 微电子学研究所 2012 年 8 月 11 日 . 合肥. 提纲. 现代密码学 现代半导体与集成电路技术 从密码学看集成电路技术 密码算法的集成电路实现 密码电路的安全保护 从集成电路技术看现代密码学 结论. 现代密码学. 诞生 上世纪七十年代的几个重要事件,成了现代密码学诞生的标志: 1971—1972 年 IBM 设计了分组算法 LUCIFER 算法。 1976 年, Diffie 和 Hellman 公钥密码思想的提出。 1977 年 NBS (现在的 NIST )完成了 DES 算法的制定。 - PowerPoint PPT Presentation

Citation preview

Page 1: 现代密码学 vs 集成电路技术

现代密码学现代密码学 vsvs 集成电路技集成电路技术术

白国强白国强

清华大学 微电子学研究所清华大学 微电子学研究所

20122012年年 88 月月 1111日日 .. 合肥合肥

Page 2: 现代密码学 vs 集成电路技术

提纲提纲

现代密码学

现代半导体与集成电路技术

从密码学看集成电路技术

密码算法的集成电路实现

密码电路的安全保护

从集成电路技术看现代密码学

结论

Page 3: 现代密码学 vs 集成电路技术

现代密码学现代密码学 诞生

上世纪七十年代的几个重要事件,成了现代密码学诞生的标志: 1971—1972年 IBM 设计了分组算法 LUCIFER 算法。 1976 年, Diffie和Hellman 公钥密码思想的提出。 1977年NBS (现在的 NIST )完成了 DES 算法的制定。 1978年 RSA 算法的发明。

发展 八十年代:序列分析, ElGamal, ECC, 安全协议、杂凑算法性理论。 九十年代: DSA, IDEA, MD5, SHA, AES 。

走向成熟:当前的主要研究内容 各种密码算法的分析与设计。 各种安全协议的分析与设计。

Page 4: 现代密码学 vs 集成电路技术

密码算法类型与典型算法 序列密码(流密码)

Geffe

A5/A1

分组密码 DES, IDEA, 3DES, AES 。 SMS4 。

公钥密码 RSA

ECC

Hash 函数 MD5, SHA-1

SHA-3

现代密码学现代密码学

Page 5: 现代密码学 vs 集成电路技术

• Geffe 序列密码生成器– 使用 3 个 LFSR ,通过非线性方式组合而成。

sj-1sj-1 sj-2sj-2 sj-3sj-3 sj-Lsj-L

sj=c1sj-1,+c2sj-2,+…+cLsj-Lsj=c1sj-1,+c2sj-2,+…+cLsj-L

Page 6: 现代密码学 vs 集成电路技术

• 停走式序列密码发生器– 用一个 LFSR 的输出控制另一个 LFSR 的停走。

交错停走式序列密码发生器

LFSR-1

LFSR-3

LFSR-2

时钟

LFSR-1

LFSR-3

LFSR-2

Page 7: 现代密码学 vs 集成电路技术

• 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 步攻破

LFSR-1LFSR-1

LFSR-3LFSR-3

LFSR-2LFSR-2

Page 8: 现代密码学 vs 集成电路技术

19 18 17 16 15 1413 12 11 10 9 8 7 6 5 4 3 2 1 19 18 17 16 15 1413 12 11 10 9 8 7 6 5 4 3 2 1

19 18 17 16 15 1413 12 11 10 9 8 7 6 5 4 3 2 1 19 18 17 16 15 1413 12 11 10 9 8 7 6 5 4 3 2 1

19 18 17 16 15 1413 12 11 10 9 8 7 6 5 4 3 2 1 19 18 17 16 15 1413 12 11 10 9 8 7 6 5 4 3 2 1

202022222121

2222212120202323

时钟控制时钟控制

Page 9: 现代密码学 vs 集成电路技术

110|11100100||10001010|01011101|01101011

011|01000010||10111110|01010001|01101110nnnn

明文:

密文:

加密变换

分组密码

DES 算法

Page 10: 现代密码学 vs 集成电路技术

明文 P

初始密钥加

密钥 K 明文 P

10

密钥加

行移位

字节替换

9字节替换

行移位

列混合

密钥加

K0=K

K1

K9

K10

密文 C

1逆列混合

密钥加

逆字节替换

逆行移位

逆行移位

逆字节替换

密钥加

9逆列混合

密钥加

逆字节替换

逆行移位

密文 C

初始密钥加

1字节替换

行移位

列混合

密钥加

AES 算法

Page 11: 现代密码学 vs 集成电路技术

– 字节替换表格通常称为 S- 盒。输入的高 4 比特记为 x ,低 4 比特记为 y 。例如:输入: 01101011,高 4 比特 0110,低 4 比特 1011, 查表结果为 7F=01111111

S- 盒

Page 12: 现代密码学 vs 集成电路技术

12

• 字节替换的原理– 分两步进行。假设输入字节为 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

11111000

01111100

00111110

00011111

10001111

11000111

11100011

11110001

A

0

1

1

0

0

0

1

1

c

0

1

1

0

0

0

1

1

11111000

01111100

00111110

00011111

10001111

11000111

11100011

11110001

7

6

5

4

3

2

1

0

7

6

5

4

3

2

1

0

a

a

a

a

a

a

a

a

b

b

b

b

b

b

b

b

01234567 ,,,,,,, aaaaaaaaa 输入: 01234567 ,,,,,,, bbbbbbbbb输出:

Page 13: 现代密码学 vs 集成电路技术

• 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

Page 14: 现代密码学 vs 集成电路技术

• ECC 算法• 参数选取– 选定基于: GF(2m) ,GF(P) 。– 选一个方程 E : y2=x3+ax+b

– 计算 E 上的点数 #E ,并分解之。如有大素因子,则确定 E 。

– 选择 E 上基点 P0=(x0,y0) 。

– 选择私钥 kA ,计算公钥

PA=kAP0

• 签名产生

• 关键计算: Q=kP0 。

• 签名验证• 关键计算: kP+lQ

Page 15: 现代密码学 vs 集成电路技术

512bit

SHA-1 SHA-1 SHA-1 SHA-1

512bit 512bit 512bit…

…160 160 160 160 160 160

ABCDE

ABCDE

第 1轮

80个 32 位子分组

+++第 2轮 第 3轮 第 4轮

512 位消息分组

20 个20 个 20 个 20 个

杂凑算法 SHA-1

Page 16: 现代密码学 vs 集成电路技术

现代密码学现代密码学 密码算法的实现

最方便实现 笔和纸 算盘,。。。

软件实现 普通:对通用 CPU编程 嵌入式:对嵌入式小 CPU编程

硬件实现 FPGA :现场可编程门阵列电路 ASIC :面向应用的专用集成电路

对加速引擎编程。公钥算法多是这种情况,如 RSA, ECC

直接完整的算法实现。分组算法多是这种情况。

Page 17: 现代密码学 vs 集成电路技术

1907 年,发明电子管。 1947年 12月,发明晶体管。 1958 年,发明集成电路。 至今,微电子科技创造了人类科技奇迹。 现在:世界半导体产业的年销售额已超过 3000亿美元。 集成电路 (IC) 制造:从最初的 4 微米特征尺寸,到现在的 45纳米,目前正向 32纳米转移。

芯片集成度已至吉规模 (GSI, giga scale, 109) 。 加工的晶圆直径进入 300mm(12英寸 ) 时代。 IC 的规模已达到把整个系统集成到一个芯片,即系统芯片 (SoC,

System on a Chip) 的阶段。

制造能力走在设计能力的前面

现代半导体与集成电路技术现代半导体与集成电路技术

Page 18: 现代密码学 vs 集成电路技术

1965年 4 月, Gorden Moore在美国 Electronics杂志 35周年纪念文章中预言“芯片元件数每 18月增倍,而元件成本减半”。

该定律揭示了 IC能力随时间按指数规律增长特征尺寸减小,集成度提高。芯片尺寸面积减小。性能与功能提高,成本降低。

在集成电路发明后的 50多年中,特征尺寸由几百微米开始,逐渐缩小到几十微米,几微米。从上世纪九十年代开始,进入 1 微米以内。目前已到几十纳米。

晶圆尺寸:由 4 英寸,到 6 英寸, 8 英寸。目前已到 12英寸。

现代半导体与集成电路技术现代半导体与集成电路技术

摩尔 (Moore) 定律

Page 19: 现代密码学 vs 集成电路技术

1919

Moore定律演进图现代半导体与集成电路技术现代半导体与集成电路技术

Page 20: 现代密码学 vs 集成电路技术

ITRS-2007主要指标

量产年份 2007 2010 2013 2016 2019 2022 DRAM 半节距(nm) 65 45 32 22 16 11 MPU物理栅宽(nm) 25 18 13 9 6.3 4.5 等价栅氧厚(nm)物理

电学(EOT) 1.1 1.84

0.65 0.93

0.6~0.5 1.0~0.9

0.55 0.95

0.5 0.9

0.5 0.9

DRAM规模(Gbit) 16 32 64 128 256 512 DRAM面积(mm2) 568 563 560 557 555 553

MPU规模(Mtrans.) 773 1546 3092 6184 12368 24736 MPU面积(mm2) 280 280 280 280 280 280

圆片直径(mm) 300 300 300/450 450 450 450 掩膜层数 DRAM

MPU 24 33

26 35

26 37

26 37

26 39

26 39

最多布线层数 11 12 13 13 14 15 总互连线长(m/mm2) 1439 2222 3125 4545 6250 9091

现代半导体与集成电路技术现代半导体与集成电路技术

Page 21: 现代密码学 vs 集成电路技术

2121

世界半导体产业和市场

现代半导体与集成电路技术现代半导体与集成电路技术

2010: 2990亿美元。

2011: 3150亿美元。

Page 22: 现代密码学 vs 集成电路技术

我国半导体产业与市场市场:我国从 2005年起成为世界最大芯片市场:规模 $408亿美元。市场规模超过北美和日本。

– 美国: $365亿。中国: $408亿。日本: $330亿。

现代半导体与集成电路技术现代半导体与集成电路技术

Page 23: 现代密码学 vs 集成电路技术

23

2008年,市场规模为 $952亿美元,占世界市场的 38.3%

21.3%25.7%

28.9%

34.1%

38.3%

0%

10%

20%

30%

40%

50%

2004年 2005年 2006年 2007年 2008年

现代半导体与集成电路技术现代半导体与集成电路技术

我国市场占世界市场份额

我国半导体产业与市场

Page 24: 现代密码学 vs 集成电路技术

产业我国 IC产业销售额状况

– 2008年 1246.82亿元。 (182.82亿美元 )

– 2011年 1572亿。– 以低端 IC和分离器件为主

545.3

1246.82

1006.3

1251.3

702.1

43.3%

55.2%

28.8%

-0.4%

24.3%

0

300

600

900

1200

1500

2004年 2005年 2006年 2007年 2008年-10%

0%

10%

20%

30%

40%

50%

60%

销售额(亿元) 增长率

3.67%

4.49%6.06%

7.51%7.54%

0.0%

2.0%

4.0%

6.0%

8.0%

10.0%

2004年 2005年 2006年 2007年 2008年

产业跟不上,市场被人占:我国 IC产业销售额占世界 IC市场的份额

– 2008年占到 7.51%(而需求占到 38.3%)

– 2011 年,集成电路进口 1702亿美元– 供需缺口巨大,半导体一直

是中国贸易逆差最大领域,远远超过石油。

现代半导体与集成电路技术现代半导体与集成电路技术

Page 25: 现代密码学 vs 集成电路技术

21 世纪微电子科技发展的两个方向 由集成电路 (IC) 向集成系统 (IS)转变——微系统

由微电子学向纳电子学转变——纳电子学

现代半导体与集成电路技术现代半导体与集成电路技术

SOC是 IC向 IS转变最迫切、最现实的方向 20 世纪是集成电路 (IC) 时代, 21 世纪则是集成系统 (IS)

时代

SOC 是当前最迫切、现实的方向

More than Moore( 产品多功能化 ) 相对比重逐年增大

Page 26: 现代密码学 vs 集成电路技术

26

从密码学看集成电路技术:密码算法的集成电路实现从密码学看集成电路技术:密码算法的集成电路实现

DES 算法的集成电路实现 最早的 DES芯片应该出现在上世纪 70 年代。 到 80 年代已有商业化芯片,速度在 Mbps 量级。以下是 90 年代的学术研究

结果。 关键问题: S- 盒的实现,需要查表。占面积;提高频率的瓶颈。 最近 10 年,由于集成电路技术的进步, DES芯片的设计已很容易。

时间 FPGA/ASIC

速度bps

面积 实现者

1992 ASIC 1G 50K晶体管 DEC1999 ASIC 10G 0.6um CMOS

11.1mm2

D. Wilcox

USA2000 FPGA 12G FPGS

XCV300E

S. Trimberger

USA2000 0.6um

CMOS

155M

(3DES)

0.6um CMOS

23.7mm2

H.Leitold

Graz,奥地利

Page 27: 现代密码学 vs 集成电路技术

AES 算法的集成电路实现 字节替换( S- 盒)为关键

紧致实现(小面积、低功耗) 通过塔域方法,直接计算 S- 盒 500-1000门电路即可实现

高速实现 直接计算 S- 盒

用混合基方法直接计算 AES的 S- 盒( CHES2010 )

会议“ Cryptographic Hardware and Embedded

Systems ” (CHES)自 1999 年创立,现在 是国际密码学会主办的最重要的主题会议之一,每年有 300 多人参加。

从密码学看集成电路技术:密码算法的集成电路实现从密码学看集成电路技术:密码算法的集成电路实现

Page 28: 现代密码学 vs 集成电路技术

28

时间 FPGA/ASIC

速度bps

面积 实现者

2001 ASIC0.18um

1.82G910Mbps

173K gates3.96mm2

H.KuoUCL,USA

2001 FPGA/Virtex-E AES128: 7GAES192: 6G

M.MLoone比软件快 21倍

20002 0.6um, CMOS 2.2G 300K,晶体管 A.K.Lutz2003 FPGA/Virtex-E 18.5G

(3DES)542slices10 RAM

20052005

FPGASpartan-2

25G2.2M

Spartan-32RAM,124sli

c

T. GoodUK

2006 0.13um,CMOS 42.67G2007 FPGA, Virtex-4 15.3G 13.2K

slices114 RAM

S.Lemsitzer

AES 算法的集成电路实现 以下为学术研究的一些结果

从密码学看集成电路技术:密码算法的集成电路实现从密码学看集成电路技术:密码算法的集成电路实现

Page 29: 现代密码学 vs 集成电路技术

2929

时间 工艺 位数 时钟 速度 (byte/s)

实现者

1981 3um 336 4MHz 1.2K Sandia

1985 Gate Array 512 5MHz 3.8K Bus.Sim

1987 1.5um 1024 4MHz 7.7K AT&T

1987 1.5um 1024 16MHz 3.4K Cylink

1988 Gate Array 512 14MHz 17K Cryptech

1988 1.0um 512 25MHz 5.3K CNET

1988 2.5um 256 10MHz 10.2K Brit.Telecom

1989 512 10MHz 10.2K Plessy

1989 2.0um 512 8MHz 10.0K Sandia

1989 1.2um 512 16MHz 2.0K Philips

RSA 的集成电路实现 以下为 RSA 算法最早期的集成电路实现结果

从密码学看集成电路技术:密码算法的集成电路实现从密码学看集成电路技术:密码算法的集成电路实现

Page 30: 现代密码学 vs 集成电路技术

RSA 算法的集成电路实现 主要运算: Y=(md)modN 核心运算: X=(A·B)ModN, 即模乘运算。关键为模运算。 模运算方法

普通除法,太费时 Barret 算法,免除法,但可能需预计算多个值。 Montgomery 算法,免除法,预计算两个值。

芯片设计技术 脉动阵列电路方法,芯片工作频率高,但计算一次需要的周期数也

多。 大乘法器方法,计算周期数少,但需要大的电路驱动能力。

冗余数 免进位加法器

从密码学看集成电路技术:密码算法的集成电路实现从密码学看集成电路技术:密码算法的集成电路实现

Page 31: 现代密码学 vs 集成电路技术

RSA 的集成电路实现 以下为 RSA 算法芯片的一些产品情况

公司 时间 型号 速度

Corrent 2001 CR7020 5000

Hifn 2001 8154 1200

Secureakink

2001 PCC-ISEC 688

Secureakink

2001 PCC2020 1300

Cavim Network

s 2003 CN1010 7000

Graz 2003 RSA 200

从密码学看集成电路技术:密码算法的集成电路实现从密码学看集成电路技术:密码算法的集成电路实现

Page 32: 现代密码学 vs 集成电路技术

时间 FPGA/ASIC

速度1024 位签名

面积 实现者

2000 ASIC0.6um CMOS

560次 70mm2

106 晶体管.GroBschadl

2001 ASIC0.25um CMOS

400次 333K门 H.Nozaki日本

2006 0.18um 365次 B.Koo,Korea

2007 TSMC 0.25um 200ms/150MHZ

28K gates R.lu,X.Zeng

RSA 的集成电路实现 以下是 RSA 算法电路实现的一些研究结果

从密码学看集成电路技术:密码算法的集成电路实现从密码学看集成电路技术:密码算法的集成电路实现

Page 33: 现代密码学 vs 集成电路技术

ECC 算法的集成电路实现 ECC 的灵活多样,即多参数,给芯片实现带来困难。

芯片定义是个问题。

对外提供的运算功能

支持的有限域类型 :GF(2m),GF(p)

支持的有限域大小: 160, 192, 256 ,

研究状况

支持特定 GF(2m) 情况居多 ,

支持所有素数域 GF(p)

支持若干特定曲线, NIST曲线。

从密码学看集成电路技术:密码算法的集成电路实现从密码学看集成电路技术:密码算法的集成电路实现

Page 34: 现代密码学 vs 集成电路技术

时间 实现者 有限域 方式 速度1993 Agew GF(2155) ASIC 130

1997 Paar GF(2152) ASIC

1998 Sutikno GF(2155) FPGA 54

2000 Orlando GF(2167) FPGA 4761

2002 Sun Lab. GF(2163) FPGA 69872003 [Satoh] GF(2160) 0.13CMOS

510.2MHz,5236

2003 [Schroeppel]

GF(2178) 0.13CMOS143Kgates

2270

2008 Lai,JY GF(2160)GF(p)

0.13CMOS 155mu s340mu s

ECC 算法的集成电路实现 部分研究成果

从密码学看集成电路技术:密码算法的集成电路实现从密码学看集成电路技术:密码算法的集成电路实现

Page 35: 现代密码学 vs 集成电路技术

时间SHA-2

FPGA 速度1024 位签名

面积 实现者

2006 XCVP30-7SHA-2

SHA256:1.4GbpSHA512:

1.8G

775slices

1667slices.R. Chaves

2008 FPGA,SHA-512 1.3Gbps,103MHZ

Guang Yan

Zhu yue-fei2009 FPGA,SHA-1 5.9Gbps,118

MHZLee EH

Hash 函数的集成电路实现 Hash 函数的电路实现是当前密码算法芯片实现研究中的一个热点。

以下为部分研究结果

从密码学看集成电路技术:密码算法的集成电路实现从密码学看集成电路技术:密码算法的集成电路实现

Page 36: 现代密码学 vs 集成电路技术

真随机数生成器 真随机数集成电路生成的重要性

真随机数是所有安全方案实际安全性的第一源动力 方式

ASIC :独立芯片;电路模块。 FPGA :需求场合多,非常困难。( CHES2010)

方法 基于热噪声 基于环型振荡器 基于混沌的。

难点 获得理想随机特性并不容易 与工艺密切相关 功耗、速度都是问题。

是一个值得持续研究的课题。

从密码学看集成电路技术:密码算法的集成电路实现从密码学看集成电路技术:密码算法的集成电路实现

Page 37: 现代密码学 vs 集成电路技术

37

清华大学微电子所相关工作—密码芯片

THECC/233-100芯片

2004年 3 月完成

中芯国际 0.18微米工艺

2.34×2.34mm2

密钥长度 233bit

直接进行签名和验证

每秒 3000次签名

数字证书芯片 2007年 7 月流片 SMIC 0.18 EEPROM工

艺 支持国标算法:

ECC SCB2 SCH

支持国际算法

Page 38: 现代密码学 vs 集成电路技术

38

清华大学微电子所相关工作 -密码芯片

高速 ECC 算法专用芯片 SMIC 0.18工艺

5×5mm2

高速网络安全处理器芯片 0.13工艺 支持国际密码算法标准

RSA, SHA-1, RC4 支持国家密码算法标准 ECC, SCB2, SCH 杂凑

域大小 160 192 256 384

GF(p) 8,278 5,814 3,307 1,491

GF(2m) 1,0496 7,368 4,157 N/A

Page 39: 现代密码学 vs 集成电路技术

39

清华大学微电子所相关工作—真随机数

多个真随机数产生芯片

基于热噪声

基于混沌原理

Page 40: 现代密码学 vs 集成电路技术

近年状况 集成电路技术的进步以及持续的学术研究,使得当前用集成电路实

现任何一种常用密码算法,显得比较容易。 对大多数密码算法,实现目标朝两个极端方向发展

紧凑性实现:极小面积,极低功耗。 高速实现:速度优先,不太考虑面积和功耗。

由过去的单芯片单功能,发展到了单芯片多功能,即单独一块芯片实现多种密码算法。即 SOC 密码芯片 :

客户端情况。智能 IC卡芯片是最典型一类。其中可能会包括3DES, AES, RSA, SHA-1等算法。包括什么算法是由应用标准决定的。

服务端情况:高速 SOC 密码协处理器。 如何比较各种实现,是个复杂问题。

从密码学看集成电路技术:密码算法的集成电路实现从密码学看集成电路技术:密码算法的集成电路实现

Page 41: 现代密码学 vs 集成电路技术

密码电路的安全性 攻击目标

获取密钥。 获取用户其它信息。 获取被实现算法。

攻击方法 侧信道攻击(非入侵式攻击)。

能量攻击。 错误攻击。 电磁攻击。

半入侵式攻击。 入侵式攻击。 木马和恶意电路攻击。

从密码学看集成电路技术:密码电路的安全保护从密码学看集成电路技术:密码电路的安全保护

Page 42: 现代密码学 vs 集成电路技术

差分功耗分析 P. Kocher1999 年针对攻击DES 算法的实现引入。

思想:运行 DES 算法设备时,在加密(或解密)过程中某个时段的电流值,与该时段内处理的包含有密钥信息的变量有关。这个变量由密钥和被加密的数据组成。更换数据,密钥不变,多次重复,同时收集该时间段内的能量消耗情况,即可利用这些信息容易判断出攻击者对密钥的猜测是否正确。由此,可以得到运行中的密钥。

基于这一思想的攻击称为 DPA(Differential Power Analysis) 。 DPA 对所有其他密码算法也十分有效。

目前对 DPA 的防止,只能做到增加攻击难度,不能完全消除。 在DPA 的启发下,已提出了各种攻击密码设备的侧信道方法。

IC卡芯片已成能量攻击的最大牺牲品: 理由为:攻击者容易得到和操控芯片。 提高 IC卡芯片的安全性已成为巨大产业最重要的技术问题。

从密码学看集成电路技术:密码电路的安全保护从密码学看集成电路技术:密码电路的安全保护

Page 43: 现代密码学 vs 集成电路技术

43

抗攻击成果算法级: ECC,RSA,3DES,AES等算法的抗攻击研究电路级:功耗平衡基本运算单元研究门级:抗功耗攻击单元门电路研究芯片反解剖工程研究

ECC 算法抗攻击研究THECC/233-100芯片的抗攻击研究

清华微电子所在功耗攻击方面的工作清华微电子所在功耗攻击方面的工作

43

Page 44: 现代密码学 vs 集成电路技术

对 ECC芯片多指数单数据( MESD )攻击P

k0

k1 ,k2 ,k3 …

k0P,k1P,k2P,k3P …THECC-100

k0=1110 x x xx….xx

k1=1110 1 1 11…..11

k2=1110 0 1 11…..11

k3=1110 0 0 11…..11

k0P

k1P

k2P

k3P

kmP km=1110 0 0 10….01

k0P-k1P

k0P-k2P

k0P-k3P

清华微电子所在功耗攻击方面的工作清华微电子所在功耗攻击方面的工作

Page 45: 现代密码学 vs 集成电路技术

清华微电子所在功耗攻击方面的工作清华微电子所在功耗攻击方面的工作

2012年 6月份完成

Page 46: 现代密码学 vs 集成电路技术

3DES以及 AES解密功耗曲线

Page 47: 现代密码学 vs 集成电路技术

3DES功耗曲线分析

Page 48: 现代密码学 vs 集成电路技术

3DES功耗曲线分析

Page 49: 现代密码学 vs 集成电路技术

3DES功耗曲线分析

Page 50: 现代密码学 vs 集成电路技术

单次 3DES运算波形

Page 51: 现代密码学 vs 集成电路技术

3DES计算过程前 90%

Page 52: 现代密码学 vs 集成电路技术

3DES计算过程前 90%低通处理

Page 53: 现代密码学 vs 集成电路技术

3DES计算过程后 10%

Page 54: 现代密码学 vs 集成电路技术

3DES后 10%重采样 5MHz

Page 55: 现代密码学 vs 集成电路技术

3DES后 10%重采样缩放

Page 56: 现代密码学 vs 集成电路技术

第一次 DES第一轮攻击Best correlation S-Box 1:0, sub key: 10 (0x0A), value: 0.1082, at position: 26541, sub key: 9 (0x09), value: 0.0401, at position: 2654Best correlation S-Box 2:0, sub key: 31 (0x1F), value: 0.1514, at position: 26541, sub key: 51 (0x33), value: 0.0559, at position: 2654Best correlation S-Box 7:0, sub key: 52 (0x34), value: 0.0697, at position: 26541, sub key: 61 (0x3D), value: 0.0438, at position:

2654Best correlation S-Box 8:0, sub key: 31 (0x1F), value: 0.2181, at position: 26541, sub key: 55 (0x37), value: 0.0534, at position: 2654Round key: 29 F4 EC 46 8D 1FNo matching DES key found

Page 57: 现代密码学 vs 集成电路技术

第一次 DES第二轮攻击Best correlation S-Box 1:0, sub key: 49 (0x31), value: 0.0786, at position: 26561, sub key: 50 (0x32), value: 0.0411, at position: 2656Best correlation S-Box 2:0, sub key: 27 (0x1B), value: 0.1378, at position: 26561, sub key: 18 (0x12), value: 0.0501, at position: 2656Best correlation S-Box 7:0, sub key: 21 (0x15), value: 0.0504, at position: 26561, sub key: 56 (0x38), value: 0.0289, at position: 2656Best correlation S-Box 8:0, sub key: 10 (0x0A), value: 0.0655, at position: 26561, sub key: 34 (0x22), value: 0.0447, at position: 2656DES key bits round 1:

01011xx010xx110000101000001100100111000001x10x101x0x001011101110

DES key bits round 2: 01xx100010111100011010000011001001x10x000x1x0010110000101110xx10

mismatch at bit 171 mismatches in 1 sub keysFound matching DES key: 58 BC 28 32 70 72 C2 EE

Page 58: 现代密码学 vs 集成电路技术

第一次 DES分析结果

DES key bits round 1: 01011xx010xx110000101000001100100111000001x10x101x0x001011101110

DES key bits round 2: 01xx100010111100011010000011001001x10x000x1x0010110000101110xx10

mismatch at bit 171 mismatches in 1 sub keysFound matching DES key: 58 BC 28 32 70 72 C2 EE

Page 59: 现代密码学 vs 集成电路技术

其它攻击 容错攻击

高、低电压攻击。 时钟频率攻击。 错误注入攻击。

半入侵式攻击。 目前对 DPA 的防止,只能做到增加攻击难度,不能完全消除。 在DPA 的启发下,已提出了各种攻击密码设备的侧信道方法。

入侵式攻击。 理由为:攻击者容易得到和操控芯片。 提高 IC卡芯片的安全性已成为巨大产业最重要的技术问题。

从密码学看集成电路技术:密码电路的安全保护从密码学看集成电路技术:密码电路的安全保护

Page 60: 现代密码学 vs 集成电路技术

60

失效分析与侧信道攻击失效分析与侧信道攻击

60

Page 61: 现代密码学 vs 集成电路技术

61

失效分析与侧信道攻击失效分析与侧信道攻击

Page 62: 现代密码学 vs 集成电路技术

芯片设计说明芯片设计说明

芯片设计、版图芯片设计、版图

芯片制造芯片制造

芯片测试、使用芯片测试、使用

修改,注入木马修改,注入木马

木马注入与检测木马注入与检测。。

Page 63: 现代密码学 vs 集成电路技术

63

对对 FlashFlash 的攻击的攻击

Page 64: 现代密码学 vs 集成电路技术

解剖攻击的一个成功案例:对解剖攻击的一个成功案例:对 MifareMifare 芯片的攻击芯片的攻击

Mifare芯片:普遍用于公交等领域的一款低端 IC卡芯片(逻辑加密卡)。 2008 年首次通过入侵式攻击(解剖方法)获取了其中加密 与认证方法。 已被完全攻破。

去封装后的芯片表面分析 提取出的核心电路

Page 65: 现代密码学 vs 集成电路技术

小结。把集成电路技术作为工具,目前研究主要包括两方面: 密码算法的集成电路实现

已不是太困难的问题,也不是研究热点了。 密码电路的安全保护

侧信道攻击(功耗,电磁辐射)与抗攻击 容错攻击

高、低电压攻击;时钟频率攻击;错误注入攻击。 半入侵式攻击。 入侵式攻击。

从密码学看集成电路技术从密码学看集成电路技术

Page 66: 现代密码学 vs 集成电路技术

集成电路技术接间地导致了现代密码学的产生和发展。 集成电路技术直接导致了人的计算和通信能力的提高,导致了对各种密

码算法的需求。从而接间地导致了现代密码学的诞生。 从反面看:

电子管发明( 1907 年)很长时间后没有导致现代密码学产生。 计算机发明( 1945 年)很长时间后没有导致现代密码学产生。 晶体管发明( 1947 年)很长时间后也没有导致现代密码学的产生。 Shannon 理论( 1949 年)也没有导致现代密码学的产生。

“和面团”思想 20 多年都没能实现。 集成电路发明( 1958 年)后的十多年就导致了现代密码学的产生。

集成电路技术直接影响了现代分组密码算法的设计 DES 的设计中,考虑到集成电路实现的容易性是它的重要一面。 后来 AES等的设计才考虑来用通用处理器实现的便利性。

从集成电路技术看现代密码学从集成电路技术看现代密码学

Page 67: 现代密码学 vs 集成电路技术

DES 算法

超宽的数据( 32 比特)、

置换、扩展、压缩、异或、查表等等操作,

是集成电路最容易实现的操作。

Page 68: 现代密码学 vs 集成电路技术
Page 69: 现代密码学 vs 集成电路技术

明文 P

初始密钥加

密钥 K 明文 P

10

密钥加

行移位

字节替换

9字节替换

行移位

列混合

密钥加

K0=K

K1

K9

K10

密文 C

1逆列混合

密钥加

逆字节替换

逆行移位

逆行移位

逆字节替换

密钥加

9逆列混合

密钥加

逆字节替换

逆行移位

密文 C

初始密钥加

1字节替换

行移位

列混合

密钥加

AES

Page 70: 现代密码学 vs 集成电路技术
Page 71: 现代密码学 vs 集成电路技术

集成电路技术的快速发展使公钥密码的应用成为可能。 集成电路的发展使序列密码的易实现性和高速性不再明显。

在集成电路发明前,由电子管或晶体管搭建的移位寄存器成本较高。 当前通过分组密码产生序列的速度已很高。

集成电路技术使密码学真正地从加密机器的设计中分离出来,成为一门独立的科学。

集成电路技术是整个现代密码学产生、发展的技术基础。 没有集成电路技术,就没有现代密码学。 先有集成电路技术,后有现代密码学。

从集成电路技术看现代密码学从集成电路技术看现代密码学

Page 72: 现代密码学 vs 集成电路技术

时间 工艺 位数 时钟 速度 (byte/s)

实现者

1981 3um 336 4MHz 1.2K Sandia

1985 Gate Array 512 5MHz 3.8K Bus.Sim

1987 1.5um 1024 4MHz 7.7K AT&T

1987 1.5um 1024 16MHz 3.4K Cylink

1988 Gate Array 512 14MHz 17K Cryptech

1988 1.0um 512 25MHz 5.3K CNET

1988 2.5um 256 10MHz 10.2K Brit.Telecom

1989 512 10MHz 10.2K Plessy

1989 2.0um 512 8MHz 10.0K Sandia

1989 1.2um 512 16MHz 2.0K Philips

RSA 的集成电路实现 以下为 RSA 算法最早期的集成电路实现结果

Page 73: 现代密码学 vs 集成电路技术

公司 时间 型号 速度

Corrent 2001 CR7020 5000

Hifn 2001 8154 1200

Secureakink

2001 PCC-ISEC 688

Secureakink

2001 PCC2020 1300

Cavim Network

s 2003 CN1010 7000

Graz 2003 RSA 200

RSA 的集成电路实现 以下是 RSA 算法电路实现近十年内的一些研究结果

Page 74: 现代密码学 vs 集成电路技术

集成电路的快速发展使公钥密码的应用成为可能。 集成电路的发展使序列密码的易实现性和高速性特点不再明显。

在集成电路发明前,由电子管或晶体管搭建的移位寄存器成本较高。 当前通过分组密码产生序列的速度已很高。

集成电路使密码学真正地从加密机器的设计中分离出来,成为一门独立的科学。

集成电路技术是整个现代密码学产生、发展的技术基础。 没有集成电路技术,就没有现代密码学。 先有集成电路技术,后有现代密码学。

当前,集成电路的技术水平已远超人们对密码算法的设计能力。我们可以尽情地、完全不用考虑其可否实现地构造你能想到的任何密码算法。

从集成电路技术看现代密码学从集成电路技术看现代密码学

Page 75: 现代密码学 vs 集成电路技术

技术进化简况 密码与密码机史前时代1844 :电报1895 :无线电1907 :电子管

1945 :计算机1947 :晶体管1958 :集成电路1968 :互联网1978: 16位 8086CPU1982: 16位 80286CPU1985: 32位 80386CPU1994: 32 位奔腾 CPU1999: 32 位奔Ⅲ CPU2000: 32 位奔 -4CPU2004: 32 位双核

史前时代:手工密码时代1920 前:纯机械密码时代1917 :一次一密1919: Enigma 电气加密机1942 :图灵的 Bombe 机

1972: IBM的 LUCIFER1976:Diffie-Hellman 公钥1977:DES1978: RSA1985: ECC2000: AES

2012: SHA-3

Page 76: 现代密码学 vs 集成电路技术

4000多年前古埃及替换密码。

公元前 500年斯巴达人的加密机

Page 77: 现代密码学 vs 集成电路技术

轮子密码。目前被发现最早的加密设备。 18th Century Cipher

Page 78: 现代密码学 vs 集成电路技术

美国内战时期曾使用的加密设备。 1865 。

Page 79: 现代密码学 vs 集成电路技术

M-209.美军二战时曾使用的一种密码机,纯机械的。

Page 80: 现代密码学 vs 集成电路技术

德国二战时曾使用的

ENIGMA 密码机

Page 81: 现代密码学 vs 集成电路技术

二战时英国人发明的用于破译德国密码的专用机器:Bombe

Page 82: 现代密码学 vs 集成电路技术

八十年代美国NSA 用作密码分析的超级计算机 .

由数百个通用 CPU 组成。420MHZ

Page 83: 现代密码学 vs 集成电路技术

集成电路的快速发展使公钥密码的应用成为可能。 集成电路的发展使序列密码的易实现性和高速性特点不再明显。

在集成电路发明前,由电子管或晶体管搭建的移位寄存器成本较高。 当前通过分组密码产生序列的速度已很高。

集成电路使密码学真正地从加密机器的设计中分离出来,成为一门独立的科学。

集成电路技术是整个现代密码学产生、发展的技术基础。 没有集成电路技术,就没有现代密码学。 先有集成电路技术,后有现代密码学。

当前,集成电路的技术水平已远超人们对密码算法的设计能力。我们可以尽情地、完全不用考虑其可否实现地构造你能想到的任何密码算法。

从集成电路技术看现代密码学从集成电路技术看现代密码学

Page 84: 现代密码学 vs 集成电路技术

时间 FPGA/ASIC

代价 需要时间 提出或实现者

评估 /实际攻击

1977 ASIC 2000万美元

24小时 DiffieHellman

评估

1993 57,000个

DES芯片

100万美元

3.5小时 WienerCRYPTO’9

3

评估

1996 FPGA 4,5000美元

1 年 Goldberg 评估

1997 ASIC 100万美元

35 分钟 评估

1998 1856块ASIC芯片

25万美元 4.5天 电子前沿基金会

实际攻击

2008 140块FPGA

COPACOBANA

6.4天 /2 天 /2009

C.Paar 实际攻击

密码分析设备

攻击DES的Deep Crack

关于 DES 的评估与实际攻击情况

从集成电路技术看现代密码学从集成电路技术看现代密码学

Page 85: 现代密码学 vs 集成电路技术

由 FPGA芯片阵列组成的密码分析机 COPACOBANA

密码分析设备

从集成电路技术看现代密码学从集成电路技术看现代密码学

Page 86: 现代密码学 vs 集成电路技术

RSA 分析芯片 学术研究进展

时间 设计名称 代价 需要时间 提出或实现者

评估 /实际攻击

1999 TWINKLE Shamir 评估2003 TWIRL 1000万美

元1 年 Shamir

Tromer评估

2007 90nm工艺 100万美元 2-3 年 Geiselmann

Steinwandt

评估

2007 CAIRN-2(FPGA)

30天分解423 位

Izu T.等日本

实际

密码分析芯片密码分析芯片

从集成电路技术看现代密码学从集成电路技术看现代密码学

Page 87: 现代密码学 vs 集成电路技术

ECC 分析芯片 评估

SHARCS2006:Gunesu T. , Paar C.评估得出,对 ECCp-163 ,用 ASIC, 1 年内攻破,需 5800亿美元。

CHES2007:De Dormale G.评估得出,对 GF(2163)ECC,用ASIC芯片, 1 年攻破,需 700亿

实际攻击 2002 年,用 1 万台左右计算机,运行 549天,攻破了 ECCp-109 。 2009 年,在 SHARCS09, 瑞士洛桑理工大学, Lenstra等人 ,利用

Pollard Rho 方法,使用 200 多台 PlayStation3(Sony 公司的一款游戏机平台),实际运行 3 个半月,攻破了 ECCp-112 。

SHA-1 分析芯片 2005 年, Satoh给出攻 SHA-1的 ASIC 方案, 1 千万美

元, 127天得碰撞 对 A5/1和 A5/2 的分析, 1 小时内可破。

从集成电路技术看现代密码学从集成电路技术看现代密码学

Page 88: 现代密码学 vs 集成电路技术

EPFL: 用于攻击 ECCp-112 的机器阵列, 200台, 3.5月破解

88

从集成电路技术看现代密码学从集成电路技术看现代密码学

Page 89: 现代密码学 vs 集成电路技术

RSA-768, 2009年 12月历时两年被分解

n=:12301866845301177551304949583849627207728535695953347921973224521517264005

07263657518745202199786469389956474942774063845925192557326303453731548268

50791702612214291346167042921431160222124047927473779408066535141959745985

6902143413.

= 3347807169895689878604416984821269081770479498371376856891

2431388982883793878002287614711652531743087737814467999489

*

3674604366679959042824463379962795263227915816434308764267

6032283815739666511279233373417143396810270092798736308917

从集成电路技术看现代密码学从集成电路技术看现代密码学

Page 90: 现代密码学 vs 集成电路技术

结论结论 过去,集成电路技术的发明和发展使密码算法的分析与设

计从密码机的设计制造中分离出来,成为一门独立的学科。 现在,集成电路技术在现代密码学研究中已被默认为前提条件。正是由于这个条件的存在,使得我们现在可以设计任何你能想到的密码算法,而不用担心它的实现。

未来: 只要 Moore 定律还发挥作用,则当前这种情况仍将继续。一般认

为在 2030 年前, Moore 定律是成立的。 如果集成电路技术被新的技术取代,则现代密码学自诞生以来的稳

定发展期将会被打破。

Page 91: 现代密码学 vs 集成电路技术

谢 谢!