vai trò của chìa khóa trong các giải pháp bảo mật và an toàn thông tin - Pdf 24

Nguyễn Thị Hiền Luận văn thạc sỹ
1
MỤC LỤC
MỤC LỤC 1
DANH MỤC HÌNH 4
CÁC KÝ HIỆU VÀ CỤM TỪ VIẾT TẮT 6
MỞ ĐẦU 7
Chương 1 – Vai trò chìa khóa trong các giải pháp bảo mật và an toàn thông tin
9
1.1 Vai trò của chìa khóa trong các giải pháp bảo mật và an toàn thông tin 9
1.1.1 Trong hệ mã khóa đối xứng 9
1.1.2 Trong hệ mã khóa công khai 10
1.1.3 Trong sơ đồ xưng danh và xác nhận danh tính 10
1.1.4 Trong hệ xác nhận và chữ ký điện tử 11
1.2 Vấn đề an toàn khóa trong các giải pháp bảo mật 11
1.2.1 Hệ mã khóa công khai 11
1.2.2 Hệ mã khóa đối xứng 13
1.2.3 Trong môi trường truyền tin công cộng 14
Chương 2 – Các giao thức an toàn khóa trong trao đổi, phân phối và chuyển
vận khóa 16
2.1 Nhu cầu thỏa thuận, chuyển vận và phân phối khóa 16
2.2 An toàn khóa trong các giao thức trao đổi 18
2.2.1 Trao đổi khóa Diffie-Hellman 18
2.2.2 Trao đổi khóa STS 20
2.2.3 Thỏa thuận khóa MTI 22
Nguyễn Thị Hiền Luận văn thạc sỹ
2
2.2.4 Giao thức Shamir 24
2.2.5 Giao thức trao đổi khóa mã hóa EKE 25
2.2.6 Sơ đồ Girault 28
2.3 An toàn khóa trong các giao thức phân phối khóa 31

4.3 Cơ sở hạ tầng khóa công khai PKI 74
4.3.1 Tổng quan PKI 75
4.3.2 Các dịch vụ PKI 75
NHẬN XÉT VÀ KẾT LUẬN 77
TÀI LIỆU THAM KHẢO 78

Nguyễn Thị Hiền Luận văn thạc sỹ
4
DANH MỤC HÌNH
Hình 2.1: Giao thức Diffie-Hellman 19
Hình 2.2: Giao thức STS 20
Hình 2.3: Thỏa thuận khóa MTI 22
Hình 2.4: Giao thức Shamir 24
Hình 2.5: Giao thức EKE 26
Hình 2.6: Sơ đồ TA cấp khóa công khai tự xác thực cho các thành viên 29
Hình 2.7: Sơ đồ Girault 29
Hình 2.8: Sơ đồ phân phối khóa Blom 32
Hình 2.9: Hệ phân phối khóa Kerberos 34
Hình 2.10: Giao thức phân phối khóa Diffie-Hellman 37
Hình 2.11: Sơ đồ ngưỡng Shamir 38
Hình 2.12: Giao thức Beller-Yacobi 4-lần qua 43
Hình 2.13: Giao thức Beller-Yacobi 2-lần qua 45
Hình 3.1: Giao thức chuyển văn bản có KTC 48
Hình 3.2: Cây nhị phân 52
Hình 3.3: Cây xác thực 53
Hình 3.4: Các vùng riêng biệt 62
Hình 3.5: Mô hình tin cậy có thứ bậc chặt chẽ 63
Hình 3.6: Mô hình tin cậy ngược thứ bậc 64
Hình 3.7: Mô hình tổng quát 64
Hình 4.1: Chồng giao thức SSL 68

