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

Xử lý và mã hóa bảo mật dữ liệu trên điện toán đám mây

90 1,5K 13

Đ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 90
Dung lượng 3,2 MB

Nội dung

Kết thúc chương này ta sẽ có cái nhìn tổng quan nhất về điện toán đám mây, biết được những lợi ích to lớn mà điện toán đám mây đem lại so với điện toán truyền thống cũng như một số vấn

Trang 1

NGHIÊN CỨU MÔ HÌNH XỬ LÝ DỮ LIỆU

ĐÃ MÃ HÓA BẢO MẬT DỮ LIỆU TRONG

ĐIỆN TOÁN ĐÁM MÂY

Giáo viên hướng dẫn : ThS Phạm Duy Trung Sinh viên thực hiện : Đặng Long Hải

HÀ NỘI, 6/2014

Trang 2

i

MỤC LỤC

MỤC LỤC i

DANH MỤC CÁC CHỮ VIẾT TẮT iv

DANH MỤC HÌNH ẢNH v

LỜI MỞ ĐẦU vii

CHƯƠNG 1 TỔNG QUAN VỀ ĐIỆN TOÁN ĐÁM MÂY VÀ VẤN ĐỀ BẢO MẬT DỮ LIỆU TRONG ĐIỆN TOÁN ĐÁM MÂY .1

1.1 Khái niệm 1

1.2 Mô hình kiến trúc điện toán đám mây 2

1.2.1 Kiến trúc phân lớp dịch vụ 2

1.2.1.1 Dịch vụ ứng dụng (Software as a Service – SaaS) 6

1.2.1.2 Dịch vụ nền tảng hệ thống (Platform as a Service – PaaS) 9

1.2.1.3 Dịch vụ cơ sở hạ tầng (Infrastructure as a Service – IaaS) 11

1.2.2 Mô hình triển khai 12

1.2.2.1 Đám mây riêng 12

1.2.2.2 Đám mây công cộng 14

1.2.2.3 Đám mây lai 15

1.2.2.4 Đám mây cộng đồng 17

1.3 Vấn đề bảo mật trong điện toán đám mây 17

1.3.1 An toàn liên quan đến kiến trúc của điện toán đám mây 17

1.3.1.1 An ninh ở mức hạ tầng 18

1.3.1.2 An ninh ở mức dịch vụ nền tảng 19

1.3.1.3 An ninh ở mức dịch vụ phần mềm 19

1.3.2 Vấn đề quản lí an toàn hệ thống 20

CHƯƠNG 2 MÔ HÌNH XỬ LÝ DỮ LIỆU ĐÃ MÃ HÓA BẢO MẬT DỮ LIỆU TRONG ĐIỆN TOÁN ĐÁM MÂY .22

Trang 3

ii

2.1 Dịch vụ cơ sở dữ liệu (Database as a service – DBaaS) 22

2.1.1 Định nghĩa 22

2.1.2 Một số lợi ích DBaaS đem lại so với các hệ cơ sở dữ liệu thông thường 24

2.1.3 Vấn đề bảo mật dữ liệu 25

2.2 CryptDB và Mô hình xử lý dữ liệu đã mã hóa 26

2.2.1 Giới thiệu về CryptDB và mô hình 26

2.2.2 Mối đe dọa DBMS bị thỏa hiệp 28

2.2.3 Truy vấn trên dữ liệu mã hóa 30

2.2.3.1 Mã hóa trong CryptDB 31

2.2.3.2 Mã hóa lớp 34

2.2.3.3 Hàm người dùng định nghĩa - UDF: User-Defined Function 37

2.2.3.4 Điều chỉnh mã hóa dựa theo truy vấn 38

2.2.3.5 Cấu trúc dữ liệu trong CryptDB 41

2.2.3.6 Thực thi truy vấn trên dữ liệu mã hóa 42

2.2.3.7 Tính toán liên kết giữa các cột 51

2.3 Áp dụng mô hình bảo mật dữ liệu trong điện toán đám mây 53

2.3.1 Thách thức và yêu cầu 54

2.3.2 Thiết kế hệ thống 57

2.3.3 Phân tích an ninh 60

CHƯƠNG 3 TRIỂN KHAI CÀI ĐẶT, THỬ NGHIỆM VÀ ĐÁNH GIÁ MÔ HÌNH .61

3.1 Mô hình triển khai 61

3.1.1 Mô hình triển khai hệ thống 61

3.1.2 Mô hình hoạt động hệ thống 62

3.2 Triển khai cài đặt và thử nghiêm 68

3.2.1 Triển khai cài đặt 68

3.2.2 Thử nghiệm mô hình 70

Trang 4

iii

3.3 Đánh giá mô hình 75

3.3.1 Đánh giá về chức năng 75

3.3.2 Đánh giá về độ bảo mật dữ liệu 75

3.3.3 Đánh giá về hoạt động 76

KẾT LUẬN 78

TÀI LIỆU THAM KHẢO 80

Trang 5

iv

DANH MỤC CÁC CHỮ VIẾT TẮT

IT Information Technology Công nghệ thông tin

NIST National Institute of Standards and

Technology

Viện Tiêu chuẩn và Công nghệ Quốc gia Hoa Kỳ MIT Massachusetts Institute of

Technology

Viện Công nghệ Massachusetts SLA Service Level Agreement Hợp đồng thỏa thuận dịch vụ QoS Quality of Service Chất lượng dịch vụ

IaaS Infrastructure-as-a-Service Cơ sở hạ tầng như một dịch vụ PaaS Platform-as-a-Service Nền tảng như một dịch vụ SaaS Software-as-a-Service Phần mềm như một dịch vụ DBaaS Database-as-a-Service Cơ sở dữ liệu như một dịch vụ

UDF User-Defined Function Hàm người dùng định nghĩa DBA Database Administrator Quản trị viên cơ sở dữ liệu

PRP Pseudo-Random Permutation Hoán vị giả ngẫu nhiên

PRF Pseudo-Random Function Hàm giả ngẫu nhiên

Trang 6

v

DANH MỤC HÌNH ẢNH

Hình 1.1 Điện toán đám mây 2

Hình 1.2 Mô hình kiến trúc dịch vụ điện toán đám mây của SOMF 2

Hình 1.3 Mô hình SPI 3

Hình 1.4 Mô hình SPI với các ứng dụng trong thực tế 4

Hình 1.5 Mức độ kiểm soát/trách nhiệm giữa khách hàng và nhà cung cấp dịch vụ 6

Hình 1.6 SaaS cung cấp dịch vụ cho khách hàng 7

Hình 1.7 Phạm vi kiểm soát giữa nhà cung cấp/sử dụng dịch vụ SaaS 8

Hình 1.8 PaaS cho phép khách hàng truy cập vào một nền tảng trên điện toán đám mây 9

Hình 1.9 Phạm vi kiểm soát giữa nhà cung cấp/sử dụng dịch vụ PaaS 11

Hình 1.10 IaaS cho phép nhà cung cấp dịch vụ thuê những tài nguyên phần cứng 11

Hình 1.11 Phạm vi kiểm soát giữa nhà cung cấp/sử dụng dịch vụ IaaS 12

Hình 1.12 Mô hình triển khai điện toán đám mây 12

Hình 1.13 Các thành phần trong đám mây riêng 13

Hình 1.14 So sánh giữa đám mây riêng và đám mây công cộng 14

Hình 1.15 Đám mây công cộng 15

Hình 1.16 Mô hình đám mây lai 17

Hình 1.17 Kiến trúc phân tầng dịch vụ trong điện toán đám mây 18

Hình 2.1 Kiến trúc của CryptDB 26

Hình 2.2 Mối đe dọa các DBA đánh cắp dữ liệu 28

Hình 2.3 EQ Onion 35

Hình 2.4 ORD Onion 36

Hình 2.5 SEARCH và ADD Onion 37

Hình 2.6 Bảng Square 38

Hình 2.7 Kết quả 38

Hình 2.8 Các lớp mã hóa Onion và các lớp tính toán được phép 39

Hình 2.9 Bảng dữ liệu gốc 41

Hình 2.10 Bảng được tạo ra bởi Proxy Server 41

Hình 2.11 Bảng Students sau khi được tạo 43

Hình 2.12 Bảng mã hóa được tạo trên Proxy Server 44

Trang 7

vi

Hình 2.13 Kết quả của truy vấn 44

Hình 2.14 Kết quả được trả về từ phía Proxy Server 44

Hình 2.15 Lược đồ cơ sở dữ liệu ví dụ 45

Hình 2.16 Các lớp mã hóa của các cột 45

Hình 2.17 Lược đồ cơ sở dữ liệu sau bước 1 46

Hình 2.18 Lớp mã hóa của các cột sau bước 1 46

Hình 2.19 Lược đồ cơ sở dữ liệu sau bước 2 47

Hình 2.20 Bảng được cập nhật với các giá trị Grade được thêm 49

Hình 2.21 Bảng được cập nhật được mã hóa bên Proxy Server 49

Hình 2.22 Kiến trúc Relational Cloud 59

Hình 3.1 Mô hình hệ thống 61

Hình 3.2 Lưu đồ hoạt động 62

Hình 3.3 Giao diện ứng dụng thử nghiệm 63

Hình 3.4 Cập nhật Ubuntu 68

Hình 3.5 Tải CryptDB về máy 69

Hình 3.6 Chạy kịch bản cài đặt CryptDB 69

Hình 3.7 Cài đặt CryptDB thành công 70

