1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nghiên cứu một số thuật toán dùng trong chữ ký số

69 1 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Nghiên cứu một số thuật toán dùng trong chữ ký số
Tác giả Nguyễn Thế Vinh
Người hướng dẫn TS. Huỳnh Bá Diệu
Trường học Trường Đại học Duy Tân
Chuyên ngành Khoa học máy tính
Thể loại Luận văn Thạc sĩ
Năm xuất bản 2022
Thành phố Đà Nẵng
Định dạng
Số trang 69
Dung lượng 637,31 KB

Nội dung

Bên cạnh đó, chữ ký số còn là một công nghệ mã hóa và xác thực rấtmạnh, thể giúp bảo đảm an toàn, bảo mật cao cho các giao dịch trực tuyến,nhất là các giao dịch chứa các thông tin li

Trang 2

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

Người hướng dẫn khoa học: TS Huỳnh Bá Diệu

ĐÀ NẴNG – 2022

Trang 3

dành nhiều thời gian tận tình chỉ bảo, hướng dẫn, giúp đỡ tôi trong suốt quátrình tìm hiểu, nghiên cứu Thầy là người định hướng và đưa ra nhiều góp ýquý báu trong quá trình tôi thực hiện luận văn.

Tôi xin chân thành cảm ơn các thầy, cô ở Trường Khoa Học Máy Tính Đại học Duy Tân đã cung cấp cho tôi những kiến thức và tạo cho tôi nhữngđiều kiện thuận lợi trong suốt quá trình tôi học tập tại trường

-Tôi cũng bày tỏ lòng biết ơn về sự giúp đỡ của lãnh đạo cơ quan, đồngnghiệp đã cung cấp dữ liệu, tài liệu và cho tôi những lời khuyên quý báu Tôixin cảm ơn gia đình, người thân, bạn bè và các thành viên trong nhóm nghiêncứu luôn động viên và tạo mọi điều kiện tốt nhất cho tôi

Tôi xin chân thành cảm ơn!

Đà Nẵng, ngày tháng năm 2022

Họ và tên

Nguyễn Thế Vinh

Trang 4

Tôi xin cam đoan đây là đề tài nghiên cứu của riêng tôi, thực hiện dướisự hướng dẫn khoa học của TS Huỳnh Bá Diệu, tham khảo các nguồn tài liệu

đã được chỉ rõ trong trích dẫn và danh mục tài liệu tham khảo

Các kết quả nêu trong luận văn là trung thực và chưa được ai công bốtrong bất cứ công trình nào khác

Đà Nẵng, ngày tháng năm 2022

Họ và tên

Nguyễn Thế Vinh

Trang 5

MỤC LỤC iii

DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT vi

DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ vii

LỜI MỞ ĐẦU 1

Chương 1 CÁC KHÁI NIỆM CƠ BẢN 3

1.1 Một số cơ sở toán học 3

1.1.1 Khái niệm nhóm 3

1.1.2 Hàm  Euler 3

1.1.3 Đồng dư thức 4

1.1.4 Không gian Zn và Z * n 5

1.1.5 Khái niệm phần tử nghịch đảo trong Zn 6

1.1.6 Phần dư Trung Hoa 6

1.1.7 Nhóm nhân Z * n 8

1.1.8 Thặng dư 8

1.1.9 Các phép tính cơ bản trong không gian modulo 9

1.1.10 Thuật toán tính nghịch đảo nhân trong Zn 9

1.1.11 Thuật toán tính số mũ modulo trong Zn 10

1.1.12 Hàm một chiều 12

1.1.13 Logarit rời rạc 13

1.2 Độ phức tạp tính toán 13

1.3 Vấn đề an toàn thông tin 14

1.3.1 Các hình thức tấn công đối với thông tin trên mạng 14

1.3.2 Các phương pháp bảo vệ thông tin 17

1.4 Chữ ký số 21

Trang 6

1.4.3 Tổng quan về chữ ký số 24

Chương 2 TÌM HIỂU CHỮ KÝ SỐ 26

2.1 Sơ đồ chữ ký 26

2.1.1 Giới thiệu 26

2.1.2 Định nghĩa sơ đồ chữ ký 27

2.2 Hàm băm và thuật toán chữ ký số 28

2.2.1 Hàm băm (Hash) 28

2.2.2 Thuật toán băm SHA 30

2.2.3 Mối quan hệ giữa hàm băm và thuật toán ký số 31

2.3 Chữ ký số RSA 32

2.3.1 Thông tin chung 32

2.3.2 Sơ đồ 32

2.3.3 Phân tích và đánh giá 33

2.4 Chữ ký số ElGamal 35

2.4.1 Thông tin chung 35

2.4.2 Sơ đồ 35

2.4.3 Phân tích và đánh giá 36

2.5 Chuẩn chữ ký số 37

2.5.1 Thông tin chung 37

2.5.1 Sơ đồ 38

2.5.2 Phân tích và đánh giá 39

2.6 Chữ ký không phủ định được 39

2.6.1 Sơ đồ chữ ký Chaum-Van Antverpen 40

Chương 3 MỘT SỐ THỬ NGHIỆM CHỮ KÝ VÀ ỨNG DỤNG MÔ PHỎNG CHỮ KÝ SỐ TRONG BẢO MẬT TÀI LIỆU ĐIỆN TỬ 43

Trang 7

3.2 Thử nghiệm chữ ký không thể phủ định được 44

3.2.1 Quá trình ký 44

3.2.2 Giao thức kiểm thử 45

3.2.3 Giao thức chối bỏ 45

3.3 Ý tưởng về chương trình ứng dụng 46

3.3.1 Lĩnh vực ứng dụng của chương trình 46

