Antoanbmtt

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 14

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐÔNG Á


KHOA: CÔNG NGHỆ THÔNG TIN

BÀI TẬP LỚN


HỌC PHẦN: AN TOÀN BẢO MẬT THÔNG TIN

Đề tài 36: Tìm hiểu về chữ ký số , xây dựng chương trình mô phỏng
thuật toán RSA

Sinh viên thực hiện Lớp Khóa


Lê Bá Long DCCNTT12.10.9 12
Phạm Thái Dương DCCNTT12.10.9 12
Ngô Xuân Sơn DCCNTT12.10.9 12

Bắc Ninh, năm 2023


BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐÔNG Á
KHOA: CÔNG NGHỆ THÔNG TIN

BÀI TẬP LỚN


HỌC PHẦN: AN TOÀN BẢO MẬT THÔNG TIN

Đề tài: 36 : Tìm hiểu về chữ ký số , xây dựng chương trình mô phỏng


thuật toán RSA

Mã sinh
STT Sinh viên thực hiện Điểm bằng số Điểm bằng chữ
viên
1 Lê Bá Long 20212455
2 Phạm Thái Dương 20212408
3 Ngô Xuân Sơn 20212689

CÁN BỘ CHẤM 1 CÁN BỘ CHẤM 2


(Ký và ghi rõ họ tên) (Ký và ghi rõ họ tên)
MỤC LỤC
MỤC LỤC HÌNH ẢNH
LỜI NÓI ĐẦU
Ngày nay trong mọi hoạt động của con người thông tin đóng một vai trò quan trọng
không thể thiếu. Xã hội càng phát triển nhu cầu trao đổi thông tin giữa các thành phần
trong xã hội ngày càng lớn. Mạng máy tính ra đời đã mang lại cho con người rất nhiều
lợi ích trong việc trao đổi và xử lý thông tin một cách nhanh chóng và chính xác. Chính
từ những thuận lợi này đã đặt ra cho chúng ta một câu hỏi, liệu thông tin đi từ nơi gửi
đến nơi nhận có đảm bảo tuyệt đối an toàn, ai có thể đảm bảm thông tin của ta không bị
truy cập bất hợp pháp. Thông tin được lưu giữ, truyền dẫn, cùng sử dụng trên mạng lưới
thông tin công cộng có thể bị nghe trộm, chiếm đoạt, xuyên tạc hoặc phá huỷ dẫn đến sự
tổn thất không thể lường được. Đặc biệt là đối với những số liệu của hệ thống ngân
hàng, hệ thống thương mại, cơ quan quản lý của chính phủ hoặc thuộc lĩnh vực quân sự
được lưu giữ và truyền dẫn trên mạng. Nếu như vì nhân tố an toàn mà thông tin không
dám đưa lên mạng thì hiệu suất làm việc cũng như hiệu suất lợi dụng nguồn dữ liệu đều
sẽ bị ảnh hưởng. Trước các yêu cầu cần thiết đó, việc mã hoá thông tin sẽ đảm bảo an
toàn cho thông tin tại nơi lưu trữ cũng như khi thông tin được truyền trên mạng.

Các phương thức tấn công thông qua mạng ngày càng tinh vi, phức tạp có thể dẫn đến
mất mát thông tin, thậm chí có thể làm sụp đổ hoàn toàn hệ thống thông tin của tổ chức.
Vì vậy an toàn thông tin là nhiệm vụ quan trọng, nặng nề và khó đoán trước đối với các
hệ thống thông tin.

Một trong những ứng dụng của an toàn thông tin là chữ ký số. Với đặc điểm là đơn giản
cho người sử dụng mà vẫn đảm bảo được tính bảo mật, kỹ thuật sử dụng chữ ký số là
một trong những kỹ thuật được sử dụng phổ biến, đa dạng trong hầu hết các lĩnh vực,
nhất là Tài chính, Ngân hang, Kế toán…Vì lý do đó, nhóm em quyết định nghiên cứu
về “Giải thuật tạo chữ ký số sử dụng thuật toán RSA”.
CHƯƠNG I. TỔNG QUAN VỀ ĐỀ TÀI

I. Tổng quan về an toàn bảo mật thông tin

1. Khái niệm về an toàn bảo mật thông tin

1.1 Khái niệm