Hình 3.8 Chạy proxy trên Web server 71

Hình 3.9 Truy cập ứng dụng web 72

Hình 3.10 Đăng nhập vào mysql bằng tài khoản root 72

Hình 3.11 Tạo cơ sở dữ liệu trên ứng dụng 73

Hình 3.12 Hoạt động của CryptDB khi tạo cơ sở dữ liệu 73

Hình 3.13 Cơ sở dữ liệu được lưu trên Database server 73

Hình 3.14 Sử dụng một vài chức năng của ứng dụng web 74

Hình 3.15 Hoạt động tại CryptDB 74

Hình 3.16 Dữ liệu trên Database server được mã hóa hoàn toàn 75

Hình 3.17 So sánh thông lượng của phpBB 77

Hình 3.18 Thời gian xử lý 5 loại request 77

Trang 8

vii

LỜI MỞ ĐẦU

Ngày nay, cùng với sự phát triển vũ bão của công nghệ thông tin, hệ thống phần mềm ứng dụng, hệ thống máy chủ của các tổ chức doanh nghiệp ngày càng tăng nhanh Điều đó dẫn tới chi phí đầu tư cho hạ tầng công nghệ thông tin ngày càng lớn, chi phí cho việc quản lý hệ thống cũng tăng lên Để giảm thiểu được các chi phí đó và tăng khả năng ứng dụng công nghệ thông tin trong sản xuất kinh doanh của doanh nghiệp, điện toán đám mây là giải pháp đang được rất nhiều doanh nghiệp lựa chọn Bên cạnh những lợi ích to lớn mà điện toán đám mây đem lại, nó cũng tồn tại một số hạn chế nhất định, nhất là trong vấn đề bảo mật dữ liệu của người sử dụng Trong thời đại ngày nay, nhiều thông tin, dữ liệu nhạy cảm có giá trị rất to lớn, đôi khi nắm vai trò sống còn của một doanh nghiệp, vấn đề đảm bảo bí mật cho những thông tin,

dữ liệu như vậy khi lưu trữ trên đám mây của nhà cung cấp dịch vụ lại càng trở nên quan trọng hơn bao giờ hết Vậy làm thế nào để những nhà cung cấp dịch vụ điện toán đám mây có thể đảm bảo những thông tin quan trọng đó của khách hàng không bị lộ

Đề tài “Nghiên cứu mô hình xử lý dữ liệu đã mã hóa bảo mật dữ liệu trong điện toán đám mây” nhằm mục đích nghiên cứu, tìm hiểu, xây dựng,

thử nghiệm và đưa ra một phương pháp mới giải quyết bài toán bảo đảm bí mật cho những dữ liệu, thông tin nhạy cảm được lưu trữ trên điện toán đám mây

Nội dung đồ án gồm có 3 chương, trong đó:

Chương 1 Tổng quan về điện toán đám mây và vấn đề bảo mật dữ liệu trong điện toán đám mây Kết thúc chương này ta sẽ có cái nhìn tổng

quan nhất về điện toán đám mây, biết được những lợi ích to lớn mà điện toán đám mây đem lại so với điện toán truyền thống cũng như một số vấn đề về bảo mật dữ liệu chúng ta sẽ gặp phải khi sử dụng các dịch vụ điện toán đám mây

Chương 2 Mô hình xử lý dữ liệu đã mã hóa bảo mật dữ liệu trong điện toán đám mây Chương này sẽ trình bầy về một chủ đề đang rất được

quan tâm trong điện toán đám mây, đó là Database-as-a-Service – DBaaS hay

Trang 9

viii

còn được gọi là cơ sở dữ liệu như một dịch vụ Đồng thời cũng giới thiệu về một giải pháp mới để đảm bảo bí mật cho dữ liệu được lưu trữ trên cơ sở dữ liệu của bên thứ ba đó là CryptDB, cũng như phân tích hoạt động của CryptDB trong việc xử lý dữ liệu đã mã hóa

Chương 3 Triển khai cài đặt, thử nghiệm và đánh giá mô hình Kết

thúc chương này ta sẽ thấy rõ hơn cách mà CryptDB được áp dụng trong thực

tế để đảm bảo bí mật cho dữ liệu khi lưu trữ trên cơ sở dữ liệu của một nhà cung cấp dịch vụ điện toán đám mây

Vì điều kiện tìm hiểu, nghiên cứu và thực hiện đồ án cũng như kiến thức hiểu biết có hạn, chưa thể bao quát hết tất cả các vấn đề nên đồ án không thể tránh khỏi những thiếu sót Rất mong thầy cô nhận xét và góp ý để em có thể hoàn thiện và phát triển đồ án tốt hơn

Em xin chân thành cảm ơn!

Trang 10

1

CHƯƠNG 1 TỔNG QUAN VỀ ĐIỆN TOÁN ĐÁM MÂY VÀ VẤN ĐỀ BẢO MẬT DỮ LIỆU TRONG ĐIỆN TOÁN ĐÁM MÂY

1.1 Khái niệm

Khái niệm về điện toán đám mây xuất hiện từ những năm 1960 trở lại đây, khi John McCarthy phát biểu rằng “một ngày nào đó tính toán được tổ chức như một tiện ích công cộng” Các đặc điểm của điện toán đám mây tạo ra như khả năng co giãn, cung cấp như một tiện ích trực tuyến, với khả năng xem như vô hạn

Hiện nay, điện toán đám mây được rất nhiều tổ chức và cá nhân định nghĩa khác nhau Dưới đây là một số khái niệm điện toán đám mây:

Theo Rajkumar Buyya: “Điện toán đám mây là một loại hệ thống phân bố

và xử lý song song gồm các máy tính ảo kết nối với nhau và được cung cấp động cho người dùng như một hoặc nhiều tài nguyên đồng nhất dựa trên sự thỏa thuận dịch vụ giữa nhà cung cấp và người sử dụng”

Theo Ian Foster “Điện toán đám mây là một mô hình điện toán phân tán

có tính co giãn lớn mà hướng theo co giãn về mặt kinh tế, là nơi chứa các sức mạnh tính toán, kho lưu trữ, các nền tảng và các dịch vụ được trực quan, ảo hóa và co giãn linh động, sẽ được phân phối theo nhu cầu cho các khách hàng bên ngoài thông qua Internet”

Theo Viện Tiêu chuẩn và Công nghệ Quốc gia Hoa Kỳ (NIST): “Điện toán đám mây là một mô hình cho phép truy cập mạng thuận tiện, theo nhu cầu đến một kho tài nguyên điện toán dùng chung, có thể định cấu hình: mạng, máy chủ, lưu trữ, ứng dụng,…có thể được cung cấp và thu hồi một cách nhanh chóng với yêu cầu tối thiểu về quản lý hoặc can thiệp của nhà cung cấp dịch vụ.”

Trang 11

2

Hình 1.1 Điện toán đám mây

1.2 Mô hình kiến trúc điện toán đám mây

1.2.1 Kiến trúc phân lớp dịch vụ

Hiện nay có một số mô hình kiến trúc phân lớp dịch vụ cho điện toán đâm mây, ví dụ như mô hình kiến trúc dịch vụ của SOMF như hình 1.1 Tùy theo nhà cung cấp dịch vụ điện toán đám mây, họ sẽ cung cấp các loại dịch vụ điện toán đám mây khác nhau

Hình 1.2 Mô hình kiến trúc dịch vụ điện toán đám mây của SOMF

Trang 12

3

Tuy nhiên tựu chung của các mô hình kiến trúc dịch vụ điện toán đám mây đều có ba loại dịch vụ điện toán đám mây cơ bản là: dịch vụ cơ sở hạ tầng (Infrastructure as a Service – IaaS), dịch vụ nền tảng (Platform as a Service – PaaS) và dịch vụ phần mềm (Software as a Service – SaaS) Cách phân loại này thường được gọi là mô hình SPI Hình 1.3 dưới đây sẽ mô tả

mô hình dịch vụ SPI (Software – Platform – Infrastructure)

Hình 1.3 Mô hình SPI

Trang 13

4

Trong hình 1.4 dưới đây sẽ cho chúng ta thấy mô hình SPI của điện toán đám mây gắn liền với một số ứng dụng, dịch vụ cụ thể trong thực tế

Hình 1.4 Mô hình SPI với các ứng dụng trong thực tế

Mô hình dịch vụ xác định tùy chọn điều khiển khác nhau cho các khách hàng và cung cấp dịch vụ điện toán đám mây Ví dụ, khách hàng SaaS chỉ cần sử dụng các ứng dụng và dịch vụ được cung cấp bởi các CSP, nơi IaaS khách hàng duy trì kiểm soát môi trường của mình được lưu trữ trên cơ sở

hạ tầng cơ bản của CSP Ba mô hình dịch vụ thường được sử dụng nhất được mô tả như sau

SaaS: Khả năng cho khách hàng sử dụng các ứng dụng của nhà cung cấp

đang chạy trên một cơ sở hạ tầng điện toán đám mây Các ứng dụng có thể truy cập từ các thiết bị khách hàng khác nhau hoặc thông qua một giao diện chẳng hạn như một trình duyệt web, hoặc một giao diện chương trình

PaaS: Khả năng cho khách hàng triển khai các ứng dụng của họ (được tạo

ra hoặc mua lại) vào cơ sở hạ tầng điện toán đám mây, sử dụng ngôn ngữ lập trình, thư viện, dịch vụ, và các công cụ hỗ trợ của nhà cung cấp

Trang 14

