Giáo trình môn An toàn và bảo mật thông tin

Khi nhu cầu trao đổi thông tin dữ liệu ngày càng lớn và đa dạng, các tiến bộ

về điện tử - viễn thông và công nghệ thông tin không ngừng được phát triển ứng

dụng để nâng cao chất lượng và lưu lượng truyền tin thì các quan niệm ý tưởng

và biện pháp bảo vệ thông tin dữ liệu cũng được đổi mới. Bảo vệ an toàn thông

tin dữ liệu là một chủ đề rộng, có liên quan đến nhiều lĩnh vực và trong thực tế

có thể có rất nhiều phương pháp được thực hiện để bảo vệ an toàn thông tin dữ

liệu. Các phương pháp bảo vệ an toàn thông tin dữ liệu có thể được quy tụ vào

ba nhóm sau:

- Bảo vệ an toàn thông tin bằng các biện pháp hành chính.

- Bảo vệ an toàn thông tin bằng các biện pháp kỹ thuật (phần cứng).

- Bảo vệ an toàn thông tin bằng các biện pháp thuật toán (phần mềm)

Giáo trình môn An toàn và bảo mật thông tin trang 1

Trang 1

Giáo trình môn An toàn và bảo mật thông tin trang 2

Trang 2

Giáo trình môn An toàn và bảo mật thông tin trang 3

Trang 3

Giáo trình môn An toàn và bảo mật thông tin trang 4

Trang 4

Giáo trình môn An toàn và bảo mật thông tin trang 5

Trang 5

Giáo trình môn An toàn và bảo mật thông tin trang 6

Trang 6

Giáo trình môn An toàn và bảo mật thông tin trang 7

Trang 7

Giáo trình môn An toàn và bảo mật thông tin trang 8

Trang 8

Giáo trình môn An toàn và bảo mật thông tin trang 9

Trang 9

Giáo trình môn An toàn và bảo mật thông tin trang 10

Trang 10

Tải về để xem bản đầy đủ

pdf 110 trang minhkhanh 3740
Bạn đang xem 10 trang mẫu của tài liệu "Giáo trình môn An toàn và bảo mật thông tin", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Giáo trình môn An toàn và bảo mật thông tin

Giáo trình môn An toàn và bảo mật thông tin
ĐẠI HỌC BÁCH KHOA HÀ NỘI 
------ 
Giáo trình 
An toàn và bảo mật thông tin 
 1
Chương 1: TỔNG QUAN VỀ AN TOÀN VÀ BẢO MẬT THÔNG TIN 
1.1. Nội dung của an toàn và bảo mật thông tin 
Khi nhu cầu trao đổi thông tin dữ liệu ngày càng lớn và đa dạng, các tiến bộ 
về điện tử - viễn thông và công nghệ thông tin không ngừng được phát triển ứng 
dụng để nâng cao chất lượng và lưu lượng truyền tin thì các quan niệm ý tưởng 
và biện pháp bảo vệ thông tin dữ liệu cũng được đổi mới. Bảo vệ an toàn thông 
tin dữ liệu là một chủ đề rộng, có liên quan đến nhiều lĩnh vực và trong thực tế 
có thể có rất nhiều phương pháp được thực hiện để bảo vệ an toàn thông tin dữ 
liệu. Các phương pháp bảo vệ an toàn thông tin dữ liệu có thể được quy tụ vào 
ba nhóm sau: 
- Bảo vệ an toàn thông tin bằng các biện pháp hành chính. 
- Bảo vệ an toàn thông tin bằng các biện pháp kỹ thuật (phần cứng). 
- Bảo vệ an toàn thông tin bằng các biện pháp thuật toán (phần mềm). 
Ba nhóm trên có thể được ứng dụng riêng rẽ hoặc phối kết hợp. Môi trường 
khó bảo vệ an toàn thông tin nhất và cũng là môi trường đối phương dễ xân nhập 
nhất đó là môi trường mạng và truyền tin. Biện pháp hiệu quả nhất và kinh tế 
nhất hiện nay trên mạng truyền tin và mạng máy tính là biện pháp thuật toán. 
An toàn thông tin bao gồm các nội dung sau: 
- Tính bí mật: tính kín đáo riêng tư của thông tin 
- Tính xác thực của thông tin, bao gồm xác thực đối tác( bài toán nhận 
danh), xác thực thông tin trao đổi. 
- Tính trách nhiệm: đảm bảo người gửi thông tin không thể thoái thác trách 
nhiệm về thông tin mà mình đã gửi. 
Để đảm bảo an toàn thông tin dữ liệu trên đường truyền tin và trên mạng 
máy tính có hiệu quả thì điều trước tiên là phải lường trước hoặc dự đoán trước 
các khả năng không an toàn, khả năng xâm phạm, các sự cố rủi ro có thể xảy ra 
đối với thông tin dữ liệu được lưu trữ và trao đổi trên đường truyền tin cũng như 
 2
