Đánh giá hệ mật mã khóa công khai RSA

Một phần của tài liệu Nghiên cứu vấn đề bảo mật thông tin và đề xuất giải pháp bảo mật cho hệ thống thông tin trường Cao đẳng Kinh tế Kỹ thuật Vĩnh Phúc (Trang 53 - 107)

a) Độ an toàn

Hệ RSA đƣợc thiết kế dựa trên độ khó giải bài toán phân tích ra thừa số nguyên tố. Hầu hết các phƣơng pháp thám mã hệ RSA nhƣ tìm các thừa số p và q, tìm φ(n), hay tìm khóa riêng d… đều khó nhƣ bài toán phân tích.

Việc phân tích số nguyên N thành các thừa số nguyên tố p, q nhằm mục đích bẻ gãy hệ mật mã RSA là điều khó có thể tính toán nổi, nếu nhƣ trong quá trình thiết kế hệ RSA ta chọn số nguyên N lớn. Tuy nhiên, độ dài của số nguyên N là lớn hay nhỏ còn phụ thuộc vào mối liên hệ giữa tốc độ giải mã và độ an toàn của hệ RSA. Số N sử dụng cho modulo RSA hiện nay phải có ít nhất khoảng 232 chữ số thập phân (768-bits) sẽ cho ta một độ an toàn đủ để chống lại những tấn công sử dụng các kỹ thuật phân tích hiện nay. Trong thực tế, nếu trong quá trình thiết kế sử dụng số N có kích cỡ khoảng 1024-bits là rất an toàn, có thể chống lại các kỹ thuật phân tích hiện tại và các kỹ thuật khác phát triển trong tƣơng lai.

b) Hiệu suất thực hiện và ứng dụng

Tốc độ thực hiện của hệ RSA là một trong những điểm yếu so với các hệ mật mã khóa đối xứng. Vì các quá trình mã hóa và giải mã của hệ RSA

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

đều thực hiện các phép tính có các toán hạng là những số nguyên cực lớn ( thông thƣờng các phép toán này đều đƣợc xây dựng hay “giả lập” lại).

Theo ƣớc tính, thực hiện mã hóa và giải mã bằng hệ mật mã RSA chậm hơn 100 lần so với hệ mật mã khóa đối xứng AES (bằng phần mềm). Và chậm hơn 1000 lần so với AES (bằng phần cứng). Vì lý do đó mà trên thực tế hệ mã khoá công khai RSA ít đƣợc dùng vào mục đích mã hóa cho khối dữ liệu lớn, mà chỉ thƣờng đƣợc ứng dụng để mã hóa khối dữ liệu nhỏ

2.3.3.6. Một số phương pháp tấn công hệ mã RSA.

Bất cứ ai cũng có thể tạo ra một hệ thống thông tin mã hóa cho riêng mình.

Nhƣng để có một hệ thống an toàn và hiệu quả đòi hỏi ngƣời thiết kế phải có kiến thức toán học sâu sắc, có kinh nghiệm về bảo mật và am hiểu các phƣơng pháp tấn công.

• Brute-force attack: phƣơng pháp tấn công bằng cách thử tất cả những khóa có thể có. Đây là phƣơng pháp tấn công thô sơ nhất và cũng khó khăn nhất. Theo lý thuyết, tất cả các thuật toán mã hóa hiện đại đều có thể bị đánh bại bởi brute-force nhƣng trong thực tiễn việc này chỉ có thể thực hiện đƣợc trong thời gian hàng triệu, thậm chí hàng tỉ năm. Vì thế có thể coi một thuật toán mã hóa là an toàn nếu nhƣ không có cách nào khác để tấn công nó dễ hơn là brute-force.