5

IaaS: Khả năng cho khách hàng sử dụng xử lý của nhà cung cấp, lưu trữ,

mạng, và tài nguyên máy tính cơ bản khác để triển khai và chạy hệ điều hành, các ứng dụng và phần mềm khác trên một cơ sở hạ tầng điện toán đám mây

Sự khác biệt chính giữa các cấp dịch vụ liên quan đến cách điều khiển được chia sẻ giữa các khách hàng và CSP, do đó ảnh hưởng đến mức độ trách nhiệm cho cả hai bên Cần lưu ý rằng, khác hơn trong một đám mây thực sự tin (on-premise) kịch bản, khách hàng hiếm khi có bất kỳ kiểm soát phần cứng, và nó là mức độ mà các thành phần ảo, các ứng dụng và phần mềm được quản lý bởi các bên khác nhau để phân biệt các mô hình dịch vụ Theo nguyên tắc chung, SaaS cung cấp cho khách hàng với số tiền ít nhất kiểm soát, trong khi IaaS cung cấp sự kiểm soát nhất cho khách hàng

Điều quan trọng cần lưu ý là những mô tả triển khai và mô hình dịch vụ, mặc dù được chấp nhận rộng rãi bởi các ngành công nghiệp, có thể không hoàn toàn được theo sau bởi các nhà cung cấp điện toán đám mây hoặc phản ánh môi trường điện toán đám mây thực tế Ví dụ, một CSP có thể được bán một "đám mây riêng" dịch vụ không đáp ứng được mục đích của "tư nhân" như được mô tả ở trên Tương tự như vậy, các chi tiết về những gì được và những gì không được bao gồm trong một dịch vụ cụ thể có thể sẽ khác nhau giữa các CSP, ngay cả khi họ từng xác định dịch vụ của họ bằng cách cùng kỳ hạn (IaaS, PaaS hay SaaS)

Mức độ trách nhiệm an ninh trên các mô hình dịch vụ điện toán đám mây nói chung và di cư đối với khách hàng là khách hàng di chuyển từ một mô hình SaaS (trách nhiệm của khách hàng ít nhất) đến một mô hình IaaS (hầu hết trách nhiệm của khách hàng) Mức độ lớn nhất của trách nhiệm cho các CSP để duy trì kiểm soát an ninh và hoạt động hiện diện trong mô hình dịch

vụ SaaS

Hình dưới đây cho thấy cách kiểm soát thường được chia sẻ giữa các CSP

và khách hàng qua các mô hình dịch vụ khác nhau

Trang 15

6

Hình 1.5 Mức độ kiểm soát/trách nhiệm giữa khách hàng và nhà cung cấp

dịch vụ Trong khi khách hàng có thể được thu hút vào các mô hình SaaS và PaaS

do tiết kiệm tài nguyên và giảm trách nhiệm về quản lý môi trường điện toán đám mây, họ nên biết rằng các mô hình này cũng tương ứng với một mất mát lớn hơn của kiểm soát các dữ liệu nhạy cảm của họ Thỏa thuận hợp đồng và thẩm định liên tục trở nên đặc biệt quan trọng, nơi kiểm soát là bên ngoài, để đảm bảo rằng các biện pháp an ninh cần được đáp ứng và duy trì bởi CSP trong thời gian thỏa thuận

1.2.1.1 Dịch vụ ứng dụng (Software as a Service – SaaS)

Các dịch vụ ứng dụng phần mềm SaaS đem đến cho tổ chức, doanh nghiệp nhiều lợi ích Đơn vị trả chi phí theo mức độ sử dụng hàng tuần, hàng tháng mà không phải trả toàn bộ phí bản quyền ngay từ đầu Ngân sách của doanh nghiệp không phải gánh một khoản đầu tư ban đầu lớn mà sẽ chi trả dần dần và tăng lên khi thực sự có nhu cầu Bên cạnh đó, tổ chức, doanh nghiệp cũng có lợi thể dùng thử và lựa chọn phần mềm như một dịch vụ phù hợp, giảm thiểu được chi phí

Dịch vụ ứng dụng SaaS là một mô hình dịch vụ phần mềm triển khai qua Internet, trong đó, SaaS sẽ cung cấp giấy phép một ứng dụng cho khách hàng

để sử dụng một dịch vụ theo yêu cầu, hay còn gọi là “phần mềm theo yêu cầu” Mô hình SaaS cho phép các nhà cung cấp phát triển, lưu trữ và vận hành phần mềm để khách hàng sử dụng Thay vì mua các phần cứng và phần mềm

để chạy một ứng dụng, khách hàng chỉ cần một máy tính hoặc một máy chủ

Trang 16

7

để tải ứng dụng và truy cập Internet để chạy phần mềm Phần mềm này có thể được cấp phép cho một người dùng duy nhất hoặc cho một nhóm người dùng Ứng dụng các dịch vụ đám mây hay “Software as a service -SaaS” cung cấp phần mềm như một dịch vụ trên Internet, không cần cài đặt hay chạy chương trình trên máy tính phía khách hàng Những ứng dụng cung cấp cho khách hàng được cài đặt, cấu hình trên máy chủ từ xa Đồng thời công việc bảo trì đơn giản và được hướng dẫn từ nhà cung cấp

Hình 1.6 SaaS cung cấp dịch vụ cho khách hàng Thuật ngữ “SaaS” và “cloud” có thể thay thế được cho nhau, nhưng thực

tế đó là hai khái niệm khác nhau Chúng bao gồm các đặc điểm sau:

 Dựa vào mạng khách hàng truy cập, quản lý và thương mại

 Các hoạt động được xử lý tại trung tâm và cho phép khách hàng truy cập từ xa thông qua trình duyệt web

SaaS có thể được chia thành hai loại chính:

 Cung cấp cho doanh nghiệp: Đây là những giải pháp kinh doanh được cung cấp cho các công ty và doanh nghiệp Chúng được cung cấp thông qua doanh nghiệp đăng ký dịch vụ Các ứng dụng được cung cấp thông qua hình thức trên bao gồm các quá trình kinh doanh như quản lý dây chuyền cung cấp, quan hệ khách hàng và các công cụ hướng kinh doanh

 Cung cấp cho cá nhân: Các dịch vụ này được cung cấp cho công chúng trên cơ sở thuê bao đăng ký Tuy nhiên, họ được cung cấp miễn phí và hỗ trợ thông qua quảng cáo Ví dụ trong loại hình này

Trang 17

Bên cạnh nhưng ưu điểm thì sẽ có những nhược điểm gây trở ngại kỹ thuật để xây dựng một SaaS hiệu quả với mô hình nhiều khách hàng Điều này đã trở nên dễ dành hơn và dễ dành hơn so với vấn đề ảo hóa, nhưng thiết

kế một ứng dụng có hiệu quả cung cấp cho hàng ngàn khách hàng qua Internet là công việc khó khăn

Đặc điểm của SaaS:

 Thiết lập vị trí các ứng dụng do nhà cung cấp dịch vụ SaaS quản lý, còn việc sử dụng tài nguyên và sử dụng các ứng dụng dịch vụ SaaS

Trang 18

9

1.2.1.2 Dịch vụ nền tảng hệ thống (Platform as a Service – PaaS)

Dịch vụ nền tảng hệ thống PaaS cung cấp các nền tảng điện toán cho phép khách hàng phát triển các phần mềm, phục vụ nhu cầu tính toán hoặc xây dựng thành dịch vụ trên nền tảng đám mây đó Dịch vụ PaaS có thể được cung cấp dưới dạng các ứng dụng lớp giữa (middleware), các máy chủ ứng dụng (application server) cùng các công cụ lập trình với ngôn ngữ lập trình nhất định để xây dựng ứng dụng Dịch vụ PaaS cũng có thể được xây dựng riêng và cung cấp cho khách hàng thông qua một API riêng Khách hàng xây dựng ứng dụng và tương tác với hạ tầng điện toán đám mây thông qua API

đó

Đây là tầng cung cấp dịch vụ nền tảng để chạy các ứng dụng Các ứng dụng này có thể đang chạy trong đám mây hay chạy trong một trung tâm dữ liệu truyền thống Để đạt được khả năng mở rộng cần thiết trong một đám mây, các dịch vụ thường được ảo hóa Việc ảo hóa được các nhà sản xuất lớn giới thiệu như IBM® WebSphere® Application Server virtual images, Amazon Web Services, Boomi, Cast Iron, và Google App Engine Các dịch

vụ nền tảng cho phép khách hàng chạy các ứng dụng dựa trên cơ sở hạ tầng dịch vụ được bên thứ ba cung cấp

Nền tảng là nơi cung cấp tất cả các nguồn lực cần thiết để xây dựng các ứng dụng và dịch vụ hoàn toàn từ Internet, mà không cần phải tải về hay cài đặt phần mềm

Hình 1.8 PaaS cho phép khách hàng truy cập vào một nền tảng trên điện toán

đám mây Một lỗi phía nhà cung cấp nên tảng dẫn tới không còn khả năng tương tác với khách hàng, buộc phải chuyển qua nhà cung cấp khác Trường hợp người dùng tạo một ứng dụng với một nhà cung cấp điện toán đám mây và quyết

Trang 19

10

định chuyển đến một nhà cung cấp khác, có thể ứng dụng không hoạt động được hoặc sẽ phải trả một mức giá cao để ứng dụng có thể hoạt động lại Nếu nhà cung cấp không còn cung cấp dịch vụ thì ứng dụng và dữ liệu của khách hàng sẽ bị mất