Internet đang ngày càng đóng vai trò thiết yếu trong mọi lĩnh vực hoạt động của xã
hội, và một khi nó trở thành phương tiện làm việc trong các hệ thống thì nhu cầu
bảo mật thông tin được đặt lên hàng đầu. Nhu cầu này không chỉ có ở các bộ máy
An ninh, Quốc phòng, Quản lý Nhà nước, mà đã trở thành cấp thiết trong nhiều hoạt
động kinh tế xã hội: tài chính, ngân hàng, thương mại…thậm chí trong cả một số
hoạt động thường ngày của người dân (thư điện tử, thanh toán tín dụng,…). Do ý
nghĩa quan trọng này mà những năm gần đây công nghệ mật mã và an toàn thông
tin đã có những bước tiến vượt bậc và thu hút sự quan tâm của các chuyên gia trong
nhiều lĩnh vực khoa học, công nghệ.
Một điểm đặc biệt của công nghệ bảo mật hiện đại là không dựa vào khả năng giữ
bí mật của phương pháp (công nghệ), vì nó thường không chỉ một người nắm giữ,
nói chung thường là nhóm đông người biết, mà khả năng giữ bí mật tuyệt đối của cả
một nhóm người là không thể, vì thế bí mật chỉ có thể giữ bởi một người mà lợi ích
của anh ta gắn liền với bí mật đó. Chính vì vậy, trong mã hóa hiện đại, người ta
luôn giả thiết rằng phương pháp mã hóa thông tin là cái không thể giữ được bí mật,
chúng sẽ được công khai, còn việc thực hiện thì cho phép thay đổi theo một tham số
do từng người sử dụng tự ấn định (mỗi giá trị của tham số sẽ xác định một cách mã
hóa riêng), việc lập mã và giải mã chỉ có thể được thực hiện khi biết được tham số
đó. Tham số như vậy được gọi là “chìa khóa” và đó là thông tin duy nhất cần phải
giữ bí mật. Tóm lại, một hệ mã hiện đại cần phải dựa trên nguyên tắc: chốt tính bảo
mật vào chìa khóa, chứ không phải vào phương pháp (thuật toán).
Luận văn sẽ nghiên cứu và xác định rõ vai trò của chìa khóa trong các giải pháp
bảo mật và an toàn thông tin. Trên cơ sở nghiên cứu và phân tích các giải pháp an
toàn khóa trong việc phân phối, trao đổi, chuyển vận khóa, cũng như các phương
thức quản lý nhằm mang lại hiệu quả cao nhất trong quá trình thực hiện các giao
thức đó. Luận văn gồm có bốn chương:
Nguyễn Thị Hiền Luận văn thạc sỹ
8
Mở đầu
Chương 1: Vai trò chìa khóa trong các giải pháp bảo mật và an toàn thông tin.

một, U và V chỉ có thể truyền tin được với nhau nếu cả hai cùng biết khóa K. Tính
an toàn của hệ mã phụ thuộc vào hai yếu tố: thuật toán phải đủ mạnh để không thể
giải mã được văn bản nếu đơn thuần chỉ dựa vào bản rõ, và tính an toàn khóa, chứ
không phải là an toàn thuật toán, tức là nếu biết bản mã và thuật toán mã hóa nhưng
không biết khóa vẫn không thể tìm được bản rõ. Nói cách khác, ta không cần giữ bí
mật thuật toán mà chỉ cần giữ bí mật chìa khóa. Việc giữ bí mật chìa khóa trở thành
điểm mấu chốt của hệ mã khóa loại này, nếu vì lý do nào đó mà khóa bị lộ thì tất cả
những văn bản hai bên trao đổi với nhau cũng sẽ bị lộ.
Nguyễn Thị Hiền Luận văn thạc sỹ
10
1.1.2. Trong hệ mã khóa công khai
Để sử dụng hệ mã khóa đối xứng yêu cầu hai bên trước khi truyền tin phải có chung
một giá trị khóa, giá trị này cần phải giữ bí mật và điều này không thuận tiện trong
môi trường truyền thông công cộng như hiện nay. Vì thế người ta đã đưa ra cách mã
hóa khác, cho phép các bên trong hệ thống có thể truyền tin cho nhau bằng cách
công bố công khai thông tin cần cho việc lập mã, khiến cho người gửi và người
nhận không cần quy ước trước với nhau, và cũng không có những bí mật chung.
Bên nhận được bản mã sử dụng khóa bí mật của mình giải mã để thu được văn bản
gốc. Khóa K của mỗi người dùng gồm hai phần
)",'( KKK
=
trong đó '
K
là phần
công khai, còn giữ bí mật
"
K
.
Mã hóa được thực hiện rất dễ dàng, bất kỳ người nào cũng có thể làm được, còn
việc giải mã rất khó khăn nếu như không có khóa riêng, còn nếu có nó thì việc giải