• Frequency analysis: thống kê tần suất, chỉ có thể áp dụng đƣợc đối với các thuật toán cổ điển dùng phƣơng pháp thay thế, ví dụ phƣơng pháp Caesar. Để thực hiện phƣơng pháp này ta cần một lƣợng văn bản đã mã hóa đủ lớn để phép thống kê đƣợc chính xác. Ngoài ra còn phải biết ngôn ngữ sử dụng trong văn bản ban đầu, nếu văn bản ban đầu là tiếng Anh thì nhiều khả năng kí tự xuất hiện nhiều nhất trong văn bản đã mã hóa là do chữ e mã hóa thành.

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

• Differential cryptanalysis: Phƣơng pháp này do EliBiham và Adi Shamir tìm ra vào khoảng cuối những năm 1980, nó thƣờng đƣợc sử dụng để tấn công các thuật toán khối (block cipher). Phƣơng pháp này dựa trên việc phân tích những biến đổi của hai văn bản gốc có liên quan khi đƣợc mã hóa bởi cùng một chìa.

• Tấn công dựa trên thời gian: Năm 1995, Paul Kocher mô tả một dạng tấn công mới lên RSA: Khi kẻ tấn công nắm đủ thông tin về phần cứng thực hiện mã hóa và xác định đƣợc thời gian giải mã đối với một số bản mã lựa chọn thì có thể nhanh chóng tìm ra khóa d. Dạng tấn công này có thể áp dụng đối với hệ thống chữ kƣ điện tử sử dụng RSA.

• Tấn công lựa chọn thích nghi bản mã: Năm 1981, Daniel Bleichen bacher mô tả dạng tấn công lựa chọn thích nghi bản mã (adaptive chosen ciphertext attack) đầu tiên có thể thực hiện trên thực tế đối với một văn bản mã hóa bằng RSA. Văn bản này đƣợc mã hóa dựa trên tiêu chuẩn Public-Key Cryptography Standards #1 (PKCS#1), một tiêu chuẩn chuyển đổi bản rõ có khả năng kiểm tra tính hợp lệ của văn bản sau khi giải mã. Do những khiếm khuyết của PKCS #1, Bleichenbacher có thể thực hiện một tấn công lên bản RSA dùng cho giao thức Secure Sockets Layer (tìm đƣợc khóa phiên). Do phát hiện này, các mô hình chuyển đổi an toàn hơn nhƣ chuyển đổi mã hóa bất đối xứng tối ƣu (Optimal Asymmetric Encryption Padding) đƣợc khuyến cáo sử dụng. Đồng thời phƣơng nghiên cứu của RSA cũng đƣa ra phiên bản mới của PKCS#1 có khả năng chống lại dạng tấn công nói trên.

• Phƣơng pháp sử dụng (n): Giả sử ngƣời tấn công biết đƣợc giá trị (n). Khi đó việc xác định giá trị p, q đƣợc đƣa về việc giải hai phƣơng trình sau

n = p . q

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

(n) = (p – 1)(q -1) p2 – (n - (n)+1)p +n =0

p, q chính là hai nghiệm của phƣơng trình bậc hai này. Tuy nhiên vấn đề phát hiện đƣợc giá trị (n) còn khó hơn việc xác định hai thừa số nguyên tố của n.

Ngoài ra còn một số phƣơng pháp tấn công khác đƣợc sử dụng để tấn công hệ mã RSA. Tuy nhiên, từ cơ sở toán học của RSA, hầu hết các phƣơng pháp tấn công đều chƣa thực sự hiệu quả. Các cố gắng bẻ khóa RSA thành công đƣợc công bố đều phải dựa trên sức mạnh kết hợp của nhiều máy tính thực và thực hiện trong khoảng thời gian dài.

Tuy nhiên, để đảm bảo tính an toàn cao cho hệ mã RSA nói riêng và các hệ mã công khai nói chung. Việc áp dụng các cải tiến nhằm tãng tính an toàn là cấp thiết.

2.3.3.7. Độ an toàn của hệ mã RSA.

