1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tìm hiểu về một số giải pháp bảo mật xác thực cho ứng dụng trên thiết bị di động

65 8 0

Đ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

Tiêu đề Tìm hiểu về một số giải pháp bảo mật xác thực cho ứng dụng trên thiết bị di động
Tác giả Nguyễn Thanh Bỡnh
Người hướng dẫn ThS. Lưu Quang Huõn, ThS. Hồ Quang Chi Bảo
Trường học Đại học Bách Khoa
Chuyên ngành Khoa học máy tính
Thể loại luận văn tốt nghiệp
Năm xuất bản 2021
Thành phố TP.HCM
Định dạng
Số trang 65
Dung lượng 2,39 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

- Từ những nghiên cứu và phân tích, nhóm thực hiện đã đề xuất được kiếntrúc cho một dịch vụ xác thực người dùng, trong đó mô hình xác thực đayếu tố được áp dụng để nâng cao khả năng bảo

Trang 1

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH

ĐẠI HỌC BÁCH KHOA KHOA KHOA HỌC & KỸ THUẬT MÁY TÍNH

LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC

TÌM HIỂU VỀ MỘT SỐ GIẢI PHÁP BẢO MẬT XÁC THỰC CHO ỨNG DỤNG

TRÊN THIẾT BỊ DI ĐỘNG

Ngành: Khoa học máy tính

HỘI ĐỒNG: Khoa học máy tính 1

ThS Hồ Quang Chi Bảo

TP.HCM, 2021

Trang 2

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH

ĐẠI HỌC BÁCH KHOA KHOA KHOA HỌC & KỸ THUẬT MÁY TÍNH

LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC

TÌM HIỂU VỀ MỘT SỐ GIẢI PHÁP BẢO MẬT XÁC THỰC CHO ỨNG DỤNG

TRÊN THIẾT BỊ DI ĐỘNG

Ngành: Khoa học máy tính

HỘI ĐỒNG: Khoa học máy tính 1

ThS Hồ Quang Chi Bảo

TP.HCM, 2021

Trang 3

A萎K"J窺E"SW渦E"IKC"VR0JEO E浦PI"JñC"ZÊ"J浦K"EJ曳"PIJ C"XK烏V"PCO

V·o"jk吋w"x隠"o瓜v"u嘘"rj逢挨pi"rj r"d違q"o壱v"x "z e"vj詠e"vj»pi"vkp"vtqpi"vtcq"8鰻k"f英"nk羽w0

V·o"jk吋w"x隠"e e"rj逢挨pi"vj泳e"z e"vj詠e"pi逢運k"f́pi0

Trang 4

TRƯỜNG ĐẠI HỌC BÁCH KHOA CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

KHOA KH & KT MÁY TÍNH Độc lập - Tự do - Hạnh phúc

-Ngày 07 tháng 08 năm 2021

PHIẾU CHẤM BẢO VỆ LVTN

(Dành cho người hướng dẫn)

1 Họ và tên SV: NGUYỄN THANH BÌNH

tính

2 Đề tài: Tìm hiểu về một số giải pháp bảo mật và xác thực cho ứng dụng

trên thiết bị di động

3 Họ tên người hướng dẫn: ThS Lưu Quang Huân - ThS Hồ Quang Chi Bảo

4 Tổng quát về bản thuyết minh:

6 Những ưu điểm chính của LVTN:

- Nhận thức được bối cảnh thực tế của những vấn đề liên quan đến bảomật và xác thực người dùng trên thiết bị di động, từ đó xác định rõ độnglực, mục tiêu khi thực hiện đề tài

- Tìm hiểu kỹ các nguyên tắc trong bảo mật cũng như phân tích được nhiềukhía cạnh liên quan như: các yếu tố bảo mật, các nhân tố ảnh hưởng,những phương thức được sử dụng phổ biến, và những lỗ hổng cùng vớinhững nguy hại tiềm ẩn trong ứng dụng cho thiết bị di động

- Từ những nghiên cứu và phân tích, nhóm thực hiện đã đề xuất được kiếntrúc cho một dịch vụ xác thực người dùng, trong đó mô hình xác thực đayếu tố được áp dụng để nâng cao khả năng bảo mật, có tính ứng dụngcao trong thực tế

- Áp dụng các biện pháp bảo mật tiên tiến, đồng thời kết hợp được nhiềubiện pháp kỹ thuật để hiện thực thành công giải pháp đề xuất Triển khaigiải pháp trên môi trường thực tế và đạt được kết quả tốt Thực hiện bàibản các bước kiểm thử chức năng, kiểm thử xâm nhập, để đánh giámức độ kháng lỗi trong bảo mật Bên cạnh đó, mức độ đáp ứng của hệthống cũng được quan tâm và kiểm tra trên một máy chủ cụ thể

- Cấu trúc luận văn rõ ràng, tài liệu tham khảo đầy đủ, luận văn được thựchiện nghiêm túc với tinh thần cầu thị cao, giao tiếp tốt và có trách nhiệmvới các nhóm liên quan

8 Đề nghị: Được bảo vệ √ Bổ sung thêm để bảo vệ □ Không được bảo vệ □

9 3 câu hỏi SV phải trả lời trước Hội đồng:

Trang 5

a Xác thực đa yếu tố có làm ảnh hưởng đến tính sẵn sàng trong tam giác CIA

hay không? Tại sao?

b Cơ chế quản lý truy cập mà đề tài đề xuất có đảm bảo tránh khỏi các hìnhthức tấn công vào xác thực như Fixed Session, User Enumeration ?

c Trong hệ thống sử dụng Access Token và Refresh Token để trao đổi dữliệu, làm sao thu hồi những token này khi tài khoản người dùng bị khóa?

10 Đánh giá chung (bằng chữ: giỏi, khá, TB): Giỏi Điểm : 9.8/10

Ký tên (ghi rõ họ tên)

Trang 6

TRƯỜNG ĐẠI HỌC BÁCH KHOA CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

KHOA KH & KT MÁY TÍNH Độc lập - Tự do - Hạnh phúc

-Ngày 08 tháng 08 năm 2021

PHIẾU CHẤM BẢO VỆ LVTN

(Dành cho người phản biện)

1 Họ và tên SV: NGUYỄN THANH BÌNH

2 Đề tài: Tìm hiểu về một số giải pháp bảo mật và xác thực cho ứng dụng trên thiết bị di động

3 Họ tên người phản biện: ThS Băng Ngọc Bảo Tâm

4 Tổng quát về bản thuyết minh:

6 Những ưu điểm chính của LVTN:

● Nắm bắt được các vấn đề liên quan đến bảo mật và xác thực người dùng, để từ đó vận dụng,ứng dụng và đề xuất các giải pháp bảo mật và xác thực trên thiết bị di động

● Nghiên cứu và tìm hiểu kỹ về các mô hình xác thực người dùng, từ những phương thứcđược sử dụng phổ biến cho đến các phương thức phức tạp Cùng với việc giải thích cụ thểcác lỗ hổng bảo mật, mối đe dọa và rủi ro để từ đó đề xuất một mô hình dịch vụ xác thựcngười dùng mới