Nền tảng hướng dịch vụ thường cung cấp một giao diện người dùng dựa trên HTML hoặc JavaScript

Nền tảng hướng dịch vụ hỗ trợ phát triển giao diện web như Simple Object Access Protocol (SOAP) và REST (Representational State Tranfer), cho phép xây dựng nhiều dịch vụ web

Tùy chọn PaaS có ba loại khác nhau:

 Cơ sở phát triển bổ sung (Add-on development facilities): Điều này cho phép các ứng dụng SaaS được lựa chọn Thông thường, các nhà phát triển PaaS và khách hàng được yêu cầu đăng ký cho các tiện ích ứng dụng SaaS

 Môi trường độc lập (Stand-alone environments) Những môi trường không cung cấp giấy phép, kỹ thuật

 Môi trường chỉ phân phối ứng dụng (Application delivery-only environments) Những môi trường hỗ trợ dịch vụ lưu trữ theo cấp

độ, như khả năng mở rộng theo nhu cầu bảo mật Nhưng không bao gồm nhiệm vụ phát triển, gỡ lỗi, và kiểm tra

Một số yếu tố khác ảnh hưởng đến tiếp nhận công nghệ:

 Khả năng làm việc của nhóm phát triển bị cô lập bởi vị trí địa lý

 Khả năng hợp nhất các dịch vụ web từ nhiều nguồn

 Khả năng thực hiện tiết kiệm chi phí sử dụng, tích hợp các dịch vụ

cơ sở hạ tầng bảo mật, khả năng mở rộng, và chuyển đổi dự phòng

Có hai trở ngại chính mà các nhà phát triển phải đối mặt khi xem xét PaaS Thứ nhất các nhà cung cấp sử dụng dịch vụ độc quyền hoặc các ngôn ngữ phát triển, một số nhà phát triển sợ bị phụ thuộc vào một nhà cung cấp duy nhất Hai là các nhà cung cấp có thể cho phép các ứng dụng sẽ được làm việc với một nhà cung cấp khác, tuy nhiên chi phí thường cao hơn

Trang 20

11

Hình 1.9 Phạm vi kiểm soát giữa nhà cung cấp/sử dụng dịch vụ PaaS

1.2.1.3 Dịch vụ cơ sở hạ tầng (Infrastructure as a Service – IaaS)

Các dịch vụ cơ sở hạ tầng IaaS cung cấp cho khách hàng tài nguyên hạ tầng điện toán như máy chủ, mạng, không gian lưu trữ và các công cụ quản trị tài nguyên đó Các tài nguyên này thường được ảo hoá, chuẩn hoá thành một

số cấu hình trước khi cung cấp để đảm bảo khả năng linh hoạt trong quản trị cũng như hỗ trợ tự động hoá

Tầng dưới cùng của đám mây là tầng cung cấp dịch vụ cơ sở hạ tầng Ở đây là một tập hợp các tài nguyên vật lí như các máy chủ, các thiết bị mạng và các đĩa cứng lưu trữ được đưa ra như dịch vụ với mục đích cung cấp cho khách hàng Cũng như với các dịch vụ nền tảng, ảo hóa là một phương pháp thường được sử dụng để tạo ra bản phân phối các nguồn tài nguyên theo yêu cầu Các nhà sản xuất lớn cung cấp cơ sở hạ tầng bao gồm IBM Bluehouse, VMware, Amazon EC2, Microsoft Azure Platform, Sun ParaScale Cloud Storage

Hình 1.10 IaaS cho phép nhà cung cấp dịch vụ thuê những tài nguyên phần

cứng

Trang 21

12

Các dịch vụ cơ sở hạ tầng tập trung vào vấn đề trang bị cho các trung tâm

dữ liệu bằng cách đảm bảo công suất điện toán khi cần thiết Trên thực tế các

kỹ thuật ảo hóa thường được sử dụng trong tầng này, nên có thể thấy rõ sự tiết kiệm chi phí khi sử dụng tài nguyên hệ thống

Hình 1.11 Phạm vi kiểm soát giữa nhà cung cấp/sử dụng dịch vụ IaaS 1.2.2 Mô hình triển khai

Điện toán đám mây phân thành ba mô hình triển khai: điện toán đám mây riêng, đám mây công cộng và đám mây lai Sau đây chúng ta sẽ đi tìm hiểu lần lượt từng mô hình triển khai

Hình 1.12 Mô hình triển khai điện toán đám mây

1.2.2.1 Đám mây riêng

Các đám mây riêng là các dịch vụ đám mây được cung cấp trong doanh nghiệp Những đám mây này tồn tại bên trong tường lửa công ty và chúng được doanh nghiệp quản lý

Các đám mây riêng đưa ra nhiều lợi ích giống như các đám mây chung, điểm khác biệt chính là doanh nghiệp chịu trách nhiệm thiết lập và bảo trì

Trang 22

Các đám mây riêng là các dịch vụ đám mây được xây dựng trong hệ thống của doanh nghiệp Những đám mây này tồn tại bên trong tường lửa công ty và chúng được doanh nghiệp quản lý Các vấn đề khó khăn và chi phí của việc thiết lập một đám mây riêng đôi khi có thể có chiều hướng ngăn cản việc xây dựng và sử dụng hệ thống loại này Ngoài ra chi phí hỗ trợ hoạt động liên tục của đám mây riêng có thể vượt quá chi phí của việc sử dụng một đám mây công cộng

Các đám mây riêng đưa ra nhiều lợi thế hơn so với loại công cộng Việc kiểm soát chi tiết hơn trên các tài nguyên khác nhau sẽ tạo thành một đám mây mang lại cho công ty tất cả các tùy chọn cấu hình có sẵn Ngoài ra, các

Trang 23

Các đám mây công cộng cung cấp cho khách hàng các dịch vụ công nghệ thông tin tốt nhất Có thể là phần mềm, cơ sở hạ tầng ứng dụng hoặc cơ

sở hạ tầng vật lý Các nhà cung cấp đám mây chịu trách nhiệm cài đặt, quản

lý, cung cấp và bảo trì Khách hàng tính phí cho các tài nguyên nào mà họ sử dụng

Các dịch vụ thường được cung cấp với các quy ước về cấu hình, chúng được cung cấp với những trường hợp sử dụng phổ biến nhất Khách hàng chỉ

có quyền truy cập vào tài nguyên được cấp phát

Hình 1.14 So sánh giữa đám mây riêng và đám mây công cộng

Các đám mây công cộng là các dịch vụ đám mây được một bên thứ ba (người bán) cung cấp Chúng nằm ngoài hệ thống mạng của tổ chức và chúng được lưu trữ đầy đủ và được nhà cung cấp đám mây quản lý Các đám mây công cộng cố gắng cung cấp cho người tiêu dùng các thành phần công nghệ tối ưu nhất, cho dù đó là phần mềm, cơ sở hạ tầng ứng dụng hoặc cơ sở hạ tầng vật lý

Trang 25

16

lựa chọn đám mây công cộng hay riêng dựa trên các mục tiêu và nhu cầu của các dịch vụ cần triển khai Một đám mây lai được xây dựng tốt có thể phục vụ các quy trình nhiệm vụ quan trọng của doanh nghiệp yêu cầu cao về tính ổn định, an toàn, cũng như những ứng dụng không quan trọng

Hạn chế chính với đám mây này là sự khó khăn trong việc tạo ra và quản

lý có hiệu quả một giải pháp như vậy Hệ thống phải có thể tiếp nhận được và cung cấp các dịch vụ lấy từ các nguồn khác nhau như thể chúng có chung nguồn gốc, hay phức tạp hơn là hỗ trợ tương tác giữa các thành phần riêng và chung Do đây là một khái niệm kiến trúc tương đối mới trong điện toán đám mây, nên cách hiện thực và các công cụ hỗ trợ mô hình này vẫn còn được nghiên cứu

Là sự kết hợp của các đám mây công cộng và riêng Những đám mây này thường do doanh nghiệp tạo ra và chịu trách nhiệm quản lý Nó được phân chia giữa doanh nghiệp và nhà cung cấp đám mây công cộng Đám mây lai sử dụng các dịch vụ có trong cả trong đám mây công cộng và riêng

Các đám mây lai được các công ty sử dụng dịch vụ trên đó Công ty có thể đưa ra những lợi ích khi sử dụng đám mây chung và riêng Một đám mây lai được xây dựng tốt để có thể phục vụ khách hàng tốt nhất, an toàn

Hạn chế chính với đám mây lai là khó khăn trong việc tạo ra và quản lý chúng Giải pháp đặt ra là tiếp nhận và cung cấp các dịch vụ từ các nguồn khác nhau như thể chúng có nguồn gốc từ một nơi và có thể tương tác giữa các đám mây riêng và chung

Trang 26

17

Hình 1.16 Mô hình đám mây lai

1.2.2.4 Đám mây cộng đồng

Các đám mây cộng đồng là các đám mây được chia sẻ bởi một số tổ chức

và hỗ trợ một cộng đồng cụ thể có mối quan tâm chung như: chung mục đích, yêu cầu an ninh, chính sách Nó có thể được quản lý bởi các tổ chức hoặc một bên thứ ba

Một đám mây cộng đồng có thể được thiết lập bởi một số tổ chức có yêu cầu tương tự và tìm cách chia sẻ cơ sở hạ tầng để thực hiện một số lợi ích của điện toán đám mây

