Ọ Ệ Ễ Ệ Ư
H C VI N CÔNG NGH B U CHÍNH VI N THÔNG
Ạ Ọ
Ồ
Ố
Ệ
Đ ÁN T T NGHI P Đ I H C
Đề tài:
Biện pháp thỏa đáng bảo mật
vô tuyến với FPGA và ASIC
Giáo viên hướng dẫn : Ths. Phạm Khắc Chư
1
Sinh viên thực hiện : Nguyễn Văn Quảng
ộ
ề
N i dung đ tài
ớ ế ệ ậ 1. Gi ề ả
i thi u chung v b o m t vô tuy n
ế ả ậ ạ 2. Ki n trúc b o m t m ng GSM
ế ả ậ ạ 3. Ki n trúc b o m t m ng WCDMA
2
Ứ ụ ế ậ ả 4. ng d ng FPGA trong b o m t vô tuy n
ế
ậ
ả
B o m t vô tuy n
Yêu c u:ầ
ự
ả ụ
ậ
1. Nh n th c
2. Tính tin c yậ
3. Tính toàn v nẹ
4. Tính kh d ng
3
Các thuật toán mã hoá
ố ứ
ấ ố ứ
ả
ậ
ữ
1. Mã hóa khóa đ i x ng
2. Mã hóa khóa b t đ i x ng
3. Hàm băm
ự
4. Mã nh n th c b n tin
ệ ử
5. Ch ký đi n t
ẩ
6. Chu n mã hóa DES và AES
4
ố ứ
Mã hóa khóa đ i x ng
Kênh C
Khóa bí m tậ
Khóa bí m tậ
ả
SKc SKc
ả
B n tin
g cố
B n tin
đã mã hóa
ả
B n tin
g cố
SYM SYM
ố ứ
Nguyên lý mã hóa đ i x ng
5
ấ ố ứ
Mã hóa khóa b t đ i x ng
Khóa công khai
Khóa công khai
Khóa bí m tậ
ả
KXu KYu
ả
B n tin
g cố
B n tin
đã mã hóa
ả
B n tin
g cố
ASYM ASYM
ậ
ấ ố ứ
Nguyên lý mã hóa b t đ i x ng và thu t toán RSA
6
ả
ậ
Qu n lý khóa m t mã
ạ
ư
ố
ủ
• T o khóa
• L u tr khóa
ữ
• Phân ph i khóa
• Thay đ i khóa
ổ
• H y khóa
7
ế
ậ
ả
Ki n trúc b o m t GSM
8
ế
ả
ậ
ạ
Ki n trúc b o m t m ng GSM
HLR
PSTN
BTS
BTS
SMSC
AuC
GMSC
BSC
BTS
EIR
TRAU
MSC/VLR
T¶i
BSC
B¸o hiÖu
BTS
IWF
9
ầ
ả
ậ
Các thành ph n b o m t GSM
• AuC
• HLR
• VLR
• Th SIMẻ
• IMSI và TMSI
• Thu t toán mã hoá
ậ
• TDMA
• Nh y t n
ả ầ
• EIR/IMEI
10
ữ ệ
ủ ụ
Th t c mã hóa d li u trong GSM
MS
Sè ngÉu nhiªn
M¹ng
Ki
A8
Kc
Kc
Giao diÖn Um
D÷ liÖu
ban ®Çu
ThuËt to¸n
A5
ThuËt to¸n
A5
11
ả
ậ
B o m t GSM
ử ụ
ữ ệ ế • S d ng các thu t toán mã hóa bí m t
ậ
ậ
• Khóa mã hóa tr c ti p d li u Kc đ
ượ
ự c sinh
ng u nhiên
ẫ
ộ ậ
ạ
ự
ả ạ c b o m t trong m ng lõi
12
ủ ụ
ả ề
ẻ ờ ệ • Đ dài khóa nh n th c thuê bao Ki : 128 bit
ự
• Ph m vi mã hóa d li u : Um
ữ ệ
• Không nh n th c m ng
ạ
ậ
• Không đ
ậ
ượ
• Th t c truy n khóa không an toàn
• Kh năng b gãy khóa hi n nay : 20 gi
ế
ả
ậ
Ki n trúc b o m t WCDMA
13
ế
ả
ạ
ậ
Ki n trúc b o m t m ng WCDMA
ậ
• Yêu c u b o m t:
ẫ
ả
ự
ầ
ậ
ệ ả ả ả – Nh n th c chéo l n nhau.
– Đ m b o tính tin c y c a b n tin báo hi u
ậ ủ
ư ố ệ cũng nh s li u.
ủ ệ ả ả ả – Đ m b o tính toàn v n c a b n tin báo hi u.
ẹ
ỏ ậ
ấ
– Nh n th c: Giao th c th a thu n khóa và
ứ
ậ
ậ
• C u trúc:
ự
ự
nh n th c (AKA).
ậ
ậ f9.
14
ậ – Tính tin c y: thu t toán
ậ
f8 .
– Tính toàn v n: thu t toán
ẹ
– Mã hóa kh i: thu t toán KASUMI.
ố
ậ
ậ ủ
ả
ả
ả
ố ệ
ệ
Thu t toán đ m b o tính tin c y c a b n
tin báo hi u và s li u –
f8
ậ ủ ả
ệ
ả
ố ệ
ớ
ỗ
ể
ắ
• Đ m b o tính tin c y c a c thông tin báo hi u và s li u.
• Là thu t toán mã hóa xo n đ t o chu i khóa đ XOR v i thông
ể ạ
ả
ậ
tin c n truy n.
phía thu và phía phát.
ố
ế
ằ
ề
ầ
• S d ng c
ả ở
ử ụ
• Là thu t toán đ
ậ
ớ
c th c hi n b ng cách liên k t các kh i
ầ
ở
ự
ệ
ế ộ ồ ế
ượ
KASUMI v i nhau
ch đ H i ti p đ u ra (OFB).
15
ậ
ủ
ẹ
ả
ệ
ả
ả
Thu t toán đ m b o tính toàn v n c a
b n tin báo hi u –
f9
ở ả
c phía phát và phía thu.
ự
ậ
c hai phía.
ở ả
ố
ớ
ế
ự
• S d ng
ử ụ
• Tính toán mã nh n th c b n tin (MAC)
ả
• Đ c th c hi n b ng cách liên k t các kh i KASUMI v i
ằ
ở
ỗ
ố
ượ
nhau
ệ
ch đ
(CBC).
ế ộ chu i các kh i mã hóa
16
KASUMI
17
ố
ậ
Thu t toán mã hóa kh i KASUMI
ủ ố ầ ầ • Ki n trúc tám vòng x lý
ử
• Đ u vào b n tin g c là đ u vào c a vòng đ u
ả
ế
ầ
tiên
ủ ượ ầ
c mã hóa là đ u ra c a vòng
ượ • Kh i d li u đ
ố ữ ệ
ố
cu i cùng
• Khóa m t mã K đ
ậ
ỗ
ộ ể ạ ậ
c dùng đ t o t p khóa
vòng (KLi, KOi, KIi) cho m i vòng
i
• M i vòng tính toán theo m t hàm
f khác nhau,
ỗ
ụ ộ
ph thu c vào
ả t p ậ khóa vòng
• Thu t toán là đ i x ng, dùng chung cho c mã
ố ứ
ả ậ
hoá và gi i mã
ề ẫ ầ • Có kh năng cài đ t c trên ph n m m l n
ặ ả
18
ứ ầ ả
ph n c ng
ỨNG DỤNG FPGA TRONG
BẢO MẬT VÔ TUYẾN
19
ế ế
ậ
Thi
t k thu t toán KASUMI trên FPGA
ậ ặ ả
ầ ầ
ề
ặ
ữ
ề
• Thu t toán KASUMI cho phép cài đ t c trên
ứ
ph n m m và ph n c ng:
– Cài đ t trên ph n m m b ng ngôn ng assembly
ạ ố
ạ
ầ
ộ ử
ố
ộ
ổ
ằ
ch y trên b x lý Intel Pentium III – 800 MHz đ t t c
đ mã hóa t
ặ
ặ
ỏ ọ
ổ
ả
i đa 230 Mbps.
– Cài đ t trên FPGA – 50 000 c ng : 800 Mbps.
– Cài đ t trên FPGA, phiên b n nh g n – 7600 c ng :
72 Mbps
ế ế ả ỏ
t k thu t toán KASUMI, phiên b n nh
ố ể
i thi u tài nguyên FPGA
ấ
ế
ả
20
• Thi
ậ
ử ụ
ọ
g n s d ng t
– Thi
ế ế
t k phân c p theo các hàm FL, FO, FI, Sbox
– Tái s d ng các modul theo ki n trúc vòng làm gi m
ử ụ
ộ
ố
t c đ mã hóa
ậ
Thu t toán KASUMI
1
2
3
21
ậ
Thu t toán KASUMI
4
22
ế
ậ
K t lu n
ự ứ ả ậ • Nghiên c u các th t c nh n th c và b o
ủ ụ
ậ ạ m t trong m ng GSM và WCDMA.
ố ứ • Nghiên c u các thu t toán mã hóa đ i x ng
ậ
ệ ặ ậ
t là thu t toán
ứ
ấ ố ứ
ứ ụ và b t đ i x ng, đ c bi
KASUMI ng d ng trong WCDMA.
ể ươ ế ế • Tìm hi u ph ng pháp thi ậ
t k thu t toán
23
KASUMI trên FPGA.
Xin chân thành cảm ơn!
24
CPLD và FPGA
25
CPLD và FPGA
ổ ồ • Bao g m các c ng logic (AND, OR, NOT) có
ả c.
ệ
i ngay trong h
ấ
ấ
th ng, ch trong vài giây.
ợ
26
ố
ậ ộ
ả ệ ẻ ượ
kh năng c u hình đ
• Cho phép c u hình l
ạ
ỉ
• M t đ tích h p cao
• Gi
ả i pháp hi u qu cao, giá r
FPGA - Field Programmable Gate Array
Khối I/O (IOB)
Liên kết
cấu hình được
Khối Logic cấu
hình được (CLB)
Bộ đệm
ba trạng thái
Khối quản lý
đồng hồ (DCM)
27
ấ
C u trúc CLB và Slice
ỗ
ậ
ạ
ấ
i các tài
ố
ồ
M i CLB g m b n Slice
• Ma tr n chuy n m ch cung
ể
ậ ớ
c p truy nh p t
nguyên chung
ế ớ
ị
• Đ nh tuy n t
i các Slice
ặ
ho c CLB khác
28
ấ
ế
ộ
C u trúc chi ti
t m t Slice
29
• LUT
• MUX
• Logic nhớ
• FlipFlop