● Kết hợp nhiều phương pháp xác thực hiện đại để hiện thực mô hình đề xuất Thực hiện cácbước kiểm thử đơn vị, kiểm thử chức năng, … bài bản Ngoài ra còn kết hợp với việc kiểmthử các lỗ hỏng bảo mật bằng một phần mềm kiểm tra của bên thứ ba để đánh giá độ hiệuquả và tin cậy của mô hình đề xuất

● Luận văn được trình bày cụ thể, rõ ràng, bố cục hợp lý, tài liệu tham khảo đầy đủ Phần môhình giải pháp đề xuất cũng như quá trình kiểm thử sản phẩm được trình bày và giải thíchrất chi tiết

8 Đề nghị: Được bảo vệ Bổ sung thêm để bảo vệ □ Không được bảo vệ □

9 3 câu hỏi SV phải trả lời trước Hội đồng:

a Hệ thống đề xuất được xem như 1 bên thứ 3 dùng để cung cấp một giải pháp xác thực dữ liệu cho bên A và bên B Vậy nếu cấu trúc hệ thống của bên A và bên B khác nhau hoàn toàn thì việc tích hợp sẽ như thế nào?

b Cơ chế lưu mật khẩu và token có đảm bảo yếu tố bí mật và tránh khỏi các hình thức tấn

công như vét cạn, MiTM hay không?

Trang 7

c Hệ thống sẽ xử lý như thế nào trong trường hợp bị DDoS hay gặp dạng tấn công man in the middle?

10 Đánh giá chung (bằng chữ: giỏi, khá, TB): Giỏi Điểm: 9.7/10

Ký tên (ghi rõ họ tên)

Băng Ngọc Bảo Tâm

Trang 8

LỜI CAM ĐOAN

Tôi xin cam đoan đây là công trình nghiên cứu và thực hiện của tôi Mọi số liệu,tài liệu dược sử dụng trong phân tích đều đươc dẫn chứng và công bố rõ ràng.Trong trường hợp sao chép không hợp lệ, vi phạm các quy định, tôi xin hoàn toànchịu trách với mọi hình thức kỷ luật được đề ra

NGUYỄN THANH BÌNH

Trang 9

LỜI CẢM ƠN

Đầu tiên, tôi xin trân trọng cảm ơn đến thầy Lưu Quang Huân, giảng viên khoaKhoa học và Kỹ thuật Máy tính - trường Đại học Bách Khoa - ĐHQG TP.HCM, vàanh Hồ Quang Chi Bảo đã tận tình chỉ dẫn, định hướng tôi trong suốt quá trình làmluận văn Đồng thời, tôi cũng xin gửi lời cảm ơn đến anh Nguyễn Trọng Dư cùnghai bạn Nguyễn Quang Lâm và Trần Mạnh Hưng đã giúp đỡ tôi trong thời gian vừaqua để có thể hoàn thành luận văn này Tiếp đến, tôi xin gửi lời cảm ơn chân thànhđến quý thầy cô trường Đại học Bách Khoa, đặc biệt là khoa Khoa học và Kỹ thuậtmáy tính cũng như các thầy cô ở bậc phổ thông đã truyền đạt cho tôi nhiều kinhnghiệm, kiến thức để tôi có thể nghiên cứu, phát triển và hoàn thành đề tài luậnvăn Cuối cùng, tôi xin gửi cảm ơn đến gia đình, bạn bè đã luôn ủng hộ, tạo độnglực cho tôi trong suốt quá trình thực hiện và hoàn thành luận văn

NGUYỄN THANH BÌNH

Trang 10

M ỤC LỤC

1.1 Động lực 1

1.2 Mục tiêu đề tài 2

1.3 Phạm vi đề tài 2

1.4 Cấu trúc báo cáo 3

2 Kiến thức nền tảng 4 2.1 Các nguyên tắc trong bảo mật thông tin 4

2.1.1 Tính bí mật dữ liệu 4

2.1.2 Tính toàn vẹn dữ liệu 5

2.1.3 Tính sẵn sàng dữ liệu 5

2.1.4 Tính xác thực 6

2.1.5 Tính chống thoái thác 6

2.2 Xác thực người dùng 6

2.2.1 Authentication 6

2.2.2 Authorization 8

2.2.3 So sánh Authentication và Authorization 9

2.3 OTP (One-time-password) 9

2.3.1 HOTP (HMAC-based One-time Password) 10

2.3.2 TOTP (Time-Based One-Time Password) 10

2.4 Mã hóa 11

2.4.1 Mã hóa đối xứng 11

2.4.2 Mã hóa bất đối xứng 15

2.4.3 Hàm băm 16

2.4.4 Chữ ký số 16

2.5 RESTful API 19

2.6 OWASP Top 10 21

2.6.1 Injection 21

1

Trang 11

MỤC LỤC 2

2.6.2 Broken Authentication 22

2.6.3 Lộ thông tin nhạy cảm người dùng 22

2.6.4 XML External Entities 23

2.6.5 Broken Access Control 24

2.6.6 Cấu hình sai các cài đặt bảo mật 24

2.6.7 Cross-Site Scripting (XSS) 25

2.6.8 Giải mã dữ liệu không an toàn 26

2.6.9 Sử dụng các công cụ với các lỗ hổng bảo mật đã được biết 26

2.6.10 Giám sát hệ thống không đầy đủ 27

3 Các công trình nghiên cứu liên quan 28 3.1 Các mô hình xác thực người dùng 28

3.1.1 Basic Authentication 28

3.1.2 Bearer Authentication 29

3.1.3 API Key Authentication 30

3.1.4 OAuth 2.0 30

3.2 Các dịch vụ xác thực người dùng 32

3.2.1 Single Sign-On (SSO) 32

3.2.2 Auth0 33

3.2.3 Google Sign In 36

3.3 Các nghiên cứu tăng cường bảo mật 36

3.3.1 Bài báo "Two-Factor Authentication: Too Little, Too Late" 36

3.3.2 Bài báo "A secure method for signing in using quick response codes with mobile authentication" 37

3.4 Các công cụ, thư viện kiểm thử và đánh giá bảo mật 37

3.4.1 OWASP ZAP (Zed Attack Proxy) 37

3.4.2 Burp Suite 37

3.4.3 Công cụ StackHawk 38

4 Các lỗ hổng, mối đe dọa và rủi ro trong bảo mật và xác thực người dùng 40 4.1 Vulnerability, threat và risk 40

4.2 Quản lý danh tính (Identity management) 41

4.2.1 Đoán và liệt kê các tài khoản 41

4.3 Xác thực (Authentication) 41

4.3.1 Phương thức khóa tài khoản yếu kém 41

4.3.2 Bypass quá trình xác thực 42

4.3.3 Yêu cầu về mật khẩu yếu 43

4.3.4 Điểm yếu trong quá trình thay đổi, khôi phục mật khẩu 43

Trang 12