các bài toán khó, hoặc không thể giải trong thời gian chấp nhận được.
1.1.3. Trong sơ đồ xưng danh và xác nhận danh tính
Xưng danh và xác nhận danh tính là thuật ngữ ngày nay đang được nhắc đến rất
nhiều, nó đảm bảo rằng bên nhận văn bản đúng là bên ta định nhằm tới, hay chắc
Nguyễn Thị Hiền Luận văn thạc sỹ
11
chắn rằng các thao tác trên văn bản là do bên được phép thực hiện. Cho đến giữa
những năm 1970 [4] người ta vẫn còn cho rằng xưng danh và xác nhận danh tính
với mã hóa thực chất là cùng một mục tiêu an toàn thông tin. Nhưng cùng với sự
khám phá ra hàm băm, chữ ký điện tử, người ta nhận ra rằng đó là hai mục tiêu an
toàn thông tin hoàn toàn độc lập. Xưng danh và xác nhận danh tính rất cần thiết
trong các hoạt động thông tin, đặc biệt là khi các hoạt động này thông qua mạng.
Mục tiêu an toàn của việc xưng danh là bảo đảm sao cho khi “nghe” một chủ thể U
nào đó xưng danh với chủ thể V, bất kỳ ai khác U cũng không thể sau đó mạo nhận
mình là U, kể cả chính V. Nói cách khác, U muốn chứng minh để bên kia V xác
nhận danh tính của mình mà không để lộ bất kỳ thông tin gì về mình.
Việc xưng danh thường phải thông qua một giao thức hỏi - đáp nào đó, nhờ đó V có
thể xác nhận danh tính của U, V hỏi U, U trả lời để chứng tỏ cho V biết là U có sở
hữu một bí mật riêng nào đó. Vấn đề an toàn của sơ đồ xưng danh là phải đảm bảo
để sau khi U xưng danh với V, thì bất kỳ người nào khác không thể mạo nhận mình
là U kể cả V. Nói cách khác, U không để lộ một thông tin gì về bí mật mà U có
ngoài thông tin duy nhất là U sở hữu bí mật đó.
Sự an toàn của sơ đồ xưng danh cũng nằm trong tính khó giải của các bài toán nào
đó, hay dựa trên hàm một chiều nào đó.
1.1.4. Trong hệ xác nhận và chữ ký điện tử
Như ta đã nói ở trên bài toán bảo mật được đáp ứng bằng các giải pháp mật mã. Tuy
nhiên giờ đây người nhận còn muốn kiểm thử tính xác thực nguồn gốc của thông
tin, cũng như chắc chắn là thông tin đã không bị thay đổi trong quá trình truyền đi,
và nhất là cần ràng buộc danh tính của bên đã gửi thông tin đi để sau đó anh ta
không thể thoái thác là mình không gửi văn bản đó. Những yêu cầu này được đáp

(4) V dùng khóa bí mật của mình để giải mã văn bản nhận được từ U.
Nguyễn Thị Hiền Luận văn thạc sỹ
13
Với những hệ mã khóa loại này phải đảm bảo dù kẻ tấn công có biết thuật toán và
khóa công khai K không biết khóa bí mật vẫn khó tìm được cách giải mã.
Trong trường hợp dữ liệu công khai được các bên lấy từ một máy chủ nào đó ở xa,
giao thức chỉ an toàn nếu giải quyết được trường hợp sau đây:
• Tấn công giữa dòng
Nếu một kẻ W có khả năng tráo đổi chìa khóa trên cơ sở dữ liệu (CSDL) khóa công
khai thì người đó dễ dàng thu được toàn bộ thông tin mà U gửi cho V. Muốn làm
được việc này, anh ta chỉ việc lấy khóa công khai của mình tráo vào khóa công khai
của V; khi U lấy chìa này để mã hóa thông tin gửi cho V, sẽ bị W thu được và giải
mã; sau khi đọc xong thông tin anh ta sẽ mã hóa bằng khóa công khai của V rồi gửi
cho V; V vẫn nhận thông tin mà U gửi nhưng không biết là W đã nghe trộm toàn bộ
thông tin này. Vẫn bằng cách này W cũng nghe được toàn bộ thông tin mà V gửi
cho U.
Điểm yếu của hệ thống là khi U lấy chìa công khai của V để mã hóa thông tin mà
không biết chìa khóa đó có thực sự là của V hay không? Đặt ra yêu cầu ở đây là
phải khắc phục được tình trạng này. Thêm nữa, nếu giả thiết rằng không một kẻ tấn
công nào có thể truy nhập được vào CSDL trên máy chủ, thì khả năng U nhận được
một khóa “giả mạo” từ trung tâm vẫn có thể xảy ra nếu như W thu được các văn bản
trên đường chuyển về cho U.
1.2.2. Hệ mã khóa đối xứng
Quá trình truyền tin của hai bên U và V sử dụng hệ mã khóa đối xứng có thể được
mô tả như sau:
1. U và V thỏa thuận về hệ mã khóa
2. U và V thỏa thuận khóa dùng chung
3. U sử dụng thuật toán và khóa đã thỏa thuận mã hóa văn bản M muốn gửi cho
V
Nguyễn Thị Hiền Luận văn thạc sỹ

