Edit Content succesfully!
"; $sql="delete from books where book_id='$id'"; mysql_query($sql); // thực thi lệnh xóa sách echo "Books have been deleted!" - Chức tìm kiếm sách: Với chức này, ta tạo form cho người dùng nhập tên sách cần tìm kiếm Ứng dụng truy vấn tới sở liệu SELECT sách có tên ứng với giá trị cần tìm, sau hiển thị hình $sql="select * from books where title='$title'"; $query=mysql_query($sql); if($query){ if(mysql_num_rows($query) == 0){ echo "Not found"; }else{ // hiển thị kết tìm thấy } Kịch thử nghiệm: Với hệ thống trình bày trên, kịch thử nghiệm mô hình diễn sau: Đóng vai trò người dùng thông thường, ta sử dụng trình duyệt web (như Mozila Firefox chẳng hạn) để truy cập tới ứng dụng Web server Sau ta sử dụng chức ứng dụng nhằm truy xuất liệu cần thiết, ứng dụng thực thi yêu cầu trả kết Đóng vai trò người quản trị Database server, ta xem xét liệu người dùng lưu trữ sở liệu mà ta quản trị Thử nghiệm thành công kết từ Web server trả cho người dùng bình thường đọc người quản trị Database server đọc liệu lưu sở liệu liệu mã hóa hoàn toàn Lưu ý với việc truy vấn phải qua CryptDB trước tới Database server nên ta 67 dự đoán tốc độ đáp ứng yêu cầu ứng dụng chậm bình thường 3.2 Triển khai cài đặt thử nghiệm 3.2.1 Triển khai cài đặt Trên máy Web server: - Tiến hành cập nhật hệ điều hành Ubuntu với hai câu lệnh: ~$ sudo apt-get update ~$ sudo apt-get upgrade Hình 3.4 Cập nhật Ubuntu - Cài đặt gói phần mềm cần thiết tiến hành tải CryptDB: ~$ sudo apt-get install git ruby ~$ git clone –b public git://g.csail.mit.edu/cryptdb 68 Hình 3.5 Tải CryptDB máy - Tiếp theo ta di chuyển vào thư mục CryptDB vừa tải tiến hành chạy kịch cài đặt install.rb: ~$ cd cryptdb ~$ sudo./scripts/install.rb Hình 3.6 Chạy kịch cài đặt CryptDB - Với phiên cũ CryptDB, để cài đặt CryptDB ta phải tiến hành qua nhiều bước với nhiều câu lệnh phức tạp khó nhớ bao gồm cài đặt gần 20 gói phần mềm cần thiết, tiến hành tải CryptDB, compile mysql-proxy, build CryptDB MySQL,… Để thuận tiện cho người sử dụng cài đặt phần mềm, tác giả viết kịch cài đặt ngôn ngữ ruby Tất phải làm chạy kịch cài đặt kịch cài đặt 69 giúp ta thực tất công việc cần thiết để cài đặt thành công CryptDB Hình 3.7 Cài đặt CryptDB thành công - Cuối ta tiến hành cài đặt php apache để hoàn tất việc cài đặt thành phần cần thiết máy Web server: ~$ sudo apt-get install apache2 ~$ sudo apt-get install php5 libapache2-mod-php5 Trên máy Database server: Tương tự ta tiến hành cập nhật máy Web server cài thêm thành phần mysql-server: ~$ sudo apt-get update ~$ sudo apt-get upgrade ~$ sudo apt-get install mysql-server 3.2.2 Thử nghiệm mô hình Sau hoàn tất cài đặt thành phần mô hình thử nghiệm, tiến hành chép mã nguồn ứng dụng web vào thư mục /var/ww/ máy Web server, sau ta chạy CryptDB câu lệnh: /home/ws/cryptdb/bins/proxy-bin/bin/mysql-proxy plugins=proxy -event-threads=4 max-open-files=1024 proxy-luascript=$EDBDIR/mysqlproxy/wrapper.lua proxy-address=127.0.0.1:3307 proxy-backend-addresses=192.168.1.128:3306 70 Hình 3.8 Chạy proxy Web server Từ phía Client, ta mở trình duyệt Firefox truy cập vào ứng dụng web lưu Web server thông qua URL: 192.168.1.128/ Hình 3.9 Truy cập ứng dụng web Lúc máy Databases server có địa ip 192.168.1.129 ta đăng nhập vào mysql tài khoản root xem sở liệu có 71 Hình 3.10 Đăng nhập vào mysql tài khoản root Từ máy Client, ta tiến hành tạo sở liệu để sử dụng cho ứng dụng web Sau chọn Create Setup/Reset, ứng dụng web tiến hành kết nối tới CryptDB tạo sở liệu “lvtn” bảng books sở liệu “lvtn” Lúc máy Web server ta thấy rõ hoạt động proxy Sau sở liệu tạo thành công, máy Database server ta thấy xuất sở liệu “lvtn” vài sở liệu CryptDB tạo để hỗ trợ hoạt động truy vấn sở liệu mã hóa Trong sở liệu “lvtn” Database server có bảng table_JFFTKKNVWQ, bảng bảng books CryptDB mã hóa lưu Database server với cấu trúc hoàn toàn khác với cấu trúc bảng books gốc 72 Hình 3.11 Tạo sở liệu ứng Hình 3.12 Hoạt động CryptDB dụng tạo sở liệu Hình 3.13 Cơ sở liệu lưu Database server Ta tiến hành tạo vài liệu thông qua chức Add Book ứng dụng web sử dụng vài chức khác ứng dụng Tất truy vấn ứng dụng sinh trình sử dụng CryptDB viết lại, mã hóa trước truy vấn tới sở liệu backend, điều ta hoàn toàn thấy rõ theo dõi hoạt động proxy máy Web server Còn liệu lưu Database server mã hóa hoàn toàn, người quản trị Database server đọc nội dung lưu trữ 73 Hình 3.14 Sử dụng vài chức ứng dụng web Hình 3.15 Hoạt động CryptDB Hình 3.16 Dữ liệu Database server mã hóa hoàn toàn 74 3.3 Đánh giá mô hình 3.3.1 Đánh giá chức Qua trình thử nghiệm, ta thấy chức hoạt động bình thường lỗi xảy thực truy vấn CryptDB hỗ trợ hầu hết truy vấn, chức ứng dụng thử nghiệm, ta phát triển nhiều chức phức tạp cho phù hợp với nhu cầu điều kiện thực tế ứng dụng Tuy nhiên, trình phát triển thử nghiệm, có số truy vấn không CryptDB hỗ trợ truy vấn trường nhạy cảm thực thao tác chuỗi (ví dụ chuyển đổi chữ thường) hay thao tác ngày tháng (ví dụ tính toán ngày, tháng năm giá trị ngày đươc mã hóa) chẳng hạn Theo theo dõi quy mô lớn sql.mit.edu [3] rằng, số 128,840 cột theo dõi, CryptDB có khả hỗ trợ truy vấn liệu mã hóa hầu hết tất cột, có 1,094 cột CryptDB không hỗ trợ Với tỷ lệ hỗ trợ tới 99% vậy, CryptDB có khả đáp ứng gần hầu hết truy vấn yêu cầu ứng dụng thông thường 3.3.2 Đánh giá độ bảo mật liệu Dữ liệu lưu máy chủ sở liệu hoàn toàn mã hóa thấy trình thử nghiệm Nhờ người quản trị sở liệu đọc liệu mà người dùng lưu trữ Điều quan tâm độ mạnh yếu lược đồ sử dụng để mã hóa liệu Như thảo luận từ trước, RND HOM lược đồ mạnh nhất, tiếp đến SEARCH, sau đến DET JOIN, cuối OPE lược đồ mã hóa yếu Tùy loại liệu cột mà lược đồ mã hóa sử dụng cho phù hợp để thực truy vấn liệu mã hóa Theo dõi sql.mit.edu rằng, khoảng 6.6% cột mã hóa OPE, cột khác (93%) mã hóa DET cao Trong số cột mã hóa OPE, 3.9% sử dụng mệnh đề ORDẺR BY với LIMIT, 3.7% 75 sử dụng so sánh không với mệnh đề WHERE 0.25% sử dụng phép toán tập hợp MIN MAX 3.3.4 Đánh giá hoạt động Xét mặt tốc độ ứng dụng, truy vấn phải qua CryptDB hoạt động viết lại truy vấn, điều chỉnh lớp mã hóa cột cho phù hợp với truy vấn, việc ứng dụng đáp ứng chậm bình thường điều dễ hiểu Trong viết gần CryptDB [3], phpBB (gói phần mềm dùng để xây dựng diễn đàn) đưa thử nghiệm, thông lượng (HTTP request/giây) 10 client song song đo lường đánh giá Từng client liên tục sinh yêu cầu để duyệt diễn đàn, viết đọc viết viết đọc thông điệp riêng tư Hình 3.16 cho ta thấy thông lượng phpBB ba cấu hình khác nhau: (1) kết nối tới máy chủ MySQL, (2) kết nối tới máy chủ MySQL qua MySQL proxy, (3) kết nối tới CryptDB Kết phpBB khoảng 14.5% thông lượng với cấu hình (3) so với cấu hình (1) Hình 3.17 cung cấp thông tin chi tiết tốc độ xử lý loại request phpBB, CryptDB thêm 7-18 ms (6-20%) thời gian xử lý cho request Hình 3.17 So sánh thông lượng phpBB DB MySQL CryptDB Login 60 ms 67ms R post 50 ms 60 ms W post 133 ms 151 ms R msg 61 ms 73 ms Bảng 3.2 Thời gian xử lý loại request W msg 237 ms 251 ms 76 Xét mặt lưu trữ liệu, CryptDB làm tăng lượng liệu lưu trữ DBMS, lưu trữ nhiều onion cho trường mã lớn rõ vài lược đồ mã hóa Với phpBB, kích thước sở liệu sử dụng hệ thống không mã hóa 2.6 MB cho khoảng 1,000 thông điệp riêng tư 1,000 viết tạo 10 người Cùng lượng vậy, CryptDB tạo 3.3 MB liệu, lớn khoảng 1.2 lần Tổng kết chương 3: Trong chương 3, luận văn trình bày cách mà CryptDB áp dụng thực tế để đảm bảo bí mật cho liệu lưu trữ sở liệu nhà cung cấp dịch vụ điện toán đám mây 77 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Sau thời gian tập trung nghiên cứu, luận văn hoàn thành yêu cầu đề tài đặt là: - DBaaS cung cấp dịch vụ sở liệu để ứng dụng triển khai đám mây Là dịch vụ lưu trữ liệu mã hóa - CryptDB phương pháp để đảm bảo an toàn cho sở liệu (mã hóa giải mã câu lệnh truy vấn đến dịch vụ sở liệu), proxy quản lý tất thông tin tới từ sở liệu - Hệ điều hành Ubuntu LTS 12.04.4 – 64 bit (bản Desktop Server) hoàn toàn triển khai mô hình dịch vụ liệu mã hóa điện toán đám mây - Khi triển khai mô hình đề xuất thực tế Khách hàng thuê dịch vụ máy chủ sở liệu để lưu trữ hoàn toàn yên tâm liệu bí mật Vì nhà cung cấp dịch vụ lưu trữ đọc mã Ưu điểm hạn chế luận văn Luận văn trình bày hệ thống kiến thức tổng quan điện toán đám mây Dịch vụ sở liệu DBaaS, CryptDB từ đề xuất mô hình bảo mật liệu điện toán đám mây Trên sở hệ thống kiến thức, luận văn cài đặt thử nghiệm mô hình phù hợp với yêu cầu đặt Tuy nhiên, hạn chế tài liệu nghiên cứu, điều kiện thực luận văn kiến thức nên bên cạnh mục tiêu đạt được, luận văn số điểm cần hoàn thiện hơn: - Chưa tìm hiểu sâu lược đồ mã hóa ứng dụng CryptDB - Ứng dụng thử nghiệm đơn giản, chưa khai thác hết tính mà CryptDB đem lại - Thử nghiệm mô hình giới hạn phạm vi môi trường máy ảo, chưa thể tiến hành thử nghiệm môi trường thực tế 78 Hướng phát triển luận văn: - Tiếp tục tìm hiểu thêm lược đồ mã hóa khác áp dụng cho mô hình - Tìm hiểu, nghiên cứu mã nguồn CryptDB để tối ưu chương trình, tìm cách giảm thiểu dung lượng liệu lưu trữ máy chủ sở liệu, tăng tốc độ xử lý yêu cầu cho ứng dụng - Phát triển ứng dụng để trở thành sản phẩm sử dụng thực tế - Triển khai thử nghiệm mô hình môi trường thực tế để đánh giá xác tính khả thi mô hình 79 TÀI LIỆU THAM KHẢO Tiếng việt [1] Phạm Duy Trung, Nguyễn Thị Thu Thủy, Học Viện Kỹ Thuật Mật Mã An toàn điện toán đám mây NXB Bộ Thông tin Truyền thông, 2013 Tiếng Anh [2] Rajkumar Buyya, Christian Vecchiola, S Thamarai Selvi Masterting Cloud Computing – Foundations and Applications Programming [3] 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 [4] 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 [5] S Halevi and P Rogaway A tweakable enciphering mode In Advances in Cryptology (CRYPTO), 2003 [6] A Boldyreva, N Chenette, Y Lee, and A O’Neill Order preserving symmetric encryption In Proceedings of the 28th Annual International Conference on the Theory and Applications of Cryptographic Techniques (EUROCRYPT), Cologne, Germany, April 2009 [7] M Cooney IBM touts encryption innovation; new technology performs calculations on encrypted data without decrypting it Computer World, June 2009 [8] P Paillier Public-key cryptosystems based on composite degree residuosity classes In Proceedings of the 18th Annual International Conference on the Theory and Applications of Cryptographic Techniques (EUROCRYPT), Prague, Czech Republic, May 1999 80 [9] D X Song, D Wagner, and A Perrig Practical techniques for searches on encrypted data In Proceedings of the 21st IEEE Symposium on Security and Privacy, Oakland, CA, May 2000 Internet [10] http://en.wikipedia.org/wiki ... trữ điện toán đám mây Mục tiêu nghiên cứu Luận văn nghiên cứu hệ thống lý thuyết liên quan đến mô hình kỹ thuật xử lý liệu mã hóa Trên sở áp dụng mô hình xử lý liệu mã hóa bảo mật liệu điện toán. .. lớn mà điện toán đám mây đem lại so với điện toán truyền thống số vấn đề bảo mật liệu gặp phải sử dụng dịch vụ điện toán đám mây Chương Mô hình xử lý liệu mã hóa bảo mật liệu điện toán đám mây Chương... vụ điện toán đám mây 4 CHƯƠNG 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 Giới thiệu chung điện toán đám mây Khái niệm điện toán đám mây xuất từ năm 1960