trên mạng. Xác định càng chính xác các nguy cơ nói trên thì càng quyết định 
được tốt các giải pháp để giảm thiểu các thiệt hại. 
Có hai loại hành vi xâm phạm thông tin dữ liệu đó là: vi phạm chủ động và 
vi phạm thụ động. Vi phạm thụ động chỉ nhằm mục đích cuối cùng là nắm bắt 
được thông tin (đánh cắp thông tin). Việc làm đó có khi không biết được nội 
dung cụ thể nhưng có thể dò ra được người gửi, người nhận nhờ thông tin điều 
khiển giao thức chứa trong phần đầu các gói tin. Kẻ xâm nhập có thể kiểm tra 
được số lượng, độ dài và tần số trao đổi. Vì vậy vi pham thụ động không làm sai 
lệch hoặc hủy hoại nội dung thông tin dữ liệu được trao đổi. Vi phạm thụ động 
thường khó phát hiện nhưng có thể có những biện pháp ngăn chặn hiệu quả. Vi 
phạm chủ động là dạng vi phạm có thể làm thay đổi nội dung, xóa bỏ, làm trễ, 
xắp xếp lại thứ tự hoặc làm lặp lại gói tin tại thời điểm đó hoặc sau đó một thời 
gian. Vi phạm chủ động có thể thêm vào một số thông tin ngoại lai để làm sai 
lệch nội dung thông tin trao đổi. Vi phạm chủ động dễ phát hiện nhưng để ngăn 
chặn hiệu quả thì khó khăn hơn nhiều. 
Một thực tế là không có một biện pháp bảo vệ an toàn thông tin dữ liệu nào 
là an toàn tuyệt đối. Một hệ thống dù được bảo vệ chắc chắn đến đâu cũng 
không thể đảm bảo là an toàn tuyệt đối. 
 3
1.2. Các chiến lượt an toàn hệ thống : 
a. Giới hạn quyền hạn tối thiểu (Last Privilege): 
Đây là chiến lược cơ bản nhất theo nguyên tắc này bất kỳ một đối tượng 
nào cùng chỉ có những quyền hạn nhất định đối với tài nguyên mạng, khi thâm 
nhập vào mạng đối tượng đó chỉ được sử dụng một số tài nguyên nhất định. 
b. Bảo vệ theo chiều sâu (Defence In Depth): 
Nguyên tắc này nhắc nhở chúng ta : Không nên dựa vào một chế độ an toàn 
nào dù cho chúng rất mạnh, mà nên tạo nhiều cơ chế an toàn để tương hỗ lẫn 
nhau. 
c. Nút thắt (Choke Point) : 
Tạo ra một “cửa khẩu” hẹp, và chỉ cho phép thông tin đi vào hệ thống của 
mình bằng con đường duy nhất chính là “cửa khẩu” này. => phải tổ chức một cơ 
cấu kiểm soát và điều khiển thông tin đi qua cửa này. 
d. Điểm nối yếu nhất (Weakest Link) : 
Chiến lược này dựa trên nguyên tắc: “ Một dây xích chỉ chắc tại mắt duy 
nhất, một bức tường chỉ cứng tại điểm yếu nhất” 
Kẻ phá hoại thường tìm những chỗ yếu nhất của hệ thống để tấn công, do 
đó ta cần phải gia cố các yếu điểm của hệ thống. Thông thường chúng ta chỉ 
quan tâm đến kẻ tấn công trên mạng hơn là kẻ tiếp cận hệ thống, do đó an toàn 
vật lý được coi là yếu điểm nhất trong hệ thống của chúng ta. 
e. Tính toàn cục: 
Các hệ thống an toàn đòi hỏi phải có tính toàn cục của các hệ thống cục bộ. 
Nếu có một kẻ nào đó có thể bẻ gãy một cơ chế an toàn thì chúng có thể thành 
công bằng cách tấn công hệ thống tự do của ai đó và sau đó tấn công hệ thống từ 
nội bộ bên trong. 
f. Tính đa dạng bảo vệ :Cần phải sử dụng nhiều biện pháp bảo vệ khác 
nhau cho hệ thống khác nhau, nếu không có kẻ tấn công vào được một hệ thống 
thì chúng cũng dễ dàng tấn công vào các hệ thống khác. 
 4