Hãy hình dung như thế này, mong muốn trao đổi các văn bản với nhau một cách an
toàn (tin cậy, toàn vẹn, xác thực và không thể thoái thác) được thỏa mãn bằng cách
sử dụng thuật toán mã hóa và công nghệ chữ ký điện tử. Nếu sử dụng thuật toán mã
hóa khóa đối xứng (thông thường các thuật toán khóa đối xứng nhanh hơn khoảng
từ 30-100 lần so với các thuật toán phi đối xứng tương đương) thì khóa đối xứng
được thống nhất và trao đổi với nhau bằng cách nào đó chỉ có hai bên tham gia trao
đổi mới biết mà thôi. Những phương pháp để hai bên nào đó thống nhất một khóa
chung một cách an toàn để sử dụng mã hóa sau này sẽ được nói đến ngay trong
chương hai của luận văn.
Có một giải pháp cho vấn đề trên là người ta sẽ sử dụng hệ mã khóa công khai để
trao đổi khóa đối xứng với nhau, tức là nếu U muốn thống nhất với V khóa dùng
chung K nào đó, U sẽ dùng khóa công khai K’ của V để mã hóa K, sau đó gửi bản
mã cho V, V sẽ dùng khóa riêng của mình để thu được K. Nếu thế thì yêu cầu đặt ra
ở đây là chúng ta sẽ phân phối khóa công khai như thế nào, hay làm thế nào để
khẳng định trong môi trường mạng rằng U đúng là đã có khóa công khai thực sự
của V. Từ đó nảy sinh yêu cầu quản trị khóa và kiểm tra việc sử dụng khóa và đó là
vấn đề sẽ được trình bày trong chương ba của luận văn.

Nguyễn Thị Hiền Luận văn thạc sỹ
16
Chương 2 - CÁC GIAO THỨC AN TOÀN KHÓA TRONG TRAO ĐỔI,
PHÂN PHỐI VÀ CHUYỂN VẬN KHÓA