Độ an toàn của hệ thống RSA dựa trên 2 vấn đề của toán học: bài toán phân tích ra thừa số nguyên tố các số nguyên lớn và bài toán RSA. Nếu 2 bài toán trên là khó (không tìm đƣợc thuật toán hiệu quả để giải chúng) thì không thể thực hiện đƣợc việc phá mã toàn bộ đối với RSA. Phá mã một phần phải đƣợc ngăn chặn bằng các phƣơng pháp chuyển đổi bản rõ an toàn.

Bài toán RSA: Cho số nguyên dƣơng N là tích của hai số nguyên tố phân biệt p và q (N = p * q), số nguyên e sao cho thỏa mãn gcd(e, (p - 1) * (q - 1)) = 1, và số nguyên c. Tìm một số nguyên m sao cho me ≡ c (mod N).

Hiện nay phƣơng pháp triển vọng nhất giải bài toán này là phân tích n ra thừa số nguyên tố. Khi thực hiện đƣợc điều này, kẻ tấn công sẽ tìm ra số mũ bí mật d từ khóa công khai và có thể giải mã theo đúng quy trình của thuật toán. Nếu kẻ tấn công tìm đƣợc 2 số nguyên tố p và q sao cho: n = p*q thì có thể dễ dàng tìm đƣợc giá trị (p-1)*(q-1) và qua đó xác định d từ e. Chƣa có

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

một phƣơng pháp nào đƣợc tìm ra trên máy tính để giải bài toán này trong thời gian đa thức (polynomial-time).

Tuy nhiên ngƣời ta cũng chƣa chứng minh đƣợc điều ngƣợc lại (sự không tồn tại của thuật toán).

Tại thời điểm năm 2005, số lớn nhất có thể đƣợc phân tích ra thừa số nguyên tố có độ dài 663 bít với phƣơng pháp phân tán trong khi khóa của RSA có độ dài từ 1024 tới 2048 bit. Một số chuyên gia cho rằng khóa 1024 bít có thể sớm bị phá vỡ (cũng có nhiều ngƣời phản đối việc này). Với khóa 4096 bít thì hầu nhƣ không có khả năng bị phá vỡ trong tƣơng lai gần. Do đó, ngƣời ta thƣờng cho rằng RSA đảm bảo an toàn với điều kiện n đƣợc chọn đủ lớn. Nếu n có độ dài 256 bít hoặc ngắn hơn, nó có thể bị phân tích trong vài giờ với máy tính cá nhân dùng các phần mềm có sẵn. Nếu n có độ dài 512 bit, nó có thể bị phân tích bởi vài trăm máy tính tại thời điểm năm 1999.

Năm 1993, PeterShor công bố thuật toán Shor chỉ ra rằng: máy tính lƣợng tử (trên lý thuyết) có thể giải bài toán phân tích ra thừa số trong thời gian đa thức. Tuy nhiên, máy tính lƣợng tử vẫn chƣa thể phát triển đƣợc tới mức độ này trong nhiều năm nữa.

Nhƣ vậy, tính an toàn của phƣơng pháp RSA dựa trên cơ sở các máy tính tại thời điểm hiện tại chƣa đủ khả năng giải quyết việc phân tích các số nguyên rất lớn ra thừa số nguyên tố.

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

CHƢƠNG 3. BẢO MẬT HỆ THỐNG THÔNG TIN

TRONG TRƢỜNG CAO ĐẲNG KINH TẾ - KỸ THUẬT VĨNH PHÚC 3.1. Hệ thống thông tin trƣờng cao đẳng kinh tế - kỹ thuật Vĩnh Phúc

Trung tâm hệ thống thông tin đƣợc đặt tại thƣ viện của nhà trƣờng, rồi từ đây kết nối với các phòng ban trong toàn trƣờng qua hệ thống LAN, Wifi theo mô hình nhƣ sau:

Hình 9: Sơ đồ hệ thống mạng Trƣờng CĐ Kinh tế - Kỹ thuật Vĩnh Phúc