3.3.2 Ý tưởng xây dựng chương trình 47

3.4 Xây dựng chương trình 47

3.4.1 Ngôn ngữ lập trình và môi trường phát triển 47

3.4.2 Chữ ký áp dụng 47

3.4.3 Một số thuật toán trong chương trình 48

3.4.4 Các chức năng chính 50

3.4.5 Giao diện của ứng dụng và hướng dẫn sử dụng 51

3.5 Đánh giá kết quả đạt được 54

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 56 TÀI LIỆU THAM KHẢO

Trang 8

Chữ viết tắt Ý nghĩa

DSA Digital Signature Algorithm

DSS Digital Signature Standart

ANSI American National Standard Institute

Trang 9

Hình 1.2- Ngăn chặn thông tin 15

Hình 1.3 - Chặn bắt thông tin 15

Hình 1.4 - Sửa đổi thông tin 15

Hình 1.5 - Chèn thông tin giả 15

Hình 1.6 - Tấn công chủ động 16

Hình 1.7 - Tấn công bị động 17

Hình 1.8 - Các phương pháp và các phương tiện bảo vệ thông tin 20

Hình 3.1 - Sơ đồ quá trình kí lên văn bản M 43

Hình 3.2 - Sơ đồ quá trình kiểm tra chữ ký văn bản M 44

Hình 3.3 - Sơ đồ quá trình ký trên văn bản M 44

Hình 3.4 - Sơ đồ giao thức kiểm thử 45

Hình 3.5 - Sơ đồ giao thức chối bỏ 46

Trang 10

LỜI MỞ ĐẦU

Ngày nay, với sự xuất hiện của Internet và các mạng cục bộ đã giúp choviệc trao đổi thông tin trở lên nhanh chóng, dễ dàng Sự phát triển mạnh mẽcủa Internet về bản chất chính là việc đáp ứng lại sự gia tăng không ngừngcủa nhu cầu giao dịch trực tuyến trên hệ thống mạng toàn cầu Các giao dịchtrực tuyến trên Internet phát triển từ những hình thức sơ khai như trao đổithông tin (email, message, …), quảng bá, đến những giao dịch phức tạp thểhiện qua các hệ thống chính phủ điện tử, thương mại điện tử ngày càng pháttriển mạnh mẽ trên toàn cầu

Tuy nhiên lại phát sinh vấn đề mới về an toàn thông tin, những tin tứcquan trọng nằm ở kho dữ liệu hay đang trên đường truyền có thể bị trộm cắp,

có thể bị làm sai lệch, có thể bị làm giả mạo Điều đó có thể ảnh hưởng tớicác tổ chức, các công ty hay có thể là một quốc gia

Để vừa đảm bảo tính bảo mật của thông tin lại không làm giảm sự pháttriển của việc trao đổi thông tin quảng bá trên toàn cầu thì chúng ta phải cócác giải pháp phù hợp Hiện có rất nhiều giải pháp cho vấn đề an toàn thôngtin trên mạng như mã hóa thông tin, chữ ký điện tử, chứng chỉ điện tử (chứngchỉ khóa công khai), … Giải pháp chữ ký số hiện là một giải pháp an toàn vàhiệu quả Chữ ký số được sử dụng để bảo đảm tính bảo mật, tính toàn vẹn,tính chống chối bỏ của các thông tin giao dịch trên mạng Internet

Chữ ký số tương đương với chữ ký tay nên có giá trị sử dụng trong cácứng dụng giao dịch điện tử với máy tính và mạng Internet cần tính pháp lýcao Đồng thời, là một phương tiện điện tử được pháp luật thừa nhận về tínhpháp lý Bên cạnh đó, chữ ký số còn là một công nghệ mã hóa và xác thực rấtmạnh, thể giúp bảo đảm an toàn, bảo mật cao cho các giao dịch trực tuyến,nhất là các giao dịch chứa các thông tin liên quan đến tài chính Ứng dụngchữ ký số sẽ đem lại cho doanh nghiệp, tổ chức rất nhiều lợi ích như: Tiết

Trang 11

kiệm chi phí giấy tờ, thời gian luân chuyển trong hoạt động quản lý công văn,giấy tờ, thư điện tử; Giúp đẩy nhanh các giao dịch qua mạng trong khi vẫnđảm bảo độ an toàn và bảo mật thông tin, …

Nhận thấy sự thiết thực của chữ ký số trong các tài liệu, văn bản điện tử,

trong các giao dịch qua mạng, tôi đã thực hiện đề tài luận văn “Nghiên cứu một số thuật toán dùng trong chữ ký số” Luận văn tập trung nghiên cứu

một số sơ đồ chữ ký điện tử và xây dựng chương trình thử nghiệm với sơ đồchữ ký điện tử ElGamal

Luận văn bao gồm 3 chương:

Chương 1 Các khái niệm cơ bản

Chương này giới thiệu một số lý thuyết toán học làm cơ sở trong giảithuật ký số, cùng với đó là các khái niệm về an toàn thông tin, khái niệm vềchữ ký số

Chương 2 Tìm hiểu chữ ký số.

Chương này thực hiện tìm hiểu, phân tích một số thuật toán chữ ký số

Chương 3 Một số thử nghiệm chữ ký và Ứng dụng mô phỏng chữ

ký số trong bảo mật tài liệu điện tử

Trên cơ sở lý thuyết ở chương 2, tại chương 3 thực hiện một số thửnghiệm về quy trình, lược đồ các chữ ký số

Xây dựng ứng dụng mô phỏng ký số, xác thực chữ ký trên tài liệu điện

tử theo chữ ký ElGamal

Trang 12