2.1. Nhu cầu thỏa thuận, chuyển vận và phân phối khóa
Các hệ mã khóa công khai có nhiều điểm ưu việt hơn so với hệ mã khóa đối xứng vì
chúng không cần thiết lập một kênh truyền an toàn để trao đổi khóa bí mật. Tuy
nhiên điểm yếu của các hệ mã khóa công khai là chậm hơn nhiều so với các hệ mã
khóa đối xứng, thêm nữa hệ mã khóa công khai rất nhạy cảm với tấn công chọn bản
rõ tức là nếu bản mã C = E(P), trong đó P là bản rõ, thì người thám mã chỉ phải thực
hiện mã hóa tất cả các bản rõ có thể rồi so sánh kết quả thu được với C (điều này

authentication)
Xác nhận khóa
(key confirmation) là khả năng giao thức cho phép một bên chắc
chắn rằng bên kia đã có giá trị bí mật. Nghĩa là sau khi kết thúc giao thức U chắc
chắn rằng V đã thu được giá trị bí mật K.
Xác thực khóa hiển
(explicit key authentication) Giao thức có khả năng xác thực
khóa và xác nhận khóa thì được gọi là giao thức xác thực khóa hiển.
Xác thực thực thể (entity authentication) là quá trình cho phép một bên được đảm
bảo về danh tính của bên kia, và thực sự bên kia đã tham gia vào hoạt động của giao
thức.
Các giao thức có thể chỉ cung cấp xác thực thực thể đơn phương (tức là chỉ cho
phép xác thực theo một chiều hoặc là U về V, hoặc là V về U).
Các giao thức có thể bị tấn công dưới dạng các hình thức sau:
Tấn công thụ động
(còn gọi là tấn công bị động – passive attack): quan sát, nghe
trộm quá trình thực hiện giao thức nhưng không làm ảnh hưởng tới giao thức và
không thay đổi được thông tin giao dịch.
Nguyễn Thị Hiền Luận văn thạc sỹ
18
Tấn công chủ động (active attack): tìm cách thay đổi giao thức (theo hướng có lợi
cho mình), thay đổi thông tin, xóa thông tin thực, tạo thông tin giả, tham gia vào
giao dịch.
2.2. An toàn khóa trong các giao thức trao đổi
Giao thức trao đổi khóa là quá trình thực hiện mà nhờ đó hai (hay nhiều) bên cùng
nhau thiết lập khóa bí mật dùng chung thông qua quá trình truyền thông trên một
kênh công cộng.
Sau một số bước trao đổi gói tin cho nhau, U và V sẽ có chung một giá trị K. Bài
toán an toàn khóa đặt ra trong các giao thức này là:
− Mức thứ nhất là nếu W thu được các gói tin U, V gửi cho nhau vẫn không

Y. Liệu rằng từ hai giá trị này anh ta có thể tính được K không? Cách đơn giản nhất
là anh ta đi tìm a
U
hoặc a
V
, muốn thế thì W phải giải được bài toán Diffie-Hellman
trong trường
*
p
Z , mà bài toán này đến nay vẫn còn là khó giải với p lớn bất kỳ.
Bài toán Diffie-Hellman:
Biết p
x
mod
α
và p
y
mod
α
, với x, y được lấy ngẫu nhiên
trong Z
p-1
. Tính p
xy
mod
α
.
2.2.1.3. Giao thức bị tấn công giữa dòng

W là một kẻ tấn công giữa dòng, nhận được các gói tin U và V gửi cho nhau rồi

2. V lấy ngẫu nhiên a
V
sao cho
20