1.3 Các mức bảo vệ trên mạng : 
Vì không thể có một giải pháp an toàn tuyệt đối nên người ta thường phải 
sử dụng đồng thời nhiều mức bảo vệ khác nhau tạo thành nhiều hàng rào chắn 
đối với các hoạt động xâm phạm. Việc bảo vệ thông tin trên mạng chủ yếu là 
bảo vệ thông tin cất giữ trong máy tính, đặc biệt là các server trên mạng. Bởi thế 
ngoài một số biện pháp nhằm chống thất thoát thông tin trên đường truyền mọi 
cố gắng tập trung vào việc xây dựng các mức rào chắn từ ngoài vào trong cho 
các hệ thống kết nối vào mạng. Thông thường bao gồm các mức bảo vệ sau: 
a. Quyền truy nhập 
Lớp bảo vệ trong cùng là quyền truy nhập nhằm kiểm soát các tài nguyên 
của mạng và quyền hạn trên tài nguyên đó. Dĩ nhiên là kiểm soát được các cấu 
trúc dữ liệu càng chi tiết càng tốt. Hiện tại việc kiểm soát thường ở mức tệp. 
b. Đăng ký tên /mật khẩu. 
Thực ra đây cũng là kiểm soát quyền truy nhập, nhưng không phải truy 
nhập ở mức thông tin mà ở mức hệ thống. Đây là phương pháp bảo vệ phổ biến 
nhất vì nó đơn giản ít phí ... g, ai đó có thể giả mạo chữ kí của Bob trên một bức điện “ ngẫu 
nhiên” x bằng cách tìm x=ek(y) với y nào đó, khi đó y= sigk(x). Một giải pháp 
xung quanh vấn đề khó khăn này là yêu cầu bức điện chưa đủ phần dư để chữ 
kí giả mạo kiểu này không tương ứng với bức điện. Nghĩa là x trừ một xác 
suất rất bé. Có thể dùng các hàm hash trong việc kết nối với các sơ đồ chữ kí 
số sẽ loại trừ được phương pháp giả mạo này. 
Sơ đồ chữ kí RSA 
 Ta xét tóm tắt cách kết hợp chữ kí và mã khoá công khai. Giả sử rằng, 
Alice tính toán chữ kí y= sigAlice(x) và sau đó mã cả x và y bằng hàm mã khoá 
công khai eBob của Bob, khi đó cô ta nhận được z = eBob(x,y). Bản mã z sẽ 
được truyền tới Bob. Khi Bob nhận được z, anh ta sẽ trước hết sẽ giải mã hàm 
dBob để nhận được (x,y). Sau đó anh ta ung hàm xác minh công khai của 
Alice để kiểm tra xem verAlice(x,y) có bằng True hay không. 
Song nếu đầu tiên Alice mã x rồi sau đó mới kí tên bản mã nhận được thì 
khi đó cô tính : 
 y= sigAlice(eBob(x)). 