Tùy chọn này là tốn kém hơn nhưng có thể đáp ứng về sự riêng tư, an ninh hoặc tuân thủ các chính sách tốt hơn

1.3 Vấn đề bảo mật trong điện toán đám mây

1.3.1 An toàn liên quan đến kiến trúc của điện toán đám mây

Một đám mây là một cụm máy tính kết nối nhau thông qua mạng cục bộ hoặc mạng diện rộng trên cơ sở ảo hóa tài nguyên phần cứng nhờ chức năng

ảo hóa để cung cấp một cách trong suốt ba dịch vụ cơ bản của điện toán đám mây là SaaS, PaaS và IaaS Mô hình triển khai đám mây có thể là công cộng,

Trang 27

18

đám mây riêng hoặc cộng đồng hay hỗn hợp như đã nói ở phần trên Các dịch

vụ điện toán đám mây có kiến trúc phân tầng (layer), mỗi tầng cung cấp các dịch vụ và tiện ích (chức năng) riêng của nó trên cơ sở các dịch vụ và tiện ích của tầng thấp hơn Vì vậy an ninh của hệ thống phụ thuộc vào an ninh của mỗi tầng được thiết kế và cài đặt kèm theo như là 1 dịch vụ hay tiện ích

Hình 1.17 Kiến trúc phân tầng dịch vụ trong điện toán đám mây

Những mối đe dọa an toàn ở mức này có thể liên quan tới máy chủ ảo (Virtual Machine) như là vi-rút và các phần mềm độc hại khác Nhà cung cấp dịch vụ chịu trách nhiệm chính về giải pháp cho vấn đề này Khách hàng thuê bao cũng có thể thực hiện các giải pháp và chính sách an toàn riêng cho mình,

từ đó làm gia tăng gánh nặng lên phần cứng và hiệu năng chung của hệ thống Các máy chủ ảo vẫn có thể bị lây nhiễm hay bị kiểm soát bởi phần mềm độc hại Trong trường hợp này, các chính sách an ninh của khách hàng có thể bị

Trang 28

19

vô hiệu, như vậy nhà cung cấp dịch vụ phải là người có vai trò chính trong an ninh ở mức này Ngoài ra, vì IaaS khai thác hạ tầng vật lý và chính sách chung như DNS Server, Switch, IP protocol,… Vì vậy, khả năng bị tấn công vào “khách hàng yếu nhất” sau đó “lây lan” cho các khách hàng khác Vấn đề này hiện nay khách hàng thuê bao không thể can thiệp gì vì nhiều máy chủ ảo chia sẻ cùng tài nguyên vật lý như CPU, bộ nhớ, đĩa,… Mọi ánh xạ vật lý-máy ảo, máy ảo-vật lý đều thông qua một “bộ ảo hóa”, nếu bộ này bị phần mềm độc hại kiểm soát thì toàn bộ khách hàng trong đám mây sẽ bị cùng một mối hiểm họa như nhau

1.3.1.2 An ninh ở mức dịch vụ nền tảng

Ở mức trung gian, dịch vụ nền tảng (PaaS) dựa trên dịch vụ tầng dưới (IaaS) và cung cấp dịch vụ của mình cho tầng trên nó (SaaS) Ở mức này, các dịch vụ hay tiện ích về an toàn có thể được cài đặt thêm hoặc cấu hình các dịch vụ được cung cấp từ tầng dưới Ở đây, người dùng có thể quản trị phần thuê bao của mình để tạo ra môi trường thực thi các ứng dụng Hiện nay, dịch

vụ PaaS của đám mây dựa trên mô hình kiến trúc hướng dịch vụ (SOA) vì vậy những nguy cơ về an toàn giống hệt như những nguy cơ an toàn của SOA như tấn công từ chối dịch vụ, tấn công XML và nhiều cách tấn công khác

Vì dịch vụ nền tảng là dịch vụ đa thuê bao, nhiều người dùng nên cơ chế xác thực, chứng thực là rất quan trọng Trách nhiệm bảo mật và an toàn trong trường hợp này liên quan đến cả nhà cung cấp, người thuê bao và người dùng (user) Các dịch vụ PaaS phải cung cấp môi trường để phát triển ứng dụng bao gồm chức năng tác nghiệp, các chức năng an toàn và quản lí hệ thống Nhà cung cấp cần có cơ chế bắt buộc chứng thực để truy cập các dịch vụ PaaS, người thuê bao có trách nhiệm phát triển hay cung cấp các chức năng bảo mật cần thiết thông qua cơ chế chứng thực chung và người dùng phải có trách nhiệm bảo vệ tài khoản đăng nhập cá nhân của mình

Trang 29

20

không biết được dữ liệu của mình được quản lí và khai thác như thế nào và nó nằm ở đâu trên thế giới này Vấn đề an ninh ở đây liên quan đến bảo mật dữ liệu, rò rỉ thông tin nhạy cảm và nguy cơ bị tấn công từ chối truy cập… Trách nhiệm về an toàn được chia sẻ cho nhà cung cấp hạ tầng đám mây và nhà cung cấp dịch vụ phần mềm Người dùng đầu cuối (end user) chỉ là người dùng phần mềm với các lựa chọn cấu hình khác nhau được cung cấp bởi phần mềm nên không có nhiều vai trò trong an toàn hệ thống Người dùng cuối chỉ biết tin vào nhà cung cấp phần mềm và các cam kết của nhà cung cấp về trách nhiệm bảo mật Thông thường các cam kết này có thể là điều khoản trong hợp đồng thuê bao phần mềm, như là: an toàn thông tin và chất lượng dịch vụ Chúng thường bao gồm: dung lượng dữ liệu, toàn vẹn dữ liệu, chính sách về phân tán, sao lưu và phục hồi dữ liệu khi có sự cố, độ tin cậy, tính riêng tư và

an toàn mạng cùng với các cam kết khác về chất lượng dịch vụ như dung lượng đường truyền, tính sẵn dùng

Ở mức này, các phần mềm được cung cấp trên nền web (web-based application) Các web này thường được đặt ở máy chủ ảo trên đám mây, cho nên chúng phải được kiểm tra bằng cách quét các yếu điểm web nhờ vào một ứng dụng quét nào đó Các tường lửa có thể được dùng đển ngăn chặn các tấn công vào điểm yếu đã biết của các phần mềm nền web Những công việc này thuộc về nhà cung cấp phần mềm hoặc đám mây, người dùng cuối nhiều lắm

là tham gia vào lựa chọn các cấu hình (option) khác nhau mà thôi Tình hình này có thể dẫn đến những lộn xộn trong cấu hình an toàn chung của hệ thống

do tính chất đa thuê bao, kéo theo những lỗ hổng trong an toàn hệ thống Vì vậy, các nhà cung cấp phải có những chính sách chung bắt buộc và cách kiểm soát sao cho những cấu hình an toàn, bảo mật phải nhất quán, chặt chẽ và không có lỗ hổng

1.3.2 Vấn đề quản lí an toàn hệ thống

Phần trên vừa trình bày cho thấy tính phức tạp trong “kỹ thuật” an toàn trên đám mây từ góc độ kiến trúc và dịch vụ của điện toán đám mây Phần này đề cập đến một số khía cạnh về quản lí, vốn không thể tách rời với kỹ thuật nhằm đảm bảo cho sự áp dụng chính sách bảo mật đúng đắn, cộng tác

và có trách nhiệm giữa các bên có liên quan trong điện toán đám mây Nghiên cứu về quản lí an toàn trên đám mây là rất phức tạp vì nó liên quan đến số

Trang 30

21

lượng lớn người có liên quan với các yêu cầu (requirement) khác nhau về an toàn Việc quản lí an toàn liên quan tới việc xây dựng các yêu cầu về an toàn, đặc tả chính sách an toàn, cơ chế kiểm soát và các cấu hình khác nhau về an toàn tương ứng với các chính sách đặc thù Việc quản lí này là động vì luôn phải đáp ứng các yêu cầu mới, các phản hồi từ môi trường và từ chính quá trình kiểm soát an toàn

Điện toán đám mây cung cấp các dịch vụ trên cơ sở một hợp đồng trách nhiệm (SLA – Service Level Agreement), đây là pháp lý quan trọng trong các tranh chấp, bất đồng sau này Hợp đồng thông thường bao gồm chất lượng dịch vụ, tính sẵn dùng, độ tin cậy và an toàn Và như bao cam kết hợp đồng,

nó có những điều khoản về trả phí dịch vụ xử phạt và bồi thường Một đòi hỏi cao về an toàn thường dẫn đến một tiêu tốn nhiều nguồn lực và vì vậy mức giá dịch vụ sẽ cao lên tương ứng Cần lưu ý rằng những đòi hỏi khắc khe về

an toàn có thể ảnh hưởng đến hiệu năng chung của hệ thống (cồng kềnh hơn, chậm hơn,…) Vì vậy, cần có sự cân bằng giữa yêu cầu an toàn, chi phí và hiệu năng của hệ thống

Trang 31

Dịch vụ cơ sở dữ liệu hiện nay đang trở thành một chủ đề nóng Khi tìm kiếm định nghĩa của DBaaS, các trang web trả về nhiều kết quả và định nghĩa khác nhau Dưới đây là một vài định nghĩa của một số chuyên gia về DBaaS:

“Một nền tảng cơ sở dữ liệu tự phục vụ theo yêu cầu, an toàn, và có khả năng mở rộng mà tự động hóa trích lập dự phòng và quản trị cơ sở dữ liệu và

