You are on page 1of 21

BÁO CÁO CHUYÊN ĐỀ CƠ SỞ

Ứng dụng sao lưu dữ


liệu lên điện toán đám
mây có bảo mật
Nguyễn Mạnh Đức - AT170212
Trần Mạnh Cường - AT170207
Nguyễn Quang Linh - AT170231
Nội dung chính

1 2 3
Giới thiệu đề tài. Cơ sở lý thuyết Demo thực
nghiệm
Tính cấp thiết và Lý thuyết cơ bản về
mục, phạm vi thực sao lưu, các hệ mật Thực nghiệm hệ
hiện mã và google API thống sao lưu dữ
liệu lên hệ thống
điện toán đám mây
có bảo mật
Tại sao cần phải sao lưu dữ liệu lên
điện toán đám mây ?
Trong thời đại số hóa hiện nay, dữ liệu là tài sản quý giá và là trụ cột
cho nhiều doanh nghiệp để hoạt động hiệu quả. Tuy nhiên, rủi ro mất
mát dữ liệu vẫn luôn tiềm ẩn và có thể xảy ra bất cứ lúc nào, từ sự cố
hệ thống, tấn công từ hacker, tới lỗi người dùng. Để giảm thiểu rủi ro
mất mát dữ liệu, việc sao lưu dữ liệu thường xuyên và đầy đủ là rất cần
thiết. Với sự phát triển nhanh chóng của công nghệ điện toán đám
mây, việc sao lưu dữ liệu lên điện toán đám mây đang trở thành xu
hướng và cách tiếp cận phổ biến trong các doanh nghiệp. Tuy nhiên,
việc sao lưu dữ liệu lên điện toán đám mây cũng đặt ra nhiều thách
thức về bảo mật dữ liệu. Do đó, việc chọn lựa những công cụ sao lưu dữ
liệu lên đám mây có tính bảo mật cao là rất quan trọng.
Giới thiệu đề tài?

Xuất phát từ thực tế trên chúng em đã lựa chọn đề tài “Xây dựng hệ
thống sao lưu dữ liệu lên đám mây có bảo mật” nhằm xây dựng một hệ
thống sao lưu dữ liệu có bảo mật và tìm hiểu về các xu hướng bảo mật
trên điện toán đám mây trong năm 2023
2. Cơ sở lý thuyết và
các phương pháp áp
dụng cho đề tài

Trình bày về mô hình bài toán cùng với các


hệ mật AES để mã hóa dữ liệu và RSA để mã
hóa khóa cũng như ứng dụng google API
trong việc sao lưu dữ liệu.
Mô hình Quy trình sao lưu dữ liệu
lên điện toán đám mây
Mã hóa tệp tin sử dụng AES

AES (Advanced Encryption Standard) là một thuật toán mã hóa


đối xứng được sử dụng rộng rãi. Nó hoạt động trên các khối dữ
liệu có kích thước cố định và sử dụng khóa có độ dài 128, 192 hoặc
256 bit. AES là một trong những thuật toán mã hóa đối xứng
nhanh nhất. Nó kháng lại các cuộc tấn công thông thường và đảm
bảo mức độ bảo mật cao khi được triển khai đúng cách. AES đã
được chấp nhận làm tiêu chuẩn quốc tế và được sử dụng rộng rãi
trong nhiều ứng dụng nhạy cảm.
Mô hình mã hóa AES
Các bước trong quá trình
mã hóa file sử dụng AES.
1 . Sinh ngẫu nhiên khóa AES

Sinh khóa AES ngẫu nhiên là quá trình tạo ra một khóa ngẫu nhiên để sử dụng trong thuật toán mã hóa AES. Mục đích
chính của việc sinh khóa AES ngẫu nhiên là đảm bảo tính bảo mật của quá trình mã hóa dữ liệu.

