1
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ư
Sinh viên thực hiện : Nguyễn Văn Quảng
2
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 W-CDMA
4. Ứng dụng FPGA trong bảo mật vô tuyến
3
Bảo mật vô tuyến
1. Nhận thực
2. Tính tin cậy
3. Tính toàn vẹn
4. Tính khả dụng
Yêu cầu:
4
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
5
Mã hóa khóa đối xứng
Bản tin
gốc
Bản tin
gốc
Bản tin
đã mã hóa
SYM SYM
Khóa bí mật
SKc
SKc
Kênh C
Nguyên lý mã hóa đối xứng
Khóa bí mật
6
Mã hóa khóa bất đối xứng
Nguyên lý mã hóa bất đối xứng và thuật toán RSA
Bản tin
gốc
Bản tin
gốc
Bản tin
đã mã hóa
ASYM ASYM
Khóa bí mật
KXu
KYu
Khóa công khai
Khóa công khai
7
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
8
Kiến trúc bảo mật GSM
9
BSC
BSC
TRAU
MSC/VLR
GMSC
IWF
EIR
SMSC
AuC
HLR
BTS
BTS
BTS
BTS
PSTN
T¶i
B¸o hiÖu
Kiến trúc bảo mật mạng GSM
10
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
11
Thủ tục mã hóa dữ liệu trong GSM
ThuËt to¸n
A5
ThuËt to¸n
A5
D÷ liÖu
ban ®Çu
MS
Kc
A8
Kc
Giao diÖn Um
M¹ng
Sè ngÉu nhiªn
Ki
12
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
•
Độ 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 được bảo mật trong mạng lõi
•
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ờ
13
Kiến trúc bảo mật W-CDMA
14
Kiến trúc bảo mật mạng W-CDMA
•
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.
•
Cấu trúc:
–
Nhận thực: Giao thức thỏa thuận khóa và
nhận thực (AKA).
–
Tính tin cậy: thuật toán
f8
.
–
Tính toàn vẹn: thuật toán
f9
.
–
Mã hóa khối: thuật toán KASUMI.
15
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.
• Sử dụng cả ở phía thu và phía phát.
• 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).
16
Thuật toán đảm bảo tính toàn vẹn
của bản tin báo hiệu – f9
•
Sử dụng ở cả phía phát và phía thu.
•
Tính toán mã nhận thực bản tin (MAC) ở cả hai phía.
•
Được thực hiện bằng cách liên kết các khối KASUMI với
nhau ở chế độ
chuỗi các khối mã hóa
(CBC).
17
KASUMI
18
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
•
Khối dữ liệu được mã hóa là đầu ra của vòng
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
phần cứng
19
ỨNG DỤNG FPGA TRONG
BẢO MẬT VÔ TUYẾN
20
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
•
Thiết kế thuật toán KASUMI, phiên bản nhỏ
gọn sử dụng tối thiểu tài nguyên FPGA
–
Thiết kế phân cấp theo các hàm FL, FO, FI, S-box
–
Tái sử dụng các modul theo kiến trúc vòng làm
giảm tốc độ mã hóa
21
Thuật toán KASUMI
1 2 3
22
Thuật toán KASUMI
4
23
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à W-CDMA.
•
Nghiên cứu các thuật toán mã hóa đối xứng
và bất đối xứng, đặc biệt là thuật toán
KASUMI ứng dụng trong W-CDMA.
•
Tìm hiểu phương pháp thiết kế thuật toán
KASUMI trên FPGA.
24
Xin chân thành cảm ơn!
25
CPLD và FPGA