có thể được sử dụng bởi các nhà phát triển và người dùng phi kỹ thuật.” –

Forrester, tháng 10/ 2012

“DBaaS không là gì khác một lĩnh vực tập trung trong một trường lớn hơn được gọi là SaaS – đó là việc cung cấp phần mềm cơ sở dữ liệu và có liên quan đến lưu trữ cơ sở dữ liệu vật lý như môt dịch vụ… Nhà cung cấp chịu trách nhiệm quản lý dịch vụ, mà không có bất kỳ yêu cầu nào cho khách hàng

để duy trì, cung cấp, hoặc quản trị cơ sở dữ liệu của họ.” - Steve Bobrowski,

tháng 5/2008

“Database-as-a-service (DBaaS) là một mô hình dịch vụ điện toán đám mây cung cấp cho người sử dụng một số hình thức truy cập tới cơ sở dữ liệu

Trang 32

23

mà không cần thiết lập phần cứng vật lý, cài đặt và cấu hình phần mềm Tất

cả những tác vụ quản lý và bảo trì được thực hiện bởi nhà cung cấp dịch vụ vì thế tất cả những gì người dùng hoặc người sở hữu ứng dụng cần làm là sử dụng cơ sở dữ liệu…” - Cory Janssen, Techopedia.com

Ba định nghĩa này đều có chung một điểm: DBaaS là một dịch vụ làm giảm bớt cho người dùng các tác vụ quản trị cơ sở dữ liệu

Mặc dù rõ ràng DBaaS cung cấp các dịch vụ quản trị cơ sở dữ liệu, nhưng

nó vẫn chưa rõ ràng những loại dịch vụ nào sẽ được cung cấp Có lẽ đó là lý

do tại sao Google và Wikipedia trả về kết quả khác nhau khi tìm kiếm định nghĩa về “cơ sở dữ liệu như là một dịch vụ” Khi tìm kiếm định nghĩa

“DBaaS” trên Wikipedia, ta sẽ được đưa đến trang về Platform as a Service:

https://en.wikipedia.org/wiki/DbaaS , hoặc PaaS Khi tìm kiếm định nghĩa

“database-as-a-service” trên Wikipedia, ta lại được đưa tới trang sau:

https://en.wikipedia.org/wiki/Database_as_a_service#Storage – nói về điện toán đám mây – Cloud computing Những kết quả khác nhau này đơn giản có nghĩa rằng khái niệm về database-as-a-service hay cơ sở dữ liệu như là một dịch vụ chưa được định nghĩa hoặc được định nghĩa một cách không rõ ràng Nhưng mặc dù Internet trả về nhiều định nghĩa khác nhau của hai thuật ngữ này (database-as-a-service hoặc DBaaS), chúng đều có chung một số điểm như sau:

 Nó là một phần của điện toán đám mây

 Nó được triển khai trên các cơ sở hạ tầng đám mây

 Nó là một nên tảng cho các nhà phát triển triển khai các ứng dụng

 Các tác vụ quản trị cơ sở dữ liệu khác nhau là một phần trong tính năng/dịch vụ của nó

Từ những điều trên, ta có thể nói: DBaaS cung cấp các dịch vụ cơ sở dữ liệu để các ứng dụng có thể được triển khai trên đám mây, cho phép người sử dụng tập trung vào phát triển các ứng dụng và các dịch vụ mà không cần lo lắng gì về cơ sở dữ liệu và cơ sở hạ tầng mở rộng bên dưới

Trang 33

24

2.1.2 Một số lợi ích DBaaS đem lại so với các hệ cơ sở dữ liệu thông thường Tiết kiệm chi phí hơn: Không chỉ chi phí ban đầu, không chỉ chi phí vận hành, không cần xây dựng với hệ thống phần cứng đắt tiền, phần mềm quản trị đắt tiền, không trả lương nhân viên vận hành hệ thống, không cần dự phòng phần cứng… rõ ràng khi quyết định sử dụng DBaaS chúng ta tiết kiệm được rất nhiều chi phí cho doanh nghiệp

Không giới hạn không gian lưu trữ: Cho đến nay khi mà cơ sở dữ liệu quan hệ đang phải vật lột với việc trang bị thêm phần cứng để mở rộng không gian nhớ, cân bằng tài, tối ưu hệ thống, khi dữ liệu chúng ta cần lưu trữ càng ngày càng lớn và phức tạp Thật không may dù có trang bị thêm phần cứng thì

cơ sở dữ liệu quan hệ vẫn bị giới hạn bởi một ngưỡng nhất đinh DBaaS mở

ra một dịch vụ với khả năng vô tận về máy tính xử lý và không gian nhớ Tốc độ độc lập với kích thước: Với hệ thống được trang bị riêng cho từng doanh nghiệp, khi lượng dữ liệu lưu vào đạt đến một mức được cho là lớn, thông thường các doanh nghiệp sẽ phải gặp khó khăn về tốc độ truy cập dữ liệu, có độ trễ nhất định Nhưng với DBaaS, bằng việc xử lý song song trên nhiều máy tính khác nhau, trên nhiều nút khác nhau, bạn sẽ không còn cảm giác khó chịu này nữa Thông tin là luôn sẵn sàng và chính xác khi bạn cần tới

Hiệu suất cao hơn: Với cá hệ thống truyền thống, bạn luôn phải có trích lập dự phòng cho các chức năng, ví dụ mua ổ cứng sao lưu dự phòng, các doanh nghiệp vẫn phải trả tiền cho những chức năng ít dùng tới hoặc thậm chí không bao giờ dùng tới Với DBaaS hệ thống được tận dụng một cách tối đa

về hiệu suất, và cũng không phải quan tân đến việc sao lưu dự phòng

Khả năng chịu lỗi lớn hơn: Với một hệ thống được phát triển bởi một nhà cung cấp chuyên nghiệp, uy tín với đội ngũ kỹ thuật với trình độ công nghệ cao, nền tảng trang thiết bị hiện đại thì khả năng chịu lỗi của hệ thống DBaaS lớn hơn với hệ thống được triển khai riêng lẻ

Dễ dàng sử dụng hơn: Giao diện đơn giản dễ sử dụng, người dùng sẽ dễ dàng tương tác với cơ sở dữ liệu hơn là viết một câu lệnh SQL Các doanh nghiệp cũng sẽ không tốn nhiều chi phí cho việc đào tạo ra một người có thể

Trang 34

25

tương tác với hệ thống cơ sở dữ liệu của họ Khi di chuyển vị trí cũng không phải mang theo cả khối dữ liệu khổng lồ mà chỉ cần một kết nối tới mạng internet

2.1.3 Vấn đề bảo mật dữ liệu

Những lợi ích mà các giải pháp DBaaS đem lại cho người dùng là rất rõ ràng Tuy nhiên, chúng vẫn có một số hạn chế nhất định Khi sử dụng các dịch vụ đám mây, dữ liệu của người dùng bao gồm cả những dữ cá nhân được lưu trữ trên máy chủ của nhà cung cấp dịch vụ Do đó, những người quản trị viên của nhà cung cấp dịch vụ hoàn toàn có thể vô tình hoặc cố ý truy cập vào

dữ liệu của khác hàng và biết được những dữ liệu mà người dùng lưu trữ trên máy chủ của họ Bên cạnh đó, kẻ xấu hoàn toàn có thể tiến hành tấn công nghe lén đường truyền và biết được những dữ liệu người dùng đưa lên lưu trữ tại máy chủ của nhà cung cấp dịch vụ hoặc cũng có thể tấn công trực tiếp và kiểm soát hoàn toàn được các ứng dụng, máy chủ của nhà cung cấp dịch vụ Lúc này nguy cơ những thông tin nhạy cảm của người dùng bị lộ là rất cao

Để ngăn chặn những nguy cơ kể trên, giải pháp mà ta có thể nghĩ ngay đến đó chính là sử dụng mã hóa Dữ liệu sẽ được mã hóa tại máy tính người dùng trước khi đưa lên lưu trữ tại máy chủ của nhà cung cấp dịch vụ, khi người dùng cần truy cập dữ liệu, họ sẽ tải dữ liệu về và tiến hành giải mã trên máy tính cá nhân của mình Nhưng nếu người dùng chỉ muốn truy cập một phần nhỏ dữ liệu lưu trữ của mình thì sao? Họ vẫn phải tải toàn bộ dữ liệu đã

mã hóa của mình về máy tính cá nhân và tiến hành giải mã Rõ ràng giải pháp này không khả thi nếu lượng dữ liệu cần lưu trữ là rất lớn Một cách tiếp cận khác là sử dụng mã hóa đồng cấu toàn bộ (fully homomorphic ecryption), cho phép máy chủ có thể tính toán trên các dữ liệu đã được mã hóa Tuy nhiên sử dụng mã hóa đồng cấu lại rất chậm và rất tốn kém do đó hiệu suất sẽ không được cao

Trong hoàn cảnh đó, CryptDB ra đời kế thừa những ưu điểm và khắc phục những hạn chế của các giải pháp nêu trên nhằm bảo vệ tính bí mật cho các ứng dụng cơ sở dữ liệu Sau đây ta sẽ tìm hiểu kỹ hơn về CryptDB và những

gì CryptDB cung cấp để đảm bảo an toàn cho dữ liệu được lưu trữ

Trang 35

26

2.2 CryptDB và Mô hình xử lý dữ liệu đã mã hóa

2.2.1 Giới thiệu về CryptDB và mô hình