Khi khóa AES được sinh ngẫu nhiên, nó tạo ra một chuỗi bít không thể đoán trước được. Điều này làm cho quá trình giải mã
trở nên khó khăn đối với bất kỳ kẻ tấn công nào cố gắng phá vỡ hệ thống. Sự ngẫu nhiên của khóa đảm bảo rằng mỗi lần
mã hóa dữ liệu, chúng ta có một khóa mới và khác biệt, không thể dễ dàng bị xác định hoặc đoán đúng.

Để đảm bảo hơn cho tính bảo mật của khóa AES, khóa này phải được mã hóa bằng khóa công khai (public key) của hệ mã
hóa RSA và chỉ được giải mã bằng khóa bí mật (private key)
Các bước trong quá trình
mã hóa file sử dụng AES.
2. Đọc file dưới dạng byte

Trong hệ thống sao lưu dữ liệu lên điện toán đám mây thuật toán được sử dụng để mã hóa các tệp tin được sử dụng là AES-
128, được hoạt động trên các khối dữ liệu có kích thước là 128 bit (16 byte). Nên việc đọc file dưới dạng byte là rất cần thiết
để cho phép chia dữ liệu thành các khối 128-bit để thực hiện quá trình mã hóa AES
Các bước trong quá trình
mã hóa file sử dụng AES.
3 . Thêm đệm (padding) cho quá trình mã hóa

Trong hệ mật AES-128 thì có khối cố định là 128 bit (16


byte). Điều này có nghĩa là dữ liệu cần phải được chia
thành các khối có kích thước 128 bit để có thế mã hóa.
Tuy nhiên trong thực tế dữ liệu có thể không chia hết
cho 128 bit, do đó việc thêm đêm (padding) vào dữ liệu
là cần thiết để đảm bảo kích thức nó phù hợp với yêu
cầu của thuật toán mã hóa AES.
Các bước trong quá trình
mã hóa file sử dụng AES.
4 . Khởi tạo ngẫu nhiên một vector khởi tạo
(initialization vector ) Secret Key IV

Initialization Vector (IV) là một số ngẫu nhiên được sử dụng cùng


với một khóa bí mật trong quá trình mã hóa dữ liệu để ngăn chặn
các cuộc tấn công mạng. Số này, còn được gọi là số dùng một lần
(nonce), chỉ được sử dụng một lần duy nhất trong mỗi phiên làm AES Plain Text
việc để ngăn chặn việc giải mã trái phép của tin nhắn bởi một
hacker.
Công dụng chính của IV là đảm bảo tính đa dạng của quá trình
mã hóa. Khi cùng một khóa mã hóa được sử dụng để mã hóa các
khối dữ liệu khác nhau, sử dụng cùng một IV vẫn tạo ra các khối Cipher Text IV
mã hóa khác nhau. Điều này làm cho việc tấn công dựa trên sự
trùng lặp giữa các khối mã hóa trở nên khó khăn hơn.

Final Cipher Text


Các bước trong quá trình
mã hóa file sử dụng AES.
5. Mã hóa file sử dụng thuật toán AES

AES (Advanced Encryption Standard) là một thuật


toán mã hóa mạnh mẽ và đáng tin cậy. Nó sử dụng
khóa bí mật để mã hóa và giải mã dữ liệu, với khối dữ
liệu có kích thước cố định.
AES sử dụng các phép biến đổi như thay thế, hoán vị
và trộn để đảm bảo tính bảo mật của dữ liệu. Thuật
toán cũng sử dụng các bảng thay thế phi tuyến tính và
mở rộng khóa để tăng cường tính phức tạp và độ khó
trong việc phá mã.
Với số vòng mã hóa tùy thuộc vào độ dài khóa, AES
đảm bảo sự phân tán và lộn xộn của dữ liệu để ngăn
chặn việc phân tích và khôi phục thông tin gốc.
Mã hóa khóa sử dụng thuật toán RSA
TẠI SAO ?