MỤC LỤC 3

4.4 Ủy quyền (Authorization) 43

4.4.1 Bypass quá trình ủy quyền 43

4.4.2 Privilege escalation 44

4.5 Quản lý phiên (Session management) 44

4.5.1 Session Fixation 44

4.5.2 CSRF (Cross Site Request Forgery) 45

4.6 Kiểm tra đầu vào (Input validation) 45

4.6.1 Reflected Cross Site Scripting 45

4.6.2 Stored Cross Site Scripting 46

4.6.3 SQL Injection 46

5 Giải pháp đề xuất 48 5.1 Phân tích yêu cầu 48

5.1.1 Định dạng chuỗi bí mật trong mô hình 49

5.1.2 Các loại mã JWT trong hệ thống 50

5.1.3 Thu hồi các chuỗi bí mật 51

5.2 Kiến trúc tổng quan hệ thống 52

5.3 Hiện thực khối quản lý việc tạo / xác thực các mã trong hệ thống 52

5.3.1 Quá trình tạo và kiểm chứng mã JWT 52

5.3.2 Quá trình tạo mã OTP 54

5.3.3 Quá trình tạo, xác nhận và kiểm tra cho mã QR 55

5.3.4 Quá trình tạo và kiểm tra cho mã khôi phục mật khẩu 56

5.4 Hiện thực khối quản lý thông tin người dùng 56

5.5 Hiện thực khối logic chức năng 57

5.5.1 Đăng ký người dùng 58

5.5.2 Đăng nhập (sử dụng mật khẩu và OTP) 59

5.5.3 Đăng nhập sử dụng mã QR 60

5.5.4 Cập nhật thông tin 61

5.5.5 Khôi phục mật khẩu 63

5.5.6 Đăng xuất 63

5.5.7 Cấp lại mã truy cập (AT) 64

5.5.8 Kiểm tra mã truy cập (RT) 65

5.5.9 Tạm khóa tài khoản theo ràng buộc về số lần thất bại 66

5.6 Case study 67

5.6.1 Lược đồ lưu trữ cho dữ liệu được ủy quyền quản lý bởi dịch vụ điều phối 67

5.6.2 Quá trình đăng ký bổ sung thông tin tài xế và phương tiện 67

5.6.3 Quá trình ủy quyền người dùng thay cho dịch vụ điều phối 69

Trang 13

MỤC LỤC 4

5.6.4 Giới hạn một người dùng chỉ được đăng nhập trên một thiết

bị tại một thời điểm 69

6 Đánh giá và cải tiến giải pháp đề xuất 71 6.1 Đánh giá giải pháp đề xuất 71

6.2 Các rủi ro và giải pháp cải tiến 72

6.3 Hiện thực giải pháp cải tiến 74

6.3.1 Trong việc xoay vòng mã làm mới 74

6.3.2 Ngăn chặn kịp thời việc sử dụng lại mã làm mới đã hết hạn 74

6.3.3 Khôi phục mật khẩu sử dụng lịch sử người dùng 75

7 Triển khai, thử nghiệm và đánh giá 78 7.1 Triển khai 78

7.2 Thử nghiệm và kiểm thử mô hình 78

7.2.1 Kiểm thử yêu cầu hệ thống 78

7.2.2 Kiểm thử xâm nhập (Penetration Test) 81

7.3 Đánh giá 85

8 Tổng kết 86 8.1 Kết luận 86

8.2 Những hạn chế và hướng phát triển 87

Tài liệu tham khảo 88 A Tài liệu API hệ thống 93 A.1 Đăng ký 93

A.1.1 Đăng ký tài khoản 93

A.1.2 Đăng ký bổ sung thông tin tài xế, phương tiện 94

A.2 Đăng nhập 95

A.2.1 Đăng nhập sử dụng mật khẩu và OTP 95

A.2.2 Đăng nhập sử dụng QR 97

A.3 Khôi phục mật khẩu 100

A.3.1 Khôi phục sử dụng OTP và câu hỏi bảo mật 100

A.4 Cập nhật thông tin 104

A.4.1 Thay đổi mật khẩu 104

A.5 Quản lý token 105

A.5.1 Cấp lại access token 105

A.5.2 Kiểm tra access token 106

Trang 14

D ANH SÁCH HÌNH VẼ

2.1 Ví dụ về phân quyền trong hệ thống 9

2.2 Quá trình mã hóa và giải mã trong mã hóa đối xứng 11

2.3 Mã hóa và giải mã khối sử dụng ECB 12

2.4 Mã hóa và giải mã khối sử dụng CCB 12

2.5 Mã hóa và giải mã khối sử dụng CFB 13

2.6 Mã hóa và giải mã khối sử dụng OFB 13

2.7 Synchronous stream ciphers 14

2.8 Self-synchronous stream ciphers 14

2.9 Quá trình mã hóa và giải mã trong mã hóa bất đối xứng 15

2.10 Sử dụng hàm băm để kiểm tra tính toàn vẹn dữ liệu 17

2.11 Quá trình ký dữ liệu khi gửi (mã hóa bất đối xứng) 17

2.12 Quá trình xác thực dữ liệu khi nhận (mã hóa bất đối xứng) 18

2.13 Quá trình ký dữ liệu khi gửi (mã hóa đối xứng) 19

2.14 Quá trình xác thực dữ liệu khi nhận (mã hóa đối xứng) 20

3.1 Quá trình của Basic Authentication 29

3.2 Quá trình của Bearer Authentication 29

3.3 Quá trình xác thực sử dụng API Key 30

3.4 Quá trình xác thực đơn giản của OAuth 32

3.5 Quá trình SSO 33

3.6 Quá trình xác thực và ủy quyền của Auth0 35

3.7 Quá trình xác thực và ủy quyền của Google Sign In 36

3.8 Giao diện của Burp Suite 38

5.1 Kiến trúc của hệ thống đề xuất 48

5.2 Các thành phần trong JWT 50

5.3 Kiến trúc tổng quan hệ thống 53

5.4 Quá trình xác thực sử dụng mã QR 55

5.5 Lược đồ cơ sở dữ liệu lưu trữ thông tin người dùng 58

5.6 Quá trình đăng ký người dùng 59

5.7 Quá trình đăng nhập sử dụng mật khẩu và xác thực OTP 60

5.8 Quá trình đăng nhập sử dụng QR 62

5

Trang 15

DANH SÁCH HÌNH VẼ 6

5.9 Quá trình cập nhật thông tin 62

5.10 Quá trình khôi phục mật khẩu 64

5.11 Quá trình đăng xuất trên một thiết bị 64

5.12 Quá trình cấp lại mã truy cập 65

5.13 Quá trình kiểm tra mã truy cập 65

5.14 Lược đồ cơ sở dữ liệu lưu trữ thông tin người dùng với các thông tin được bổ sung 68

5.15 Quá trình đăng ký bổ sung thông tin tài xế và phương tiện 68

5.16 Quá trình đăng nhập sử dụng mật khẩu và xác thực OTP (được sửa đổi) 70