Chương 1 CÁC KHÁI NIỆM CƠ BẢN 1.1 Một số cơ sở toán học

1.1.1 Khái niệm nhóm

Cho tập hợp X với phép toán nhân Ta nói (X,.) (gọi tắt là X) là:

(i) một nửa nhóm nếu phép toán nhân kết hợp trên X;

(ii) một vị nhóm nếu phép toán nhân kết hợp trên X và có phần tử trung

hòa trên X;

- Nhóm là một vị nhóm mà mọi phần tử đều khả đối xứng Nói cáchkhác, tập hợp G khác rỗng với phép toán nhân được gọi là một nhóm nếu cáctính chất sau được thỏa:

(G1) Với mọi x,y,z  G, (xy)z = x(yz);

(G2) Tồn tại e  G sao cho với mọi x  G, ex = xe = x;

(G3) Với mọi x  G, tồn tại x-1  G sao cho xx-1 = x-1x = e [2]

- Khái niệm nhóm con:

Nhóm con là bộ các phần tử (S , *) là nhóm thỏa mãn các tính chất sau:

SG, phần tử trung gian eS

Trang 13

Phi-hàm Euler, ký hiệu là , được xác định bởi (n) là các số nguyêndương không vượt quá n, và nguyên tố cùng nhau với n [3]

Hay phát biểu khác, đây là số lượng các số trong đoạn [1;n], có ước sốchung lớn nhất với n bằng 1

Hàm  được gọi là hàm phi Euler

Một vài giá trị đầu tiên của hàm này:

Từ đây có thể nhận được hàm Euler của số n như sau:

Trang 14

Hiểu cách khác, a được gọi là đồng dư thức với b theo modulo m, nếua,b chia cho m cùng dư Số nguyên m được gọi là modulo của đồng dư.

Dễ dàng thấy rằng, a  b (mod m) khi và chỉ khi có số nguyên k sao cho

3 Tính đối xứng: Nếu a  b (mod n) thì b  a (mod n)

4 Tính giao hoán: Nếu a  b (mod n) và b  c (mod n) thì a  c (modn)

5 Nếu a  a1 (mod n), b  b1 (mod n) thì a+b  a1+b1 (mod n)

Lớp tương đương của một số nguyên a là tập hợp các số nguyên đồng dưvới a theo modulo n Từ các tính chất 2,3 và 4 ta thấy: cho n cố định đồng dưvới n trong không gian Z vào các lớp tương đương Nếu a = qn + r, trong đó0 r  n thì: a  a1 (mod n) Vì vậy mỗi số nguyên a là đồng dư theo modulo

n với duy nhất một số nguyên trong khoảng từ 0 đến n-1 và được gọi là thặng

dư nhỏ nhất của a theo modulo n Cũng vì vậy, a và r cùng thuộc một lớptương đương Do đó r có thể đơn giản được sử dụng để thể hiện lớp tươngđương

1.1.4 Không gian Z n và Z *

n

Các số nguyên theo modulo n ký hiệu Zn là một tập hợp các số nguyên |0,1,2,3, ,n-1| Các phép toán cộng, trừ, nhân trong Zn được thực hiện theomodulo n

Trang 15

Nghịch đảo của a ký hiệu là a-1

- Tính chất

1 Cho a,bZn Phép chia của a cho b theo modulo n là tích của a và b-1theo modulo n, và chỉ được xác định khi b có nghịch đảo theo modulo n

2 Giả sử d=UCLN(a,n) Phương trình đồng dư ax  b (mod n) có nghiệm

x nếu và chỉ nếu d chia hết cho b, trong trường hợp các nghiệm d nằm trongkhoảng 0 đến n-1 thì các nghiệm đồng dư theo modulo n/d

Ví dụ: Nghịch đảo của 3 modulo 10 bằng 7, và ngược lại, nghịch đảo của

7 modulo 10 bằng 3, vì 3 · 7 = 7 · 3  1 (mod 10) Nghịch đảo của 1 và của 9modulo 10 bằng chính nó vì 1 · 1  1 (mod 10) và 9 · 9  1 (mod 10) Các số

0, 2, 4, 5, 6, 8 không có nghịch đảo modulo 10

Trang 16

1.1.6 Phần dư Trung Hoa

Có duy nhất nghiệm modulo M = m1m2 mk [3]

- Thuật toán của Gausse

Nghiệm x trong hệ phương trình đồng dư trong định lý phần dư TrungHoa được tính như sau:

ta được y1 = 2, y2 = 1, y3 = 1 Vậy hệ ban đầu có duy nhất nghiệm

x = 1 * 35 * 2+2 * 21 * 1+3 * 15 * 1  52 (mod M = 3 * 5 * 7 = 105)

Trang 17

Nhóm nhân của Zn ký hiệu là Z*

n =| UCLN(a,n)=1| Đặc biệt, nếu n là sốnguyên tố thì Z*

- Tính chất 2

Cho số nguyên tố p

(i) Định lý Fermat: Nếu UCLN(a,p)=1 thì ap-1 1 (mod p)

(ii) Nếu r  s (mod p-1) thì at as (mod p) với mọi số nguyên a Nóicách khác, làm việc với các số theo modulo nguyên tố p thì số mũ có thể giảmtheo modulo p-1

(iii) Đặc biệt, ap a(mod p) với mọi số nguyên a

1.1.8 Thặng dư

- Định nghĩa

Giả sử m là số nguyên dương Chúng ta nói rằng số nguyên a là thặng dưbình phương của m nếu (a, m)=1 và đồng dư x2  a (mod m) có nghiệm

Trang 18

Nếu đồng dư x2  a (mod m) không có nghiệm thì ta nói a là khôngthặng dư bình phương [3]