Nhà A2 Internet Nhà B3 Nhà D1 Nhà D2 Nhà ăn Ký túc xá 1 Ký túc xá 2 Nhà A1 Nhà điều hành Nhà C3 Nhà C2 Nhà B1 Nhà B2 Thƣ viện Nhà C1

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Tổng số máy tính nối vào mạng LAN hiện tại là 452 máy tính bao gồm máy tính của các phòng ban và phòng học thực hành.

Các tòa nhà đƣợc kết nối với nhau qua mạng LAN, trên mỗi tòa đều có trang bị hệ thống Accsess point để truy cập wifi hoặc dùng dây LAN cho các máy tính desktop. Có thể sử dụng wifi trong toàn khuân viên nhà trƣờng.

Có 01 Server hiện nay đang cài đặt dùng hệ điều hành Windows 2003 Advanced Server có Database SQL Server 2000 dùng để phục vụ dữ liệu phần mềm quản lý đào tạo VTEC.

Sử dụng các thiết bị nối mạng có số lƣợng nhƣ dƣới đây: Backbone Sử dụng hệ

thống cáp quang 02 Switch Intel – 100 Mbs – 24 Ports 16 Lease line 256 KBs 02 Hub 100Mbs – 24 Ports 25

ADSL 02 Hub 100Mbs – 16 Ports 10

Cisco Router 01 Hub 100Mbs – 08 Ports 18

Số máy tính 452 Server 01

Bảng: 4 Thống kê thiết bị công nghệ thông tin trƣờng CĐ Kinh tế - Kỹ thuật Nhiệm vụ của hệ thống thông tin trƣờng CĐ Kinh tế - Kỹ thuật Vĩnh Phúc bao gồm:

 Chia sẽ dữ liệu giữa các đơn vị dạng file.

 Kết nối hệ thống máy tính truy cập internet.

 Chạy các phần mềm làm nghiệm vụ trƣờng học nhƣ: - Phần mềm quản lý đào tạo VTEC

- Phần mềm quản lý tài chính Mimosa 2012 - Phần mềm quản lý thƣ viện CTEC Lib - Phần mềm quản lý nhân sự PMIT - Phần mềm quản lý nhà ăn Archives

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Kết quả khảo sát hiện trạng hệ thống cho thấy:

- Hệ thống thông tin nhà trƣờng hầu nhƣ chƣa trang bị hệ thống bảo mật. - Server chứa dữ liệu dùng chung không an toàn, không cài đặt chế độ

bảo mật.

- Các máy tính kết nối với mạng trong nhà trƣờng đều không đƣợc trang bị các chức năng bảo mật.

Phân tích những nguy cơ bảo mật tiềm ẩn của hệ thống:

- Do các máy trong mạng LAN không áp dụng cơ chế bảo mật nào nên các files ở mỗi máy cá nhân đều có nguy cơ không an toàn (xóa, thay đổi), bị đọc chộm thông tin (lộ bí mật). Một ngƣời có một chút hiểu biết về hệ thống sẽ dễ dàng truy cập đƣợc vào các máy tính nối mạng trong trƣờng. Mỗi ngƣời, mỗi phòng, đều có những bí mật nội bộ không thể công bố hoặc chƣa đến thời điểm thích hợp để công bố nhƣ về tài chính, về đề tài khoa học, về các phát kiến, về đời tƣ cá nhân... Nếu những thông tin này không đƣợc bảo mật có thể sẽ dẫn đến những tổn thất to lớn.

- Dữ liệu trên server chƣa đƣợc bảo mật, trên này chứa kết quả học tập của học sinh, sinh viên. Do không có chính sách bảo mật nên server rất dễ bị một ngƣời nào đó truy cập vào để gây hai nhƣ: thay đổi thông tin, phá hệ thống. Nếu không may điều này xẩy ra thì sẽ dẫn tới tổn thất không gì có thể bù đắp nổi. Vì đây là toàn bộ dữ liệu về quá trình đào tạo của nhà trƣờng, về kết quả tập của học sinh – sinh viên. Để truy cập vào server cần biết các thông tin nhƣ: Host name, Database name, User name, Password. Một kẻ có chút ít hiểu biết về hệ database có dễ dàng có đƣợc thông tin này và khi đó chúng có toàn quền với Database.

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