5.17 Quá trình đăng nhập với ràng buộc chỉ được sử dụng một thiết bị 70

6.1 Quá trình xoay vòng mã làm mới 73

6.2 Quá trình khôi phục mật khẩu (đã được cải tiến) 77

7.1 Kết quả sử dụng công cụ StackHawk 81

7.2 Kết quả sử dụng công cụ HostedScan với ZAP 82

7.3 Kết quả sử dụng công cụ HostedScan với Nmap 83

7.4 Kết quả sử dụng công cụ HostedScan với OpenVAS 84

Trang 16

D ANH SÁCH BẢNG

2.1 Hình thức, rủi ro và hạn chế của các yếu tố xác thực 8

2.2 So sánh giữa authentication và authorization 9

3.1 Một số dịch vụ SSO 34

5.1 Giá trị lưu trữ liên quan đến mã QR trong quá trình thực hiện 56

7.1 Thời gian thực hiện các yêu cầu trên máy chủ được triển khai (không bao gồm độ trễ đường truyền) 80

7

Trang 17

Android và iOS là hai hệ điều hành dành cho thiết bị di động phổ biến nhất hiện

nay, chiếm lĩnh gần như 100% tổng số các thiết bị hiện tại

Với số lượng thiết bị và người sử dụng nhiều như vậy, vấn đề bảo mật dữ liệucũng như thông tin người dùng trở thành vấn đề cấp thiết và luôn được quan tâmbởi những nhà nghiên cứu, phát triển Tuy nhiên, trong một báo cáo năm 2019 [2],

có đến38%ứng dụng trên iOS và43%ứng dụng trên Android đối mặt với những lỗhổng nghiêm trọng Nguyên nhân phổ biến nhất gây ra tình trạng này là do cơ chếbảo mật yếu kém với tỷ lệ lần lượt là74%,57%và42%tương ứng với ứng dụng trêniOS, Android, và máy chủ cung cấp dịch vụ Tuy vấn đề bảo mật luôn được quantâm cải tiến và nâng cấp, nhưng vẫn luôn tồn tại những cơ chế bảo mật yếu kém,

mà nguyên nhân có thể đến từ việc chủ quan của những người quản trị hoặc sựhạn chế kiến thức chuyên sâu trong lĩnh vực bảo mật của những người phân tích,thiết kế dẫn đến việc đánh giá chưa đầy đủ làm cho một số lỗ hổng bị khai thác,

và hậu quả là hàng triệu record dữ liệu của người dùng bị rò rỉ ra ngoài Yếu tố bảomật trong việc quản lý thông tin người dùng nói riêng và trong việc phát triển ứngdụng đang được quan tâm và trở thành yếu tố cốt lõi cho việc khẳng định giá trịcủa sản phẩm

Khác với trình duyệt web, ứng dụng di động thường không phản hồi một cách

1

Trang 18

1.2.MỤC TIÊU ĐỀ TÀI 2

tường minh về phương thức mà dữ liệu người dùng được trao đổi trong quá trình

sử dụng Vì vậy việc trao đổi dữ liệu riêng tư có được an toàn hay không đều phảiphụ thuộc hoàn toàn vào nhà phát triển Bên cạnh đó số lượng các điểm truy cậpWiFi công cộng không ngừng tăng lên, tính đến năm 2020, có tới 454 triệu điểmtrên toàn cầu [3] Việc đảm bảo an toàn trong quá trình gửi nhận thông tin củangười dùng trong môi trường như vậy càng trở nên thách thức hơn bởi vì dữ liệucủa họ có thể bị đọc bởi bất kỳ một người nào đó đang cùng tham gia vào trongmạng WiFi công cộng

Qua đó cũng thấy được rằng việc tìm hiểu các giải pháp về bảo mật và xác thựccho ứng dụng trên thiết bị di động tuy không mới nhưng vẫn còn là vấn đề cấpthiết trong bối cảnh ngày nay Và cũng vì vậy mà nó trở thành động lực chính củaluận văn này

1.2 M ỤC TIÊU ĐỀ TÀI

Trong đề tài này, các mục tiêu sau đây được đề ra và tập trung để hoàn tất :

• Tìm hiểu, phân tích, và đánh giá những mô hình bảo mật và xác thực cho ứngdụng trên thiết bị di động hiện có

• Đề xuất giải pháp cho mô hình bảo mật trong xác thực người dùng cho cácứng dụng trên thiết bị di động

• Xây dựng một số mô hình xác thực phổ biến trên thiết bị di động đảm bảođược các tiêu chuẩn an toàn trong quá trình xác thực người dùng

Hiện thực và triển khai thí điểm phương thức để xác thực người dùng cho Hệ

thống hỗ trợ theo dõi và điều phối giao nhận hàng [4]

• Xây dựng mô hình thực nghiệm, thực hiện việc kiểm thử, đo đạc và đánh giákết quả của các giải pháp đề xuất

1.3 P HẠM VI ĐỀ TÀI

Trong đề tài này, việc nghiên cứu sẽ được giới hạn trong phạm vi tìm hiểu, phântích và đánh giá các phương thức xác thực đang được sử dụng phổ biến dành chocác ứng dụng trên thiết bị di động Về mặt giải pháp, việc thiết kế, xây dựng và triểnkhai thí điểm máy chủ xác thực cho ứng dụng hỗ trợ theo dõi và điều phối giaonhận hàng sẽ được thực hiện với mục tiêu đảm bảo sự an toàn và tin cậy trong quátrình xác thực người dùng theo điều kiện thực tế

Trang 19

1.4.CẤU TRÚC BÁO CÁO 3

1.4 C ẤU TRÚC BÁO CÁO

Báo cáo được chia thành 8 chương với nội dung cụ thể như sau:

Chương 1 giới thiệu về đề tài luận văn, nêu lên động lực và phạm vi thực hiệncủa đề tài

Chương 2 trình bày các khác niệm cơ bản, kiến thức nền tảng liên quan đếnnhững vấn đề bảo mật cho hệ thống công nghệ thông tin nói chung và trong ứngdụng trên thiết bị di động nói riêng

Chương 3 phân tích, đánh giá các giải pháp, công trình nghiên cứu liên quanphổ biến hiện nay, từ đó áp dụng vào việc thiết kế, xây dựng và thực hiện đề tài này.Chương 4 phân tích một số rủi ro xảy ra trong thực tế liên quan đến vấn đề bảomật và xác thực người dùng trên ứng dụng di động, từ đó đề các giải pháp để khắcphục

Chương 5 đưa ra giải pháp thí điểm cho việc xác thực người dùng cho một bàitoán cụ thể trong thực tế Đồng thời áp dụng những phân tích, đánh giá ở Chương

3, 4 để xây dựng các mục tiêu và tiêu chí trong mô hình bảo mật của giải pháp.Chương 6 đánh giá và phân tích giải pháp thí điểm trên các khía cạnh bảo mậtcũng như đề ra hướng giải quyết cho các vấn đề tồn đọng mà mô hình gặp phải.Chương 7 xây dựng và triển khai thử nghiệm giải pháp đã đề xuất trong điềukiện thực tế dựa trên những kịch bản được thiết kế nhằm đánh giá mức độ thỏamãn các mục tiêu đề ra ở Chương 5