Tập hợp các thặng dư bậc 2 theo modulo m ký hiệu là Qm và tập hợp cácthặng dư không bậc 2 theo modulo m ký hiệu là Qm

Ta có |Qn| = |Qp| |Qq| = (p-1)(q-1)/4 và |Qn| = 3(p-1)(q-1)/4

* Ví dụ:

Để tìm các thặng dư bình phương của 11 chúng ta tính bình phương củatất cả các số 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Ta thấy 12  102  1 (11), 22  92  4(11), 32  82  9 (11), 42  72  5 (11), 52  62  3 (11) Như vậy, các thặng

dư bình phương của 11 là: 1, 3, 4, 5, 9; các không thặng dư bình phương của

11 là: 2, 6, 7, 8, 10

1.1.9 Các phép tính cơ bản trong không gian modulo

Cho n là số nguyên dương Như trước, các phần tử trong Zn được thểhiện bởi các số nguyên | 0, 1, 2, , n-1 | Nhận xét răng nếu a, bZn thì:

(1.6)

Vì vậy, phép cộng (và phép trừ) modulo có thể thực hiện mà không cầnthực hiện các phép chia dài Phép nhân modulo của a và b được thực hiệnbằng phép nhân thông thường a với b như các số nguyên thông thường, sau đólấy phần dư của kết quả sau khi chia cho n

1.1.10 Thuật toán tính nghịch đảo nhân trong Z n

INPUT: aZn

(a + b) mod n = a + b if a + b < n

a + b – n if a + b > n

Trang 19

OUPUT: a-1 mod n nếu tồn tại.

Sử dụng thuật toán Euclidean mở rộng sau để tìm các số nguyên x và y sao cho:

ax + ny = d với d = UCLN(a,n)

Nếu d>1 thì a-1 mod n không tồn tại Ngược lại return(x)

- Thuật toán Euclidean mở rộng

INPUT: 2 số nguyên dương a và b với a  b

OUPUT: d= UCLN(a,b) và các số nguyên x,y thỏa mãn: ax + by = d.Nếu b=0 thì đặt da, x1, y0 và return(d,x,y)

Đặt x21, x10, y10, y21

Khi b>0 thực hiện:

q[a/b], r = a-qb, xx2-px1 , yy2-py1

ab, rb, x2x1 , x1x, y2y1 , y1 y

Đặt da, xx2, yy2 và return(d,x,y)

Số mũ modulo có thể được tính một cách hiệu quả bằng thuật toán bìnhphương và nhân liên tiếp, nó được sử dụng chủ yếu trong nhiều giao thức mãhóa Một phiên bản của thuật toán này như sau: Giả sử biểu diễn nhị phân của

1.1.11 Thuật toán tính số mũ modulo trong Z n

INPUT: aZn và số mũ k với 0 k  n Với k có biểu diễn nhị phân là:

Thuật toán Bình phương và nhân

Thuật toán bình phương và nhân là thuật toán tính nhanh lũy thừa tựnhiên của một số (thực hoặc nguyên), trong trường hợp cơ số là số nguyên có

Trang 20

thể được rút gọn theo một modulo nào đó Được sử dụng nhiều trong các bàitoán mã hóa và giải mã các hệ mã hóa, đặc biệt là hệ mã hóa công khai.

Vẫn tính lại k, a như trên

4 38 * k chẵn => tương tự trên

2 22 * k chẵn => tương tự trên

1 10 17 k chẵn => tương tự trên

0 k=0 => dừng tính, lấy d cuối cùng (d = 17) là kết quả

Độ phức tạp theo bit của các phép toán cơ bản trong Zn được trình bàytrong bảng sau:

Độ phức tạp của các phép toán trong Zn

a-1 mod n

ak mod n,k<n

0(lg n)0((lg n)2)0((lg n)2)0((lg n)2)0((lg n)3)

1.1.12 Hàm một chiều

Trang 21

Trong khoa học máy tính, hàm một chiều là một hàm dễ tính toán trênmọi đầu vào, nhưng khó đảo ngược với hình ảnh của một đầu vào ngẫu nhiên.

Ở đây, "dễ" và "khó" được hiểu theo nghĩa của lý thuyết độ phức tạp tínhtoán [4]

Ví dụ như: biết giả thiết x thì có thể dễ dàng tính ra f(x), nhưng nếu biếtf(x) thì rất khó tính ra được x Trong trường hợp này khó có nghĩa là để tính

ra được kết quả thì phải mất rất nhiều thời gian để tính toán

Ví dụ: Tính y= f(x) = x mod p là dễ nhưng tính ngược lại x=logy là bàitoán “khó” (bài toán logarit rời rạc)

- Hàm một chiều có cửa sập

Hàm cửa sập là một hàm dễ tính theo một hướng, nhưng khó tính theohướng ngược lại (tìm nghịch đảo của nó) mà không có thông tin đặc biệt,được gọi là "cửa sập" Các hàm cửa sập được sử dụng rộng rãi trong mật mã

Về mặt toán học, nếu f là một hàm cửa sập thì tồn tại một số thông tin bímật t, chẳng hạn như cho trước f(x) và t, rất dễ dàng tính được x Hãy xem xétmột ổ khóa và chìa khóa của nó Việc thay đổi ổ khóa từ mở sang đóng màkhông cần sử dụng chìa khóa, bằng cách đẩy cùm vào cơ cấu khóa là điều rất

dễ hiểu Tuy nhiên, để mở ổ khóa dễ dàng, bạn phải sử dụng chìa khóa Ở đâychìa khóa là cửa sập và ổ khóa là chức năng của cửa sập [5]