CryptDB là một phương pháp mới để đảm bảo an toàn cho các cơ sở dữ liệu, nó là một proxy quản lý tất cả những thông tin đi tới hoặc đi từ các cơ sở

dữ liệu Nó hoạt động như một lớp trung gian, tiếp nhận tất cả các truy vấn, đảm bảo an toàn cho chúng và gửi chúng tới máy chủ cơ sở dữ liệu Sau đó nó

sẽ nhận lại dữ liệu đã mã hóa từ cơ sở dữ liệu, giải mã và gửi lại dữ liệu đã được giải mã tới người dùng hợp pháp CryptDB làm việc bằng cách làm cho DBMS thực thi các truy vấn trên cơ sở dữ liệu đã mã hóa như là đang thực thi trên cơ sở dữ liệu rõ Điều này được áp dụng bằng cách thay đổi cấu trúc của

cơ sở dữ liệu để che dấu những thông tin, mối quan hệ có thể được trích ra từ

cơ sở dữ liệu và những thông tin này được che dấu bên trong proxy, thậm chí bằng cách mã hóa tên các bảng và các cột Sau đó mỗi cột sẽ được mã hóa theo một cách nào đó tùy thuộc vào bản chất dữ liệu của chính nó và các truy vấn có thể được áp dụng trên những dữ liệu này

Hình 2.1 Kiến trúc của CryptDB

Kiến trúc của CryptDB bao gồm 2 phần: một database proxy và một unmodified DBMS CryptDB sử dụng các hàm người dùng định nghĩa (user-

defined functions – UDFs) để thực hiện các tính toán mật mã trong DBMS Các hộp chữ nhật vuông và bo tròn đại diện các tiến trình và dữ liệu tương ứng Các hình có màu đậm chỉ ra các thành phần được thêm vào bởi CryptDB Các đường nét đứt cho thấy sự tách biệt giữa máy tính của người dùng, máy chủ ứng dụng, máy chủ đang chạy proxy cơ sở dữ liệu của CryptDB và máy chủ DBMS Máy chủ ứng dụng chạy code ứng dụng và sinh

ra các truy vấn DBMS; máy chủ DBMS lưu trữ, xư lý dữ liệu đã được mã hóa

Trang 36

27

như dữ liệu không mã hóa, ngoài ra còn lưu trữ một vài bảng phụ được sử dụng bởi CryptDB proxy; CryptDB proxy lưu trữ key, mã hóa truy vấn nhận được từ ứng dụng và gửi cho máy chủ DBMS, mã hóa/giải mã dữ liệu

CryptDB giải quyết vấn đề khi một người quản trị cơ sở dữ liệu “tò mò” (curious database administrator – DBA) hoặc có ý đồ xấu truy cập vào dữ liệu

cá nhân của người dùng (ví dụ các bản ghi sức khỏe,các báo cáo tài chính, thông tin cá nhân) bằng cách đánh cắp dữ liệu trên máy chủ DBMS; tại đây, CryptDB ngăn chặn các DBA này đọc được dữ liệu cá nhân của người dùng Nhưng có một điều cần cân nhắc đó là đánh đổi giữa giữa việc tối thiểu những thông tin quan trọng để lộ cho máy chủ DBMS và khả năng thực thi có hiệu quả một loạt các truy vấn Các phương pháp tiếp cận hiện tại để tính toán trên

dữ liệu mã hóa hoặc là quá chậm hoặc là không cung cấp đủ tính bí mật Mặt khác, việc mã hoa dữ liệu với một hệ thống mã hóa mạnh, như AES chẳng hạn, sẽ ngăn chặn máy chủ DBMS thực thi nhiều truy vấn SQL Trong trường hợp này, giải pháp thực tế duy nhất sẽ là để cho server DBMS truy cập tới key

mã hóa, nhưng điều đó cũng sẽ cho phép kẻ xấu đạt được truy cập tới toàn bộ

dữ liệu

CryptDB giải quyết thách thức này bằng những ý tưởng chính sau:

 Đầu tiên là thực thi các truy vấn SQL trên dữ liệu mã hóa CryptDB

thực hiện ý tưởng này bằng cách sử dụng một chiến lược mã hóa nhận biết SQL (SQL-aware encryption) CryptDB mã hóa mỗi mục

dữ liệu theo cách mà cho phép DBMS thực thi trên dữ liệu chuyển đổi CryptDB hiệu quả bởi nó chủ yếu sử dụng mã hóa đối xứng, tránh mã hóa đồng cấu đầy đủ (fully homomorphic encryption), và chạy trên phần mềm DBMS không sửa đổi (bằng cách sử dụng các hàm chức năng người dùng định nghĩa)

Kỹ thuật thứ hai là điều chỉnh mã hóa dựa trên truy vấn (adjustable query-based encryption) Một vài lược đồ mã hóa làm rò rỉ thông

tin về dữ liệu cho máy chủ DBMS nhiều hơn một số khác, nhưng được yêu cầu để xử lý các truy vấn nhất định Để tránh tiết lộ tất cả

mã hóa có thể của dữ liệu cho DBMS từ trước đó, CryptDB điều chỉnh lược đồ má hóa nhận biết SQL (SQL-aware encryption

Trang 37

28

scheme) cho bất kỳ mục dữ liệu đã cho nào, tùy thuộc vào các truy vấn được thực hiện Để thực hiện những điều chỉnh này một cách

hiệu quả, CryptDB sử dụng onions of encryption (sẽ được giải thích

rõ ràng hơn trong các phần sau) Các onion là một cách mới để lưu

trữ một cách chặt chẽ nhiều bản mã trong mỗi onion khác trong cơ

sở dữ liệu để tránh chi phí trong việc mã hóa lại

2.2.2 Mối đe dọa DBMS bị thỏa hiệp

Để đối mặt với mối đe dọa này, CryptDB bảo vệ chống lại một DBA tò

mò hoặc kẻ tấn công bên ngoài với truy cập hoàn toàn tới dữ liệu được lưu trên máy chủ DBMS Mục tiêu của chúng ta là tính bí mật, không phải tính

toàn vẹn hay sẵn sàng Giả sử kẻ tấn công là bị động (passive): hắn truy cập

tới dữ liệu bí mật, nhưng không thay đổi các truy vấn được sinh ra bởi ứng dụng, các kết quả truy vấn, hay dữ liệu trong DBMS Mối đe dọa này bao gồm các thỏa hiệp phần mềm DBMS, truy cập root tới các máy DBMS, và kể

cả truy cập tới RAM của máy vật lý Với sự gia tăng trong việc thống nhất cơ

sở dữ liệu bên trong các trung tậm dữ liệu doanh nghiệp, lưu trữ các cơ sở dữ liệu trên cơ sở hạ tầng điện toán đám mây công cộng, và sử dụng các DBA của bên thứ ba, mối đe dọa này đang ngày càng trở nên quan trọng

Hình 2.2 Mối đe dọa các DBA đánh cắp dữ liệu

Tiếp cận CryptDB nhằm mục đích bảo vệ tính bí mật của dữ liệu chống

lại mối đe dọa này bằng cách thực thi các truy vấn SQL trên dữ liệu mã hóa trên DBMS server Proxy sử dụng các key bí mật để mã hóa toàn bộ dữ liệu được thêm vào hoặc được bao gồm trong các truy vấn được sinh ra cho DBMS Hướng tiếp cận là cho phép DBMS server thực hiện việc xử lý truy vấn trên dữ liệu mã hóa như là nó thực hiện trên một cơ sở dữ liệu không mã

Trang 38

29

hóa bằng cách cho phép nó tính toán các hàm nhất định trên các mục dữ liệu dựa trên dữ liệu mã hóa Ví dụ, nếu DBMS cần thực hiện một GROUP BY trên cột c, máy chủ DBMS sẽ có thể xác định những mục nào trong cột đó là bằng nhau với mỗi mục khác, nhưng đó không phải nội dung thực tế của mỗi mục đó Do đó, proxy cần phải làm cho máy chủ DBMS có thể xác định các mỗi quan hệ giữa dữ liệu cần thiết để xử lý một truy vấn Bằng cách sử dụng SQL-aware encryption điều chỉnh tự động các truy vấn được đưa ra, CryptDB cẩn thận xem xét những quan hệ nó tiết lộ giữa các bộ dữ liệu tới server Ví

dụ, nếu DBMS cần thực hiện chỉ một GROUP BY trên một cột c, máy chủ DBMS không được biết thứ tự của các mục trong cột c, cũng như không được biết bất kỳ thông tin nào khác về các cột khác Nếu DBMS được yêu cầu thực hiện một ORDER BY, hoặc tìm MAX hoặc MIN, CryptDB tiết lộ thứ tự của các mục trong cột đó, chứ không phải cột nào khác

Sự bảo đảm CryptDB cung cấp tính bí mật cho nội dung dữ liệu và cho

các tên của các cột và các bảng; CryptDB không che giấu cấu trúc bảng tổng thể, số hàng, các loại của các cột, hay kích thước của dữ liệu theo byte Sự an

toàn của CryptDB là không hoàn hảo: CryptDB tiết lộ cho DBMS server các mỗi quan hệ giữa các mục dữ liệu tương ứng với các lớp tính toán mà các