pa
V
.
3. V tính Y =
V
a
α
mod p rồi gửi cho U.
4. U tính khóa chung
UVU
aaa
YK )(
α
== mod p=
Vu
aa
α
= mod p
V cũng tính được

VUV
aaa
XK )(

2.2.2.1. Giao thức STS
Giao thức do Difie, Van Oorschot, và Wiener đưa ra [6]. Đây là giao thức thỏa
thuận khóa có xác thực (xác thực thực thể và xác thực khóa) dựa trên trao đổi khóa
Diffie-Hellman, nó khắc phục vấn đề tấn công giữa dòng trong giao thức trên.
Ngoài số nguyên tố p và phần tử sinh
α
công khai của hệ thống, mỗi người dùng U
còn có thuật toán ký sig
U
cùng với thuật toán kiểm thử ver
U
. Giao thức này có sự
tham gia của bên thứ ba TA có sơ đồ ký với thuật toán ký sig
TA
, thuật toán kiểm thử
công khai là ver
TA
. Mỗi cá thể U sẽ có chứng chỉ:
C(U) = (ID(U), ver
U
, sig
TA
(ID(U)), ver
U
)
trong đó ID(U) là thông tin xác định danh tính của U. Hoạt động của giao thức được
trình bày như trong Hình 2.2 dưới đây:
Hình 2.2 Giao thức STS
1. U sinh ngẫu nhiên a
U

α
==

y
V
= sig
V
(
UV
aa
αα
, ).

5. V gửi (C(V),
V
a
y
V
,
α
) cho U.
6. U tính
pYK
UVU
aaa
mod
α
==
Kiểm tra lại y
V

bằng
U
a'
α
, hoặc sau khi nhận được
V
a
α
của V,
thay thế nó bằng
V
a'
α
. Vì để làm được điều này đồng nghĩa với việc anh ta phải thay
),(
'
UV
aa
V
sig
αα
bằng ),(
'
UV
aa
V
sig
αα
. Mà do không biết thuật toán ký của V nên W
không thể tính được chữ ký trên

UVV
aa
V
a
sig
ααα

),(
VU
aa
U
sig
ααU V
Nguyễn Thị Hiền Luận văn thạc sỹ
22
)),((
UV
aa
KV
sigey
αα
=

và ở bước 6, ta mã hóa các giá trị đã biết với khóa phiên vừa tạo được, thì giao thức

V
r
α
mod p
4. V gửi (C(V), s
V
) cho U.
5. Khi đó cả U và V đều tính được khóa K chung:
K =
UU
r
V
a
V
bs mod p =
VV
r
U
a
U
bs mod p = p
UVVU
arar
mod
+
α

trong đó U lấy được b
V
từ C(V), còn V lấy được b

(ID(U), b
U
))
2.2.3.2. Giao thức an toàn với tấn công thụ động
Các gói tin lưu chuyển trong giao thức có thể được mô tả như trong hình vẽ dưới
đây:

Dễ thấy là MTI kháng lại được tấn công thụ động cũng như Diffie-Hellman, do việc
giải bài toán MTI cũng khó như bài toán Diffie-Hellman. Người ta đã chứng minh
được rằng nếu giải được bài toán Diffie-Hellman thì cũng giải được bài toán MTI
và ngược lại.
Bài toán MTI:
Biết p
a
mod
α
, p
b
mod
α
, p
x
mod
α
, p
y
mod
α
, với các giá trị a, b,
x, y được lấy ngẫu nhiên trong trường Z


V
C(U),
U
r

α

C(V),
V
r

α
C(V),
V
r
α

C(U),
U
r
α

Nguyễn Thị Hiền Luận văn thạc sỹ
24
Khi đó U và V sẽ tính hai khóa khác nhau: U tính K =
UVVU
arar

+

E
U
(E
V
(P)) = E
V
(E
U
(P))
Khi U muốn gửi cho V bản tin M thì hai bên thực hiện giao thức hoạt động như
Hình 2.3 dưới đây, trong đó U, V tương ứng là khóa bí mật của U, V:
Hình 2.4 Giao thức Shamir
1. U mã hóa M bằng khóa của mình rồi gửi cho V
C
1
= E
U
(M)

2. V sử dụng khóa của mình mã hóa C
1
rồi gửi cho U
C
2
= E
V
(E
U
(M))
3. U giải mã C

Nguyễn Thị Hiền Luận văn thạc sỹ
25
Lưu ý: Không nên áp dụng thuật toán mã bằng phép XOR bit (dùng chìa là một xâu
bit còn thuật toán mã là trộn xâu bit đó với dữ liệu) [6] cho giao thức này mặc dù
nó thỏa mãn tính giao hoán. Thật vậy nếu kẻ tấn công W nào đó “nghe trộm” được
cả ba bản mã C
1
, C
2
, C
3

C
1
= M

U
C
2
= M

U

V
C
3
= M

V
thì hoàn toàn có thể tính được M:

mod p
Với cách sử dụng này nếu W muốn có được M thì anh ta buộc phải giải bài toán
logarit rời rạc.
Cũng giống như Diffie – Hellman, giao thức Shamir cho phép một bên truyền tin
mà không cần biết khóa của bên kia.
2.2.5. Giao thức trao đổi khóa mã hóa - Encrypted Key Exchange (EKE)
2.2.5.1. Giao thức
Giao thức dùng để nhận diện lẫn nhau và sinh chìa khóa cho phiên làm việc do
Steve Bellovin và Micheal Merritt đưa ra [4], sử dụng cả mã khóa đối xứng và mã
khóa công khai theo cách tiếp cận: khóa bí mật được dùng để mã hóa khóa công
khai sinh ngẫu nhiên, do đó không sợ kẻ gian tráo đổi các chìa khóa công khai.

Trích đoạn Hệ phân phối khóa Diffie-Hellman Quan hệ tin cậy giữa hai vùng Vòng đời khóa Giao thức SSL Record
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