Ví dụ: y=f(x)=x mod n tính xuôi thì dễ nhưng tính ngược x=logy là bàitoán “khó” vì phải biết a với a*b 1(mod (n)) trong đó (n)=(p-1)(q-1).Nhưng nếu biết cửa sập p,q thì việc tính n=p*q và tính a trở nên dễ dàng

1.1.13 Logarit rời rạc

- Khái niệm:

Tổng quát, cho G là một nhóm cyclic với n phần tử Ta giả thiết đấy lànhóm nhân Gọi b là một phần tử sinh của G, khi đó mọi phần tử g của G đềuđược viết thành dạng g = bk với k là một số nguyên nào đó Nếu một cặp số

Trang 22

nguyên như k1 và k2 cùng biểu diễn được thành g = bk1 = bk2 thì k1 và k2 làđồng dư theo modulo n Ta định nghĩa một hàm số:

(trong đó Zn biểu thị vành số nguyên modulo n) bằng cách gán cho mỗiphần tử g một lớp đồng dư của k modulo n Hàm số đó là một nhóm đẳng cấugọi là logarit rời rạc cơ số b Công thức đổi cơ số logarit thông thường vẫnđúng, chẳng hạn như nếu c là một phần tử sinh khác của G thì:

logc (g) = logc (b).logb (g) [6] (1.10)Cho p là số nguyên tố,  là phần tử nguyên thủy của Zp , Z*

p Logaritrời rạc chính là việc giải phương trình x= log (mod p) với ẩn x Hay phảitìm số x duy nhất sao cho : x  (mod n)

- Bổ đề: Nếu UCLN(a,n)=1 thì tồn tại a-1  Zn thỏa mãn a*a-1 =1

- Định lý (Euler tổng quát): Nếu UCLN(a,n)=1 thì a(n) mod n =1

- Hệ quả: Với p là một số nguyên tố và UCLN(a,p)=1 thì ap-1 mod p = 1

1.2 Độ phức tạp tính toán

Lý thuyết thuật toán và các hàm số tính được ra dời từ những năm 30 củathế kỷ 20 đã dặt nền móng cho việc nghiên cứu các vấn đề “tính được”, “giảiđược” trong toán học Tuy nhiên, từ cái “tính được” đến việc tính toán trongthực tế là một khoảng cách rất lớn, có rất nhiều vấn đề chứng minh là có thểtính được nhưng không thể trong thực tế dù có sự hỗ trợ của máy tính Vàonhững năm 1960 lý thuyết độ phức tạp tính toán được hình thành và phát triểnnhanh chóng, cung cấp nhiều hiểu biết sâu sắc về bản chất phức tạp của cácbài toán và thuật toán, cả những bài toán thuần túy lý thuyết đến những bàitoán thường gặp trong thực tế

Độ phức tạp tính toán (về không gian hay thời gian) của một tiến trìnhtính toán là số ô nhớ được dùng hay số các phép toán sơ cấp được thực hiệntrong tiến trình tính toán đó Dữ liệu đầu vào đối với một thuật toán thường

Trang 23

được biểu diễn qua các từ trong một bảng ký tự nào đó Độ dài của một từ là

số ký tự trong từ đó

Cho một ký tự A trên bảng ký tự Z (tức là có các đầu vào là các từ trongZ) Độ phức tạp tính toán của thuật toán A được hiểu như một hàm số fa(n)sao cho với mỗi số nfa(n) là số ô nhớ, hay số phép toán sơ cấp tối đa mà A cần

để thực hiện tiến trình tính toán của mình trên các dữ liệu vào có độ dài  n

Ta nói thuật toán A có độ phức tạp thời gian đa thức, nếu có một đa thức P(n)sao cho với mọi n đủ lớn ta có fa(n)  P(n), trong đó fa(n) là độ phức tạp tínhtoán theo thời gian của A

Bài toán P là giải được nếu có thuật toán để giải nó, tức là thuật toán làmviệc có kết thúc trên mọi dữ liệu vào của bài toán Bài toán P là giải đượctrong thời gian đa thức nếu có thuật toán giải nó với độ phức tạp thời gian đathức

Các thuật toán có độ phức tạp giống nhau được phân loại vào trong cáclớp tương đương Ví dụ tất cả các thuật toán có độ phức tạp là n3 được phânvào trong lớp n3 và ký hiệu bởi 0(n3)

1.3 Vấn đề an toàn thông tin

1.3.1 Các hình thức tấn công đối với thông tin trên mạng.

1.3.1.1 Ngăn chặn thông tin.

Tài nguyên thông tin bị phá huỷ, không sẵn sàng phục vụ hoặc sử dụngđược Đây là hình thức tấn công làm mất khả năng phục vụ của thông tin,những ví dụ về kiểu tấn công này là phá huỷ đĩa cứng, cắt đứt đường truyềntin, vô hiệu hoá hệ thống quản lý tệp

1.3.1.2 Chặn bắt thông tin.

Nghe trộm để thu tin trên mạng và sao chép bất hợp pháp các tệp hoặccác chương trình

Trang 24

1.3.1.3 Sửa đổi thông tin.

Một người không được uỷ quyền truy nhập chỉnh sửa thông tin trênmạng Đây là hình thức tấn công lên tính toàn vẹn của thông tin Nó có thểthay đổi giá trị trong tệp dữ liệu, sửa đổi một chương trình để nó vận hànhkhác đi và sửa đổi nội dung các thông báo truyền trên mạng

1.3.1.4 Chèn thông tin giả.

Một người không được uỷ quyền chèn các đối tượng giả vào hệ thống.Đây là hình thức tấn công lên tính chính xác của thông tin, nó có thể là chèncác thông báo giả mạo vào mạng hay thêm các bản ghi vào tệp