An toàn bảo mật thông tin (hay còn gọi là bảo mật thông tin) là tập hợp các hoạt
động nhằm bảo vệ thông tin khỏi các truy cập, sử dụng trái phép, tiết lộ, sửa đổi hoặc
phá hủy thông tin khi chưa được sự cho phép của chủ sở hữu. Mục đích của an toàn bảo
mật thông tin là đảm bảo tính bảo mật, tính toàn vẹn và tính sẵn sàng cho toàn bộ thông
tin.

Tính bảo mật đảm bảo rằng chỉ những người được ủy quyền mới có thể truy cập và sử
dụng thông tin.

Tính toàn vẹn đảm bảo rằng thông tin không bị thay đổi trái phép.

Tính sẵn sàng đảm bảo rằng thông tin có thể được truy cập và sử dụng khi cần thiết.

An toàn bảo mật thông tin là một vấn đề quan trọng đối với tất cả các tổ chức và cá
nhân. Việc thực hiện các biện pháp bảo mật phù hợp có thể giúp bảo vệ thông tin khỏi
các mối đe dọa và giảm thiểu thiệt hại do vi phạm an ninh gây ra.

1.2 Mục tiêu

Mục tiêu của an toàn bảo mật thông tin là bảo vệ các tài sản thông tin của tổ chức và
cá nhân khỏi các mối đe dọa, bao gồm:

 Mối đe dọa nội bộ: Doanh nhân viên không ý thức được về an toàn bảo mật
thông tin, cố ý hoặc vô ý tiết lộ thông tin nhạy cảm.
 Mối đe dọa bên ngoài: Tin tặc, tội phạm sử dụng các kỹ thuật tinh vi để xâm
nhập vào hệ thống thông tin và đánh cắp dữ liệu.
 Tai nạn: Thiên tai, hỏa hoạn, mất điện có thể làm hỏng hoặc phá hủy dữ liệu.
1.3 Biện pháp bảo mật thông tin

Để đảm bảo an toàn bảo mật thông tin cần thực hiện các biện pháp sau:

 Đánh giá rủi ro : Xác định các mối đe dọa tiểm ẩn đối với thông tin và đánh giá
mức độ nghiêm trọng của các mối đe dọa đó
 Áp dụng các biện pháp kiểm soát: Triển khai các biện pháp bảo mật phù hợp để
giảm thiểu rủi ro, bảo gồm kiểm soát truy cập, mã hóa dữ liệu, sao lưu dữ liệu và
nâng cao nhận thức về an toàn bảo mật thông tin cho nhân viên.
 Giám sát và phản ứng: Theo dõi hệ thống thông tin để phát hiện các vi phạm an
ninh và có biện pháp xử lý kịp thời.

1.4 Lý do chọn đề tài

RSA là một thuật toán mã hóa khóa công khai, được sử dụng rộng rãi trong nhiều ứng
dụng bảo mật, như chữ ký số, xác thực, mã hóa đường truyền, v.v. RSA được đặt theo
tên của ba nhà khoa học đã phát minh ra nó: Ron Rivest, Adi Shamir và Leonard
Adleman.

RSA là một trong những thuật toán mã hóa quan trọng bậc nhất trong lịch sữ mật mã
học . Nó đã mở ra một kỷ nguyên mới cho việc trao đổi thông tin an toàn trên internet và
các mạng máy tính. Nên chúng em quyết định chọn đề tài này để nghiên cứu sâu hơn
cho việc tìm hiểu về chữ ký số, xây dựng chương trình mô phỏng thuật toán RSA.
CHƯƠNG II. GIỚI THIỆU THUẬT TOÁN
I. Giới thiêụ

1. RSA là gì

RSA là một thuật toán mã hóa khóa công khai, được sử dụng rộng rãi trong nhiều ứng
dụng bảo mật, như chữ ký số, xác thực, mã hóa đường truyền, v.v. RSA được đặt theo
tên của ba nhà khoa học đã phát minh ra nó: Ron Rivest, Adi Shamir và Leonard
Adleman.

RSA là thuật toán mã hóa phổ biến hàng đầu thế giới.

1.1 Lịch sử và nguồn gốc của RSA

RSA được phát minh vào năm 1977 bởi ba nhà khoa học làm việc tại Viện Công
nghệ Massachusetts (MIT). Họ đã lấy cảm hứng từ một bài báo của Whitfield Diffie và
Martin Hellman vào năm 1976, trong đó đề xuất một ý tưởng về mã hóa khóa công khai.

Tuy nhiên, Diffie và Hellman không đưa ra một thuật toán cụ thể để thực hiện ý
tưởng này. RSA là thuật toán mã hóa khóa công khai đầu tiên được công bố và có thể
thực hiện được trong thực tế.
1.2 Tầm quan trọng của RSA trong mật mã học