- Trong cấu trúc của dữ liệu trong database cũng tiềm ẩn những nguy cơ bảo mật nguy hiểm đối với những âm mƣu tấn công từ bên trong hệ thống.

VD: Khi những ngƣời quản trị mở database ra có thể sửa đƣợc các thông tin trong các bảng dữ liệu thông qua công cụ quản trị của SQL server. Giả sử chính những ngƣời quản chị này tự sửa thông tin thì ai hay biết?

- Khi trao đổi thông tin qua mạng đã số đều sử dụng chế độ gửi thƣ thông thƣờng của các nhà cung cấp miễn phí trên mạng nhƣ gmail, yahoo, hot mail, ... điều này cũng tiềm ẩn nhiều nguy cơ về bảo mật, các thƣ gửi đều có thể bị lỗ trên đƣờng truyền.

Từ các phân tích trên cho thây đây là một hệ thống không đƣợc bảo mật nên không an toàn. Có thể bị phá hoại bất cứ khi nào, điều này vô cùng nguy hiểm và cần thiết phải khắc phục cấp bách.

3.2. Đề xuất giải pháp bảo mật cho hệ thống

3.2.1. Biện pháp bảo mật các files trên máy tính .

Ngoài dữ liệu dùng chung chứa trên server, các loại dữ liệu khác đều chứa trên các máy tính cá nhân. Trong máy tính cá nhân những thông tin sau cần bảo đảm tuyệt mật : Đề thi chuẩn bọ thi kết thúc học phần, phát minh sáng chế chƣa công bố, đề tài khoa học chƣa công bố, tác phẩm nghệ thuật chƣa công bố (tranh ảnh, thơ ca ...)

Biện pháp bảo mật file cần thiết đƣợc triển khai rộng trên toàn trƣờng, mọi cán bộ, giáo viên, giảng viên nên áp dụng để bảo đảm an toàn và bảo mật đối với những dữ liệu quan trọng. Sử dụng phần mềm mã hóa theo chuẩn mã hóa cao cấp AES đang đƣợc dùng phổ biến để mã hóa các thông tin mật.

Để sử dụng chức năng mã hóa file, có thể sử dụng chƣơng trình mô phỏng mã hóa kèm theo luận văn này để thực hiện. Thuật toán AES chủ yếu đƣợc dùng trong việc mã hóa dữ liệu .

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Sau quá trình nghiên cứu các phƣơng pháp mã hóa, các mô hình bảo mật thông tin. Tác giả nhận thấy, việc mã hóa thông tin đóng vai trò quan trọng trong vấn đề bảo mật. Trong khuôn khổ luận văn này, tác giả đã cài đặt hai phƣơng pháp mã hóa AES và RSA. Các phƣơng pháp này đã đƣợc chứng minh thực tế là hiệu quả và đƣợc ứng dụng phổ biến hiện nay.

Môi trƣờng cài đặt:

Ngôn ngữ lập trình CBuilder XE5

Hệ điều hành WindowsXP, Windows 7,Windows 8.1

Một số hình ảnh về chƣơng trình.

Chƣơng trình đƣợc thiết kế gồm có 2 phần - Phần chọn kiểu mã hóa (chọn các tab)

- Phần văn chứa văn bản: Bản gốc, bản mã, bản rõ ( Bản rõ có nội dung phải trùng với bản gốc sau khi mã hóa)

Một phần của tài liệu Nghiên cứu vấn đề bảo mật thông tin và đề xuất giải pháp bảo mật cho hệ thống thông tin trường Cao đẳng Kinh tế Kỹ thuật Vĩnh Phúc (Trang 53 - 107)

Tải bản đầy đủ (PDF)

(107 trang)