Alice sẽ truyền cặp (z,y) tới Bob. Bob sẽ giải mã z, nhận x và sau đó xác 
minh chữ kí y trên x nhờ dùng verAlice. Một vấn đề tiểm ẩn trong biện pháp 
này là nếu Oscar nhận được cặp (x,y) kiểu này, được ta có thay chữ kí y của 
Alice bằng chữ kí của mình. 
 Y, = sigOscar(eBob(x)). 
Cho n= p.q, p và q là các số nguyên tố. Cho P =A= Zn 
 ab ≡1(mod(φ (n))). Các giá trị n và b là công khai, a giữ bí mật. 
Hàm kí: 
 sigk(x)= xa mod n 
và kiểm tra chữ kí: 
 verk (x,y)= true ⇔ x≡ yb (mod n) 
(x,y ∈ Zn) 
 101
(Chú ý, Oscar có thể kí bản mã eBob(x) ngay cả khi anh ta không biết bản 
rõ x). Khi đó nếu Oscar truyền (x, y’ ) đến Bob thì chữ kí Oscar được Bob xác 
minh bằng verOscar và Bob có thể suy ra rằng, bản rõ x xuất phát từ Oscar. Do 
khó khăn này, hầu hết người sử dụng được khuyến nghị nếu kí trước khi mã. 
5.2. Sơ đồ chữ kí ELGAMAL 
Sau đây ta sẽ mô tả sơ đồ chữ kí Elgamal đã từng dưới thiệu trong bài báo 
năm 1985. Bản cả tiến của sơ đồ này đã được Viện Tiêu chuẩn và Công Nghệ 
Quốc Gia Mỹ (NIST) chấp nhận làm chữ kí số. Sơ đồ Elgamal (E.) được thiết 
kế với mục đích dành riêng cho chữ kí số, khác sơ đồ RSA dùng cho cả hệ 
thống mã khoá công khai lẫn chữ kí số. 
Sơ đồ E, là không tất định giống như hệ thống mã khoá công khai 
Elgamal. Điều này có nghĩa là có nhiều chữ kí hợp lệ trên bức điện cho trước 
bất kỳ. Thuật toán xác minh phải có khả năng chấp nhận bất kì chữ kí hợp lệ 
khi xác thực. 
Nếu chữ kí được thiết lập đúng khi xác minh sẽ thành công vì : 
 βγ γδ ≡ αa γ αkγ(mod p) 
 ≡ αx(mod p) 
là ở đây ta dùng hệ thức : 
 a γ+ k δ ≡ x (mod p-1) 
Sơ đồ chữ kí số Elgamal. 
Cho p là số nguyên tố sao cho bài toán logarit rời rạc trên Zp là khó và 
giả sử α ∈ Zn là phần tử nguyên thuỷ p = Zp* , a = Zp* × Zp-1 và định nghĩa: 
 K ={(p,α ,a,β ):β ≡ αa(mod p)}. 
 Giá trị p,α ,β là công khai, còn a là mật. 
 Với K = (p, α , a, β ) và một số ngẫu nhiên (mật) k∈ Zp-1. định nghĩa : 
 Sigk(x,y) =(γ ,δ), 
trong đó γ = αk mod p 
và δ =(x-a) k-1 mod (p-1). 
Với x,γ ∈ Zp và δ ∈ Zp-1 , ta định nghĩa : 
 Ver(x, γ ,δ ) = true ⇔ βγ γδ ≡ αx(mod p). 
 102
Bob tính chữ kí bằng cách dùng cả gía trị mật a (là một phần của khoá) 
lẫn số ngẫu nhiên mật k (dùng để kí lên bức điện x). Việc xác minh có thực 
hiện duy nhất bằng thông báo tin công khai. 
Chúng ta hãy xét một ví dụ nhỏ minh hoạ. 
Giả sử cho p = 467, α =2, a = 127, khi đó: 
 β = αa mod p 
 = 2127 mod 467 
 = 132 