Chương 8 tổng kết lại những kết quả đã đạt được trong quá trình nghiên cứu,phân tích, đánh giá và đề ra giải pháp Nêu lên những mặt hạn chế, đồng thời đề rahướng phát triển cho đề tài trong tương lai

Trang 20

K IẾN THỨC NỀN TẢNG

2.1 C ÁC NGUYÊN TẮC TRONG BẢO MẬT THÔNG TIN

Mô hình tam giác bảo mật CIA [5] hiện nay vẫn được đánh giá cao bởi cách tiếpcận đơn giản phù hợp với việc tìm hiểu, hình dung, và giải quyết các vấn đề tronglĩnh vực bảo mật thông tin ở mức ý niệm Tam giác CIA được hình thành từ ba kháiniệm cơ bản gồm:

Confidentiality: Tính bí mật dữ liệu.

Integrity: Tính toàn vẹn dữ liệu.

Availability: Tính sẵn sàng dữ liệu.

Ba yếu tố C-I-A trong mô hình này thể hiện sự cân bằng của 3 đặc tính cần phải

có khi xây dựng những hệ thống tương tác đến dữ liệu của người dùng Ngoài ra,khi cần mở rộng phạm vi tác động của việc bảo mật thông tin, còn có 2 khái niệm

khác được bổ sung bao gồm: Tính xác thực (Authentication), và Chống thoái thác

(Non-repudiation)[5]

2.1.1 TÍNH BÍ MẬT DỮ LIỆU

Dữ liệu phải được bảo đảm an toàn để bảo vệ sự riêng tư của người sở hữu dữ liệu

đó Điều này đồng nghĩa với việc ngăn chặn dữ liệu bị tiết lộ trong suốt quá trìnhtruyền tải giữa các bên liên quan Tính bí mật có thể đạt được nhờ vào cơ chế mãhóa thông tin, đảm bảo dữ liệu chỉ có thể được truy xuất bởi người gửi và ngườinhận Một khi nguyên tắc này bị phá hủy, các thông tin nhạy cảm của người dùng

4

Trang 21

2.1.CÁC NGUYÊN TẮC TRONG BẢO MẬT THÔNG TIN 5

như mật khẩu, mã xác thực, chứng chỉ, số thẻ tín dụng, có thể bị đánh cắp và sửdụng bất hợp pháp bởi những kẻ tấn công

2.1.2 TÍNH TOÀN VẸN DỮ LIỆU

Tính toàn vẹn dữ liệu đảm bảo rằng thông tin trong quá trình truyền tải, lưu trữkhông bị thay đổi so với dữ liệu gốc ban đầu Khi yếu tố này bị vi phạm, dữ liệugốc và dữ liệu truy xuất không còn nhất quán Sự sai lệch thông tin này có thể xuất

phát từ những vấn đề kỹ thuật trong quá trình truyền tải và lưu trữ (như lỗi đường

truyền, lỗi phần cứng, ), hoặc nghiêm trọng hơn là do yếu tố con người, khi mà

kẻ tấn công sửa đổi dữ lệu có chủ ý nhằm một đích nào đó Để ngăn ngừa việc

này,hàm băm (hash function) thường được sử dụng bởi tính chất một chiều của

nó, đó là ứng với một dữ liệu đầu vào bất kỳ làavà hàm bămh(), giá trị đầu ra luôn

có chiều dài cố định, và một sự biến đổi nhỏ của giá trị đầu vào cũng làm giá trịđầu ra thay đổi rất khác biệt (không thể đoán trước được) Do đó, khi có một giá trịcủa hàm băm, gần như không thể xác định được giá trị đầu vào của hàm

2.1.3 TÍNH SẴN SÀNG DỮ LIỆU

Tính chất này đảm bảo rằng người dùng hợp lệ có thể truy cập và sử dụng dữ liệucủa họ bất kỳ lúc nào Yếu tố này nghe qua có vẻ mâu thuẩn với tiêu chí bí mậtcủa dữ liệu, đó là một yếu tố đòi hỏi dữ liệu phải được lưu trữ và bảo vệ nghiêmngặt, một yếu tố đòi hỏi dữ liệu phải luôn sẵn sàng để được truy xuất Đây chính là

lý do đòi hỏi tam giác CIA phải cân bằng Tính sẵn sàng của dữ liệu có thể bị ảnhhưởng bởi những tác nhân bên trong hệ thống như phần mềm bị gián đoạn ngoài

ý muốn, phần cứng ngưng hoạt động do hỏng hóc, hoặc đến từ bên ngoài như việc

hệ thống đối mặt với các cuộc tấn công từ chối dịch vụ

Một ví dụ minh họa cho thấy 3 yếu tố C-I-A luôn cần phải được bảo đảm trongtất cả những giải pháp liên quan đến bảo mật, điển hình là trong một hệ thống

e-Commerce Trong hệ thống này, 3 yếu tố C-I-A bộc lộ vai trò của nó như sau:

Tính bí mật: thông tin thẻ tín dụng (credit card) phải được bảo vệ để chống

lại việc bị đánh cắp để thực hiện những giao dịch gian dối

• Tính toàn vẹn: khi khách hàng mua món hàng A như mô tả trên hệ thống, họcần phải nhận được đúng món hàng họ đã đặt Không thể để xảy ra trườnghợp mô tả về món hàng A đã bị thay đổi so với mô tả ban đầu

• Tính sẵn sàng: hệ thống vận hành liên tục 24 giờ/ngày, 7 ngày/tuần và kháchhàng hợp lệ có thể mua hàng bất kỳ khi nào họ muốn

Trang 22

2.2.XÁC THỰC NGƯỜI DÙNG 6

2.1.4 TÍNH XÁC THỰC

Tính xác thực [6] được thực hiện thông qua quy trình xác minh người dùng bằngnhiều hình thức khác nhau nhằm ngăn chặn việc giả mạo danh tính trong quátrình tiếp cận, trao đổi thông tin với hệ thống Việc này đòi hỏi người dùng hợp lệphải cung cấp những minh chứng để chứng nhận rằng anh ta đúng là anh ta và làmột người dùng hợp lệ

2.1.5 TÍNH CHỐNG THOÁI THÁC

Chống thoái thác dữ liệu là một cơ chế loại trừ việc một người đã gửi thông điệphợp lệ nhưng sau đó lại chối bỏ chúng Trong ví dụ trên, một người chủ sở hữu thẻ

tín dụng, thực hiện việc mua sắm trên hệ thống e-Commerce, giao dịch thực hiện

thành công nhưng lại từ chối thanh toán và cho là giao dịch đó không phải do anh

ta thực hiện Điều này được thực hiện thông qua chữ ký số, trong đó hệ thống sử