truy vấn thực hiện trên cơ sở dữ liệu, chẳng hạn như so sánh các mục có bằng nhau không, sắp xếp, hoặc thực hiện tìm kiếm từ Tính phân mảnh - Granularity (Granularity là mức độ mà một bộ dữ liệu hay thông tin lớn, phức tạp được chia ra thành các đơn vị nhỏ hơn) tại CryptDB nào cho phép DBMS thực hiện một lớp các tính toán là toàn bộ một cột (hoặc một nhóm của các cột được liên kết với nhau), có nghĩa là ngay cả khi một truy vấn yêu cầu các equality check cho một vài hàng, việc thực thi truy vấn đó trên server sẽ yêu cầu tiết lộ lớp tính toán đó cho cả một cột

CryptDB cung cấp các tính chất sau:

 Dữ liệu nhạy cảm không bao giờ tồn tại dưới dạng rõ trên DBMS server

 Thông tin bị lộ cho máy chủ DBMS phụ thuộc và các lớp tính toán được yêu cầu bởi các truy vấn của ứng dụng, tùy theo những ràng buộc

mà nhà phát triển ứng dụng chỉ ra trong lược đồ:

Trang 39

30

o Nếu ứng dụng không yêu cầu bộ lọc vị từ quan hệ (relational predicate filtering) trên một cột, không gì về nội dung dữ liệu bị

rò rỉ (trừ kích thước của nó tính theo byte)

o Nếu ứng dụng yêu cầu các equality check trên một cột, proxy của CryptDB để lộ các mục lặp lại trong cột đó (biểu đồ tần suất – the histogram), nhưng không phải là các giá trị thực tế

o Nếu ứng dụng yêu cầu các order check trên một cột, proxy sẽ để

lộ thư tự của các phần tử trong cột

 DBMS server không thể tính toán các kết quả (được mã hóa) cho các truy vấn liên quan đến các lớp tính toán mà không được ứng dụng yêu cầu

CryptDB “tối ưu” an ninh như thế nào? Về cơ bản, tối ưu an ninh đã đạt được bằng các nghiên cứu gần đây trong lý thuyết mật mã cho phép tính toán toàn trên dữ liệu mã hóa; tuy nhiên, những đề xuất như vậy không thực tế Ngược lại, CryptDB là hoàn toàn thiết thực, tất cả hoặc hầu như tất cả các trường nhạy cảm nhất trong các ứng dụng thử nghiệm được mã hóa với các lược đồ mã hóa bảo mật cao

2.2.3 Truy vấn trên dữ liệu mã hóa

Bây giờ ta sẽ tìm hiểu cách mà CryptDB thực thi các truy vấn SQL trên

dữ liệu mã hóa nhằm chống lại mối đe dọa từ các DBA xấu của bên thứ ba Các máy DMBS và những người quản trị không đáng tin cậy, nhưng ứng dụng và proxy là tin cậy

CryptDB cho phép máy chủ DBMS thực thi các truy vấn SQL trên dữ liệu

mã hóa gần như giống với nó được thực thi cùng các truy vấn trên dữ liệu rõ Các ứng dụng có sẵn không cần thiết thay đổi Cách tiến hành truy vấn của DMBS cho truy vấn mã hóa thường giống như đối với các truy vấn nguyên gốc, ngoại trừ các toán tử bao gồm truy vấn, chẳng hạn như lựa chọn (selections), phép chiếu (projections), kết hợp (joins), tập hợp (aggregates),

và xếp thứ tự (ordering), được thực hiện trên bản mã, và sử dụng các toán tử sửa đổi trong một số trường hợp

Proxy của CryptDB lưu trữ một secret master key MK, lược đồ cơ sở dữ

liệu, và các lớp (layers) mã hóa hiện tại của tất cả các cột Máy chủ DBMS

Trang 40

31

server chỉ thấy một lược đồ ẩn danh (với tên bảng và tên cột nào được thay thế bởi các định danh hoàn toàn vô nghĩa), dữ liệu người dùng mã hóa, và một vài bảng phụ được CryptDB sử dụng CryptDB cũng trang bị cho máy chủ với các chức năng người dùng định nghĩa cụ thể cho phép máy chủ tính toán trên các bản mã cho các phép toán nhất định

Việc xử lý một truy vấn trong CryptDB gồm 4 bước:

 Ứng dụng sinh ra một truy vấn, proxy chặn lại và viết lại: để bảo vệ danh tính của các bảng và cột, nó ẩn danh mỗi tên bảng, tên cột, sử

dụng master key MK mã hóa mỗi hằng số (constant) trong truy vấn với

một lược đồ mã hóa phù hợp nhất cho phép toán mong muốn

 Proxy kiểm tra xem liệu máy chủ DBMS có được đưa các key để điều chỉnh các lớp mã hóa trước khi thực thi truy vấn, và nếu có, sinh ra một truy vấn UPDATE tại máy chủ DBMS để gọi một UDF để điều chỉnh lớp mã hóa của các cột thích thợp

 Proxy chuyển tiếp truy vấn được mã hóa đến máy chủ DBMS, nơi thực hiện nó sử dụng SQL tiêu chuẩn (đôi khi gọi UDFs cho các hàm tập hợp (aggregation) hoặc tìm kiếm từ khóa)

 DBMS server trả về kết quả truy vấn (được mã hóa), proxy sẽ giải mã

và trả về cho ứng dụng

2.2.3.1 Mã hóa trong CryptDB

Phần này mô tả các loại mã hóa mà CryptDB sử dụng Mỗi loại mã hóa sẽ được làm rõ đặc điểm an toàn, chức năng, và cách mà nó được thực hiện

Random (RND) RND cung cấp bảo mật tối đa trong CryptDB: an toàn

ngữ nghĩa dưới một tấn công lựa chọn bản rõ thích ứng - IND-CPA, hai giá trị bằng nhau được ánh xạ tới hai bản mã khác nhau Mặt khác, RND không cho phép bất cứ sự tính toán nào được thực hiện hiệu quả trên bản mã Một cấu trúc hiệu quả của RND là sử dụng mã hóa khối như AES hoặc Blowfish trong chế độ CBC với một vector khởi tạo ngẫu nhiên (IV) (hầu như sử dụng AES, ngoại trừ các giá trị nguyên, Blowfish được sử dụng với kích thước khối là 64 bit vì khối 128 bit của AES sẽ khiến cho bản mã dài hơn đáng kể) Lớp mã hóa này cho phép máy chủ thực hiện các truy vấn SELECT không có điều kiện

Ngày đăng: 27/04/2015, 15:53

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[2]. Raluca Ada Popa, Catherine M. S. Redfield, Nickolai Zeldovich, Hari Balakrishnan. CryptDB: Protecting Confidentiality with Encrypted Query Processing. In Proceedings of the 23rd ACM Symposium on Operating Systems Principles (SOSP), Cascais, Portugal, October 2011 Sách, tạp chí
Tiêu đề: CryptDB: Protecting Confidentiality with Encrypted Query Processing". In "Proceedings of the 23rd ACM Symposium on Operating Systems Principles (SOSP)
[3]. Carlo Curino, Evan P. C. Jones, Raluca Ada Popa, Nirmesh Malviya, Eugene Wu, Sam Madden, Hari Balakrishnan, Nickolai Zeldovich. Relational Cloud: A Database-as-a-Service for the Cloud. In Proceedings of the 5th Biennial Conference on Innovative Data Systems Research (CIDR 2011), Pacific Grove, CA, January 2011 Sách, tạp chí
Tiêu đề: Relational Cloud: A Database-as-a-Service for the Cloud". In "Proceedings of the 5th Biennial Conference on Innovative Data Systems Research (CIDR 2011)
[4]. Raluca Ada Popa, Frank H. Li, Nickolai Zeldovich. An Ideal-Security Protocol for Order-Preserving Encoding. In Proceedings of the 34th IEEE Symposium on Security and Privacy (IEEE S&P/Oakland), San Francisco, CA, May 2013 Sách, tạp chí
Tiêu đề: An Ideal-Security Protocol for Order-Preserving Encoding". In "Proceedings of the 34th IEEE Symposium on Security and Privacy (IEEE S&P/Oakland)
[5]. Stephen Tu, M. Frans Kaashoek, Samuel Madden, Nickolai Zeldovich. Processing Analytical Queries over Encrypted Data. In Proceedings of the 39th International Conference on Very Large Data Bases (VLDB), Riva del Garda, Italy, August 2013 Sách, tạp chí
Tiêu đề: Processing Analytical Queries over Encrypted Data". In "Proceedings of the 39th International Conference on Very Large Data Bases (VLDB)
[6]. Raluca Ada Popa, Nickolai Zeldovich. Cryptographic treatment of CryptDB's Adjustable Join. Technical Report MIT-CSAIL-TR-2012-006, Computer Science and Artificial Intelligence Laboratory, Cambridge, MA, March 2012 Sách, tạp chí
Tiêu đề: Cryptographic treatment of CryptDB's Adjustable Join
[8]. A. Boldyreva, N. Chenette, Y. Lee, and A. O‟Neill. Order preserving symmetric encryption. In Proceedings of the 28 th Annual International Conference on the Theory and Applications of Cryptographic Techniques (EUROCRYPT), Cologne, Germany, April 2009 Sách, tạp chí
Tiêu đề: Order preserving symmetric encryption
[9]. M. Cooney. IBM touts encryption innovation; new technology performs calculations on encrypted data without decrypting it. Computer World, June 2009 Sách, tạp chí
Tiêu đề: IBM touts encryption innovation; new technology performs calculations on encrypted data without decrypting it
[1]. Rajkumar Buyya, Christian Vecchiola, S. Thamarai Selvi. Masterting Cloud Computing – Foundations and Applications Programming Khác

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w