1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Ứng dụng mã hoá rsa trong xác thực hai lớp bằng mã pin và otp nhằm tăng cường bảo mật giao dịch ngân hàng trực tuyến

49 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Định dạng
Số trang 49
Dung lượng 9,31 MB

Nội dung

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 1

An ninh thông tin

Viện đổi mới sáng tạo

Trang 2

Hạ Tiên

THÀNH VIÊN NHÓM

Trang 3

MỤ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 4

CHƯƠNG 1: GIỚI THIỆU VỀ AN NINH THÔNG TIN

VÀ GIỚI THIỆU ĐỀ TÀI

Trang 5

Lý 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 6

Phạ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 7

Tí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 8

An ninh thông tin

Network Security

Trang 9

Cá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 11

Hệ 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 12

Hệ 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 13

Mô 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 14

Mô hình hệ mật mã đối

xứng

Mô hình hệ mật mã bất đối

xứng

Trang 15

Mã 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 17

Xá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 18

Mậ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 19

Dã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 20

Xá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 22

2.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 23

2.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 24

2.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 25

2.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 26

CHƯƠ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 27

3.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 28

3.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 29

3.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 30

tuyến

Trang 31

3.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 33

3.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 35

3.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 36

3.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 37

3.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 38

3.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 39

Giao diện khi người dùng

nhập mã PIN hợp lệ

Trang 40

Giao 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 41

3.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 42

CHƯƠNG 4: ĐÁNH GIÁ KẾT QUẢ

Ưu điểm của

1

Trang 43

4.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 44

4.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 45

4.3 Ưu điểm khi sử dụng RSA

Sử dụng cặp khóa công khai và riêng tư.

Trang 47

thông qua việc sử dụng hai lớp bảo mật bằng RSA

Trang 48

Hướ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 49

THANK YOU!

Ngày đăng: 13/12/2024, 15:17

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w