MỤC LỤCChương 1: Giới thiệu về An ninh thông tin và giới thiệu đề tài Chương 2: Cơ sở lý thuyết và ứng dụng mã hóa RSA trong xác thực 2 lớp Chương 3: Ứng dụng và triển khai mã hóa RSA t
Trang 1An ninh thông tin
Viện đổi mới sáng tạo
Trang 2Hạ Tiên
THÀNH VIÊN NHÓM
Trang 3MỤC LỤC
Chương 1: Giới thiệu về An ninh thông tin và giới thiệu đề tài
Chương 2: Cơ sở lý thuyết và ứng dụng mã hóa RSA trong xác
thực 2 lớp
Chương 3: Ứng dụng và triển khai mã hóa RSA trong xác thực 2
lớp cho giao dịch ngân hàng trực tuyến
Chương 4: Đánh giá kết quả
Chương 5: Kết luận và hướng phát triển
Trang 4CHƯƠNG 1: GIỚI THIỆU VỀ AN NINH THÔNG TIN
VÀ GIỚI THIỆU ĐỀ TÀI
Trang 5Lý do chọn đề
tài
Ngân hàng trực tuyến: Tiện lợi nhưng đối mặt với rủi ro
bảo mật từ tội phạm mạng và gian lận.
Giải pháp: Ứng dụng RSA kết hợp mã PIN và OTP để
ngăn chặn truy cập trái phép, bảo vệ thông tin khách hàng.
Ý nghĩa: Đáp ứng nhu cầu bảo mật, nâng cao niềm tin
và thúc đẩy phát triển bền vững ngành ngân hàng.
Mục tiêu nghiên cứu
Hiểu rõ cơ sở lý thuyết
của mã hóa RSA
Nghiên cứu và đánh giá mô hình mã hóa RSA trong xác thực
hai lớp (2FA)
Tăng cường bảo mật, bảo vệ thông tin người
dùng
Trang 6Phạm vi
nghiên cứu
Về công nghệ:
• Mã hóa và giải mã mã PIN, OTP bằng RSA.
• So sánh RSA với các thuật toán mã hóa khác như AES, DSA.
Về lĩnh vực ngân hàng:
• Bảo vệ giao dịch internet/mobile banking.
• Tăng cường an toàn cho các giao dịch phổ biến như chuyển khoản, thanh toán hóa đơn.
Đối tượng nghiên cứu
Mã hóa RSA Xác thực hai lớp (2FA) Hệ thống ngân hàng
trực tuyến
Biện pháp và công nghệ bảo vệ dữ liệu
Trang 7Tính khả dụng (Availability)
Mục tiêu chính của
ANTT
Tính bảo mật (Confidentiality)
Tính xác thực (Authentication)
Tính không thể chối bỏ repudiation)
(Non-Tính toàn vẹn (Integrity)
Trang 8An ninh thông tin
Network Security
Trang 9Các mức bảo vệ trên
mạng
Trang 10• Lập mã: Gồm 2 quá trình là mã hóa và giải mã.
• Phá mã: Phá mã, tạo mã giả, tấn công hàm băm và giả mạo chữ ký.
Vai trò: Mã hóa dữ liệu, đảm bảo tính bí mật, xác thực
danh tính, giữ toàn vẹn dữ liệu, chống phủ nhận và bảo
vệ thông tin trong quá trình truyền tải.
Phương pháp mã hóa:
• Mã hóa thay thế: Thay các ký tự gốc bằng các ký hiệu khác theo khóa.
• Mã hóa hoán vị: Sắp xếp lại thứ tự ký tự trong bản rõ theo phương thức nhất định.
Trang 11Hệ mật mã
Khái niệm cơ bản của hệ mật mã:
• Bản rõ: Thông tin gốc, chưa mã hóa, như một bức thư chưa niêm phong
• Bản mã: Dữ liệu sau mã hóa, trở thành chuỗi ký tự vô nghĩa, như thư đã niêm phong kín
• Mã: Thuật toán mã hóa/giải mã, công thức bí mật để đóng/mở nội dung
• Khóa: Thông tin bí mật, như chìa khóa giúp chuyển đổi giữa bản rõ và bản mã
Trang 12Hệ mật mã
Các thành phần của một hệ mật mã:
• P là không gian bản rõ: là tập hữu hạn các bản rõ có thể có.
• C là không gian bản mã: là tập hữu hạn các bản mã có thể có.
• K là không gian khoá: là tập hữu hạn các khoá có thể có.
• Đối với mỗi k ∈ K có một quy tắc mã eK: P → C và một quy tắc giải mã tương ứng dK ∈ D Mỗi eK: P→ C và dK: C → P là những hàm mà: dK (eK(x))=x với mọi bản rõ x ∈ P.
• Hàm giải mã dk chính là ánh xạ ngược của hàm mã hóa ek
Trang 13Mô hình truyền tin cơ bản của mật mã học
• Toàn vẹn thông tin: Tạo chữ ký điện tử, bảo vệ dữ liệu khỏi
bị giả mạo và mạo danh, giống như "dấu vân tay điện tử".
Trang 14Mô hình hệ mật mã đối
xứng
Mô hình hệ mật mã bất đối
xứng
Trang 15Mã hóa dữ liệu
Khái niệm:
• Mã hóa dữ liệu: Quá trình chuyển dữ liệu thành dạng
mã mà chỉ người có khóa giải mã hoặc mật khẩu mới đọc được.
• Bản rõ: Dữ liệu gốc, chưa mã hóa.
• Bản mã: Dữ liệu đã mã hóa, không thể hiểu ngay.
• Bảo mật thông tin người dùng.
• Bảo mật giao dịch tài chính trong ngân hàng trực tuyến.
Trang 16Ứng dụng thực tế của
mã hóa RSA
So sánh RSA với các thuật toán mã hóa khác trong bảo mật ngân
hàng
Trang 17Xác thực hai yếu tố là một phương thức bảo mật
yêu cầu người dùng cung cấp hai bằng chứng
xác minh (ví dụ: mật khẩu và mã OTP) để truy
cập tài khoản.
2.1 Tổng quan về xác thực hai lớp (2FA)
Xác thực hai lớp (2FA) yêu cầu người dùng cung cấp hai yếu tố từ các loại như :
1
2
3
Yếu tố kiến thức Yếu tố sở hữu
Yếu tố sinh trắc học Yếu tố vị trí
Yếu tố thời gian
4
5
Trang 18Mật khẩu dùng một lần, hiệu lực ngắn, gửi qua SMS, email, hoặc ứng dụng.
2
Bảo vệ chống lại giả mạo, brute-force và nghe lén nhờ mã ngắn hạn và kênh truyền riêng biệt.
Các phương pháp phổ biến của 2FA:
OTP
2.1 Tổng quan về xác thực hai lớp (2FA)
Trang 19Dãy số 4-6 chữ số, phổ biến trong tài chính và thiết bị di
3
Dễ bị tấn công brute-force, nhìn lén, hoặc MITM nếu chỉ
dùng mã PIN.
2.1 Tổng quan về xác thực hai lớp (2FA)
Trang 20Xác thực 1 lớp (1FA) Xác thực 2 lớp (2FA)
Cơ chế hoạt động
Chỉ cần một yếu tố để xác thực, thường là mật khẩu hoặc mã PIN.
Yêu cầu hai yếu tố để xác thực, thường là mật khẩu kết hợp với mã xác minh (OTP) hoặc đặc điểm sinh trắc học (vân tay, khuôn mặt).
Tính bảo mật
Dễ bị tấn công nếu mật khẩu bị lộ.
Ngay cả khi mật khẩu bị lộ, tài khoản vẫn an toàn nhờ yếu tố thứ hai.
Đối tượng sử dụng
Dành cho tài khoản ít quan trọng, như các trang web không yêu cầu bảo mật cao.
Dành cho tài khoản quan trọng, như ngân hàng, email công việc, hoặc dữ liệu nhạy cảm.
Bảng so sánh giữa xác thực một lớp (1FA) và xác thực hai lớp
(2FA)
2.1 Tổng quan về xác thực hai lớp (2FA)
Trang 21- Mã OTP là mã ngẫu nhiên, có thời gian sử dụng ngắn, gửi qua SMS, email hoặc ứng dụng xác thực.
- Kết hợp mã PIN với OTP giúp nâng cao bảo mật và ngăn chặn truy cập trái phép.
- Mã OTP vẫn bảo vệ hệ thống ngay cả khi
mã PIN bị lộ, trừ khi kẻ tấn công có quyền truy cập vào thiết bị nhận OTP.
- Mã PIN là phương tiện xác thực cá nhân
dược sử dụng trong các hệ thống ngân hàng
và thiết bị di động.
- Dựa trên nguyên lý chỉ người dùng chính
chủ mới biết mã số duy nhất.
- Độ dài mã PIN thường từ 4-6 chữ số dễ nhớ
nhưng bảo mật.
- Có cơ chế giới hạn nhập sai giúp ngăn ngừa
tấn công brute force.
Trang 222.3 Cơ sở hình thành mã OTP
HOTP (HMAC-based One-Time Password)
HOTP là thuật toán tạo mã OTP dựa trên hàm
HMAC và một khóa bí mật chung.
- C: Bộ đếm tăng dần mỗi khi tạo mã OTP.
- HMAC-SHA-1(K, C): Hàm băm sử dụng khóa
K và bộ đếm C.
- Truncate: Cắt ngắn giá trị băm thành mã
OTP 6-8 chữ số.
TOTP (Time-based One-Time Password
TOTP là biến thể của HOTP, thay bộ đếm bằng dấu thời gian Mã OTP được tạo trong khoảng thời gian ngắn (thường 30 giây)
Trang 232.4 Nguyên lý mã hoá RSA
Quá trình sinh khóa RSA
Bước 1.Chọn hai số nguyên tố lớn p và q, tính n
= p×q
Bước 2.Tính λ(n)=BCNN(p−1,q−1)
Bước 3 Chọn e sao cho 1 < e < λ(n) và
ƯCLN(e,λ(n)) = 1
Bước 4 : Tính d là nghịch đảo của e theo
mô-đun λ(n):d×e≡ 1modλ(n).
Kết quả là:
- Khoá công khai là cặp số (n,e).
- Khoá bí mật là cặp số (n,d).
Quá trình mã hóa và giải mã
* Mã hóa với khoá công
khai :
* Giải mã với khóa bí mật
Khi muốn gửi một bản tin dưới dạng số tự nhiên m (với 0<m<n), người gửi sẽ sử dụng khoá công khai (n,e) để mã hóa m Quá trình
mã hóa là:
c=m mod n Sau đó, bản mã c sẽ được gửi đến người nhận.
e
Khi người nhận nhận được bản mã c, họ sẽ
sử dụng khoá bí mật (n,d) để giải mã Quá trình giải mã là:
m=c mod n Kết quả là bản rõ m, có thể chuyển thành bản tin gốc.
d
Trang 242.5 Ứng dụng thực tế của mã hóa RSA
- Chữ ký số
- Bảo mật kết nối
- Giao thức TLS/SSL
RSA đảm bảo bảo mật và tính riêng tư trong
nhiều giao dịch trực tuyến.
Trang 252.6 So sánh RSA với các thuật toán mã hóa khác
trong bảo mật ngân hàng
Ứng dụng trong 2FA
Phù hợp cho trao đổi khóa ban đầu và tạo mã OTP an toàn.
Ít sử dụng vì độ an toàn thấp, có thể dùng Triple DES nhưng vẫn kém AES.
Phổ biến, dùng
để tạo mã OTP
và mã hóa dữ liệu.
Mức độ an toàn Rất cao Thấp Rất cao
Khả năng bảo mật hiện đại
Thường kết hợp với thuật toán đối xứng để tối ưu bảo mật và tốc độ.
Không phù hợp cho ứng dụng bảo mật hiện đại, ngoại trừ Triple DES.
Chấp nhận rộng rãi, là chuẩn an toàn cho ứng dụng hiện đại.
Bảng so sánh RSA với DES và AES
trong 2FA
Trang 26CHƯƠNG 3: ỨNG DỤNG VÀ TRIỂN KHAI
MÃ HÓA RSA TRONG XÁC THỰC HAI LỚP CHO GIAO DỊCH NGÂN HÀNG TRỰC
tuyến
3.
4
Quá trình xác thực hai lớp mã OTP và
mã PIN với RSA trong giao dịch ngân hàng
trực tuyến
Ứng dụng bằng chương trình mô phỏng RSA trong xác thực hai lớp cho giao dịch ngân hàng trực tuyến
3.
2 3.
1
Trang 273.1 Nghiên cứu và ứng dụng RSA vào hệ thống và giao thức ngân hàng trực
tuyến 3.1.1 Giới thiệu về hệ thống ngân hàng trực
tuyến
Là một dịch vụ cho phép khách hàng thực hiện các giao dịch ngân
hàng thông qua internet, bao gồm các hoạt động như chuyển tiền,
thanh toán hóa đơn, kiểm tra số dư tài khoản, và mở tài khoản Các
giao dịch này thường được thực hiện qua website hoặc ứng dụng di
động của ngân hàng Với sự phát triển mạnh mẽ của công nghệ
thông tin và sự phổ biến của internet, ngân hàng trực tuyến đã trở
thành một phần quan trọng trong cuộc sống hàng ngày của nhiều
người dân và doanh nghiệp
Trang 283.1.2 Các rủi ro bảo mật trong ngân hàng trực tuyến
Mặc dù ngân hàng trực tuyến cung cấp nhiều tiện ích, nhưng
nó cũng đối mặt với một số rủi ro bảo mật nghiêm trọng Các
mối đe dọa này có thể đến từ nhiều nguồn khác nhau, bao gồm tội phạm mạng và các lỗi kỹ thuật của hệ thống.
Trang 293.1.3 Sử dụng RSA vào trong bảo mật ngân
hàng trực tuyến
• Ứng dụng RSA trong bảo
mật thông tin đăng nhập
• Mã hóa giao dịch tài chính
Một khách hàng đăng nhập vào ngân hàng trực tuyến Thay vì truyền mật khẩu dưới dạng văn bản đơn giản, mật khẩu sẽ được mã hóa bằng khóa công khai của ngân hàng và chỉ có ngân hàng mới có thể giải mã thông tin bằng khóa bí mật
Một số ví dụ cụ thể về việc ứng dụng RSA để bảo mật ngân hàng trực
tuyến:
Trang 30tuyến
Trang 313.3 Quá trình xác thực hai lớp mã OTP và mã PIN với RSA trong giao dịch ngân hàng trực
tuyến 3.3.1 Chương trình mô phỏng RSA trong xác thực
hai lớp:
Trang 333.3.2 Các thành phần và chức năng của chương
trình:
3.3.2.1 Tạo cặp khóa RSA (khóa công khai và khóa bí
mật) với độ dài khóa lớn:
• RSA Key Pair: Đoạn mã này sử dụng thư viện rsa để tạo một cặp khóa
RSA Cặp khóa này bao gồm:
• Khóa công khai (bank_public_key): Dùng để mã hóa dữ liệu trước khi gửi
đi Người dùng sẽ sử dụng khóa công khai này để mã hóa mã PIN hoặc OTP của họ trước khi gửi đến ngân hàng
• Khóa bí mật (bank_private_key): Dùng để giải mã dữ liệu đã mã hóa
Ngân hàng sẽ sử dụng khóa bí mật này để giải mã mã PIN hoặc OTP gửi
từ người dùng
• Cặp khóa này được tạo với độ dài 2048 bit, đảm bảo tính bảo mật cao
trong việc mã hóa và giải mã
Trang 34• otp_attempts: Số lần người dùng thử nhập mã OTP.
• otp_code: Mã OTP đã được tạo cho người dùng
• otp_timer: Thời gian đếm ngược cho phép người dùng nhập mã OTP (60 giây)
• otp_running: Trạng thái có đang chạy mã OTP hay không Điều này dùng để kiểm soát việc đồng hồ đếm ngược
Trang 353.3.2.3 Hàm mã hóa và giải mã
RSA
• encrypt_data(data, public_key): mã hóa dữ liệu (ở đây là chuỗi data)
bằng khóa công khai (public_key) của ngân hàng
• decrypt_data(encrypted_data, private_key): giải mã dữ liệu đã được mã hóa (encrypted_data) bằng khóa bí mật (private_key) Sau khi giải mã,
dữ liệu trả về sẽ là chuỗi văn bản ban đầu
3.3.2.4 Đăng ký mã PIN
Người dùng nhập mã PIN với 4 chữ số Sau khi mã PIN hợp lệ, nó được mã hóa bằng khóa công khai của ngân hàng (bank_public_key), khi mã PIN
được mã hóa thì ngân hàng sử dụng khóa riêng (bank_private_key) để giải
mã lại mã PIN và đối chiếu
Trang 363.3.2.5 Xác thực mã PIN
Sau khig người dùng nhấn gửi mã PIN, hệ thống mã hóa mã PIN bằng
khóa công khai và gửi đến ngân hàng Số lần thử mã PIN (pin_attempts) được theo dõi Nếu mã PIN đúng, hệ thống sẽ chuyển sang gửi mã OTP Nếu sai, thông báo lỗi và yêu cầu người dùng thử lại
3.3.2.6 Gửi mã
OTP
Mã OTP được tạo thông qua thư viện pyotp sử dụng phương thức TOTP
(Time-Based One-Time Password) với bí mật (otp_secret) đã được tạo từ trước
Trang 373.3.2.7 Cập nhật thời gian đếm
ngượcMỗi giây, thời gian còn lại sẽ được giảm dần và hiển thị trên giao diện Khi
hết thời gian, nếu người dùng không nhập mã OTP kịp thời, hệ thống sẽ tính
là 1 lần xác thực không thành công rồi gửi mã OTP mới và tiếp tục quá trình
xác thực Nếu người dùng nhập sai OTP quá nhiều lần (ví dụ 2 lần), giao dịch
Trang 383.3.2.9 Giao diện Người Dùng
(GUI):
Các phần giao diện của người dùng và ngân hàng được xây dựng bằng
tkinter Giao diện giúp người dùng nhập mã PIN, mã OTP và nhận thông báo
• Thông báo: Sử dụng messagebox để hiển thị thông báo cho người dùng
khi có sự kiện như thành công, lỗi, hoặc yêu cầu nhập lại mã OTP
Trang 39Giao diện khi người dùng
nhập mã PIN hợp lệ
Trang 40Giao diện sau khi người dùng
nhập sai mã PIN quá 3 lần
Giao diện sau khi người dùng nhập đúng mã
PIN
Trang 413.4.3 Xác thực mã
OTP
Giao diện xác thực mã OTP khi
xác thực mã PIN thành công Giao diện khi người dùng
không kịp xác thực OTP
Mã OTP mới được sinh ra
Quy trình ngân hàng thực hiện
khi người dùng xác thực OTP
Giao diện khi xác thực
mã OTP thành công
Giao diện khi xác thực mã OTP không thành công quá
2 lần
Trang 42CHƯƠNG 4: ĐÁNH GIÁ KẾT QUẢ
Ưu điểm của
1
Trang 434.1 Ưu điểm của chương trình RSA trong xác thực hai lớp
Đơn giản, rõ ràng, dễ sử dụng.
Giao diện thân thiện:
Xác thực mã PIN và OTP nhanh chóng, rõ ràng.
Tính năng tiện lợi:
Đảm bảo an toàn cho giao dịch ngân hàng trực tuyến.
Hiệu quả bảo mật:
Trang 444.2 Khuyết điểm của chương trình
Mã PIN & OTP dễ bị lộ nếu không mã hóa tốt.
Quản lý dữ liệu chưa tối
ưu:
Các dữ liệu khác (số tài khoản, số tiền) có thể bị đánh cắp.
Nguy cơ rò rỉ thông tin:
Thiếu tính năng khôi phục khi quên mã PIN/OTP.
Không hỗ trợ khôi phục
mã:
Trang 454.3 Ưu điểm khi sử dụng RSA
Sử dụng cặp khóa công khai và riêng tư.
Trang 47thông qua việc sử dụng hai lớp bảo mật bằng RSA
Trang 48Hướng Phát
Triển
Chương 5: Kết luận và Hướng phát triển
1 2 3
Tối ưu hóa hiệu năng:
Áp dụng Elliptic Curve Cryptography (ECC).
Xử lý song song và đa luồng.
4
Nâng cấp xác thực:
Tích hợp sinh trắc học và xác thực không mật khẩu.
Phát triển đa nền tảng:
Ứng dụng trên web, mobile (iOS, Android), desktop.
Giám sát và phát hiện gian lận:
Sử dụng AI/ML để phân tích giao dịch bất thường.
5 Xây dựng hệ sinh thái mở rộng:Phát triển API và mã nguồn mở.
tối ưu hóa hiệu quả bảo
mật và cải thiện trải
nghiệm người dùng
Trang 49THANK YOU!