Mã hóa khóa bằng RSA là quá trình mã hóa khóa bí mật thông qua thuật toán RSA.
Việc này đảm bảo tính bảo mật và toàn vẹn của khóa trong quá trình truyền và lưu
trữ. Mã hóa khóa bằng RSA giúp bảo vệ khóa khỏi các cuộc tấn công trung gian và
đảm bảo an toàn trong việc chia sẻ khóa công khai. Ngoài ra, nó cũng cho phép kết
hợp với các thuật toán mật mã khác, tăng cường tính bảo mật và linh hoạt trong hệ
thống mật mã.
Xây dựng thuật toán mã hóa khóa
AES bằng RSA
1 . Sinh khóa công khai và khóa bảo mật
Xây dựng thuật toán mã hóa khóa
AES bằng RSA
2 . Mã hóa và giải mã sử dụng RSA
Google Drive API

Google Drive API cung cấp các phương thức và chức năng cho phép ứng dụng của
bạn truy cập và quản lý dữ liệu trên Google Drive. Với API này, bạn có thể thực
hiện các tác vụ như tải lên tệp tin lên Drive, tạo thư mục mới, chia sẻ tệp tin với
người dùng khác, truy xuất thông tin về tệp tin và thư mục hiện có, và thực hiện
nhiều tác vụ khác liên quan đến quản lý dữ liệu trên Google Drive.

Google Drive API sử dụng giao thức HTTP và các yêu cầu RESTful để giao tiếp và
truy cập vào dữ liệu trên Google Drive. Bằng cách sử dụng API này, bạn có thể tích
hợp tính năng của Google Drive vào ứng dụng của mình hoặc tạo ra các ứng dụng
độc lập dựa trên dịch vụ lưu trữ đám mây này.
Google Drive API
1 . Mô hình sử dụng Google API

Google OAuth 2.0 hỗ trợ các ứng dụng được cài đặt trên các thiết bị như
máy tính, thiết bị di động và máy tính bảng. Và cũng hỗ trợ rất nhiều ngôn
ngữ java, python Ruby...

Để có thể giao tiếp được với Google API phải sử dụng một token để xác
thực và ủy quyền đối với một tài khoản email nhất định

Quá trình ủy quyền bắt đầu khi ứng dụng chuyển hướng trình duyệt đến
một URL của Google; URL này bao gồm các tham số truy vấn để chỉ định
loại quyền truy cập được yêu cầu. Google sẽ tiến hành xác thực người dùng,
cho phép lựa chọn session và lấy sự đồng ý của người dùng. Kết quả là một
mã ủy quyền, mà ứng dụng có thể trao đổi lấy một access token mới hoặc
là làm mới mới access token.
Các tập tin xác thực
của Google API

Tệp tin token.json Tệp tin credential.json


• Tệp tin token.json chứa thông tin xác • Tệp tin credential.json chứa thông tin
thực cụ thể cho phiên làm việc của xác thực của ứng dụng.
người dùng với ứng dụng của bạn. • Đây là tệp tin được tạo ra khi bạn
• Sau khi người dùng đã cấp quyền truy đăng ký ứng dụng trên Google
cập cho ứng dụng, mã truy cập sẽ được Developers Console và cung cấp thông
sử dụng để truy cập vào tài nguyên và tin như Client ID và Client Secret.
tệp tin token.json sẽ được tạo ra và lưu • Tệp tin credential.json cần được bảo
trữ. mật và không được chia sẻ công khai,
• Tệp tin này chứa thông tin như mã truy vì nó chứa thông tin quan trọng để xác
cập (access token), thời hạn hết hạn thực ứng dụng của bạn với Google
(expiration time), phạm vi truy cập Drive API.
(scope) và thông tin người dùng.
Thực nghiệm
Tiến hành triển khai thực tế hệ thống sao
lưu dữ liệu lên điện toán đám mây
THANK YOU!
Do you have any questions
for me before we go?

You might also like