Giao thức liên mạng máy tính an toàn IPSec và các giao thức trao đổi khoá ứng dụng trong bảo mật thông tin kinh tế xã hội - Pdf 10

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

NGUYỄN ĐỨC THỌ

GIAO THỨC LIÊN MẠNG MÁY TÍNH AN TOÀN IPSEC
VÀ CÁC GIAO THỨC TRAO ĐỔI KHÓA ỨNG DỤNG
TRONG BẢO MẬT THÔNG TIN KINH TẾ XÃ HỘI

Chuyên ngành: Kỹ thuật Điện tử
Mã số: 60.52.70

Hà N

i
2012
Luận văn được hoàn thành tại:
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG Người hướng dẫn khoa học: PGS.TS Lê Mỹ Tú

Phản biện 1:
………………………………………………………………………
Phản biện 2:
………………………………………………………………………

tính an toàn IPSec, phân tích cấu trúc, hoạt động của giao
thức này. Chương 2 nghiên cứu sâu về 2 giao thức trao đổi
khoá IKEv1 và IKEv2. Chương 3 đưa ra các ưu điểm nội
trội của giao thức trao đổi khoá IKEv2, từ đó đề xuất ứng
dụng trong bảo mật thông tin kinh tế xã hội.

2 CHƯƠNG 1: GIAO THỨC LIÊN MẠNG MÁY
TÍNH AN TOÀN
1.1. Tổng quan về giao thức bảo mật IPSec.
Thuật ngữ IPSec là một từ viết tắt của thuật Internet
Protocol Security. Giao thức IPSec được phát triển bởi tổ
chức Internet Engineering Task Force (IETF). Mục đích
chính của việc phát triển IPSec là cung cấp một cơ chế bảo
mật ở tầng 3 (Network layer) trong mô hình OSI, hình 1.1: Hình 1.1. Vị trí IPSec trong OSI
3

1.1.1. Các tổ hợp an toàn IPSec (IPSec Security
Associations – IPSec SAs)
Các tổ hợp an toàn (SAs) là một khái niệm cơ bản
của bộ giao thức IPSec. SA là một tập các thuộc tính bảo
mật duy nhất giữa hai thực thể sử dụng các dịch vụ IPSec:
như các giao thức xác thực, các khóa, và các thuật toán mật
mã, các khóa, thuật toán xác thực, mã hóa, được dùng
bởi các giao thức Authentication Header (AH) hay

truyền. IPSec cũng dùng cơ chế tạo đường hầm để ẩn địa
chỉ IP nguồn (người gửi) và đích (người nhận) từ những kẻ
nghe trộm.
Quản lý khóa (Key management). IPSec dùng một
giao thức thứ ba, Internet Key Exchange (IKE), để thỏa
thuận các khóa trong suốt phiên giao dịch.
1.2. Phân tích chi tiết giao thức IPSec
Như trên đã đề cập giao thức IPSec hoạt động dựa vào các
thành phần chính [1, 2]:
 [AH + ESP]: Bảo vệ truyền thông IP, dựa vào SA
(khóa, địa chỉ, các thuật toán mật mã)
 IKE: Để thiết lập các SA (SA – Security
Association) cho AH hoặc ESP, và duy trì/quản lí
các kết nối.
5

1.2.1. Các chế độ hoạt động [1, 2]
1.2.1.1. Chế độ vận chuyển (transport mode)
1.2.1.2. Chế độ đường hầm (tunnel mode)
1.2.2. Các giao thức AH và ESP.
1.2.2.1. Giao thức ESP [3]
 Giao thức ESP trong chế độ vận chuyển (transport
mode)
Giao thức ESP cung cấp dịch vụ bảo mật, tính toàn
vẹn dữ liệu, xác thực nơi gửi (source authentication) và
chống tấn công lặp lại (replay attack)
Thêm phần header mới nằm sau IP header và trước
phần dữ liệu của gói tin IP.
Thêm phần dữ liệu thêm (trailer) vào phần cuối gói
tin.