RSA là một trong những thuật toán mã hóa quan trọng bậc nhất trong lịch sử mật mã
học. Nó đã mở ra một kỷ nguyên mới cho việc trao đổi thông tin an toàn trên internet và
các mạng máy tính.

Thuật toán này cũng là nền tảng cho nhiều tiêu chuẩn bảo mật hiện đại, như
SSL/TLS, PGP, S/MIME, v.v. RSA cũng có ảnh hưởng lớn đến các lĩnh vực liên quan,
như toán học, khoa học máy tính, kinh tế và luật.

2. Thuật toán RSA và chữ ký số

Nhờ có thuật toán RSA, chữ ký số được tạo ra và trở thành một phương tiện bảo mật
hàng đầu, được sử dụng rộng rãi trên toàn cầu.

Chữ ký số được tạo ra nhờ ứng dụng RSA


2.1 Chữ ký số mã háo RSA là gì?

Chữ ký số là một dạng chữ ký điện tử được tạo ra bằng cách biến đổi một thông điệp
dữ liệu sử dụng hệ thống mật mã không đối xứng, theo đó, người có được thông điệp dữ
liệu ban đầu và khóa công khai của người ký có thể xác định được chính xác người ký
và tính toàn vẹn của thông điệp.

Chữ ký số RSA là loại chữ ký số sử dụng hệ mã hóa RSA để tăng độ an toàn và bảo
mật cho thông điệp dữ liệu.

2.2 Vai trò của RSA trong việc tạo ra chữ ký số

RSA đóng vai trò quan trọng trong việc tạo ra chữ ký số bằng cách sử dụng cặp khóa
không đối xứng: khóa công khai (public key) và khóa bí mật (private key). Quy trình tạo
chữ ký số với thuật toán RSA diễn ra như sau:

 Để tạo ra chữ ký số RSA , người ký sử dụng khóa bí mật của mình để mã hóa
thông điệp dữ liệu thành một chuỗi bit gọi là chữ ký.
 Chữ ký được gắn vào thông điệp dữ liệu hoặc được gửi riêng lẻ.
 Người nhận sử dụng khóa công khai của người ký để giải mã chữ ký thành công
điệp dữ liệu ban đầu. Nếu thông điệp dữ liệu giải mã trùng với thông điệp dữ liệu
gốc, nghĩa là chữ ký hợp lệ và thông điệp không bị thay đổi.
2.3 Ưu điểm của mã hóa RSA trong việc tạo và kiểm tra chữ ký số

RSA có nhiều ứng dụng trong việc tạo và kiểm tra chữ ký số, ví dụ như:
- Xác định danh tính chủ thể ký: Chỉ người có khóa bí mật mới có thể tạo ra chữ ký số
RSA cho thông điệp của họ, do đó người nhận có thể tin tưởng vào nguồn gốc của thông
điệp.
- Bảo vệ tính toàn vẹn nội dung: Bất kỳ sự thay đổi nào trong thông điệp dữ liệu sẽ làm
cho chữ ký số RSA không hợp lệ, do đó người nhận có thể phát hiện ra nếu thông điệp
bị can thiệp hoặc bị hư hỏng.
- Tính chống chối bỏ: Người ký không thể phủ nhận việc ký số cho thông điệp của họ,
vì chỉ họ mới có khóa bí mật để tạo ra chữ ký đó, do đó người nhận có thể chứng minh
được trách nhiệm của người ký.

Nhờ những ưu điểm trên, chữ ký số sử dụng thuật toán RSA được pháp luật công
nhận có giá trị pháp lý tương tự chữ ký tay hay con dấu của cá nhân, tổ chức.

2.4 Ứng dụng của chữ ký số sử dụng mã hóa RSA

Chữ ký số sử dụng thuật toán mã hóa RSA có độ bảo mật cao, và những tính chất nổi
bật, phù hợp để ký những giao dịch, nội dung điện tử cần sự toàn vẹn và giá trị pháp lý
như:
 Ký số cho các văn bản điện tử , hợp đồng điện tử, giấy tờ tùy thân điện tử, chứng
chỉ điện tử, hóa đơn điện tử… để đảm bảo tính pháp lý và hợp lệ của chúng
 Ký số cho các giao dịch ngân hàng , thanh toán trực tuyến, chuyển tiền điện tử…
để đảm bảo tính an toàn và bảo mật của chúng
 Ký số cho các phần mềm, ứng dụng, tranh web, tập tin… để đảm bảo tính xác
