Tóm tắt Luận văn Ứng dụng chữ ký số trong bảo vệ thông tin nội bộ

pdf 24 trang phuongvu95 3850
Bạn đang xem 20 trang mẫu của tài liệu "Tóm tắt Luận văn Ứng dụng chữ ký số trong bảo vệ thông tin nội bộ", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdftom_tat_luan_van_ung_dung_chu_ky_so_trong_bao_ve_thong_tin_n.pdf

Nội dung text: Tóm tắt Luận văn Ứng dụng chữ ký số trong bảo vệ thông tin nội bộ

  1. 1 MỞ ĐẦU 1. Lý do chọn đề tài Hiện nay, tiếp theo cuộc cách mạng công nghiệp 3.0, cuộc cách mạng công nghiệp 4.0 đang làm thay đổi mạnh mẽ mọi mặt của đời sống xã hội. Nhiều cơ hội được mở ra nhưng nhiều thách thức cũng đã xuất hiện. Với cách mạng 4.0, việc kết nối, xử lý và chia sẻ thông tin được diễn ra nhanh hơn, mạnh hơn và rộng rãi hơn. Trong hoàn cảnh đó, để giữ bí mật thông tin và hạn chế tối đa những tác động làm hư hỏng, sai lệch thông tin, người ta không những chú ý đến bảo mật trên đường truyền mà còn phải chú ý bảo mật tại các cơ sở dữ liệu. Thêm vào đó, luôn phải xác định trách nhiệm của tác giả đối với những thông tin gửi đi và thông tin lưu trữ. Vì thế việc bảo mật và bảo quản thông tin trở nên vô cùng cấp thiết. Trong hoạt động quản lý, điều hành một cơ quan, dễ nhận thấy cơ quan nào cũng có kho dữ liệu riêng tư và quý giá cần được giữ bí mật và phải bảo vệ nghiêm ngặt. Do hoạt động kết nối, trao đổi thông tin giữa cơ quan với bên ngoài và những hoạt động phối kết hợp, chia sẻ thông tin giữa những bộ phận khác nhau trong cơ quan mà nguy cơ mất thông tin, nguy cơ bị phá hoại thông tin, phá hoại các hoạt động điều hành, phá hoại các giao dịch là rất lớn. Nếu không làm tốt việc bảo vệ an toàn thông tin, an toàn các giao dịch thì những hệ thống như “Chính phủ điện tử”, “Thuế điện tử”, “Hải quan điện tử”, “Cơ quan điện tử”, “Thành phố thông minh”, trở nên kém tin tưởng và ít người dám dùng. Những hệ thống thông tin chỉ thực sự có hiệu quả và được đông đảo người dùng đón nhận khi vấn đề bảo đảm an toàn thông tin được giải quyết triệt để. Do đó, nghiên cứu, ứng dụng các phương pháp bảo đảm an toàn thông tin là điều hết sức cần thiết. Trong khuôn khổ của một luận văn thạc sỹ, tôi chọn đề tài nghiên cứu “Ứng dụng chữ ký số trong bảo vệ thông tin nội bộ” của một cơ quan, doanh nghiệp vừa và nhỏ nhằm nghiên cứu học tập nâng cao hiểu biết về an toàn thông tin và đưa ứng dụng an toàn thông tin vào thực tế.
  2. 2 2. Mục đích nghiên cứu Nghiên cứu các biện pháp bảo mật thông tin và chữ ký điện tử chữ ký số. Ứng dụng chữ ký số vào bảo mật thông tin phục vụ hệ thống quản trị nội bộ cơ quan. 3. Đối tượng nghiên cứu Nghiên cứu các vấn đề về bảo mật thông tin bằng phương pháp mã hoá và chữ ký điện tử, chữ ký số. Xây dựng ứng dụng chữ ký số để bảo mật thông tin phục vụ hệ thống điều hành nội bộ cơ quan. 4. Giả thuyết khoa học Nguy cơ mất an toàn thông tin và mất an toàn giao dịch trong hệ thống quản trị cơ quan là rất lớn. Các biện pháp bảo mật của nhà cung cấp dịch vụ quản trị cơ sở dữ liệu và của nhà mạng không đủ độ tin cậy để đảm bảo an toàn hệ thống quản trị cơ quan. Nếu bổ sung thêm các biện pháp bảo vệ của người dùng một cách hợp lý thì có thể nâng cao độ tin cậy của hệ thống và giữ an toàn thông tin, giữ an toàn cho các giao dịch trong nội bộ cơ quan. Cụ thể, với những giao dịch cần thiết, người gửi thông tin cần ký vào các thông tin đó sẽ đảm bảo độ tin cậy tuyệt đối đối với các thông tin giao dịch. 5. Nhiệm vụ nghiên cứu Tìm hiểu các vấn đề liên quan đến an toàn thông tin như cơ sở toán học, các phương pháp, thuật toán bảo mật thông tin và chữ ký điện tử, chữ ký số. Từ đó xây dựng giải pháp bảo đảm an toàn thông tin trong giao dịch nội bộ cơ quan bằng cách sử dụng chữ ký số. Căn cứ vào các kết quả đã đạt được, nêu ra một số hướng nghiên cứu tiếp theo. 6. Phạm vi nghiên cứu Luận văn nghiên cứu một số giải pháp bảo mật thông tin và dữ liệu bằng phương pháp mã hoá (các cơ sở toán học, các phương pháp thuật toán ) cách sử dụng hệ mã hoá công khai và chữ ký điện tử. Từ đó xây dựng
  3. 3 giải pháp bảo đảm an toàn thông tin trong giao dịch nội bộ cơ quan bằng cách sử dụng chữ ký số. 7. Phương pháp nghiên cứu Nghiên cứu lý thuyết: Tìm đọc tài liệu, đối chiếu, so sánh, rút trích, tổng hợp, phân tích, viết thành báo cáo luận văn. Nghiên cứu thử nghiệm: Xây dựng hệ thống bảo mật riêng bằng cách sử dụng chữ ký số phục vụ giao dịch điều hành cơ quan. Chạy thử, chỉnh sửa và rút ra kết luận.
  4. 4 CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 1.1. Sơ lược lịch sử về mật mã và an toàn thông tin Để mã hóa nhằm giấu tin, cần có một giải thuật mã hóa và một giải thuật giải mã, biến bản mã trở lại bản trước khi mã. Ngoài ra, để bên gửi và bên nhận có thể hiểu nhau, hai bên cần thống nhất các khóa dùng để mã và giải mã. Các khóa này có thể là một nhưng cũng có thể là hai. Khi là hai, có thể hai khóa này liên quan đến nhau theo nghĩa biết khóa mã có thể tìm ra khóa giải mã, nhưng cũng có thể rời nhau theo nghĩa biết khóa mã rất khó có thể tìm ra khóa giải mã. Lịch sử phát triển của an toàn thông tin là lịch sử phát triển của các giải thuật mã và giải mã cùng với các biện pháp quản lý khóa, trong đó quản lý khóa đóng vai trò đặc biệt quan trọng. Lịch sử an toàn thông tin có thể được chia làm hai giai đoạn. Giai đoạn của các phương pháp cổ điển và giai đoạn của các phương pháp hiện đại. Giai đoạn các phương pháp cổ điển kéo rất dài chiếm phần lớn lịch sử mật mã. Chỉ những năm gần đây với sự phát triển của Toán học và với sự xuất hiện của máy tính điện tử các phương pháp hiện đại mới xuất hiện. 1.2. Các hệ thống mật mã 1.2.1. Sơ đồ hệ thống mật mã. Định nghĩa 1.2.1. Một sơ đồ hệ thống mật mã là một bộ năm S = (P, C, K, E, D ) (1) Trong đó: P là một tập hữu hạn các ký tự bản rõ, C là một tập hữu hạn các ký tự bản mã, K là một tập hữu hạn các khóa, E là một ánh xạ từ KxP vào C, được gọi là phép mã hóa; D là một ánh xạ từ KxC vào P , được gọi là phép giải mã. Với mỗi k∈K , ta định nghĩa ek : P → C , dk : C → P là hai hàm cho bởi : x P : y = ek(x); y C: x = dk(y).
  5. 5 ek và dk được gọi lần lượt là hàm mã và hàm giải mã ứng với khóa k. Các hàm đó phải thỏa mãn hệ thức: x P : dk(ek(x)) = x. Về sau, để thuận tiện ta sẽ gọi một bộ 5 (1) là một sơ đồ hệ thống mật mã, còn khi đã chọn cố định một khoá k, thì danh sách (P, C, ek, dk) là một hệ mật mã thuộc sơ đồ đó. Trong định nghĩa này, phép lập mật mã (giải mã) được định nghĩa cho từng ký tự bản rõ (bản mã). 1.2.2. Mã theo khối (mã khối) và mã theo dòng (mã dòng) Theo cách mã theo khối (block cipher), trước hết ta xác định một độ dài khối (chẳng hạn là k), tiếp đó chọn các khóa là tập các khối. Khi chiều dài mỗi khối là 1 ta có cách mã hóa theo từng ký tự. Với cách mã theo dòng (stream cipher), trước hết để lập mật mã theo dòng ta chia bản rõ thành các dòng và ta phải xác định mỗi khóa là một dòng. 1.2.3. Mật mã khóa đối xứng và mật mã có khóa công khai Mật mã khóa đối xứng: Khi khóa k K được dùng cho cả việc lập mã và giải mã, ta có hệ mật mã khóa đối xứng, đôi khi cũng gọi là mật mã truyền thống, vì đó là cách đã được sử dụng từ hàng ngàn năm nay. Mật mã khóa công khai: Khi mỗi khóa k K gồm có hai phần k = (k' , k'' ), k' dành cho việc lập mã (và ta có hàm lập mã ek'), k'' dành cho việc giải mã (và có hàm giải mã dk'' ), các hàm lập mã và giải mã thỏa mãn hệ thức dk'' (ek'(x)) = x với mọi x ∈ P, thì ta được một hệ mật mã khóa phi đối xứng. 1.2.4. Thám mã và tính an toàn của các hệ mật mã 1.2.4.1. Thám mã Bài toán cụ thể như sau: - Bài toán thám mã chỉ biết bản mã: là bài toán phổ biến nhất, khi người thám mã chỉ biết một bản mật mã Y; Cần tìm bản rõ.
  6. 6 - Bài toán thám mã khi biết cả bản rõ: người thám mã biết một bản mật mã Y cùng với bản rõ tương ứng X; Cần tìm phương pháp mã. - Bài toán thám mã khi có bản rõ được chọn: người thám mã có thể chọn một bản rõ X, và biết bản mật mã tương ứng Y. Điều này có thể xảy ra khi người thám mã chiếm được (tạm thời) máy lập mã; Cần tìm phương pháp mã. - Bài toán thám mã khi có bản mã được chọn: người thám mã có thể chọn một bản mật mã Y, và biết bản rõ tương ứng X. Điều này có thể xảy ra khi người thám mã chiếm được tạm thời máy giải mã. Cần tìm phương pháp mã. 1.2.4.2. Tính an toàn của một hệ mật mã Tính an toàn của một hệ thống mật mã phụ thuộc vào độ khó khăn của bài toán thám mã khi sử dụng hệ mật mã đó. Có một vài cách hiểu thông dụng nhất: - An toàn vô điều kiện. - An toàn được chứng minh. - An toàn tính toán. Để có cơ sở cho việc trình bày các phương pháp mã hóa và thám mã, chúng ta cần tìm hiểu một số cơ sở Toán học của lý thuyết mật mã. 1.3. Cơ sở toán học của lý thuyết mật mã 1.3.1. Số học modulo 1.3.1.1. Định nghĩa 2.1 (Đồng dư thức) Giả sử a và b là các số nguyên và m là một số nguyên dương. Nếu trong các phép chia a cho m và b cho m ta được cùng một số dư ta sẽ nói a và b đồng dư trong phép chia cho m và viết a  b (mod m). a  b (mod m) được gọi là đồng dư thức. Dễ chứng minh được rằng các hệ thức sau là tương đương: i). a  b (mod m) ii). m chia hết a - b hay a - b chia hết cho m. Ký hiệu là m|a - b.
  7. 7 iii).  t Z : a = b + mt 1.3.1.2. Các lớp thặng dư Quan hệ đồng dư m trên tập số nguyên Z sẽ phân hoạch tập Z thành m - 1 lớp tương đương: Nếu lấy từ các lớp này, mỗi lớp một phần tử bất kỳ ta được một hệ thặng dư đầy đủ. Nếu lấy các phần tử nhỏ nhất từ mỗi lớp ta được: Zm = {0, 1, 2, , m-1} Đây là hệ thặng dư không âm nhỏ nhất. Ước chung lớn nhất của mỗi lớp với mô đun m là ước chung lớn nhất của một phần tử bất kỳ trong lớp đó với mô đun. Nếu lớp nào có ước chung lớn nhất với mô đun bằng 1 thì lớp đó nguyên tố cùng nhau với mô đun. Số lớp nguyên tố cùng nhau với mô đun là giá trị của hàm phi Ơ le (Phi Euler ) tại m. Ký hiệu là: (m) hoặc (m). Nếu lấy từ mỗi lớp nguyên tố cùng nhau với mô đun một phần tử bất * kỳ ta được một hệ thặng dư thu gọn, ký hiệu là Z m. Thực tế người ta thường * lấy Z m là các phần tử không âm nhỏ nhất từ các lớp nguyên tố cùng nhau * với mô đun. Lực lượng của Z m là (m). Sau đây một số tính chất của đồng dư thức. Tính chất 2.1: Nếu a11 b(mod m ) và a22 b(mod m ) thì a1 a 2  b 1 b 2 (mod m ) Tính chất 2.2: Nếu a11 b(mod m ) và a22 b(mod m ) thì a1* a 2 b 1 * b 2 (mod m ) Tính chất 2.3: Nếu nhưgcd(dm , ) 1, ab  (mod maadbbd ), 11 , ,thì a11 ( b mod m ) 1.3.1.3. Số học modulo Cho Zm là tập hợp {0, , m-1}. Nếu trang bị 2 phép toán cộng và nhân như sau: a + b = (a + b) mod m a.b = (a.b) mod m
  8. 8 thế thì Zm cùng với hai phép toán trên tạo thành một vành giao hoán. Phần tử trung hòa của vành này là 0. Phần tử đơn vị của vành này là 1. Phép trừ trong Zm được thực hiện như sau: a - b = (a + m - b) mod m Các định nghĩa trên phép cộng và phép nhân trong Zm thoả mãn hầu hết các quy tắc quen thuộc trong số học. 1.3.2. Hàm Euler, định lý Euler và định lý Fermat 1.3.2.1. Định nghĩa 2.2 (Hàm Euler) Cho n là số nguyên dương, đặt ()m là số các phần tử của tập hợp, mà tập này là các số nguyên trong đoạn 1, m và nguyên tố cùng nhau với m, thì ()m gọi là hàm Euler. 1.3.2.2. Định lý 2.1 (Định lý Euler): Cho m 1, gcd( a , m ) 1, và ()m là hàm Euler. Khi đó ta có: am ()m  1 (mod ) 1.3.2.3. Định lý 2.2 (Định lý Fermat nhỏ): Cho p là số nguyên tố, a là số nguyên dương không chia hết cho p. Khi đó ta có a p 1 1 mod p . Từ định lý Fermat chúng ta có các hệ quả quan trọng sau: 1. Cho a Z , p là số nguyên tố, thì ta có: ap  a (mod p ) n n n 2. Cho a, b Z , p là số nguyên tố (a b )  a b (mod p ) 1.3.3. Thuật toán Euclide và thuật toán Euclide mở rộng 1.3.3.1.Thuật toán Euclide Định lý 2.3 (Định lý Euclide): Cho a, b Z, b 0, tồn tại duy nhất cặp giá trị (q, r) với q Z và r N thỏa mãn: a bq r , 0 r b . ở đây r gọi là số dư. Có một số ký hiệu cho số dư như sau: r Rb (a) , r a (mod b ). Nếu như r = 0 thì ta nói a chia hết cho b, ký hiệu là ab .
  9. 9 Định lý 2.4: Đối với bất kỳ các số a, b, i Z : gcd(a, b) gcd(a ib, b) . Định lý 2.5: Đối với bất kỳ a, b Z, b 0 , ta có: gcd(a, b) gcd(b, Rb (a)) 1.3.3.2. Thuật toán Euclide mở rộng Định nghĩa 2.3 (Phần tử nghịch đảo) Cho aZ m . Phần tử nghịch đảo của a là phần tử bZ m sao cho -1 a* b b * a 1 (mod m ). Kí hiệu phần tử nghịch đảo của a là a . Định lý 2.6: Cho số nguyên a > 0 nguyên tố cùng nhau với n, thì luôn tồn tại phần tử nghịch đảo của a theo modulo m. Hệ quả 2.1: Nếu như p là số nguyên tố, thì bất kỳ số a, 0 1, gcd (a,m) = 1. Khi đó phương trình đồng dư ax b(mod m ) có nghiệm duy nhất, và nghiệm đó là: x ba (m ) 1 (mod m ) Định lý 2.8: Cho m>1, để phương trình ax bmod mcó nghiệm thì điều kiện cần và đủ là gcd (a, m)|b. 1.3.4.2. Định lý 2.9. (Định lý phần dư Trung Hoa) Định lý này nhằm giúp chúng ta giải hệ phương trình đồng dư thức, định lý phát biểu như sau:
  10. 10 Giả sử cho các số m1, m2, , mk là các số nguyên dương nguyên tố cùng nhau từng đôi một và c1, c2, , ck là các số nguyên khi đó hệ phương trình đồng dư: x c11(mod m ) x c22(mod m ) x ckk(mod m ) Có nghiệm duy nhất theo modulo M và nghiệm đó là: k 1 x  ci M i( M i mod m i ) mod m (2.4) i 1 M ở đây M m12 m mk và M i . mi 1.3.5. Hàm một phía và cửa sập một phía Hàm y = f (x) được gọi là hàm cửa sập một phía (trapdoor one-way function), nếu việc tính thuận từ x ra y là “dễ”, việc tính ngược từ y tìm lại x là rất “khó”, nhưng có một cửa sập z để với sự trợ giúp của cửa sập z thì việc tính x từ y và z lại trở thành dễ. 1.3.6. Số nguyên tố. Phân tích thành thừa số. Logarit rời rạc. 1.3.6.1. Thử tính nguyên tố của một số Bài toán đặt ra rất đơn giản: Cho một số nguyên dương n bất kỳ. Hãy thử xem n có là số nguyên tố hay không? Bài toán cho đến nay vẫn là một bài toán chưa có được những cách giải dễ dàng. Bằng những phương pháp đơn giản như phương pháp sàng Euratosthène, từ rất sớm người ta đã xây dựng được các bảng số nguyên tố đầu tiên, rồi tiếp tục bằng nhiều phương pháp khác tìm thêm được nhiều số nguyên tố lớn. Tuy nhiên, chỉ đến giai đoạn hiện nay của lý thuyết mật mã hiện đại, nhu cầu sử dụng các số nguyên tố và thử tính nguyên tố của các số mới trở thành một nhu cầu to lớn và phổ biến, đòi hỏi nhiều phương pháp mới có hiệu quả hơn. 1.3.6.2. Phân tích thành thừa số nguyên tố
  11. 11 Bài toán phân tích một số nguyên lớn hơn 1 thành thừa số nguyên tố cũng được xem là một bài toán khó thường được sử dụng trong lý thuyết mật mã. Nếu n là hợp số thì việc phân tích n thành thừa số mới là có nghĩa; do đó thường khi để giải bài toán phân tích n thành thừa số, ta thử trước n có là hợp số hay không. Bài toán phân tích thành thừa số, hay bài toán tìm ước số của một số nguyên cho trước, đã được nghiên cứu nhiều, nhưng cũng chưa có một thuật toán hiệu quả nào để giải nó trong trường hợp tổng quát; do đó người ta có khuynh hướng tìm thuật toán giải nó trong những trường hợp đặc biệt đủ dung cho mã hóa. 1.3.6.3. Tính logarit rời rạc theo mô đun nguyên tố. Cho p là một số nguyên tố, và là một phần tử nguyên thuỷ theo * mod p, tức là phần tử nguyên thuỷ của nhóm Z p . Bài toán tính logarit rời rạc * theo mod p là bài toán như sau: Với mỗi số  Z p tìm một số a 1 a p 1 a sao cho  mod p, tức là a log  mod p-1 . Có thể giải bài toán này bằng cách duyệt toàn bộ các số từ 1 đến p-1 cho đến khi tìm được a thỏa mãn  a mod p. Tuy nhiên cách làm này không hiệu quả. Có thể tham khảo cách làm khác, đó là cách làm của Polig- Hellman. 1.4. Kết luận Chương này nghiên cứu về cơ sở lý thuyết của khoa học mật mã, trong đó chủ yếu là lý thuyết số. Những kiến thức cơ bản về lý thuyết số phục vụ cho các hệ mật mã đã được trình bày. Chính lý thuyết số là cơ sở quan trọng bậc nhất để xây dựng các hệ mật mã một cách chặt chẽ và khoa học.
  12. 12 CHƯƠNG 2: MÃ HÓA 2.1. Mã hóa bí mật 2.1.1. Hệ mã hóa Thuật toán khóa đối xứng là những thuật toán hoặc là sử dụng cùng một khóa cho việc mật mã hóa và giải mật mã hoặc là khóa (thứ hai) sử dụng để giải mật mã có thể dễ dàng tính được từ khóa (thứ nhất) đã dùng để mật mã hóa. Các thuật ngữ khác bao gồm mật mã hóa khóa cá nhân, mật mã hóa một khóa và mật mã hóa khóa đơn. 2.1.1.1. Hệ mã khối và thuật toán Lucifer Kỹ thuật mã theo khối được mô tả như sau: - Chia văn bản M thành nhiều khối, M = M1 M2 Mj, mỗi khối Mi, 1 i j là một khối gồm n ký tự. - Chuyển các ký tự thành các số tương ứng và xây dựng bản mã: Ci = AMi + B (mod n), i =1, 2, , j. (1) Trong đó (A, B) là khóa, A là một ma trận khả nghịch cấp n với T UCLN(det(A), n) = 1, B = (B1, B2, , Bn) , C = (c1, c2, , cn) T và Mi = (m1, m2, , mn) . -1 - Để giải mã, ta thi hành phép toán: Mi = A (Ci - B) (mod n). Trong đó A-1 là ma trận nghịch đảo của A. 2.1.2. Một số hệ mã hóa và thám mã 2.1.2.1. Mã dịch vòng Định nghĩa: Mã dịch vòng: (P, C, K, E, D) P = C = K = Z với k є K, định nghĩa e (x) = (x + k) mod 26 d (y) = (y – k) 26 k k mod 26 (x, y є Z ) 26 Nhận được bản mã đó, dùng d để có được bản rõ. 9 Trong tiếng Anh tập khoá chỉ có 26 khoá có thể, việc thám mã có thể được thực hiện bằng cách duyệt tuần tự 26 khoá đó, vì vậy độ an toàn của mã dịch vòng rất thấp.
  13. 13 2.1.2.2. Mã thay thế Định nghĩa Mã thay thế: (P, C, K, E, D) P = C = Z , K = S (Z ) Với mỗi π є K, tức là một hoán vị trên Z , ta xác 26 26 26 định e (x) = π (x) π -1 dπ(y) = π (y) -1 với x, y є Z , π là nghịch đảo của л 26 2.1.2.3. Mã Anffine Định nghĩa Mã Anffine: (P, C, K, E, D) P = C = Z , K = { (a, b) є Z x Z : (a, 26) = 1 } 26 26 26 với mỗi k = (a, b) є K ta định nghĩa: e (x) = ax + b mod 26 k -1 d (y) = a (y – b) mod 26 k trong đó x, y є Z 26 2.1.2.4. MãVigenere Định nghĩa: Mã Vigenere: (P, C, K, E, D) Cho m là số nguyên dương. m P = C = K = Z26 với mỗi khoá k = (k , k , ,k ) є K có: 1 2 m e (x , x , , x ) = (x + k , x + k , , x + k ) k 1 2 m 1 1 2 2 m m d (y , y , , y ) = (y – k , y – k , , y – k ) k 1 2 m 1 1 2 2 m m các phép cộng phép trừ đều lấy theo modulo 26 Từ bản mã đó, dùng phép giải mã d tương ứng, ta lại thu được bản rõ. k 2.1.2.5 Mã Hill Định nghĩa Mã Hill: (P, C, K, E, D) Cho m là số nguyên dương.
  14. 14 m P = C = Z26 mxm K = { k єZ26 : (det(k), 26) = 1 } với mỗi k є K định nghĩa: e (x , x , , x ) = (x , x , , x ).k k 1 2 m 1 2 m -1 d (y , y , , y ) = (y , y , ,y ).k k 1 2 m 1 2 m 2.1.3. Hệ mã DES (Data Encryption Standard) 2.1.3.1. Mô tả vắn tắt thuật toán DES là thuật toán mã hóa khối: nó xử lý từng khối thông tin của bản rõ có độ dài xác định và biến đổi theo những quá trình phức tạp để trở thành khối thông tin của bản mã có độ dài không thay đổi. Trong trường hợp của DES, độ dài mỗi khối là 64 bit. DES cũng sử dụng khóa để cá biệt hóa quá trình chuyển đổi. Nhờ vậy, chỉ khi biết khóa mới có thể giải mã được văn bản mã. Khóa dùng trong DES có độ dài toàn bộ là 64 bit. Tuy nhiên chỉ có 56 bit thực sự được sử dụng; 8 bit còn lại chỉ dùng cho việc kiểm tra. Vì thế, độ dài thực tế của khóa chỉ là 56 bit. Cấu trúc tổng thể của thuật toán được thể hiện ở Hình dưới: có 16 chu trình giống nhau trong quá trình xử lý. Ngoài ra còn có hai lần hoán vị đầu và cuối (Initial and final permutation - IP&EP). 2.1.3.2. Hàm Feistel (F) Hàm F, như được miêu tả ở Hình 5, hoạt động trên khối 32 bit và bao gồm bốn giai đoạn:1. Mở rộng;2. Trộn khóa;3. Thay thế;4. Hoán vị. Cấu trúc tổng thể hệ mã DES:
  15. 15 Hàm F:
  16. 16 2.1.3.3. Quá trình tạo khóa con 2.1.3.4. Tranh luận về DES Khi DES được đề xuất như một chuẩn mật mã, đã có rất nhiều ý kiến phê phán. Một lý do phản đối DES có liên quan đến các hộp S. Mọi tính toán liên quan đến DES ngoại trừ các hộp S đều tuyến tính, tức việc tính phép hoặc loại trừ của hai đầu ra cũng giống như phép hoặc loại trừ của hai đầu vào rồi tính toán đầu ra. Các hộp S - chứa đựng thành phần phi tuyến của hệ mật là yếu tố quan trong nhất đối với độ mật của hệ thống. Tuy nhiên tiêu chuẩn xây dựng các hộp S không được biết đầy đủ. Một số người đã gợi ý là các hộp S phải chứa các "cửa sập" được dấu kín, cho phép Cục An ninh Quốc gia Mỹ (NSA) giải mã được các thông báo nhưng vẫn giữ được mức độ an toàn của DES. Dĩ nhiên ta không thể bác bỏ được khẳng định này, tuy nhiên không có một chứng cớ nào được đưa ra để chứng tỏ rằng trong thực tế có các cửa sập như vậy. Người ta không biết rõ là liệu có còn một chuẩn thiết kế nào đầy đủ hơn được dùng trong việc xây dựng hộp S hay không. Sự phản đối xác đáng nhất về DES chính là kích thước của không gian khoá: 256 là quá nhỏ để đảm bảo an toàn thực sự. 2.1.3.5. Ứng dụng của DES Mặc dù việc mô tả DES khá dài dòng song người ta có thể thực hiện DES rất hữu hiệu bằng cả phần cứng lẫn phần mềm. Các phép toán duy nhất cần được thực hiện là phép hoặc loại trừ các xâu bit. Hàm mở rộng E, các hộp S, các hoán vị IP và P và việc tính toán các giá tri K1, , K16 đều có thể thực hiện được cùng lúc bằng tra bảng (trong phần mềm) hoặc bằng cách nối cứng chúng thành một mạch. Các ứng dụng phần cứng hiện thời có thể đạt được tốc độ mã hóa cực nhanh. Năm 1991 đã có 45 ứng dụng phần cứng và chương trình cơ sở của DES được Uỷ ban tiêu Chuẩn quốc gia Mỹ (NBS) chấp thuận.
  17. 17 Một ứng dụng quan trọng của DES là trong giao dịch ngân hàng Mỹ - (ABA) DES được dùng để mã hóa các số định danh cá nhân (PIN) và việc chuyển tài khoản bằng máy thủ quỹ tự động (ATM). DES cũng được Hệ thống chi trả giữa các nhà băng của Ngân hàng hối đoái (CHIPS) dùng để xác thực các giao dịch. DES còn được sử dụng rộng rãi trong các tổ chức chính phủ. Chẳng hạn như bộ năng lượng, Bộ Tư pháp và Hệ thống dự trữ liên bang. 2.1.4. Hệ mã AES Trong mật mã học, AES (viết tắt của từ tiếng Anh: Advanced Encryption Standard, hay Tiêu chuẩn mã hóa tiên tiến) là một thuật toán mã hóa khối được chính phủ Hoa kỳ áp dụng làm tiêu chuẩn mã hóa. Giống như tiêu chuẩn tiền nhiệm DES, AES được kỳ vọng áp dụng trên phạm vi thế giới và đã được nghiên cứu rất kỹ lưỡng. AES được chấp thuận làm tiêu chuẩn liên bang bởi Viện tiêu chuẩn và công nghệ quốc gia Hoa kỳ (NIST) sau một quá trình tiêu chuẩn hóa kéo dài 5 năm. 2.2. Mã hóa công khai 2.2.1. Mô hình hệ mã hóa công khai 1. Chọn một số ngẫu nhiên lớn để sinh cặp khóa. 2. Dùng khoá công khai để mã hóa, nhưng dùng khoá bí mật để giải mã. 3. Dùng khoá bí mật để ký một thông báo; dùng khoá công khai để xác minh chữ ký. 4. Tổ hợp khoá bí mật mình với khoá bí mật của người khác tạo ra khoá dùng chung chỉ hai người biết. Trong hệ thống mật mã hóa khóa bất đối xứng, Bob và Alice có hai khóa khác nhau. Đầu tiên, Alice yêu cầu Bob gửi cho mình khóa (công khai) theo đường bưu chính bình thường và giữ lại khóa bí mật. Khi cần gửi thư, Alice sử dụng khóa nhận được từ Bob để khóa hộp. Khi nhận được hộp đã khóa bằng khóa công khai của mình, Bob có thể mở khóa và đọc thông tin.
  18. 18 Để trả lời Alice, Bob cũng thực hiện theo quá trình tương tự với khóa của Alice. 2.2.2. Hệ mã hóa công khai 2.2.2.1. Hệ mật mã RSA Thuật toán được Ron Rivest, Adi Shamir và Len Adleman mô tả lần đầu tiên vào năm 1977 tại Học viện Công nghệ Massachusetts (MIT). Tên của thuật toán lấy từ 3 chữ cái đầu của tên 3 tác giả. Bài toán: Cho một số nguyên dương n là tích của hai số nguyên tố lẻ p và q. Một số nguyên dương b sao cho gcd(b, (p-1) *(q-1)) =1 và một số nguyên c. Bài toán đặt ra là phải tìm số nguyên x sao cho xb c(mod n) Bước 1: Sinh khóa Sinh hai số nguyên tố lớn p và q có giá trị xấp xỉ nhau. Tính n=p*q, và  (n) = (p-1) (q-1), sao cho gcd(b, (n)) =1 Chọn một số ngẫu nhiên b, 1 < b <φ(n), sao cho gcd(b, φ(n)) = 1 Sử dụng thuật toán Euclide để tính số a, 1<a< (n), sao cho a*b  1(mod (n)) Khóa công khai là (n, b). Khóa bí mật là a Bước 2 : Mã hóa RSA (i). Lập mã : a. Lấy khóa công khai (n, b) theo thuật toán trên b. Chọn một bản rõ x, trong đoạn [1, n-1] c. Tính: y = xb mod n d. Nhận được bản mã y (ii). Giải mã : Sử dụng khóa bí mật a để giải mã: x = ya mod n 2.3. Chữ ký điện tử, chữ ký số 2.3.1. Giới thiệu Chữ ký điện tử hoạt động dựa trên hệ thống mã khoá công khai. Hệ thống mã khoá gồm hai khoá: khoá bí mật và khoá công khai. Mỗi chủ thể có một cặp khoá như vậy, chủ thể đó sẽ giữ khoá bí mật, còn khoá công khai
  19. 19 sẽ được đưa ra công cộng để bất kỳ ai cũng có thể biết. Nguyên tắc của hệ thống mã khoá công khai đó là, nếu ta mã hoá bằng khoá bí mật thì chỉ khoá công khai mới giải mã được, và ngược lại thì nếu mã hoá bằng khoá công khai thì khoá bí mật mới giải mã được. 2.3.2. Tạo chữ ký số Quy trình tạo: - Dùng giải thuật băm để thay đổi thông điệp cần truyền đi, kết quả ta được một message diget (MD), dùng giải thuật MD5 ta được digest có chiều dài 128 bit, dùng giải thuật SHA ta có chiều dài 160bit. - Sử dụng khóa private key của người để mã hóa message digest thu được ở bước 1, thông thường ở bước này ta dùng giải thuật RSA, kết quả thu được. 2.3.3. Kiểm tra chữ ký số Các bước kiểm tra: - Dùng public key của người gửi (khóa này được thông báo đến mọi người) để giải mã chữ ký số của message. - Dùng giải thuật MD5 hoặc SHA băm message đính kèm. - So sánh kết quả thu được ở các bước trên. Nếu trùng nhau, ta kết luận message này không bị thay đổi trong quá trình truyền và message này là của người gửi.
  20. 20 CHƯƠNG 3. XÂY DỰNG HỆ THỐNG AN TOÀN THÔNG TIN BẢO VỆ THÔNG TIN NỘI BỘ CƠ QUAN 3.1. Hoạt động điều hành cơ quan hành chính sự nghiệp và nguy cơ mất an toàn 3.1.1. Nguy cơ rò rỉ tài nguyên thông tin từ các nơi lưu trữ 3.1.2. Nguy cơ rò rỉ tài nguyên thông tin trên đường truyền 3.2. Giải pháp an toàn thông tin 3.2.1. Đào tạo và quản lý người dùng 3.2.2. Chi phí để đảm bảo an toàn 3.3. Xây dựng hệ thống ký và kiểm tra chữ ký Một trong các biện pháp bảo vệ những thông tin quan trọng là sử dụng chữ ký số. Luận văn đề xuất xây dựng một hệ thống ký và kiểm tra chữ ký điện tử để ký những văn bản quan trọng trước khi công bố công khai. Quy trình tạo chữ ký số Thông điệp dữ liệu Hàm băm Khóa bí mật Bản tóm lược Mã hóa Chữ ký số Gắn với thông điệp dữ liệu Thông điệp dữ liệu được ký số
  21. 21 Quy trình kiểm tra chữ ký số Thông điệp dữ liệu được ký số Tách Giải mã Chữ ký số Thông điệp dữ liệu Hàm băm Bản Giải mã được ? Bản tóm lược tóm lược Giống nhau ? Nội dung thông điệp Không đúng người gửi tòan vẹn Nội dung thông điệp bị thay đổi Chương trình thử nghiệm của luận văn viết bằng ngôn ngữ C#. Giao diện và các sử dụng như sau: Tạo khóa:
  22. 22 Ký: Kiểm tra chữ ký: 3.4. Chạy thử nghiệm Sau khi chạy thử nghiệm với các công văn của Đoàn Thanh niên Học viện Quản lý giáo dục, thông tin qua lại nhanh chóng nhưng vẫn đảm bảo an toàn. Không còn thông tin bằng giấy nên dễ lưu và quản lý công văn trên giấy. Tuy nhiên cần có thời gian huấn luyện cán bộ Đoàn sử dụng chương trình này. Trình độ văn hóa và tin học của cán bộ Đoàn cũng khá nên thời gian huấn luyện không lâu. Qua quá trình sử dụng, văn hóa sử dụng máy tính được cải thiện rất nhiều. Ý thức bảo mật thông tin được nâng lên rõ rệt.
  23. 23 3.4. Kết luận Việc bảo vệ thông tin nội bộ cơ quan là khả thi. Tự xây dựng hệ thống ký, kiểm tra chữ ký, áp dụng trong quá trình gửi công văn và báo cáo sẽ tiết kiệm thời gian và chi phí bảo vệ thông tin cho cơ quan. Tuy nhiên cần lưu ý một số điểm sau: Không cần mua hoặc sử dụng chương trình ký điện tử từ bên ngoài nên trong nội bộ cơ quan cần bảo vệ khóa kiểm tra chữ ký một cách tuyệt đối. Có thể đổi khóa sau những khoảnh thời gian nhất định. Sử dụng các biện pháp tự xây dựng không những bảo vệ an toàn thông tin trên đường truyền và tại các nơi lưu trữ để dùng chung mà còn tạo niềm tin cho cán bộ và góp phần xây dựng văn hóa sử dụng máy tính và mạng trong cơ quan.
  24. 24 KẾT LUẬN Luận văn đã nghiên cứu về cơ sở lý thuyết của an toàn thông tin, nghiên cứu các hệ mật mã cổ điển, các hệ mật mã công khai, ứng dụng hệ mật mã RSA để tạo và kiểm tra chữ ký số. Luận văn cũng xây dựng được chương trình ký và kiểm tra chữ ký. Thử nghiệm đối với các công văn của Đoàn thanh niên học viện. Chương trình chạy tốt, được cán bộ và Đoàn viên tham gia thử nghiệm hoan nghênh. Việc áp dụng chương trình tự làm trong nội bộ cơ quan tránh được những phiền phức về quản lý và phân phối khóa của các tổ chức bên ngoài và tiết kiệm thời gian, kinh phí của cơ quan. Ngoài việc bảo vệ thông tin hệ thống tự xây dựng cũng góp phần nâng cao trình độ văn hóa sử dụng máy tính và internet cho cán bộ Đoàn tham gia thử nghiệm. Chương trình không thể an toàn phục vụ cho các tác vụ cực kỳ quan trọng tuy nhiên đáp ứng được yêu cầu cho các tao đổi công văn thông thường của Đoàn. Có thể nâng cấp chương trình để nâng cao mức độ an toàn cho thông tin. Xây dựng việc cung cấp xác thực khóa công khai cho cả tổ chức, cá nhân, mở rộng mô hình tùy vào yêu cầu sử dụng.