dụng cơ chế khóa riêng tư - khóa công khai Người gửi "ký" vào thông điệp cần gửi

bằng khóa riêng tư và người nhận có thể kiểm chứng thông điệp có phải đúng làcủa người gửi hay không thông qua khóa công khai của người đó

2.2 X ÁC THỰC NGƯỜI DÙNG

2.2.1 AUTHENTICATION

Xác thực [7] là quá trình xác minh danh tính của người dùng là chính xác so vớinhững gì họ đang tuyên bố Mục đích của việc này nhằm ngăn chặn những truycập bất hợp lệ vào hệ thống Điển hình là việc cố tình sử dụng sai danh tính haydùng thông tin đăng nhập của người khác để thực hiện những truy cập trái phép.Thông thường ba yếu tố sau được sử dụng nhằm xác định người dùng có phảichính là người mà họ đang tuyên bố hay không:

Dựa trên những gì người dùng biết.

Dựa trên những gì người dùng sở hữu.

Dựa trên đặc trưng duy nhất của người dùng.

Yếu tố thứ nhất rất dễ dàng để áp dụng cho các hệ thống bảo mật bởi sự thuậntiện trong việc hiện thực và triển khai nên nó được sử dụng trong hầu hết các hệ

thống thông dụng Thông thường, yếu tố này được hiện thực dưới hình thức tên

đăng nhập / mật khẩu (username / password) Tuy nhiên khuyết điểm của nó là

sự phụ thuộc vào khả năng ghi nhớ của người dùng Thay vì nhớ nhiều mật khẩu

phức tạp thỏa mãn các tiêu chuẩn mật khẩu mạnh, người dùng lại chọn những

Trang 23

2.2.XÁC THỰC NGƯỜI DÙNG 7

mật khẩu đơn giản và sử dụng đồng thời cho nhiều hệ thống khác nhau Theo sốliệu của NordPass vào năm 2020 [8], có tới2, 543, 285người sử dụng mật khẩu phổbiến và vô cùng đơn giản là"123456" Điểm yếu này tạo sự thuận lợi cho các loạihình tấn công như tấn công vét cạn hoặc tấn công thông qua từ điển bằng việc khaithác tính đơn giản và phổ biến của chúng

Yếu tố thứ hai đã khắc phục được hạn chế của yếu tố thứ nhất, đó là người dùng

hệ thống hỗ trợ xác thực người dùng bằng những gì người dùng có không phải nhớ

gì về thông tin dùng để xác thực, ví dụ không cần phải nhớ tên đăng nhập, khôngcần phải nhớ mật khẩu Tuy nhiên, hạn chế của mô hình này là để bảo đảm tínhsẵn sàng thì người dùng phải luôn mang theo bên mình các thiết bị vật lý để hỗtrợ xác thực như các loại thẻ từ, thẻ thông minh, thiết bị di động Ngoài ra, trongtrường hợp các thiết bị hỗ trợ xác thực bị thất lạc, nếu hệ thống không được cậpnhật kịp thời để hủy tính hợp lệ của thiết bị thì nó không thể nào xác định đượcngười đang thực hiện hành vi xác thực có đúng là chủ sở hữu của thiết bị đó haykhông Bên cạnh đó, chi phí triển khai cũng là một vấn đề cần cân nhắc khi ápdụng yếu tố xác thực này do phải sử dụng thêm phần cứng hỗ trợ làm chi phí đầu

tư cao hơn so với yếu tố đầu tiên

Cuối cùng, yếu tố dựa vào đặc trưng duy nhất tận dụng những thuộc tính riêng

mà chỉ người dùng mới có để khắc phục nhược điểm của 2 yếu tố trên, đó là ngườidùng không phải nhớ và cũng không phải bảo quản thiết bị hỗ trợ đăng nhập Tuynhiên phương án này cũng tồn tại nhiều mặt hạn chế Đầu tiên chính là sự ảnhhưởng của yếu tố môi trường trong quá trình xác thực như ánh sáng, độ chói, làm giảm độ chính xác Ví dụ, một hệ thống xác thực người dùng sử dụng côngnghệ nhận diện khuôn mặt thì độ chính xác phụ thuộc rất nhiều vào chất lượnghình ảnh, đặc biệt là điều kiện ánh sáng [9] Ngoài ra, còn có những kỹ thuật giảdạng, tấn công phát lại cũng có thể được sử dụng để qua hệ thống này [10]

Bảng2.1[11] liệt kê ngắn ngọn những hình thức thường được sử dụng trong quátrình xác thực bằng 3 yếu tố nêu trên, đồng thời cũng đề cập đến những hạn chếđối với từng yếu tố trong việc hiện thực những hệ thống xác thực dựa trên nhữngyếu tố này

Qua đó cũng thấy rằng việc sử dụng chỉ một phương pháp để xác thực sẽ gặpnhiều vấn đề trong việc xác minh người dùng Để khắc phục điều đó, xác thựcnhiều bước là một giải pháp trong việc tăng độ tin cậy trong quá trình này bởi việckết hợp nhiều phương thức xác thực với nhau Một trong những hình thức phổbiến của loại hình này là việc sử dụng thêm các câu hỏi bảo mật (đã được ngườilựa chọn và trả lời trong quá trình đăng ký) để tái khẳng định danh tính người dùngthêm một lần nữa sau khi quá trình xác thực bằng mật khẩu diễn ra thành công

Trang 24

2.2.XÁC THỰC NGƯỜI DÙNG 8

Tuy nhiên, giải pháp này tựu chung lại gồm các bước nằm trong một yếu tố xácthực, dẫn đến các mối đe dọa, hạn chế vẫn không được cải thiện đáng kể Như ví

dụ trên, hai bước xác thực này đều thuộc yếu tố xác thực "Dựa trên những gì người

dùng biết" nên vẫn gặp phải tình trạng xem trộm thông tin, và kẻ tấn công vẫn cóthể truy cập vào tài khoản của nạn nhân một cách dễ dàng

Người dùng biết Người dùng sở hữu Đặc trưng duy nhất

Mã phần cứngThiết bị thông minhNFC, RFID

Vân tayGương mặtGiọng nóiVõng mạc

Cử chỉ tự nhiênRủi

Đòi hỏi phần cứng riêngTấn công MITM

Khả năng thất lạc

Phương pháp giả mạoChi phí cao

Độ chính xácTấn công phát lạiThay đổi do sẹo

Bảng 2.1: Hình thức, rủi ro và hạn chế của các yếu tố xác thực

Nhằm khắc phục các hạn chế mà xác thực nhiều bước gặp phải, xác thựcđa yếu

tốlà các tiếp cận mà ở đó có ít nhất hai yếu tố được sử dụng trong cùng một quytrình xác thực người dùng, từ đó giảm thiểu được các rủi ro và hạn chế mà mỗi yếu

tố xác thực còn tồn đọng Một phương án điển hình cho loại hình xác thực đa yếu

tố là xác thực sử dụng mã OTP - One Time Password, được gửi đến số điện thoại

của người dùng dưới hình thức tin nhắn SMS sau khi người dùng đăng nhập thành