thực, và một khóa dùng làm mầm khóa cho việc bảo mật
dữ liệu của phiên liên lạc).
Làm tươi khóa trong cùng một phiên liên lạc (hay còn
gọi là thỏa thuận lại khóa).
CHƯƠNG 2: CÁC PHIÊN BẢN GIAO THỨC
TRAO ĐỔI KHÓA IKEV1 VÀ IKEV2
2.1. Giao thức trao đổi khoá IKEv1 [6].
 ISAKMP ([7]) cung cấp một cơ cấu để xác thực và trao
đổi khóa nhưng không xác định các khóa này. ISAKMP
được thiết kế dùng để trao đổi khóa độc lập do đó có thể
nói nó được thiết kế để hỗ trợ cho nhiều phương pháp
trao đổi khóa khác nhau.
 Oakley ([8]) mô tả một loạt chế độ trong các giao thức
và chi tiết các dịch vụ được cung cấp bởi chính các yếu
tố của nó (chuyển tiếp hoàn hảo các khóa, bảo vệ danh
tính, và xác thực).
8

 SKEME ([9]) mô tả một kỹ thuật trao đôi khóa linh
hoạt giúp cung cấp chức năng ẩn danh, repudiability, và
thảo thuận lại khóa nhanh.
2.1.1. Một số ký hiệu
2.1.2. Giới thiệu
2.1.3. IKE Phase 1 sử dụng chữ ký số
Việc sử dụng chữ ký, thông tin phụ trợ trao đổi
trong quá trình khứ hồi thứ hai là nonces, trao đổi này được
nhận thực bởi hàm băng chữ ký hai bên có thể đạt được.
Mode chính với việc nhận thực chữ ký được mô tả như sau:
Initiator Responder


< HDR, SA
HDR, KE, [ HASH(1), ]
<IDii_b>PubKey_r,
<Ni_b>PubKey_r >
HDR, KE, <IDir_b>PubKey_i,
< <Nr_b>PubKey_i
HDR*, HASH_I >
< HDR*, HASH_R
Aggressive Mode được xác thực với mã hóa mô tả như
sau:
Initiator Responder

HDR, SA, [ HASH(1),] KE,
<IDii_b>Pubkey_r,
<Ni_b>Pubkey_r >
HDR, SA, KE, <IDir_b>PubKey_i,
< <Nr_b>PubKey_i, HASH_R
10

HDR, HASH_I >
Lưu ý rằng, không giống như các phương pháp mã
hóa xác thực khác, xác thực với mã hóa khóa công khai cho
phép bảo vệ danh tính với chế độ tích cực Aggressive
Mode
2.1.5. Phase 1 xác thực với chế độ cải tiến sử dụng
mã hóa khóa công khai
Trong chế độ này, các nonce vẫn mã hóa bằng cách
sử dụng các khóa công khai của các bên. Tuy nhiên các đặc
điểm của các bên (và các xác nhận nếu nó được gửi) được
mã hóa bằng cách sử dụng các thuật toán mã hóa thỏa

nó là ràng buộc để trao đổi phase 1), nhưng được sử dụng
như là một phần của quá trình thỏa thuận SA (giai đoạn 2)
để lấy được dữ liệu tạo khóa và thỏa thuận chính sách chia
sẻ không ISAKMP SA
Các thông tin trao đổi cùng với chế độ nhanh (quick
mode) phải được bảo vệ bởi ISAKMP SA, tức là tất cả các
tải tin ngoại trừ tiêu đề ISAKMP được mã hóa. Chế độ
nhanh (quick mode), mộ tải tin HASH ngay lập tức phải
thực hiện theo các tiêu đề ISAKMP và tải tin SA ngay lập
tức phải thực hiện theo các HASH
Chế độ nhanh được định nghĩa như sau:
Initiator Responder

HDR*, HASH(1), SA, Ni
[, KE ] [, IDci, IDcr ] >
< HDR*, HASH(2), SA, Nr
[, KE ] [, IDci, IDcr ]
HDR*, HASH(3) >
12