Nếu Bob muốn kí lên bức điện x = 100 và chọn số ngẫu nhiên k =213 
(chú ý là UCLN(213,466) =1 và 213-1 mod 466 = 431. Khi đó 
 γ =2213 mod 467 = 29 
và δ =(100-127 × 29) 431 mod 466 = 51. 
Bất kỳ ai củng có thể xác minh chữ kí bằng các kiểm tra : 
 13229 2951 ≡ 189 (mod 467) 
và 2100 ≡ 189 (mod 467) 
Vì thế chữ kí là hợp lệ. 
Xét độ mật của sơ đồ chữ kí E. Giả sử, Oscar thử giả mạo chữ kí trên bức 
điện x cho trước không biết a. Nếu Oscar chọn γ và sau đó thử tìm giá trị δ 
tương ứng, anh ta phải tính logarithm rời rạc logγ αxβ-γ. Mặt khác, nếu đầu 
tiên ta chọn δ và sau đó thử tim γ và thử giải phương trình: 
 βγ γδ ≡ αx(mod p). 
để tìm γ. Đây là bài toán chưa có lời giải nào. Tuy nhiên, dường như nó 
chưa được gắn với đến bài toán đã nghiên cứu kĩ nào nên vẫn có khả năng có 
cách nào đó để tính δ và γ đồng thời để (δ, γ) là một chữ kí. Hiện thời không 
ai tìm được cách giải song cũng ai không khẳng định được rằng nó không thể 
giải được. 
 103
Nếu Oscar chọn δ và γ và sau đó tự giải tìm x, anh ta sẽ phải đối mặt với 
bài toán logarithm rời rạc, tức bài toán tính logα Vì thế Oscar không thể kí 
một bức điện ngẫu nhiên bằng biện pháp này. Tuy nhiên, có một cách để 
Oscar có thể kí lên bức điện ngẫu nhiên bằng việc chọn γ, δ và x đồng thời: 
giả thiết i và j là các số nguyên 0 ≤ i ≤ p-2, 0 ≤ j ≤ p-2 và UCLN(j,p-2) = 1. 
Khi đó thực hiện các tính toán sau: 
 γ = αi βj mod p 
 δ = -γ j-1 mod (p-1) 
 x = -γ i j-1 mod (p-1) 
Trong đó j-1 được tính theo modulo (p-1) (ở đây đòi hỏi j nguyên tố cùng 
nhau với p-1). 
Ta nói rằng (γ, δ ) là chữ kí hợp lệ của x. Điều này được chứng minh qua 
việc kiểm tra xác minh : 
Ta sẽ minh hoạ bằng một ví dụ : 
Giống như ví dụ trước cho p = 467, α = 2, β =132. Giả sữ Oscar chọn i = 
99,j = 179; khi đó j-1 mod (p-1) = 151. Anh ta tính toán như sau: 
 γ = 299132197 mod 467 = 117 
 δ =-117 ×151 mod 466 = 51. 
 x = 99 × 41 mod 466 = 331 
Khi đó (117, 41) là chữ kí hợp lệ trên bức điện 331 như thế đã xác minh 
qua phép kiểm tra sau: 
132117 11741 ≡ 303 (mod 467) 
và 2331 ≡ 303 (mod 467) 
Vì thế chữ kí là hợp lệ. 
Sau đây là kiểu giả mạo thứ hai trong đó Oscar bắt đầu bằng bức điện 
được Bob kí trước đây. Giả sử (γ, δ ) là chữ kí hợp lệ trên x. Khi đó Oscar có 
khả năng kí lên nhiều bức điện khác nhau. Giả sử i, j, h là các số nguyên, 0 ≤ 
h, i, j ≤ p-2 và UCLN (h γ - j δ, p-1) = 1. Ta thực hiện tính toán sau: 
 104
λ = γh αi βj mod p 
μ = δλ(hγ -jδ)-1 mod (p-1) 
x, = λ(hx+iδ ) -1 mod (p-1), 
Trong đó (hγ -jδ)-1 được tính theo modulo (p-1). Khi đó dễ dàng kiểm tra 
điệu kiện xác minh : 
 β λ λμ ≡ αx’ (mod p) 
vì thế (λ, μ)là chữ kí hợp lệ của x’. 
Cả hai phương pháp trên đều tạo các chữ kí giả mạo hợp lệ song không 
xuất hiện khả năng đối phương giả mạo chữ kí trên bức điện có sự lựu chọn 
của chính họ mà không phải giải bài toán logarithm rời rạc, vì thế không có gì 
nguy hiểm về độ an toàn của sơ đồ chữ kí Elgamal. 
Cuối cùng, ta sẽ nêu vài cách có thể phải được sơ đồ này nếu không áp 
dụng nó một cách cẩn thận (có một số ví dụ nữa về khiếm khuyết của giao 
thức, một số trong đó là xét trong chương 4). Trước hết, giá trị k ngẫu nhiên 
được dùng để tính chữ kí phải giữ kín không để lộ. vì nếu k bị lộ, khá đơn 
giản để tính : 
 A = (x-k γ )δ-1 mod (p-1). 
Dĩ nhiên, một khi a bị lộ thì hệ thống bị phá và Oscar có thể dễ dang giả 
mạo chữ kí. 
Một kiểu dung sai sơ đồ nữa là dùng cùng giá trị k để kí hai bức điện khác 
nhau. điều này cùng tạo thuận lợi cho Oscar tinh a và phá hệ thống. Sau đây là 
cách thực hiện. Giả sử (γ, δ1) là chữ kí trên x1 và (γ, δ2) là chữ kí trên x2. Khi 
đó ta có: 
 βγ γδ1 ≡ αx1 (mod p) 
và βγγδ2 ≡ αx2(modp). 
Như vậy 
 αx1-x2 ≡ αδ1-δ2 (mod p). 
Nếu viết γ = αk, ta nhận được phương trình tìm k chưa biết sau. 
 105
 αx1-x2 ≡ αk(δ1 -δ2) (mod p) 
tương đương với phương trình 
 x1- x2 ≡ k( δ1- δ2) (mod p-1). 
Bây giờ giả sử d =UCLN(δ1- δ2, p-1). Vì d | (p-1) và d | (δ1-δ2) nên suy ra 
d | (x1-x2). Ta định nghĩa: 
 x’ = (x1- x2)/d 
 δ’ = (δ1- δ2)/d 
 p’ = ( p -1 )/d 
Khi đó đồngdư thức trở thành: 
 x’ ≡ k δ’ (mod p’ ) 
vì UCLN(δ’, p’ ) = 1,nên có thể tính: 
 ε = (δ’)-1 mod p’ 
Khi đó giá trị k xác định theo modulo p’ sẽ là: 
 k = x’ ε mod p’ 
Phương trình này cho d giá trị có thể của k 
 k = x’ ε +i p’ mod p 
với i nào đó, 0 ≤ i ≤ d-1. Trong số d giá trị có có thế này, có thể xác định 
được một giá trị đúng duy nhất qua việc kiểm tra điều kiện 
 γ ≡ αk (mod p) 
5.3. Chuẩn chữ kí số. 
Chuẩn chữ kí số(DSS) là phiên bản cải tiến của sơ đồ chữ kí Elgamal. Nó 
được công bố trong Hồ Sơ trong liên bang vào ngày 19/5/94 và được làm 
 106
chuẩn voà 1/12/94 tuy đã được đề xuất từ 8/91. Trước hết ta sẽ nêu ra những 
thay đổi của nó so với sơ đồ Elgamal và sau đó sẽ mô tả cách thực hiện 
nó.Trong nhiều tinh huống, thông báo có thể mã và giải mã chỉ một lần nên 
nó phù hợp cho việc dùng với hệ mật bất kì (an toàn tại thời điểm được mã). 
Song trên thực tế, nhiều khi một bức điện được dùng làm một tài liệu đối 
chứng, chẳng hạn như bản hợp đồng hay một chúc thư và vì thế cần xác minh 
chữ kí sau nhiều năm kể từ lúc bức điện được kí. Bởi vậy, điều quan trọng là 
có phương án dự phòng liên quan đến sự an toàn của sơ đồ chữ kí khi đối mặt 
với hệ thống mã. Vì sơ đồ Elgamal không an toàn hơn bài toán logarithm rời 
rạc nên cần dung modulo p lớn. Chắc chắn p cần ít nhất là 512 bít và nhiều 
người nhất trí là p nên lấy p=1024 bít để có độ an toàn tốt. 
Tuy nhiên, khi chỉ lấy modulo p =512 thì chữ kí sẽ có 1024 bít. Đối với 
nhiều ứng dụng dùng thẻ thông minh thì cần lại có chữ kí ngắn hơn. DSS cải 
tiến sơ đồ Elgamal theo hướng sao cho một bức điện 160 bít được kí bằng chữ 
kí 302 bít song lại p = 512 bít. Khi đó hệ thống làm việc trong nhóm con Zn* 
kích thước 2160. Độ mật của hệ thống dựa trên sự an toàn của việc tìm các 
logarithm rời rạc trong nhóm con Zn*. 
Sự thay đổi đầu tiên là thay dấu “ - “ bằng “+” trong định nghĩa δ, vì thế: 
 δ = (x +α γ )k-1 mod (p-1) 
thay đổi kéo theo thay đổi điều kiện xác minh như sau: 
 αx βγ ≡ γδ (mod p) (6.1) 
Nếu UCLN (x + αγ, p-1) =1thì δ-1 mod (p-1) tồn tại và ta có thể thay đổi 
điều kiện (6.1) như sau: 
 αxδ-1βγδ-1 ≡ γ (mod )p (6.2) 
Đây là thay đổi chủ yếu trong DSS. Giả sử q là số nguyên tố 160 bít sao 
cho q | (q-1) và α là căn bậc q của một modulo p. (Dễ dàng xây dựng một α 
như vậy: cho α0 là phần tử nguyên thuỷ của Zp và định nghĩa α = α0(p-1)/q mod 
p). 
 107
Khi đó β và γ cũng sẽ là căn bậc q của 1. vì thế các số mũ Bất kỳ của α, β 
và γ có thể rút gọn theo modulo q mà không ảnh hưởng đến điều kiện xác 
minh (6.2). Điều rắc rối ở đây là γ xuất hiện dưới dạng số mũ ở vế trái của 
(6.2) song không như vậy ở vế phải. Vì thế, nếu γ rút gọn theo modulo q thì 
cũng phải rút gọn toàn bộ vế trái của (6.2) theo modulo q để thực hiện phép 
kiểm tra. Nhận xét rằng, sơ đồ (6.1) sẽ không làm việc nếu thực hiện rút gọn 
theo modulo q trên (6.1). DSS được mô tả đầy đủ trong sơ đồ dưới. 
Chú ý cần có δ ≡ 0 (mod q) vì giá trị δ-1 mod q cần thiết để xác minh chữ 
kí (điều này tương với yêu cầu UCLN(δ, p-1 ) =1 khi biến đổi (6.1) thành 
(6.2). Nếu Bob tính δ ≡ 0 (mod q) theo thuật toán chữ kí, anh ta sẽ loại đi và 
xây dựng chữ kí mới với số ngẫu nhiên k mới. Cần chỉ ra rằng, điều này có 
thể không gần vấn đề trên thực tế: xác xuất để δ ≡ 0 (mod q) chắc sẽ xảy ra cở 
2-160 nên nó sẽ hầu như không bao giờ xảy ra. 
Dưới đây là một ví dụ minh hoạ nhỏ 
Chuẩn chữ kí số. 
Giả sử p là số nguyên tố 512 bít sao cho bài toán logarithm rời rạc trong 
Zp không giải được, cho p là số nguyên tố 160 bít là ước của (p-1). Giả thiết α 
∈ Zp là căn bậc q của 1modulo p: Cho p =Zp . a = Zq× Zp và định nghĩa : 
 A = {(p,q,α ,a,β ) : β ≡ αa (mod p)} 
 các số p, q, α và β là công khai, có a mật. 
Với K = (p,q,α ,a,β )và với một số ngẫu nhiên (mật) k ,1 ≤ k ≤ q-1, ta 
định nghĩa: 
 sigk (x,k) = (γ ,δ) 
trong đó γ =(αk mod p) mod q 
và δ = (x +a γ )k-1 mod q 
Với x ∈ Zp và γ ,δ ∈ Zq , qua trình xác minh sẽ hoàn toàn sau các tính 
toán : 
 e1= xδ-1 mod q 
 e2= γδ-1 mod q 
verk(x, γ, δ) = true ⇔( αe1βe2 mod p) mod q = γ 
 108
Ví dụ: 
Giả sử q =101, p = 78 q+1 =7879.3 là phần tử nguyên thuỷ trong Z7879 
nên ta có thể lấy: α = 378 mod 7879 =170 
Giả sử a =75, khi đó : 
 β = αa mod 7879 = 4576 
Bây giờ giả sữ Bob muốn kí bức điện x = 1234 và anh ta chọn số ngẫu 
nhiên k =50, vì thế : 
 k-1 mod 101 = 99 
khi đó γ =(17030 mod 7879) mod 101 
 = 2518 mod 101 
 = 94 
và δ = (1234 +75 × 94) mod 101 
 = 96 
Chữ kí (94, 97) trên bức điện 1234 được xác minh bằng các tính toán sau:
 δ-1 = 97-1 mod 101 =25 
 e1 = 1234 × 25mod 101 = 45 
 e2 = 94 × 25 mod 101 =27 
 (17045 456727 mod 7879)mod =2518 mod 101 = 94 
vì thế chữ kí hợp lệ. 
Khi DSS được đề xuất năm 1991, đã có một vài chỉ trích đưa ra. Một ý 
kiến cho rằng, việc xử lý lựa chọn của NIST là không công khai. Tiêu chuẫn 
đã được Cục An ninh Quốc gia (NSA) phát triển mà không có sự tham gia của 
khôi công nghiệp Mỹ. Bất chấp những ưu thế của sơ đồ, nhiều người đã đóng 
chặt cửa không tiếp nhận. 
Còn những chỉ trích về mặt kĩ thuật thì chủ yếu là về kích thước modulo p 
bị cố định = 512 bít. Nhiều người muốn kích thước này có thể thay đổi được 
nếu cần, có thể dùng kích cỡ lớn hơn. Đáp ứng những đòi hỏi này, NIST đã 
chọn tiêu chuẩn cho phép có nhiều cở modulo, nghĩa là cỡ modulo bất kì chia 
hết cho 64 trong phạm vi từ 512 đến 1024 bít. 
 109
Một phàn nàn khác về DSS là chữ kí được tạo ra nhanh hơn việc xác minh 
nó. Trong khi đó, nếu dùng RSA làm sơ đồ chữ kí với số mũ xác minh công 
khai nhỏ hơn (chẳng hạn = 3) thì có thể xác minh nhanh hơn nhiều so với việc 
lập chữ kí. Điều này dẫn đến hai vấn đề liên quan đến những ứng dụng của sơ 
đồ chữ kí: 
1.Bức điện chỉ được kí một lần, song nhiều khi lại cần xác minh chữ kí 
nhiều lần trong nhiều năm. Điều này lại gợi ý nhu cầu có thuật toán xác minh 
nhanh hơn. 
2.Những kiểu máy tính nào có thể dùng để kí và xác minh ? Nhiều ứng 
dụng, chẳng hạn các thẻ thông minh có khả năng xử lý hạn chế lại liên lạc với 
máy tính mạnh hơn. Vi thế có nhu cầu nhưng thiết kế một sơ đồ để có thực 
hiện trên thẻ một vài tính toán. Tuy nhiên, có những tình huống cần hệ thống 
mình tạo chữ kí, trong những tình huống khác lại cần thẻ thông minh xác 
minh chữ kí. Vì thế có thể đưa ra giải pháp xác định ở đây. 
Sự đáp ứng của NIST đối với yêu cầu về số lần tạo xác minh chữ kí thực 
ra không có vấn đề gì ngoài yêu cầu về tốc độ, miễn là cả hai thể thực hiện đủ 
nhanh. 

File đính kèm:

  • pdfgiao_trinh_mon_an_toan_va_bao_mat_thong_tin.pdf