Các kiểu tấn công trên được phân chia thành hai lớp cơ bản là: Tấn côngchủ động và tấn công bị động

- Tấn công chủ động: Là các tấn công sửa đổi luồng số liệu hay tạo ra

luồng số liệu giả, có thể chia làm 4 loại:

Hình 1.1 - Luồng thông tin bình thường

Hình 1.3 - Chặn bắt thông tin Hình 1.2- Ngăn chặn thông tin

Hình 1.5 - Chèn thông tin giả Hình 1.4 - Sửa đổi thông tin

Trang 25

+ Đóng giả: Một thực thể đóng giả một thực thể khác.

+ Dùng lại: Thụ động bắt các thông báo và sau đó truyền lại nó nhằmmục đích bất hợp pháp

+ Sửa đổi thông báo: Một bộ phận của thông báo hợp lệ được sửa đổihoặc các thông báo bị làm trễ và thay đổi trật tự để đạt được mục đích bất hợppháp

+ Từ chối cung cấp dich vụ: Ngăn cấm việc sử dụng các tiện íchtruyền thông Tấn công này có thể có chủ ý, ví dụ một đối thủ ngăn cản tất cảcác thông báo được truyền tới một đích riêng biệt, vô hiệu hoá một mạng hoặctạo ra tình trạng quá tải với các thông báo của họ làm giảm hiệu năng mạng

Trang 26

- Tấn công bị động: Là kiểu tấn công chặn bắt thông tin như nghe trộm

và quan sát truyền tin, mục đích của đối thủ là biết được thông tin truyền trênmạng

Có hai kiểu tấn công bị động là:

+ Khám phá nội dung thông báo: Có thể thực hiện bằng cách nghe trộmcác cuộc nói chuyện điện thoại, đọc trộm thư điện tử hoặc xem trộm nội dungtệp tin rõ

+ Phân tích luồng thông tin: Đối phương thu các thông báo được truyềntrên mạng và tìm cách khám phá thông tin Nếu nội dung các thông báo bị mãhoá thì đối phương có thể quan sát các mẫu thông báo để xác định vị trí và tần

số độ dài thông báo được trao đổi, từ đó đoán ra bản chất của các cuộc liênlạc

Tấn công bị động rất khó phát hiện vì nó không làm thay đổi số liệu vàkhông để lại dấu vết rõ ràng Biện pháp hữu hiệu để chống lại kiểu tấn côngnày là ngăn chặn chứ không phải là phát hiện

Trang 27

1.3.2 Các phương pháp bảo vệ thông tin

1.3.2.1 Chướng ngại:

Dùng để ngăn cản kẻ có ý đồ xấu tiếp cận thông tin được bảo vệ

1.3.2.2 Điều khiển sự tiếp cận:

Là phương pháp bảo vệ thông tin bằng cách điều phối việc sử dụng tất cảnguồn dự trữ của hệ thống Giả định rằng trong hệ thống thông tin máy tính

đã xây dựng các quy định rõ ràng và chặt chẽ về sự làm việc với người sửdụng, các nhân viên kĩ thuật của các phương tiện, chương trình, các thànhphần của cơ sở dữ liệu và các thiết bị mang tin

Trong hệ thống xử lý dữ liệu, cần phải quy định nguyên tắc phân phốingày trong tuần, thời gian trong một ngày đêm mà vào các thời gian đó chophép người sử dụng và các nhân viên của hệ thống làm việc Trong nhữngngày làm việc, cần phải xác định một danh mục những nguồn dữ liệu của hệthống được phép tiếp cận và trình tự tiếp cận chúng Cần thiết phải có mộtdanh sách các cá nhân được quyền sử dụng các phương tiện kỹ thuật, cácchương trình và các nhiệm vụ chức năng

Các yếu tố của ngân hàng dữ liệu người ta cũng chỉ ra một danh sáchnhững người sử dụng được quyền tiếp cận nó và liệt kê các thủ tục Đối với

Tấn công bị động

Chặn bắt thông tin (tấn công tính bí mật)

Khám phá nội dung thông báo Phân tích luồng thông tin

Hình 1.7 - Tấn công bị động

Trang 28

các thiết bị mạng tin, phải xác định chặt chẽ vị trí lưu trữ thường xuyên, danhsách các cá nhân có quyền nhận các thiết bị này.

Xác nhận hoá người sử dụng, các nhân viên và các tài sản của hệ thống.Chú ý rằng xác thực hoá ở đây được hiểu là gán cho mỗi đối tượng ở trên cácthông tin xác thực cá nhân và nhận dạng đối tượng theo thông tin xác nhận cánhân của nó

Kiểm tra đặc quyền bao gồm kiểm tra sự tương ứng ngày của tuần, thờigian trong ngày, các tài nguyên được yêu cầu sử dụng và các thủ tục cần chocác quy định đã thông qua

Cho phép và tổ chức các điều kiện làm việc cho các giới hạn các quyđịnh được thiết lập Đăng ký sử dụng các tài nguyên được bảo vệ của hệthống Phản ứng trước các cố gắng tác động bất hợp pháp

Ngoài ra còn một phương pháp khác cũng có thể sử dụng để che giấuthông tin đó là phương pháp giấu tin

1.3.2.4 Quy định:

Các quy định hay quy chế được coi như là một phương pháp bảo vệ baogồm việc soạn thảo và thực hiện việc tổ hợp các biện pháp cho phép tạo ranhững điều kiện để xử lý tự động để bảo vệ thông tin trong quá trình làm việccủa hệ thống tránh được một cách tối đa các khả năng tiếp cận phi pháp thôngtin