Các hàm băm để trao đổi ở trên là:
HASH(1) = prf(SKEYID_a, M-ID | SA | Ni [ | KE ] [ |
IDci | IDcr )
HASH(2) = prf(SKEYID_a, M-ID | Ni_b | SA | Nr [ | KE]
[ | IDci | IDcr )
HASH(3) = prf(SKEYID_a, 0 | M-ID | Ni_b | Nr_b)
Sử dụng Chế độ nhanh, nhiều SA và khóa có thể
được thỏa thuận với một trao đổi như sau:
Initiator Responder


(response). Cặp thông báo này gọi là một “trao đổi -
exchange”. Trong IKEv2 có các kiểu trao đổi là:
IKE_SA_INIT, IKE_AUTH, CREATE_CHILD_SA và
INFORMATION. Ta gọi các thông báo đầu tiên để thiết
lập một IKE_SA là trao đổi IKE_SA_INIT và IKE_AUTH.
Nhìn chung, sẽ có một trao đổi IKE_SA_INIT và một trao
đổi IKE_AUTH để tạo ra một IKE_SA và CHILD_SA đầu
tiên (tổng là 4 thông báo).
Hai kiểu trao đổi tiếp theo là CREATE_CHILD_SA
(để tạo một CHILD_SA) và INFORMATION (để xóa một
SA, thông báo lỗi, hoặc để duy trì). Một yêu cầu
INFORMATION mà không có nội dung (payload) (khác
với yêu cầu mà có payload rỗng được mã hóa) được sử
dụng để kiểm tra khả năng sống của các bên tham gia
(peer). Các trao đổi tiếp theo không được sử dụng đến khi
các trao đổi khởi đầu được hoàn thành.
14

2.2.2. Phase I: Trao đổi khởi tạo (IKE_SA_INIT và
IKE_AUTH)

2.2.2.1. Trao đổi IKE_SA_INIT
Initiator Responder

HDR, SAi1, KEi, Ni >
< HDR, SAr1, KEr, Nr, [CERTREQ]
2.2.2.2. Trao đổi IKE_AUTH
Khi hoàn thành trao đổi IKE_SA_INIT, mỗi bên có
thể sinh ra SKEYSEED, từ đó tất cả các khóa sẽ được sinh
ra cho IKE_SA. Mọi phần nội dung từ phần đầu của tất cả

Tài liệu khóa sẽ luôn được lấy từ đầu ra của thuật
toán prf. Do kích thước của tài liệu khóa cần dùng có thể
lớn hơn kích thước đầu ra của thuật toán prf, nên sẽ phải sử
dụng prf lặp lại. Thuật ngữ prf+ dùng để mô tả hàm để tạo
ra một dãy giả ngẫu nhiên dựa trên đầu vào của prf như
sau: (kí hiệu | chỉ ra phép nối).
16

2.2.4.1. Sinh tài liệu khóa cho IKE_SA
2.2.4.2. Sinh tài liệu khóa cho CHILD_SAs
2.2.4.3. Thay đổi khóa của IKE_SAs bằng một trao
đổi CREATE_CHILD_SA
2.3. Một số so sánh về hai giao thức trao đổi khoá
IKEv1 và IKEv2
CHƯƠNG 3: ĐỀ XUẤT ỨNG DỤNG IKEv2
TRONG BẢO MẬT THÔNG TIN KINH TẾ XÃ
HỘI
3.1. Một số tính năng an toàn của giao thức trao đổi
khoá IKEv2 so với các giao thức trao đổi khoá
khác.
Cơ sở mật mã cho giao thức Trao đổi khóa IKE2 là
giao thức SIGMA được đưa ra trong [11]. Chính xác hơn,
SIGMA là cơ sở cho việc trao đổi khóa có xác thực dựa
trên chữ ký trong IKE nói chung – kiểu xác thực khóa công
khai thường được sử dụng nhất trong IKE, và là cơ sở cho
kiểu xác thực khóa công khai duy nhất trong IKEv2.
Đặc tính quan trong nhất của giao thức IKEv2 so với
các phiên bản giao thức trao đổi khóa khác là việc bảo vệ
định danh của các thực thể tham gia trong một phiên liên
lạc. Để thấy rõ điều này chúng ta xem xét việc so sánh giữa

s
K
.
A
B
x
g





, , ,SIG
s
y x y
B
K
g B g g





, ,SIG
s
y x
A
K
A g g
18

19

chương trước,
B
giữ chậm việc gửi định danh của mình và
thông tin xác thực đến thông báo thứ tư sau khi nó kiểm tra
định danh của
A
và kiểm tra xác thực trong thông báo thứ
ba, do đó IKEv2 có tính năng bảo vệ định danh đối với
người phúc đáp (thực thể B) trong phiên liên lạc, tính năng
này không hề có trong các giao thức vừa được trình bày ở
trên.
3.2. Một số ứng dụng IPSec dùng IKEv2
Dự án FreeS/WAN là dự án đầu tiên hoàn thành việc
thực hiện IPsec trong mã nguồn mở cụ thể là Linux. Nó bao
gồm một thành phần IPsec (KLIPS), kết hợp với trình quản
lý key chạy độc lập và rất nhiều shell scripts khác. Dự án
FreeS/WAN được bắt đầu vào tháng 3 năm 2004.
Openswan và strongSwan đã tiếp tục bước phát tiển
tiếp theo của dự án FreeS/WAN.
Dự án KAME cũng hoàn thành việc triển khai sử
dụng IPsec cho NetBSB, FreeBSB. Trình quản lý các khoá
được gọi là racoon. OpenBSB được tạo ra ISAKMP/IKE,
với tên đơn giản là isakmpd (nó cũng được triển khai trên
nhiều hệ thống, bao gồm cả hệ thống Linux).
3.3. Đề xuất sử dụng trong bảo mật thông tin kinh
tế xã hội.
Qua việc phân tích đặc tính ưu việt của giao thức
IKEv2 so với các giao thức trao đổi khóa trước nó, luân

Với các đề xuất trên chúng ta có thể mô tả lại lược
đồ trao đổi khóa IKEv2 như sau:

Msg1= (SPI
i
, g
x
, N
i
)
R I
Msg2= (SPI
i
, SPI
r
, g
y
, N
r
)

, , , ( 1|| || ( _ , '))
r i i r i
i
SPI SPI ID SIG Msg N prf SK pi ID

, , , ( 2 || || ( _ , '))

trong phép giải mã như InvShiftRows(), InvSubBytes(),
InvMixColumns() và AddRoundKey()
3.5. Lược đồ chữ ký RSA-PSS
3.5.1. Các nguyên thuỷ chuyển đổi dữ liệu
3.5.2. Các nguyên thuỷ mật mã
3.5.3. Lược đồ ký RSASSA-PSS (RSA Signature
Scheme with Appendix PSS)
3.5.3. Lược đồ ký RSASSA-PSS (RSA Signature
Scheme with Appendix PSS)
3.6. Hàm sinh mã xác thực thông báo
3.6.1. Một số ký hiệu, chữ viết tắt
3.6.2. Hàm HMAC
Thuật toán HMAC yêu cầu áp dụng hai lần hàm băm để
tính giá trị MAC. Hàm băm chúng tôi sử dụng ở đây là hàm
SHA256 đã được lựa chọn trong chương 3, bởi vậy yêu cầu
1
512
L  và là số nguyên dương bội của 8, L
2
= 256. Độ dài
k của khoá không nhỏ hơn 256 và nhỏ hơn hoặc bằng 512.
Thuật toán HMAC được thực hiện thông qua 4 bước: Mở
rộng khoá, thực thi băm, biến đổi đầu ra và chặt cụt. 23
KẾT LUẬN


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status