công thông qua mật khẩu Phương pháp này sử dụng kết hợp hai yếu tố Dựa trên

những gì người dùng biết và Dựa trên những gì người dùng sở hữu tương ứng với

mật khẩu và mã OTP được gửi đến điện thoại của người dùng Việc sử dụng thêmyếu tố thứ hai bên cạnh yếu tố đầu tiên đã giúp giảm thiểu được các hạn chế củayếu tố thứ nhất bởi vì dù cho kẻ tấn công biết được mật khẩu của nạn nhân, việcđăng nhập vẫn thất bại vì không có được được mã OTP được gửi đến điện thoạinạn nhân để tiếp tục bước thứ 2 của quá trình xác thực

2.2.2 AUTHORIZATION

Authorizationlà quá trình cấp quyền hạn cho các đối tượng trong hệ thống như là:

quy trình (process) hoặc người dùng Quá trình này khác với quá trình

authentica-tion - quá trình xác định danh tính của người dùng, authorizaauthentica-tion được dùng để

xác định các đặc quyền (privileges), quyền lợi (rights), tài sản sở hữu (property), và các tập hợp hành động được phép thực hiện (permissible actions) của người dùng

sau khi trải qua quá trình xác thực [12] thành công Hình2.1trình bày một ví dụ

Trang 25

2.3.OTP (ONE-TIME-PASSWORD) 9

đơn giản mô tả việc phân quyền cho cho nhân viên trong một hệ thống quản lý

tài khoản người dùng Trong đó, nếu một người có vai trò là quản lý thì được phép thực hiện nhiều hành động hơn đối với người dùng chỉ có vai trò là nhân viên.

Qu n lý Xem thông tin b n thân Xem thông tin qu n lý

Ch nh s a thông tin qu n lý

Nhân viên Xem thông tin b n thân Xem thông tin qu n lý

Ch nh s a thông tin qu n lý

Hình 2.1: Ví dụ về phân quyền trong hệ thống

2.2.3 SO SÁNH AUTHENTICATION VÀAUTHORIZATION

Như đã đề cập ở trên, quá trình Authentication dựa trên những yếu tố liên quan

đến người dùng nhằm xác định xem người đang chờ xác thực có đúng với những

thông tin mà anh ta đang cung cấp hay không Trong khi đó, quá trình

Authoriza-tionxác định xem một người đã được xác thực thành công thì anh ta được phéptiếp cận với những thông tin gì, sở hữu những quyền hạn gì, và được quyền thựchiện tập hợp những hành động được định nghĩa nào Bảng2.2[13] tóm tắt lại chứcnăng và chỉ ra sự khác biệt cơ bản của 2 quá trình này

Authentication Authorization Vai trò Xác minh danh tính người dùngso với những gì họ tuyên bố Quản lý truy cập(cung cấp hoặc từ chối

các quyền hạn)

Phương thức Sử dụng mật khẩu, sinh trắc học, Thông qua đội ngũbảo mật ứng dụng

Trong suốt với

Bảng 2.2: So sánh giữa authentication và authorization

OTP [14] (mật khẩu sử dụng một lần) là một phương thức xác thực thường được

sử dụng trong xác thực hai yếu tố hoặc xác thực đa yếu tố Có hai chuẩn OTP phổ

Trang 26

2.3.OTP (ONE-TIME-PASSWORD) 10

biến đang được sử dụng hiện nay được mô tả trong các tài liệu RFC (Request for

Comments)như sau:

• IETF RFC 4226 [15]: HOTP (HMAC-based One-time Password)

• IETF RFC 6238 [16]: TOTP (Time-Based One-Time Password)

2.3.1 HOTP (HMAC-BASEDONE-TIMEPASSWORD)

Giải thuật để sinh mã của HOTP được dựa trên hai yếu tố là giá trị của một bộ đếmlũy tiến và một khóa đối xứng (khóa này chỉ được cấp cho bên tạo mã và dịch vụxác thực) Để tạo được giá trị của HTOP, giải thuật HMAC-SHA-1 sẽ được sử dụng,tạo ra giá trị hàm băm với độ dài 160 bits và sau đó được thu gọn thành độ dài nhấtđịnh (tối thiểu từ 6 đến 8 ký tự, phụ thuộc vào mức độ bảo mật của ứng dụng) đểngười dùng có thể sử dụng dễ dàng Quá trình sinh mã trên có thể được biểu diễnnhư sau:

HOT P (K ,C ) = Tr unc at e(H mac(K ,C ))

Trong đó:

• K là khóa đối xứng

• C là giá trị bộ đếm lũy tiến

H mac()là hàm tính của giải thuật HMAC-SHA-1

Tr unc at e()là hàm thu gọn giá trị trả về từH mac()(từ 160 bits thành độ dàinhất định)

2.3.2 TOTP (TIME-BASEDONE-TIMEPASSWORD)

TOTP là một phiên bản của HTOP, dựa vào số bước thời gian đã trôi qua (T) thaythế cho bộ đếm lũy tiến (C) [16] Số bước thời gian này được tính dựa vào công thứcsau:

T = ⌊(t − t0)/∆T ⌋

Trong đó:

t là thời gian hiện tại của thời gian Unix (số giây đã trôi qua tính từ 0 giờ ngày1/1/1970)

t0là thời gian điểm bắt đầu

∆T là độ dài mỗi bước, dao động từ 30 đến 60 giây

Trang 27

2.4.MÃ HÓA 11

2.4 M Ã HÓA

2.4.1 MÃ HÓA ĐỐI XỨNG

Mã hóa đối xứng (symmetric encryption) là loại mã hóa chỉ duy nhất một khóa bí

mật được sử dụng trong cả hai quá trình mã hóa và giải mã dữ liệu Hình2.2mô tảquá trình trên thông qua sử dụng một khóa duy nhất

Hình 2.2: Quá trình mã hóa và giải mã trong mã hóa đối xứng

Mã hóa đối được chia thành 2 loại [17]: Block ciphers, và Stream ciphers, trong

Block ciphers được phân loại dựa trên cách thức thực hiện mã hóa như sau:

• Electronic Code Book (ECB): dữ liệu được chia thành các khối nhỏP1,P2, ,

P n sau đó được tính các giá trị mã hóa tương ứngC1,C2, ,C n sử dụngc i =

E k (P i)vớiE klà giải thuật mã hóa cùng khóa được dùng Cách thức này gặp lỗhổng với splicing attacks, trong đó các khối được mã hóa từ một tin nhắn cóthể bị thay thế bằng các khối được mã hóa từ một tin nhắn khác

• Cipher Block Chaining (CBC): CBC sử dụng một initialization vector (IV) đểkhắc phục hạn chế của ECB IV sẽ được sử dụng để XOR với đầu vào của dữliệu trước khi được tiến hành mã hóa, do vậy tạo sự phụ thuộc giữa các khốitrong quá trình mã hóa Có thể được biểu diễnC i=E k (C i −1P i)vớiC0=I V