Trang 29

Các chuyên gia khẳng định rằng: để bảo vệ một cách có hiệu quả cũng cầnphải quy định một cách chặt chẽ về thiết kế kiến trúc của hệ thống thông tintính toán về lược đồ, công nghệ của việc xử lý tự động các thông tin cần bảo

vệ, tổ chức và bảo đảm cho sự làm việc của tất cả các nhân viên xử lý thôngtin

Cưỡng bức là phương pháp bảo vệ bắt buộc người sử dụng và các nhânviên của hệ thống phải tuân theo nguyên tắc xử lý và sử dụng thông tin cầnbảo vệ dưới áp lực của các hình phạt về tài chính và trách nhiệm hình sự.Các phương pháp bảo vệ thông tin đã xét ở trên thường được thực hiệnbằng cách sử dụng các phương tiện bảo vệ khác nhau, đồng thời các phươngtiện bảo vệ này cũng được phân chia thành các phương tiện kỹ thuật, cácphương tiện chương trình, tổ chức, luật pháp và đạo đức

Các phương tiện tổ chức để bảo vệ là tất cả các biện pháp tổ chức - kỹthuật Các biện pháp tổ chức pháp lý được thực hiện trong quá trình chế tạo

và vận hành hệ thống thông tin tính toán Các biện pháp tổ chức cần được lưutâm một cách đầy đủ đến các thành phần cấu trúc của hệ thống, trong suốt cácgiai đoạn trong quá trình hoạt động của hệ thống như: vấn đề xây dựng nơilắp đặt, hệ thống thiết kế, sửa chữa và điều chỉnh thiết bị, kiểm tra vận hành

1.3.2.5 Phương pháp xác thực

Đây là phương pháp xác định đối tượng mà mình mong muốn để trao đổithông tin Tránh một người nào đó giả danh một đối tượng để xâm nhập vàtiếp cận bất hợp pháp đối với thông tin cần bảo vệ

Trang 30

Các phương tiện luật pháp bao gồm các điều khoản luật pháp của nhànước quy định và nguyên tắc sử dụng và xử lý thông tin, về việc tiếp cận cóhạn chế thông tin và những biện pháp xử lý trách nhiệm do phạm vi nhữngnguyên tắc đó Các biện pháp đạo đức xã hội để bảo vệ là chuẩn mực toàndiện được đúc rút và chấp nhận theo truyền thống hoặc hình ảnh do sử dụngrộng rãi các phương tiện tính toán trong nước và toàn xã hội Những chuẩnmực đó phần lớn không nhất thiết bắt buộc như các biện pháp luật pháp, tuynhiên việc không tuân thủ nó thông thường dẫn đến việc mất uy tín và sự tôntrọng của mọi các nhân hay một nhóm người, một tổ chức nhất định.

Các chuẩn mực đạo đức bao gồm cả những điều không được ghi thànhvăn bản (ví dụ như các tiêu chuẩn chung được xã hội chấp nhận về sự trungthực, lòng yêu nước…) cả những điều được ghi thành văn bản trong khuônkhổ của luật pháp (tức là các điều khoản của luật pháp và nguyên tắc) Ví dụđiển hình nhất của chuẩn mực này là bộ luật về tư cách của các thành viên

Hình 1.8 - Các phương pháp và các phương tiện bảo vệ thông tin

Trang 31

trong hiệp hội những người sử dụng máy tính điện tử của Mỹ Tất cả các biệnpháp bảo vệ đã được xét đến ở trên lại được phân thành các biện pháp dạngthức và phi dạng thức Các biện pháp dạng thức là các biện pháp thực hiệnchức năng bảo vệ theo các thủ pháp đã được xác định từ trước không có sựtham gia trực tiếp tại từng thời điểm của con người Các biện pháp phi dạngthức là những biện pháp hoặc là được xác định bởi tác động hướng đích củacon người hoặc được người ta quy định các tác động đó.

Trong giai đoạn phát triển đầu tiên của quan niệm bảo vệ, các phươngtiện chương trình chiếm ưu thế phát triển còn đến giai đoạn hai thì tất cả cáclớp cơ bản của phương tiện bảo vệ đều được quan tâm Nhưng đến giai đoạn

ba thì hình thành rõ rệt vào các khuynh hướng sau:

- Thể hiện bằng thiết bị những chức năng bảo vệ cơ bản

Xây dựng các phương tiện bảo vệ phức hợp có thể thực hiện một vàichức năng bảo vệ khác nhau

1.4 Chữ ký số

1.4.1 Giới thiệu

Khi một thông điệp được truyền từ A đến B, sau khi B nhận được thì liệuthông điệp đó có đúng được gửi từ A? thông điệp có còn nguyên bản? Đểtrả lời câu hỏi này cần phải có cơ chế nào đó để xác thực thông điệp Mộtthông điệp được xác thực, nghĩa là:

- Thông điệp không bị thay đổi

- Thông điệp đó đúng là của A

Nếu như cả A và B đều đồng ý, không có ý kiến gì về về xuất xứ cũngnhư nội dung của thông điệp thì việc trao đổi như vậy được xác nhận là hoàntất Cả hai bên đều tin rằng không có một kẻ thứ ba nào can thiệp vào quátrình trao đổi dữ liệu này

Trang 32

Tuy nhiên, có những thông điệp gian lận xuất phát từ A hoặc do B tự tạo

ra trong các giao dịch thương mại, thanh toán, trao đổi trên mạng, Chẳnghạn, B có thể thêm một đoạn tin là A đã đặt một số hàng (mặt hàng này đangkhó tiêu thụ) tương đối lớn và buộc A phải nhận số hàng đó (trong khi thực tế

số hàng đó A chỉ đặt ở mức độ vừa đủ), các tranh chấp có thể xảy ra và cũng