thực và bảo vệ quyền sở hữu trí tuệ của chúng.

3. Cơ chế hoạt động và thuật toán cụ thể của RSA

Cơ chế hoạt động của RSA dựa trên việc sử dụng hai khóa khác nhau: một khóa công
khai và một khóa bí mật.
 Khóa công khai là một số nguyên lớn, được công khai cho tất cả mọi người, và
được sử dụng để mật hóa dữ liệu.
 Khóa bí mật là một số nguyên lớn , được giữ bí mật bởi người sở hữu, và được sử
dụng để giải mã dữ liệu
 Khóa công khai và khóa bí mật có mối quan hệ toán học với nhau, nhưng rất khó
tìm ra khóa bí mật từ khóa công khai.

Về thuật toán, cụ thể các tạo khóa tỏng RSA như sau:
 Chọn hai số nguyên tố lớn p và q, sao cho p khác q.
 Tính n = p * q. Số n này sẽ là phần của khóa công khai và khóa bí mật.
 Tính 𝜙(n) = (p - 1) * (q – 1). Số 𝜙(n) này là hầm số Euler, biểu thị số lượng số
nguyên Dương nhỏ hơn n và nguyên tố cùng nhau với n.
 Chọn một số e sao cho 1 < e < 𝜙(n). Số e này sẽ là phần còn lại của khóa công
khai.
 Tìm một số d sao cho d * e ≡ 1 (mod 𝜙(n)). Số d này sẽ là phần còn lại của khóa
bí mật.

Sau khi có được hai khóa, ta có thể sử dụng chúng để mã hóa và giải được mã dữ liệu
theo công thức sau:
 Để mã hóa một thông điệp M, ta tính C = M^e(mod n), với C là thông điệp đã mã
hóa.
 Để giải mã một thông điệp C, ta tính M = C^d(mod n), với M là thông điệp gốc.

Như vậy, ta đã thấy cách hoạt động của RSA qua một ví dụ đơn giản. Tuy nhiên,
trong thực tế, các số p, q, e, d, n được chọn rất lớn, có thể lên đến hàng trăm chữ số, để
đảm bảo tính an toàn của thuật toán. Việc phá vỡ RSA đòi hỏi phải phân tích n thành hai
thừa số nguyên tố p và q, nhưng đây là một bài toán rất khó, và chưa có thuật toán nào
có thể giải quyết nhanh chóng được.

4. Những ứng dụng khác của thuật toán RSA

4.1 Ứng dụng RSA trong thương mại điện tử

Mã hóa RSA được sử dụng để bảo mật các giao dịch trực tuyến giữa người mua và
người bán. RSA cho phép người mua và người bán trao đổi các thông tin nhạy cảm như
số thẻ tín dụng, thông tin tài khoản, địa chỉ giao hàng, vv một cách an toàn.

Cách ứng dụng RSA trong thương mại điện tử như sau:
 Người bán sẽ tạo ra một cặp khóa công khai và khóa riêng tư. Khóa công khai sẽ
được công bố cho tất cả người dùng, còn khóa riêng tư sẽ được giữ bí mật
 Khi người mua muốn gửi thông tin cho người bán, họ sẽ mã hóa thông tin đó
bằng khóa công khai của người bán. Chỉ có người bán mới có thể giải mã thông
tin đó bằng khóa riêng tư của mình. Như vậy, thông tin của người mua sẽ được
bảo vệ khỏi sự can thiệp của kẻ gian.

4.2 Ứng dụng RSA trong các giao thức mạng

RSA cũng được sử dụng để xác thực danh tính và tính toàn vẹn của các thông điệp
trên mạng. Một số giao thức mạng phổ biến sử dụng RSA là SSH, OpenPGP, S/MIME,
SSL/TLS. SSH là giao thức cho phép truy cập từ xa vào máy tính khác qua mạng. Trong
đó:
 OpenPGP là giao thức cho phép mã hóa và ký số các email.
 S/MIME là giao thức cho phép mã hóa và ký số các tin nhắn MIME
 SSL/TLS là giao thức cho phép thiết lập kết nối an toàn giữa máy khách và máy
chủ trên web.

Các giao thức này đều sử dụng RSA để tạo ra các chữ ký số và các chứng chỉ số. Chữ
ký số và chứng thư số giúp xác nhận rằng thông điệp không bị thay đổi hoặc giả mạo
trên đường truyền và danh tính của người gửi.

You might also like