Trang 28

2.4.MÃ HÓA 12

Hình 2.3: Mã hóa và giải mã khối sử dụng ECB

Hình 2.4: Mã hóa và giải mã khối sử dụng CCB

Trang 29

2.4.MÃ HÓA 13

• Cipher Feed-Back (CFB): CFB sử dụng việc XOR ở đầu ra kết quả của hàm mãhóa của IV, biểu diễn bởiC i=E k (C i −1 ) ⊕ P i vớiC0=I V

Hình 2.5: Mã hóa và giải mã khối sử dụng CFB

• Output Feed-Back (OFB): tương tự như CFB nhưng đầu vào của khốii tiếptheo được sử dụng là kết quả của hàmE k của khối trước đó (i − 1) thay cho

Trang 30

2.4.MÃ HÓA 14

• Synchronous: Khóa dùng trong quá trình mã hóa độc lập với dữ liệu được mãhóa (sinh ra sử dụng yếu tố bên ngoài) [18]

Hình 2.7: Synchronous stream ciphers

• Self-synchronous: Khóa dùng trong quá trình mã hóa phụ thuộc vào dữ liệuđược mã hóa [18]

Hình 2.8: Self-synchronous stream ciphers

Với một dãy dữ liệu đầu vào101000101và khóa100101110, kết quả mã hóa thu được

sẽ là101000101 ⊕ 100101110 = 001101011 Việc giải mã sẽ được thực hiện thông qua

áp dụng XOR giữa dữ liệu được mã hóa và khóa đối xứng:001101011 ⊕ 100101110 =

101000101

G IẢI THUẬT MÃ HÓA ĐỐI XỨNG

Một vài ví dụ cho giải thuật mã hóa đang được sử dụng có thể nhắc đến như:

• DES: sử dụng khóa có chiều dài 56 bits, thực hiện qua việc lặp lại 16 lần quátrình mã hóa khối trên dữ liệu đầu vào 64 bits Tuy nhiên, DES được chứngminh là không còn an toàn khi được giải mã thành công trong 56 tiếng sửdụng EFF DES cracker vào năm 1998 3DES được ra mắt nhằm khắc phục việctấn công vét cạn không gian khóa của DES với việc lặp lại quá trình mã hóanày 3 lần sử dụng các khóa khác nhau:3DE S k1,k2,k3=DE S k1(DE S k2(DE S k3(P )))

• AES: là giải thuật mã hóa khối sử dụng khóa có chiều dài 128, 192 hoặc 256bits, với 10, 12 và 14 vòng lặp tương ứng Mỗi vòng lặp sẽ bao gồm việc tínhtoán, thay thế và hoán vị dữ liệu đầu vào để tạo thành kết quả mã hóa

Trang 31

2.4.MÃ HÓA 15

Ưu điểm của hình thức mã hóa này là thời gian mã hóa và giải mã nhanh, íttiêu tốn tài nguyên xử lý, nhưng lại có nhược điểm là bên mã hóa và bên giải mãphải thống nhất được khóa trước khi trao đổi dữ liệu Đòi hỏi này dẫn đến một sốkhó khăn trong việc phân phối khóa giữa các bên khi cần trao đổi dữ liệu với nhau.Cũng vì nguyên nhân này mà một hình thức mã hóa khác được đề xuất, đó là mãhóa bất đối xứng

2.4.2 MÃ HÓA BẤT ĐỐI XỨNG

Mã hóa bất đối xứng (asymmetric cryptography hoặc public-key cryptography) làloại hình mã hóa trong đó sử dụng hai khóa: bí mật và công khai Hai khóa nàyđược liên hệ với nhau về mặt toán học nhưng không khả thi về mặt tính toán trongviệc tìm ra khóa bí mật dựa vào khóa công khai [19] Trong quá trình này, dữ liệuđược mã hóa bới khóa công khai chỉ có thể được giải mã sử dụng khóa bí mật vàngược lại, được thể hiện qua hình2.11 Mã hóa bất đối xứng có thể được sử dụng

Hình 2.9: Quá trình mã hóa và giải mã trong mã hóa bất đối xứng

trong nhiều lĩnh vực khác nhau như trao đổi thông tin một cách an toàn mà khôngcần chia sẻ trước khóa chung hoặc sử dụng trong chữ ký số RSA là giải thuật điểnhình cho hình thức mã hóa bất đối xứng, gồm tạo khóa và thực hiện việc mã hóagiải mã Việc tạo khóa trong RSA được thực hiện như sau:

• Chọn 2 số nguyên tố lớn pq (có chiều dài từ 1024 đến 2048 bits) và tínhtích chung của chúngn = pq

• Tìm số đồng nguyên tốecủa(p −1)(q −1), đây sẽ là thành phần mũ trong khóacông khai

0 https://www.tutorialspoint.com/cryptography/public_key_encryption.htm

Trang 32

2.4.MÃ HÓA 16

• Tìm số nguyên d thỏa mã công thứcd = (1 + x(p − 1)(q − 1))/e vớix là số tựnhiên bất kỳ

Sau quá trình tính toán trên, khóa công khai và khóa bí mật thu được lần lượt sẽ là

(n, e)(n, d ) Để thực hiện việc mã hóa, dữ liệu phải được biểu diễn ở dạng số, cógiá trị nhỏ hơnnsử dụng padding scheme, sau đó được tính toán như sau:

• Trong trường hợp mã khóa dùng khóa công khai:C = P e mod n, được giải mã

• Collision-Resistance: bất khả thi trong việc tính toán để tìm ra hai dữ liệu đầuvào khác nhau mà cho ra cùng một giá trị băm

• Pre-image Resistance: thể hiện tính chất một chiều, không thể đảo ngược việctính toán của thuật toán Với một giá trịhtừ hàm bămhash(), việc tìm ra dữliệu đầu vàoP sao choh = hash(P )là không khả thi trong việc tính toán

• 2nd Pre-image Resistance: với một dữ liệuP, không thể tìm raP(P′6=P )saochohash(P) = hash(P )

Hàm băm thường được sử dụng trong việc kiểm tra tính toàn vẹn dữ liệu và lưu trữmật khẩu Trong hai quá trình này, giá trị băm sẽ tính toán và lưu trữ, sử dụng để

so sánh với giá trị băm của dữ liệu cần được kiểm tra tính toàn vẹn

2.4.4 CHỮ KÝ SỐ

Chữ ký số (digital signature) là một kỹ thuật toán học được sử dụng để xác nhậntính xác thực và tính toàn vẹn của một thông điệp, phần mềm hoặc tài liệu kỹthuật số [21] Cơ chế này được sử dụng nhằm giải quyết vấn đề giả mạo và mạodanh trong quá trình trao đổi dữ liệu, thông qua việc sử dụng mã hóa bất đối xứng

và hàm băm mật mã học Quá trình ký tên và kiểm tra chữ ký trên dữ liệu được mô

tả như sau:

• Quá trình gửi (Hình2.11):

Ngày đăng: 12/05/2022, 12:34

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w