có nhiều trường hợp người bị lừa khó mà nhận biết được, nếu không có biệnpháp phòng ngừa và phát hiện hữu hiệu

Trong thực tế, các hoạt động thương mại, quản lý hành chính, hoạt độngnghiệp vụ, các tài liệu trên giấy có giá trị cam kết giao hẹn với nhau (nhưngân phiếu, hợp đồng) thì A là bên có khả năng làm giả nhiều nhất Ngượclại, cũng có khi một số trường hợp phía B lại chối bỏ trách nhiệm của mình vìthấy những điều đó bất lợi cho mình Trong các trường hợp đó, việc xác thựcthường được dựa vào chữ ký của hai bên để xác nhận các điều khoản đã camkết, giao hẹn với nhau trên “giấy trắng mực đen”, và đó cũng là cơ sở pháp lý

để giải quyết khi có tranh chấp

Nhưng nếu các hoạt động trên thực hiện trao đổi với nhau trên mạngtruyền số liệu thì vấn đề phức tạp hơn nhiều Chẳng hạn, nếu bên B mang đếntoà án một tài liệu nhận được qua mạng truyền số liệu (Internet) và bên A lạichối bỏ trách nhiệm gửi của mình thì tòa án cũng rất khó phân xử rạch ròi.Bởi vì cũng có khả năng bên B làm giả đoạn tin và cũng có khi bên A có gửithật nhưng lại chối bỏ trách nhiệm

Vấn đề đặt ra là làm thế nào để phân xử được trong những trường hợpnhư trên Muốn giải quyết được vấn đề xác thực thì cần phải có một cơ chếnào đó giống như chữ ký tay để cả hai bên gửi và nhận cùng kiểm tra vàkhông thể tạo giả mạo chữ ký đó Một trong các biện pháp để thực hiện xácthực là sử dụng chữ ký số [7]

Trang 33

1.4.2 Chữ ký điện tử

Chữ ký điện tử (Electronic Signature) là thông tin đi kèm theo dữ liệu(văn bản, hình ảnh, âm thanh,…) nhằm mục đích xác định chủ nhân của dữliệu và xác nhận sự chấp thuận của người đó đối với nội dung dữ liệu đã ký.Chữ ký điện tử cũng giống như chữ viết tay, tức là chữ ký điện tử đượcdùng để xác nhận lời hứa hay cam kết của người nào đó và sau đó không thểchối bỏ được Chữ ký điện tử không đòi hỏi phải sử dụng giấy mực mà nó gắnđặc điểm nhận dạng của người ký vào một bản cam kết nào đó Như vậy, chữ

ký điện tử sẽ chứng thực định danh người gửi và bảo vệ sự toàn vẹn dữ liệu.Chữ ký điện tử được sử dụng trong các giao dịch số Xuất phát từ thực

tế, chữ ký điện tử cần đảm bảo các chức năng: xác định được người chủ củamột dữ liệu nào đó: văn bản, âm thanh, hình ảnh,… của dữ liệu đó có bị thayđổi hay không

Thông thường chữ ký của một người trên tài liệu thường đặt ở cuối bảntin để xác nhận nguồn gốc hay trách nhiệm của người ký với tài liệu đó Vớitài liệu đã được “số hóa” nếu chữ ký đặt ở cuối bản tin thì việc sao chép “chữ

ký số” là dễ dàng và tính toàn vẹn dữ liệu sẽ không được đảm bảo vì vì chữ

ký số là các số 0, 1 nên kẻ tấn công dễ dàng thay đổi nội dung và sao chép.Vậy một “chữ ký số” đặt cuối tài liệu “số hóa” không thể chịu trách nhiệm đốivới toàn bộ nội dung văn bản “Chữ ký số” thể hiện trách nhiệm đối với toàn

bộ tài liệu phải là chữ ký được ký trên từng bit của tài liệu đó Tuy nhiên, chữ

ký số cũng không thể ký trên bất kỳ tài liệu nào với độ dài tùy ý, vì như vậychữ ký số sẽ có độ dài rất lớn Với tài liệu dài người ta ký trên đại diện của nó

mà đại diện này được tạo ra từ hàm băm

Chữ ký thông thường người ta kiểm tra bằng cách so sánh với chữ kýxác thực khác Đây không phải phương pháp an toàn vì nó có thể giả mạo.Vớichữ ký số, người ta có thể kiểm tra thông qua thuật toán kiểm tra công khai

Trang 34

Như vậy, bất kỳ ai cũng có thể kiểm tra được chữ ký số Việc dùng một lược

đồ chữ ký an toàn sẽ ngăn chặn được khả năng giả mạo bởi nó sẽ đảm bảo bayêu cầu sau:

- Xác thực

- Toàn vẹn dữ liệu

- Không thể thoái thác trách nhiệm

Mặt khác, bản sao tài liệu được ký bằng chữ ký số đồng nhất với bảngốc, còn bản sao tài liệu có chữ ký trên giấy có thể khác với bản gốc Điềunày có nghĩa là phải cẩn thận ngăn chặn việc dùng lại một chữ ký số Vì thếbản thân bức điện cần chứa thông tin (chẳng hạn như ngày tháng) để ngăn nókhỏi bị dùng lại

Với chữ ký thông thường, nó là một phần vật lý của tài liệu, nhưng chữ

số không gắn theo kiểu vật lý vào bức điện Để chống giả mạo chữ ký số,thuật toán ký số phải là không nhìn thấy bằng mắt thường trên bức điện

Ngày đăng: 07/03/2024, 20:55

w