1.1 Tình hình nghiên cứu trên thế giới Khai thác dữ liệu bảo mật riêng tư Privacy Preserving Data Mining: Trong những năm gần đây, nhiều nghiên cứu về bảo mật riêng tư được tiến hành [8
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO
Trang 3Chủ tịch Hội đồng đánh giá LV
CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM
Cán bộ hướng dẫn khoa học : TS Cao Tùng Anh
Luận văn Thạc sĩ được bảo vệ tại Trường Đại học Công nghệ TP HCM ngày … tháng … năm 2016
Thành phần Hội đồng đánh giá Luận văn Thạc sĩ gồm:
3 TS Nguyễn Thị Thúy Loan Phản biện 2
Xác nhận của Chủ tịch Hội đồng đánh giá Luận sau khi Luận văn đã được sửa chữa (nếu có)
Trang 4NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ tên học viên: Nguyễn Thành Tín Giới tính: Nam
Ngày, tháng, năm sinh: 02/02/1984 Nơi sinh: TP Hồ Chí Minh
Chuyên ngành: Công nghệ thông tin MSHV: 1441860029
I- Tên đề tài:
BẢO TOÀN TÍNH RIÊNG TƯ CỦA NGƯỜI DÙNG TRONG MÔI TRƯỜNG
CƠ SỞ DỮ LIỆU LỚN
II- Nhiệm vụ và nội dung:
- Nghiên cứu khai thác với dữ liệu lớn
- Nghiên cứu các phương thức kỹ thuật bảo vệ tính riêng tư hiện có
- Nghiên cứu phương thức bảo đảm tính riêng tư của dữ liệu dựa trên hàm
Cosine
- So sánh phương thức được giới thiệu và các phương thức liên quan
- Xây dựng chương trình demo
- Tiến hành thu thập và đọc các tài liệu có liên quan đến đề tài
- Nghiên cứu tổng quan về dữ liệu lớn và các khái niệm có liên quan
- Tìm hiểu các kỹ thuật khai thác dữ liệu lớn bảo đảm tính riêng tư hiện có
để đánh giá các ưu, nhược điểm của từng thuật toán
- Nghiên cứu, tìm hiểu phương thức cải tiến bảo đảm tính riêng tư dựa trên
hàm cosine nhằm khắc phục các nhược điểm của các kỹ thuật đã có
Trang 5- Xây dựng chương trình demo và đánh giá kết quả đạt được
III- Ngày giao nhiệm vụ: 15/07/2015
IV- Ngày hoàn thành nhiệm vụ: 15/02/2016
V- Cán bộ hướng dẫn: TS Cao Tùng Anh
CÁN BỘ HƯỚNG DẪN KHOA QUẢN LÝ CHUYÊN NGÀNH
Trang 6
LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi Các số liệu, kết quả nêu trong luận văn là trung thực và chƣa từng đƣợc ai công bố trong bất kỳ công trình nào khác
Tôi xin cam đoan rằng mọi sự giúp đỡ cho việc thực hiện luận văn này đã đƣợc cảm ơn và các thông tin trích dẫn trong luận văn đã đƣợc chỉ rõ nguồn gốc
Học viên thực hiện luận văn
Nguyễn Thành Tín
Trang 7LỜI CÁM ƠN
Trước tiên, em gửi lời cám ơn chân thành đến thầy cô trường đại học Công Nghệ TP.HCM đã truyền đạt kiến thức, kinh nghiệm trong suốt quá trình em học tại trường
Em xin gửi lời cảm ơn sâu sắc đến TS Cao Tùng Anh Thầy đã tận tình
hướng hướng dẫn, chỉ bảo và giúp đỡ em trong suốt quá trình thực hiện luận văn
Em cũng xin gửi lời cám ơn đến các bạn học viên trong lớp cao học khoá 2014-2015 đã tạo điều kiện, chia sẻ những kiến thức để em có thể hoàn thành khoá học
Cuối cùng, em xin gửi lời cám ơn đến gia đình, người thân, bạn bè đã luôn động viên em trong quá trình học tập, cũng như thực hiện luận văn
TP Hồ Chí Minh, ngày tháng năm 2016
Học viên
Nguyễn Thành Tín
Trang 8TÓM TẮT
Trong những năm gần đây, công nghệ phát triển nhanh kéo theo sự phát triển nhanh của ngành công nghệ thông tin Công nghệ bán dẫn phát triển đã tạo ra nhiều đột phá, các phần cứng ngày càng rẻ hơn, các bộ xử lý và các thiết bị lưu trữ ngày càng lớn Bên cạnh đó với sự phát triển lớn mạnh của các công ty, tập đoàn đa quốc gia và sự phát triển mạnh của mạng xã hội dẫn đến dữ liệu lưu trữ phát triển theo cấp số nhân Một kỷ nguyên mới trong lĩnh vực công nghệ thông tin đã ra đời: kỷ nguyên khai thác dữ liệu lớn Đặc trưng dung lượng lớn, phát triển nhanh và đa dạng của dữ liệu lớn đã tạo ra nhiều thách thức trong việc khai thác Bên cạnh đó thách thức lớn hơn là phải bảo đảm tính riêng tư trong kỷ nguyên khai thác dữ liệu lớn
Trên thế giới đã có nhiều nghiên cứu về khai thác dữ liệu, và cũng có nhiều các nghiên cứu về khai thác dữ liệu lớn được tiến hành Tuy nhiên việc khai thác hiệu quả dữ liệu lớn nhưng vẫn bảo đảm tính riêng tư vẫn chưa được chú trọng
Tại Việt Nam, các nghiên cứu phát triển, các phương pháp khai thác dữ liệu được chú trọng, khai thác trên dữ liệu lớn cũng nhận được nhiều quan tâm Tuy nhiên khai thác hiệu quả dữ liệu lớn và bảo đảm tính riêng tư vẫn còn hạn chế Trong khai thác dữ liệu lớn, việc tính toán độ tương đồng Cosine được sử dụng nhiều Vì vậy việc giải quyết hiệu quả tính toán và bảo đảm tính riêng tư khi tính toán độ tương đồng Cosine sẽ cải thiện được hiệu quả trong khai thác dữ liệu lớn
Với những lý do trên, học viên đã chọn đề tài ―BẢO TOÀN TÍNH RIÊNG
TƯ CỦA NGƯỜI DÙNG TRONG MÔI TRƯỜNG CƠ SỞ DỮ LIỆU LỚN‖ để làm đề tài nghiên cứu của mình
Trang 9
In recent years, technology has developed rapidly, leading to the rapid development of information technology major Semiconductor technology development has created many breakthroughs, the hardware becomes cheaper, the processor and the storage devices were growing Besides, the strong growth of companies, multinational corporations and the social network makes the exponentially developement of data storage A new age of information technology was born - the big data mining age At the other sides, the more greater challenge is the privacy assurance of the big data mining area
There are many data mining researching projects in over the world, and also most of them are conducted However the privacy assurance of the effectively exploiting large data work has been less attention At the recently time in Vietnam, the data mining methods researching and developing projects also the large dara mining were being focused However, the privacy assurance of the effectively exploiting large data has been still less In large data mining, the Cosine similarities calculating is being used so much So, the effectively calculating solutions and privacy assurance in Cosine similarities calculating will improve efficiencies in large data mining
For these reasons, we choose the topic "THE USER'S PRIVACY SECURITY IN BIG DATABASE ENVIRONMENT" to do their research
Trang 10MỤC LỤC
LỜI CAM ĐOAN i
LỜI CÁM ƠN ii
TÓM TẮT iii
ABSTRACT iv
MỤC LỤC v
DANH MỤC CÁC TỪ VIẾT TẮT vii
DANH MỤC CÁC BẢNG viii
DANH MỤC CÁC BIỂU ĐỒ, ĐỒ THỊ, SƠ ĐỒ, HÌNH ẢNH ix
CHƯƠNG 1 ĐẶT VẤN ĐỀ 1
1.1 Tình hình nghiên cứu trên thế giới 2
1.2 Tình hình nghiên cứu trong nước 3
CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 5
2.1 Tổng quan dữ liệu lớn 5
2.1.1 Dung lượng 6
2.1.2 Tốc độ 6
2.1.3 Tính đa dạng 6
2.1.4 Giá trị 6
2.2 Khai thác dữ liệu lớn 6
2.2.1 Đặc tính của dữ liệu lớn HACE 7
2.2.1.1 Dữ liệu lớn không đồng nhất và đa chiều 7
2.2.1.2 Các nguồn dữ liệu độc lập và kiểm soát phân tán không tập trung 7
2.2.1.3 Phức tạp và bao hàm các mối quan hệ 8
2.2.2 Thách thức của khai thác dữ liệu với dữ liệu lớn 10
2.2.2.1 Lớp 1: nền tảng khai thác dữ liệu lớn 11
2.2.2.2 Lớp 2: ngữ nghĩa dữ liệu lớn và vùng kiến thức chuyên biệt của ứng dụng 12
2.2.2.3 Lớp 3: thuật toán khai thác dữ liệu lớn 14
2.3 Mã hoá dữ liệu 19
2.3.1 Mã hoá đối xứng căn bản 19
2.3.1.1 Mã hoá Ceasar 19
2.3.1.2 Mô hình mã hoá đối xứng 21
2.3.1.3 Mã hoán vị 23
2.3.2 Mã hoá đối xứng hiện đại 25
2.3.2.1 Mã dòng 27
2.3.2.2 Trao đổi khoá bí mật bằng trung tâm phân phối khoá 35
2.3.3 Mã hoá bất đối xứng 38
2.3.3.1 RSA 40
2.3.3.2 Độ an toàn của RSA 43
2.3.3.3 Bảo mật, chứng thực và không từ chối với mã hoá công khai 45
2.3.3.4 Trao đổi khoá 46
Trang 112.3.3.5 Phương pháp trao đổi khoá Diffie – Hellman 49
CHƯƠNG 3 PHƯƠNG THỨC CẢI TIẾN TÍNH TOÁN BẢO TOÀN TÍNH RIÊNG TƯ TRÊN DỮ LIỆU LỚN 52
3.1 Kiến trúc của phân tích dữ liệu lớn 52
3.2 Các kỹ thuật bảo vệ tính riêng tư phổ biến 53
3.3 Độ tương đồng Cosine 55
3.4 Phương thức đề xuất tính toán độ tương đồng Cosine bảo đảm sự riêng tư 56
3.5 Thực nghiệm 62
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 72
DANH MỤC TÀI LIỆU THAM KHẢO 74
Trang 12DANH MỤC CÁC TỪ VIẾT TẮT
Ký hiệu, viết tắt Ý nghĩa tiếng Anh Ý nghĩa tiếng Việt
Len Adleman
Tên viết tắt ba ký tự đầu của tên ba nhà khoa học
Họ đã đƣa ra hệ mật mã khoá công khai
Complex and Evolving
Đặc tính của dữ liệu lớn:
(Heterogeneous) không đồng nhất, (Autonomous) nguồn độc lập, (Complex and
Evolving) và có nhu cầu khai
thác mối quan hệ phức tạp và phát triển
3V, 4V Volume, Velocity, variety,
and Value
Các đặc trƣng của dữ liệu lớn: Dung lƣợng, Tốc độ,
Đa dạng và Giá trị
đoán hình ảnh bằng việc sử dụng tia x để tạo nên các bức ảnh về mặt cắt các bộ phận trên cơ thể
GPS Global Positioning System Hệ thống xác định vị trí
toàn cầu
Trang 13DANH MỤC CÁC BẢNG
Bảng 2-1 Thời gian vét cạn khoá theo kích thước khoá [5] 23 Bảng 2-2 Bảng liệt kê các mốc phá mã RSA [5] 44
Trang 14DANH MỤC CÁC BIỂU ĐỒ, ĐỒ THỊ, SƠ ĐỒ, HÌNH
ẢNH
Hình 2-1 Framework xử lý dữ liệu lớn[11] 9
Hình 2-2 Mô hình mã hoá đối xứng [5] 22
Hình 2-3 Mô hình mã dòng [5] 27
Hình 2-4 Mã hoá dòng A5/1 [5] 31
Hình 2-5 Trao đổi khoá bí mật dùng KDC [5] 37
Hình 2-6 Mô hình bảo mật với mã hoá khoá công khai [5] 45
Hình 2-7 Mô hình kết hợp bảo mật, chứng thực và không từ chối [5] 46
Hình 2-8 Trao đổi khoá công khai tự phát [5] 46
Hình 2-9 Trao đổi khoá công khai dùng trung tâm chứng thực [5] 48
Hình 2-10 Thiết lập khoá phiên bí mật bằng mã hoá khoá công khai [5] 49
Hình 2-11 Tấn công kẻ-đứng-giữa với phương pháp Diffie—Hellman [5] 50
Hình 2-12 Bảo vệ khoá bằng khoá Diffie-Hellman công khai [5] 51
Hình 3-1 Kiến trúc tổng quát của phân tích dữ liệu lớn [8] 52
Hình 3-2 Phương pháp tính độ tương đồng Cosine cải tiến 57
Hình 3-3 Giao diện shell của Python 3.5 64
Hình 3-4 Giao diện file code các thuật toán 65
Hình 3-5 File shell lấy kết quả thực nghiệm 66
Hình 3-6 File dữ liệu CSV kết quả thực nghiệm 67
Hình 3-7 File chương trình Excel tổng kết dữ liệu 68
Hình 3-8 File tổng kết kết quả các lần thực nghiệm 69
Hình 3-9 Biểu đồ so sánh thời gian tính toán độ tương đồng Cosine 70
Trang 15CHƯƠNG 1 ĐẶT VẤN ĐỀ
Trong những năm gần đây, sự bùng nổ công nghệ trong các lĩnh vực nói chung và trong lĩnh vực công nghệ thông tin nói riêng có những bước phát triển vượt bậc Các thiết bị công nghệ thông tin phát triển nhanh đến chóng mặt, đặc biệt
là thiết bị xử lý và lưu trữ Sự phát triển theo cấp số nhân của dữ liệu đã dẫn đến một kỷ nguyên mới của công nghệ thông tin: kỷ nguyên khai thác trên dữ liệu lớn Các lợi ích khai thác trên dữ liệu lớn đã rõ ràng, điển hình là việc khai thác dữ liệu lớn để dự đoán và tìm khu vực bùng nổ dịch cúm H1N1 của các kỹ sư Google vào năm 2009 [6] Trước đó hệ thống tìm kiếm Google đều lưu lại các từ khoá tìm kiếm, thông qua đó, các kỹ sư Google đã lấy dữ liệu bùng nổ dịch cúm mùa Đông theo vùng ở Mỹ từ cục y tế từ năm 2003 đến 2008, sau đó dùng các thuật toán so sánh với các câu truy vấn cùng thời gian đó của người dùng, họ đã tìm được mối liên hệ giữa các từ khoá truy vấn và sự bùng phát của dịch cúm mùa Đông ở Mỹ Từ đó các
kỹ sư Google có thể dự đoán được sự bùng nổ của dịch cúm H1N1 trong từng khu vực qua việc truy vấn bằng các từ khoá
Bên cạnh lợi ích của khai thác dữ liệu lớn, việc khai thác dữ liệu lớn cũng
phát sinh nhiều thách thức Điển hình là thách thức 3V (volume, velocity và variety)
các dữ liệu lớn sẽ rất lớn về số lượng (volume), dữ liệu tạo ra với tốc độ rất nhanh (velocity), và sự đa dạng các nguồn từ dữ liệu (variety) Nhiều nỗ lực nghiên cứu hiện tại đang xoay quanh các thách thức này Tuy nhiên, ngoài thách thức 3V, các nghiên cứu cũng hướng đến bảo toàn tính riêng tư cho người dùng Nếu như sự bảo toàn tính riêng tư cho người dùng không được giải quyết tốt thì khai thác dữ liệu lớn
sẽ gặp khó khăn trong quá trình phát triển Ví dụ trong lĩnh vực y khoa và chăm sóc sức khoẻ, hồ sơ của bệnh nhân rất có ích trong việc phân tích nhưng những hồ sơ này rất nhạy cảm, nó tiết lộ tình hình sức khoẻ của bệnh nhân, điều gì sẽ xảy ra nếu các nhà tuyển dụng có các thông tin về sức khoẻ của các ứng viên Do vậy các thông tin cần được bảo vệ tính riêng tư cho người dùng
Trang 16Bên cạnh các nghiên cứu về khai thác dữ liệu lớn, các biện pháp bảo đảm tính riêng tư của dữ liệu vẫn chưa được chú trọng Theo thống kê của một báo cáo [1] hầu hết các người sử dụng web quan tâm đến tính riêng tư, trong đó 17% tuyệt đối không cung cấp thông tin riêng, 56% cung cấp thông tin riêng tư nếu có biện pháp bảo vệ, 82% coi trọng chính sách bảo vệ tính riêng tư Như vậy đã đến lúc tính bảo mật riêng tư của người dùng cần được chú trọng Hiện tại, dữ liệu ở các công
ty, các tập đoàn cũng được xem là tài sản của công ty Trong thời đại của dữ liệu lớn, các công ty sẽ tận dụng khai thác trên dữ liệu để tìm ra các qui luật, xu hướng mới trong kinh doanh Bên cạnh đó, các dữ liệu cũng liên quan đến tính riêng tư của khách hàng, các công ty cũng phải ra sức bảo vệ tính riêng tư để không ảnh hưởng đến uy tín và sự phát triển Do nhu cầu phát triển, các công ty sẽ mở nhiều chi nhánh mỗi chi nhánh sẽ có nơi lưu trữ dữ liệu Các dữ liệu phát triển nhanh, việc truyền gửi dữ liệu giữa các chi nhánh cần các biện pháp bảo vệ như mã hoá Tuy nhiên việc này sẽ tốn thời gian, không đáp ứng yêu cầu khai thác trong dữ liệu lớn Chính vì vậy khi trao đổi dữ liệu giữa các nơi khác nhau, việc nghiên cứu các phương thức bảo vệ tính riêng tư của dữ liệu nhưng vẫn bảo đảm hiệu quả trong dữ liệu lớn là vô cùng quan trọng
1.1 Tình hình nghiên cứu trên thế giới
Khai thác dữ liệu bảo mật riêng tư (Privacy Preserving Data Mining): Trong những năm gần đây, nhiều nghiên cứu về bảo mật riêng tư được tiến hành [8], tuy nhiên các nghiên cứu chỉ đáp ứng được phân tích các cơ sở dữ liệu truyền thống mà không đáp ứng được bảo mật dữ liệu riêng tư trong cơ sở dữ liệu lớn Ta xét một vài
kỹ thuật hiện tại
Kỹ thuật bảo mật riêng tư tổng hợp (Privacy-preserving aggregation): được xây dựng trên một số dạng mã hoá đồng cấu (hormomorphic emcryption) [7] Đây
là dạng kỹ thuật thu thập dữ liệu phổ biến, dựa trên cơ sở mã hoá bất đối xứng với khoá công khai (public key) và khóa riêng (private key) Ví dụ khi muốn gửi dữ liệu, nơi cần gửi dữ liệu phải lấy khoá công khai của nơi dữ liệu được gửi đến, mã hoá
Trang 17dữ liệu đó bằng khoá công khai, sau đó gửi bảng đã mã hoá cho nơi cần gửi đến, nơi gửi đến sẽ giải mã bằng khoá riêng Như vậy sẽ bảo đảm được tính riêng tư Tuy nhiên trong môi trường cơ sở dữ liệu lớn, việc mã hoá và giải mã sẽ mất nhiều thời gian và tài nguyên để xử lý nên kỹ thuật bảo mật riêng tư tổng hợp không thích hợp
cho việc khai thác dữ liệu lớn
Kỹ thuật bảo mật dựa trên mã hoá dữ liệu (Operations over encrypted data):
kỹ thuật được sử dụng nhiều trong điện toán đám mây [8], các dữ liệu nhạy cảm, các từ khoá tìm kiếm từ người dùng đều được mã hoá và được lưu trữ trên máy chủ đám mây Người dùng sẽ nhận được dữ liệu mong muốn và vẫn được bảo đảm tính bảo mật riêng tư Tuy nhiên việc mã hoá và giải mã cũng sẽ mất thời gian và tài nguyên khi xử lý trên cơ sở dữ liệu lớn nên kỹ thuật này cũng còn nhiều hạn chế
trong việc khai thác dữ liệu lớn
Kỹ thuật xoá định danh (De-indentification): là kỹ thuật truyền thống cho việc khai thác dữ liệu lớn bảo đảm tính riêng tư [8] Kỹ thuật này được dùng trong trường hợp các tổ chức muốn chia sẽ dữ liệu nhưng tránh tiết lộ các thông tin có liên quan đến tính riêng tư Ví dụ trong lĩnh vực y khoa, các bệnh viện cần các nguồn dữ liệu để khai thác các thông tin sẽ tập hợp các hồ sơ bệnh án Do các hồ sơ bệnh án rất nhạy cảm vì có các thông tin cá nhân, các dữ liệu hồ sơ bệnh án sẽ được lược bỏ các thông tin cá nhân nhưng phải bảo đảm các dữ liệu đầy đủ các tính chất
để khai thác tốt Quá trình đó gọi là kỹ thuật xoá định danh trong khai thác dữ liệu lớn So với hai kỹ thuật trên, kỹ thuật xoá định danh có thể phân tích dữ liệu và khai thác hiệu quả linh hoạt hơn [8] Tuy nhiên trong môi trường dữ liệu lớn vẫn có một
kỹ thuật có thể định danh lại dữ liệu (Re-indentification) Vì thế kết quả là kỹ thuật xoá định danh vẫn chưa đáp ứng tốt cho việc bảo vệ riêng tư của dữ liệu lớn
1.2 Tình hình nghiên cứu trong nước
Luận văn Thạc sỹ của Nguyễn Thị Lập (2013) [3] đã nghiên cứu một số kỹ thuật bảo vệ tính riêng tư trong hệ thống dịch vụ dựa trên vị trí Luận văn cũng đã nghiên cứu một số biện pháp bảo vệ tính riêng tư của người dùng Nhưng chỉ
Trang 18nghiên cứu theo hệ thống dịch vụ dựa trên vị trí địa lý (Location Based Service) chứ không phải nghiên cứu trên môi trường cơ sở dữ liệu lớn
Luận văn Thạc sỹ của Nguyễn Tuấn Khanh (2012) [4] nghiên cứu về bảo mật trong điện toán đám mây Luận văn cũng đã nhắc đến bảo mật riêng tư về dữ liệu cho người dùng Tuy nhiên luận văn chỉ nhắc khái quát mà không đi sâu vào nghiên cứu bảo mật riêng tư
Seminar ―An Toàn Thông Tin‖ 2012 của Hà Quang Thuỵ (Khoa Công Nghệ Thông tin, Trường đại học Công Nghiệp, Đại Học Quốc Gia Hà Nội) [1] giới thiệu
về khai thác dữ liệu, bảo đảm tính riêng tư trong khai thác dữ liệu nhưng cũng không nghiên cứu sâu về bảo mật tính riêng tư trong cơ sở dữ liệu lớn
Luận văn được trình bày gồm 3 chương:
Chương 1: Đặt vấn đề, nêu khái quát về dữ liệu lớn, những lợi ích to lớn của khai thác dữ liệu lớn Bên cạnh đó cần thiết phải bảo vệ tính riêng tư của dữ liệu lớn Các công trình nghiên cứu bảo vệ tính riêng tư khi khai thác dữ liệu lớn trong và ngoài nước
Chương 2: Cơ sở lý thuyết, tìm hiểu về dữ liệu lớn, các kỹ thuật khai thác và
Trang 19CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 2.1 Tổng quan dữ liệu lớn
Ngày nay, sự phát triển của Internet đã làm thay đổi mạnh mẽ cách thức hoạt động của các tổ chức Các ứng dụng Web 2.0, mạng xã hội, điện toán đám mây đã một phần mang lại cho các tổ chức phương thức kinh doanh mới [2] Trong kỷ nguyên của IoT(Internet of Things), các cảm biến được nhúng vào trong các thiết bị
di động như điện thoại di động, ô tô và máy móc công nghiệp góp phần vào việc tạo
và chuyển dữ liệu, dẫn đến sự bùng nổ của dữ liệu có thể thu thập được Theo một báo cáo của trung tâm dữ liệu internet (Internal Data Center) năm 2011, lượng dữ liệu được tạo ra trên thế giới là 1.8ZB (1 zettabyte (ZB) = 240 gigabytes (GB) ~ 1.000.000.000.000 GB), tăng gần 9 lần chỉ trong 5 năm Dưới sự bùng nổ này, thuật ngữ dữ liệu lớn được sử dụng để chỉ những bộ dữ liệu khổng lồ, chủ yếu là những
bộ dữ liệu không có cấu trúc, được thu thập từ nhiều nguồn khác nhau
Với những tác động trong việc khám phá giá trị tiềm ẩn to lớn, dữ liệu lớn đang được xem là một yếu tố mới quan trọng mang lại lợi ích cho các tổ chức trong nhiều lĩnh vực khác nhau Trong một khảo sát của tổ chức Oracle Corp và Accenture PLC, 57% chuyên gia tài chính đánh giá đầu tư vào dữ liệu lớn sẽ là yếu
tố then chốt để đạt được lợi thế cạnh tranh Chính vì những lợi ích to lớn mà dữ liệu lớn có thể mang lại, nhiều tổ chức đã đầu tư mạnh vào việc nghiên cứu và ứng dụng vào dữ liệu lớn Theo một báo cáo từ Gartner, năm 2014, 73% tổ chức được khảo sát đã mua hoặc có ý định đầu tư vào các dự án dữ liệu lớn, con số này năm 2013 là 64%
Dữ liệu lớn là thuật ngữ dùng để mô tả các bộ dữ liệu có kích thước rất lớn, khả năng phát triển nhanh, và rất khó thu thập, lưu trữ, quản lý và phân tích với các công cụ thống kê hay ứng dụng cơ sở dữ liệu truyền thống Một số đặc trưng của dữ
liệu lớn bao gồm dung lượng (volume), tốc độ (velocity), tính đa dạng (variety), và giá trị (value)
Trang 202.1.1 Dung lượng
Dung lượng của dữ liệu lớn đang tăng lên mạnh mẽ từng ngày Theo tài liệu của Intel vào tháng 9/2013, cứ mỗi 11 giây 1 PB dữ liệu được tạo ra trên toàn thế giới, tương đương với một đoạn video HD (High Definition Video: phim ảnh với độ phân giải cao) dài 13 năm Facebook phải xử lý khoảng 500 TB dữ liệu mỗi ngày Lợi ích thu được từ việc xử lý một khối lượng lớn dữ liệu chính là điểm thu hút chủ yếu của dữ liệu lớn, tuy nhiên cũng đặt ra nhiều khó khăn trong việc tìm ra những phương pháp, kỹ thuật để xử lý khối lượng dữ liệu này
2.1.2 Tốc độ
Với sự ra đời của các kỹ thuật, công cụ, ứng dụng lưu trữ, nguồn dữ liệu liên tục được bổ sung với tốc độ nhanh chóng Tổ chức McKinsey Global ước tính lượng dữ liệu đang tăng trưởng với tốc độ 40%/năm và sẽ tăng 44 lần từ năm 2009 đến 2020
Trang 212.2.1 Đặc tính của dữ liệu lớn HACE
Dữ liệu lớn thường có đặc tính: dung lượng lớn, không đồng nhất
(Heterogeneous), nguồn độc lập (Autonomous) với kiểm soát phân tán và không tập trung và có nhu cầu khai thác mối quan hệ phức tạp và phát triển (Complex and Evolving) giữa các dữ liệu Những đặc tính này khiến việc khai thác thông tin hữu
ích từ dữ liệu lớn gặp nhiều khó khăn
2.2.1.1 Dữ liệu lớn không đồng nhất và đa chiều
Một trong những đặc tính cơ bản của dữ liệu lớn là dung lượng lớn được biểu diễn bởi số chiều đa dạng và không đồng nhất Điều này là do các bộ thu thập thông tin khác nhau sử dụng phương pháp riêng để ghi nhận dữ liệu và do bản chất khác nhau của các ứng dụng cũng dẫn đến sự biểu diễn dữ liệu khác nhau Ví dụ như trong lĩnh vực y - sinh học, mỗi cá thể có thể được biểu diễn bởi các thông tin nhân khẩu học như giới tính, tuổi, tiền sử bệnh tật gia đình… Trong điều trị X-ray và chụp CT, ảnh và phim được sử dụng để biểu diễn kết quả Trong các kiểm tra DNA hay gene, vi ảnh và chuỗi được sử dụng để biểu diễn thông tin về gene Các tình huống khác, đặc tính không đồng nhất có thể hiểu là cách thức biểu diễn khác nhau của cùng một dữ liệu Tưởng tượng rằng các tổ chức y tế khác nhau có các phương pháp khác nhau để thể hiện thông tin của bệnh nhân Sự không đồng nhất và đa dạng về số chiều đã trở thành một trong những khó khăn chủ yếu khi tích hợp dữ liệu từ nhiều nguồn thông tin khác nhau
2.2.1.2 Các nguồn dữ liệu độc lập và kiểm soát phân tán không tập trung
Dữ liệu độc lập và kiểm soát phân tán không tập trung là đặc tính chính của các ứng dụng dữ liệu lớn Khi mang đặc tính độc lập, mỗi nguồn dữ liệu có khả năng tạo và thu thập thông tin mà không dựa vào bất kì cơ chế kiểm soát tập trung nào Mặt khác, lượng thông tin khổng lồ cũng làm cho ứng dụng dễ dàng bị tấn công và các tính năng không còn đúng nếu toàn bộ hệ thống chỉ dựa trên một cơ chế kiểm soát tập trung Đối với những ứng dụng quan trọng liên quan đến dữ liệu lớn
Trang 22như Google, Flickr, Facebook, Walmart… thì rất nhiều các server được triển khai trên khắp thế giới để đảm bảo dịch vụ được liên tục và đáp ứng nhanh cho khu vực nội bộ Những nguồn thông tin dạng trên không chỉ là do giải pháp thiết kế kĩ thuật quy định mà còn là do luật pháp và quy định của từng đất nước, vùng miền Ví dụ như thị trường Walmart của châu Á hoàn toàn khác với thị trường Bắc Mĩ về khuyến mãi theo mùa, những sản phẩm bán chạy nhất và hành vi khách hàng Đặc biệt hơn nữa, luật của chính phủ cũng ảnh hưởng tới quy trình quản lý bán hàng toàn bộ và thậm chí ảnh hưởng tới biểu diễn dữ liệu và kho dữ liệu trong các thị trường
2.2.1.3 Phức tạp và bao hàm các mối quan hệ
Khi dung lượng dữ liệu lớn ngày càng gia tăng, độ phức tạp và các mối quan
hệ tiềm tàng trong dữ liệu cũng gia tăng Trong giai đoạn đầu, việc tìm ra đặc tính tốt nhất để biểu diễn hay đặc trưng cho các quan sát được là điểm mấu chốt Điều này tương tự như việc sử dụng nhiều trường dữ liệu như tuổi tác, giới tính, thu nhập, nền tảng giáo dục… để đặc trưng cho từng cá thể Kiểu biểu diễn đặc trưng cho mẫu dữ liệu này coi mỗi cá thể là thực thể độc lập và không xét tới mối quan hệ
xã hội giữa các cá nhân Các cá nhân hình thành mối quan hệ bạn bè thông qua sở thích chung hoặc hình thành quan hệ thông qua kết nối sinh học Những kết nối như vậy tồn tại trong cả đời sống thực và thế giới ảo như mạng xã hội Twitter, Facebook Mối tương quan giữa các cá thể này khiến việc biểu diễn dữ liệu và quá trình lý giải trở nên phức tạp hơn Trong cách biểu diễn đặc trưng của mẫu, các cá thể được cho là giống nhau nếu chúng có giá trị đặc tính tương tự nhau Còn trong cách biểu diễn mối quan hệ đặc trưng mẫu, hai cá thể được kết nối với nhau (thông qua kết nối xã hội) ngay cả khi chúng không có chung bất kì đặc tính trong cùng một vùng đặc tính nào đó Trong thế giới thực, các đặc trưng được dùng để biểu diễn các cá thể và các ràng buộc xã hội dùng để biểu diễn kết nối có thể liên hệ với nhau về mặt thời gian, không gian và các nhân tố khác Sự phức tạp này dần hiện hữu trong các ứng dụng dữ liệu lớn
Trang 23Chia sẻ thông tin và tính riêng tư của dữ liệu
ứng dụng và tri thức của dữ liệu lớn
Khai thác trên dữ liệu
Lớp 1 Lớp 2
Lớp 3
Trang 242.2.2 Thách thức của khai thác dữ liệu với dữ liệu lớn
Trong một hệ thống cơ sở dữ liệu học thông minh để giải quyết được vấn đề
dữ liệu lớn, điều cốt yếu là phân chia dung lượng dữ liệu lên mức lớn nhất và cung
cấp giải pháp cho các đặc tính đặc trưng bởi quy luật HACE Hình 2-1 thể hiện ở
góc độ lý thuyết của framework xử lí dữ liệu lớn, với ba riêng của lĩnh vực và ba lớp
Thách thức ở lớp 1: Dữ liệu lớn thường được chứa ở nhiều nơi khác nhau
và dung lượng dữ liệu có thể tăng liên tục Do vậy, cần phải có nền tảng tính toán hiệu quả để lấy các nguồn dữ liệu phân tán mức độ cao để đưa vào tính toán Ví dụ: các thuật toán khai thác dữ liệu tiêu biểu yêu cầu trước tiên tất cả các dữ liệu phải được tải lên bộ nhớ chính Đây rõ ràng là rào cản đối với dữ liệu lớn vì chi phí sẽ rất cao cho việc di chuyển dữ liệu từ nhiều vị trí khác nhau (do bởi chi phí giao tiếp mạng tập trung và chi phí thiết bị), mặc dù có thể bộ nhớ chính đủ lớn để chứa tất cả
dữ liệu cho tính toán
Thách thức ở lớp 2: thông tin ở lớp 2 có thể đem lại nhiều lợi ích cho quá
trình khai thác, cũng như tạo ra rào cản kĩ thuật đối với lớp 1 và 3 Ví dụ: tùy thuộc vào ứng dụng trong từng lĩnh vực, cơ chế chia sẻ thông tin và bảo mật dữ liệu giữa nguồn cung cấp và nơi sử dụng thông tin khá khác biệt nhau Chia sẻ dữ liệu hệ thống mạng lưới cảm ứng cho các ứng dụng như giám sát lưu lượng nước thường không bị ngăn cản nhưng chia sẻ thông tin về vị trí người sử dụng di động rõ ràng không được chấp nhận Ngoài những vấn đề về tính riêng tư bảo mật trên, các lĩnh vực của ứng dụng còn có thể cung cấp thêm thông tin nhằm hỗ trợ và hướng dẫn thiết kế cho các thuật toán khai thác dữ liệu Việc hiểu ngữ nghĩa và kiến thức chuyên ngành trong từng ứng dụng đều quan trọng trong cả việc truy cập dữ liệu ở cấp độ thấp và thiết kế thuật toán khai thác ở cấp độ cao
Thách thức ở lớp 3: lớp thứ 3 bao gồm ba giai đoạn Đầu tiên, dữ liệu đa
nguồn, không đầy đủ, không chắc chắn, không đồng nhất và không tập trung được tiền xử lí bởi các kĩ thuật liên hợp Sau đó, dữ liệu động và phức tạp tiếp tục được khai thác Cuối cùng, kiến thức chung đạt được bởi quá trình học nội bộ và phân rã
Trang 25mô hình được thí nghiệm và thông tin liên quan sẽ được phản hồi lại giai đoạn tiền
xử lý trước đó Mô hình và các tham số sẽ được điều chỉnh tùy thuộc vào phản hồi Trong toàn bộ quá trình, chia sẻ thông tin luôn được chú trọng
2.2.2.1 Lớp 1: nền tảng khai thác dữ liệu lớn
Trong các hệ thống khai thác dữ liệu tiêu biểu, quy trình khai thác đòi hỏi các đơn vị tính toán tập trung chuyên sâu để phân tích dữ liệu và so sánh Một nền tảng tính toán tốt cần phải có khả năng truy cập hữu hiệu tới ít nhất là hai nguồn tài nguyên: dữ liệu và bộ xử lí tính toán Đối với các tác vụ khai thác dữ liệu quy mô nhỏ, một máy tính để bàn có thể đáp ứng được Đối với các tác vụ khai thác dữ liệu quy mô trung bình, dữ liệu khá lớn, khả năng là phân tán và có thể vượt quá giới hạn của bộ nhớ Giải pháp thường dựa vào kĩ thuật tính toán song song hay khai thác thu thập để lấy mẫu và tích hợp dữ liệu từ nhiều nguồn khác nhau, sau đó sử dụng lập trình tính toán song song để tiến hành quá trình khai thác
Đối với dữ liệu lớn, bởi vì quy mô dữ liệu vượt xa so với khả năng mà một máy tính để bàn có thể, nên framework xử lí dữ liệu lớn tiêu biểu sẽ dựa trên các cụm máy tính có nền tảng tính toán hiệu suất cao Trong đó, tác vụ khai thác dữ liệu được triển khai bởi công cụ lập trình song song như MapReduce trên số lượng lớn các node tính toán Vai trò của phần mềm là đảm bảo rằng trong tác vụ khai thác dữ liệu đơn như tìm ra kết hợp tốt nhất của truy xuất từ cơ sở dữ liệu với hàng tỉ mẫu
dữ liệu Ví dụ như siêu máy tính Titan – triển khai tại phòng thí nghiệm quốc gia Oak Ridge ở Tennessee, Hoa Kì – chứa 18.688 node với mỗi node là bộ xử lý 16-core
Những hệ thống dữ liệu lớn mà kết hợp giữa phần cứng và phần mềm thường được hỗ trợ nhiều từ công nghiệp Trong thực tế, hàng chục năm nay, các công ty thường ra quyết định dựa vào dữ liệu giao dịch được lưu trữ trong cơ sở dữ liệu quan hệ Khai thác dữ liệu lớn mang lại cơ hội tận dụng quan hệ của cơ sở dữ liệu
và dữ liệu ít cấu trúc hơn: weblogs, truyền thông xã hội, thư điện tử, cảm ứng, hình ảnh có thể được khai thác để đem lại thông tin hữu ích Các công ty làm về lĩnh
Trang 26vực kinh doanh sản phẩm thông minh như IBM, Oracle, Teradata đều có những sản phẩm riêng của họ để giúp khách hàng khai thác và tổ chức các nguồn dữ liệu
đa dạng và kết hợp với những nguồn dữ liệu có sẵn của khách hàng để có cái nhìn mới và thu lợi được từ những thông tin ẩn giấu này
2.2.2.2 Lớp 2: ngữ nghĩa dữ liệu lớn và vùng kiến thức chuyên biệt của ứng
dụng
Ngữ nghĩa và kiến thức chuyên biệt của ứng dụng đề cập tới rất nhiều khía cạnh liên quan tới điều lệ, chính sách, kiến thức người dùng, và vùng thông tin Hai vấn đề quan trọng nhất trong lớp này bao gồm: (1) chia sẻ thông tin và bảo mật dữ liệu và (2) khu vực và kiến thức chuyên biệt của ứng dụng (1) Đưa ra câu trả lời để giải quyết các vấn đề như dữ liệu được duy trì, truy cập và chia sẻ như thế nào (2) Trả lời cho các câu hỏi như ―Điều gì tiềm tàng trong các ứng dụng?‖ và ―Kiến thức hoặc mẫu nào mà người sử dụng muốn khai thác từ dữ liệu?‖
Chia sẻ thông tin và bảo mật dữ liệu
Chia sẻ thông tin là mục tiêu xuyên suốt cho tất cả các hệ thống, liên quan tới nhiều tổ chức Động cơ để chia sẻ thông tin rất rõ ràng, nhưng các ứng dụng dữ liệu lớn trong thực tế lại liên quan tới những thông tin nhạy cảm như giao dịch ngân hàng, các bản ghi y khoa Do vậy, việc trao đổi các dữ liệu đơn giản hay các giao dịch không đáp ứng được mối quan tâm về bảo mật Ví dụ như biết vị trí và sở thích của từng cá nhân sẽ giúp ích cho việc cung cấp các dịch vụ dựa trên vị trí này, nhưng việc để lộ vị trí của một cá nhân nào đó theo thời gian mang lại nhiều hậu quả Để đảm bảo tính riêng tư, có hai cách tiếp cận vấn đề này Một là hạn chế quyền truy cập tới dữ liệu như là thêm xác thực hay kiểm soát việc truy xuất tới dữ liệu, do vậy chỉ có nhóm ít người được quyền truy cập tới thông tin nhạy cảm này Hai là vô danh hóa một số trường dữ liệu chứa thông tin nhạy cảm Trong cách tiếp cận đầu, khó khăn thường gặp phải là thiết kế chứng thực bảo mật hay cơ chế kiểm soát truy cập sao cho cá nhân mà chưa xác thực sẽ không được quyền truy cập dữ
Trang 27liệu Trong cách tiếp cận thứ hai, mục tiêu chính là làm cho dữ liệu mang tính ngẫu nhiên để đảm bảo một số mục tiêu về tính riêng tư của dữ liệu Ví dụ như trong phương pháp phổ biến nhất kỹ thuật bảo đảm riêng tư k ẩn danh (k-anonymity privacy measure) thì mục tiêu là mỗi cá thể trong cơ sở dữ liệu phải không nhận dạng được so với k-1 cá thể còn lại Các cách tiếp cận vô danh khác là sử dụng phương pháp nén, tổng quát hóa, xáo trộn và hoán vị để tạo thành phiên bản dữ liệu mới có chứa dữ liệu đã được xoá định danh
Một trong những lợi ích của hướng tiếp cận chia sẻ thông tin sử dụng việc vô danh hóa dữ liệu là có thể chia sẻ tự do dữ liệu giữa các tổ chức khác nhau mà không bị hạn chế bởi kiểm soát truy cập Quá trình này dẫn tới một lĩnh vực nghiên cứu khác với tên gọi khai thác dữ liệu bảo toàn tính riêng tư Trong phương pháp này, mỗi tổ chức sẽ có thể khai thác được dữ liệu mà không phải chia sẻ bất cứ thông tin nhạy cảm nào trong dữ liệu Trong thực tế, phương pháp này bao gồm 2 hướng tiếp cận: một là sử dụng các giao thức truyền thông như giao thức Yao (Yao 1986) để yêu cầu phân phối của toàn bộ dữ liệu hơn là yêu cầu giá trị thực tế của mỗi bản ghi Hai là thiết kế một vài phương pháp khai thác dữ liệu đặc biệt để có thể thu được kiến thức/ thông tin từ dữ liệu vô danh (phương pháp này khá tương tự như phương thức khai thác dữ liệu không chắc chắn)
Vùng và kiến thức chuyên biệt của ứng dụng
Vùng và kiến thức chuyên biệt của ứng dụng cung cấp thông tin hữu ích cho việc thiết kế hệ thống và thuật toán khai thác dữ liệu lớn Trong trường hợp đơn giản, vùng và kiến thức chuyên biệt có thể giúp xác định đặc trưng phù hợp để mô hình hóa cho các dữ liệu tiềm tàng (ví dụ như lượng đường trong máu là đặc trưng tốt hơn chỉ số cân nặng cơ thể trong việc chẩn đoán bệnh tiểu đường) Kiến thức chuyên biệt về ứng dụng và vùng có thể giúp các mục tiêu kinh doanh khả thi bằng cách sử dụng các kĩ thuật phân tích dữ liệu lớn Ví dụ như dữ liệu trong thị trường chứng khoán thường rất lớn, bao gồm thông tin về đấu giá, người mua cho mỗi bản ghi Thị trường liên tục bị ảnh hưởng bởi những nhân tố khác nhau như tin tức
Trang 28địa phương, quốc tế, báo cáo chính phủ, thiên tai Một trong những đề tài khá thú
vị trong khai thác dữ liệu lớn là thiết kế hệ thống khai thác dữ liệu lớn để dự đoán được hướng dịch chuyển của thị trường trong thời gian một hay hai phút tiếp theo Những hệ thống như vậy, ngay cả khi cho kết quả nhỉnh hơn một chút so với dự đoán ngẫu nhiên, đều có thể mang lại những giá trị kinh doanh lớn cho người phát triển Nếu không có kiến thức vùng đúng, rõ ràng là sẽ gặp khó khăn khi tìm ma trận hay phương thức đo nào đó để đặc trưng cho luồng dịch chuyển của thị trường Thường những kiến thức chuyên biệt này thì ngoài khả năng của các nhà khai thác
dữ liệu, mặc dù một số nghiên cứu gần đây cho thấy có thể dự đoán được khuynh hướng lên xuống của thị trường chứng khoán với độ chính xác khá cao khi sử dụng các dữ liệu của mạng xã hội như Twitter
2.2.2.3 Lớp 3: thuật toán khai thác dữ liệu lớn
Học cục bộ và phân rã mô hình cho nhiều nguồn thông tin
Khi các ứng dụng dữ liệu lớn được cung cấp với nguồn tự động và cơ chế kiểm soát không tập trung, việc tích hợp các nguồn dữ liệu phân tán lại để khai thác
là vấn đề không thể vì chi phí chuyển dịch cao và các quan tâm về tính riêng tư của
dữ liệu Mặt khác, chúng ta vẫn có thể tiến hành khai thác tại các site phân tán Và góc nhìn không chân thực về dữ liệu thu thập từ mỗi site khác nhau thường dẫn tới quyết định hay mô hình không chân thực Trong những trường hợp như vậy, hệ thống khai thác dữ liệu lớn phải cho phép trao đổi thông tin và cơ chế liên hợp để đảm bảo rằng tất cả các site phân tán (hay nguồn thông tin) có thể làm việc cùng nhau để đạt được mục tiêu tối ưu hóa toàn bộ Mô hình khai thác và mối tương quan
là bước đi chính để đảm bảo rằng các mô hình hay mẫu khám phá từ nhiều nguồn thông tin có thể được hợp nhất để đáp ứng được mục tiêu khai thác toàn cục Cụ thể hơn, khai thác toàn cục có thể được tiến hành thông qua 2 bước: khai thác cục bộ và tương quan toàn cục tại mức độ dữ liệu, mức độ mô hình và mức độ tri thức Tại mức độ dữ liệu, mỗi site nội bộ có thể tính toán thống kê về dữ liệu dựa trên nguồn
dữ liệu cục bộ và trao đổi thống kê giữa các site với nhau nhằm đạt được cái nhìn về
Trang 29phân phối dữ liệu toàn cục Tại cấp độ mô hình hay mẫu, mỗi site có thể thực thi các hoạt động khai thác cục bộ theo hướng chú trọng tới việc cục bộ hóa dữ liệu để khám phá ra các mẫu cục bộ Bằng cách thay đổi các mẫu giữa nhiều nguồn, các mẫu toàn cục mới có thể được tổng hợp bằng cách tích hợp mẫu của toàn bộ các site Ở mức độ tri thức, phân tích tương quan mô hình giúp khám phá ra được mối tương quan giữa các mô hình phát sinh từ những nguồn dữ liệu khác nhau để quyết định được rằng các nguồn dữ liệu tương quan như thế nào với nhau, và cách tạo ra những quyết định chính xác dựa trên mô hình xây dựng từ các nguồn vô danh
Khai thác từ dữ liệu không đầy đủ, không chắc chắn và mật độ rải rác
Dữ liệu không đầy đủ, không chắc chắn và mật độ rải rác tạo nên các đặc trưng cho ứng dụng dữ liệu lớn Do khá thưa thớt nên số lượng các điểm dữ liệu chưa đủ lớn để rút ra kết luận tin cậy Đây đơn thuần là sự phức tạp về vấn đề số lượng chiều, nơi mà dữ liệu trong không gian chiều rất lớn (hơn 1000 chiều), khiến việc thể hiện khuynh hướng và phân phối không được rõ ràng Đối với hầu hết đa số các thuật toán khai thác dữ liệu và máy học, việc dữ liệu thưa thớt trong không gian nhiều chiều tạo ra khó khăn và giảm tính tin cậy của mô hình trích xuất ra từ dữ liệu Các hướng tiếp cận thông thường là giảm số lượng chiều dữ liệu và chọn lựa đặc trưng Các hướng tiếp cận này nhằm giảm số lượng chiều dữ liệu hoặc cẩn thận thêm vào mẫu dữ liệu, như trong phương pháp học không giám sát trong khai thác
dữ liệu
Dữ liệu không chắc chắn là loại đặc biệt của dữ liệu thực mà các trường dữ liệu còn gắn với phân phối ngẫu nhiên hoặc lỗi nào đó Điều này thường là do ứng dụng có dữ liệu thu thập và đọc không chính xác Ví dụ như dữ liệu từ GPS thường không chắc chắn, là do rào cản kĩ thuật của thiết bị đã hạn chế độ chính xác của dữ liệu tới một mức độ cụ thể nào đó (chẳng hạn như một met) Kết quả là mỗi vị trí đo đạc sẽ được đặc trưng bởi giá trị trung bình cộng với phương sai để ám chỉ cho các lỗi thường gặp Đối với các ứng dụng liên quan tới tính riêng tư của dữ liệu, người dùng có thể chủ động chèn thêm vào lỗi hoặc ngẫu nhiên để đảm bảo cho tính vô
Trang 30danh của dữ liệu Điều này tương tự như việc một người sẽ khơng thoải mái khi cho bạn biết về chính xác thu nhập của mình mà thay vào đĩ cung cấp một khoảng ước lượng thơ như từ khoảng 120.000 đến 160.000 (USD) trong một năm Đối với dữ liệu khơng chắc chắn, thử thách chủ yếu là mỗi mẫu dữ liệu được đại diện bởi một
số phân phối mẫu dữ liệu chứ khơng phải giá trị đơn, do vậy các thuật tốn khai thác dữ liệu khơng thể áp dụng trực tiếp Các giải pháp thơng thường là chuyển phân phối dữ liệu thành các ước lượng tham số mơ hình Ví dụ như khai thác dữ liệu cĩ bao gồm lỗi sử dụng trung bình và phương sai cĩ xét đến từng mẫu dữ liệu đơn để xây dựng mơ hình Nạve Bayes cho việc phân lớp Các hướng tiếp cận khác cũng được ứng dụng cho cây quyết định hay truy vấn cơ sở dữ liệu
Dữ liệu khơng đầy đủ đề cập tới việc mất vài giá trị trường dữ liệu trong mẫu Các giá trị bị mất cĩ thể do nhiều nguyên nhân trong thực tế như sai lệch chức năng của một node cảm ứng, một vài chính sách hệ thống thiết lập cho việc bỏ qua vài giá trị nào đĩ Trong khi những thuật tốn khai thác dữ liệu hiện đại cĩ giải pháp tích hợp xử lí cho việc thiếu dữ liệu này (như là bỏ qua với những trường thiếu dữ liệu), việc nghiên cứu dữ liệu bị thiếu này và tìm cách cải thiện mơ hình (so với mơ hình được tạo ra từ dữ liệu ban đầu trước đĩ) cũng được tiến hành Nhiều phương pháp được tiến hành cho mục đích này, và hướng tiếp cận chủ yếu là điền giá trị phổ biến nhất trong những lần quan sát, hoặc xây dựng mơ hình học để dự đốn giá trị cĩ thể cĩ cho mỗi trường dữ liệu, dựa trên những giá trị quan sát được
Khai thác dữ liệu động và phức tạp
Ngành dữ liệu lớn phát triển rất nhanh cùng với sự phát triển rất nhanh của mức độ phức tạp và thay đổi về mặt dung lượng và bản chất của dữ liệu Dữ liệu trên các server www, Internet backbone, mạng xã hội và mạng truyền thơng, và mạng lưới giao thơng… ngày càng đa dạng và phức tạp Cấu trúc phức tạp bên dưới
dữ liệu tuy gây khĩ khăn cho hệ thống học nhưng cũng chỉ ra rằng việc biểu diễn dữ liệu đơn giản là khơng thể Ví dụ như các nhà nghiên cứu đã thành cơng trong việc
sử dụng Twitter để phát hiện được động đất và các hoạt động xã hội chủ yếu khác,
Trang 31với tốc độ gần như trực tiếp và độ chính xác cao Ngoài ra, kiến thức về việc tìm kiếm trên các bộ máy tìm kiếm của con người giúp tạo nên hệ thống cảnh báo sớm cho việc phát hiện ra dịch cúm lan rộng Việc tận dụng dữ liệu phức tạp là một thử thách chính yếu cho các ứng dụng dữ liệu lớn, bởi vì bất kì hai tổ chức nào trong hệ thống mạng phức tạp đều có khả năng quan tâm đến nhau thông qua kết nối xã hội Một kết nối như vậy có thể coi như là bậc 2 đối với số lượng node trong mạng, do vậy một triệu node mạng có thể kết nối với một nghìn tỉ kết nối Đối với mạng xã hội phạm vi lớn như Facebook, số lượng người dùng có thể xấp xỉ 1 tỉ khiến việc phân tích gặp trở ngại Nếu chúng ta quan tâm tới hành vi hoặc tương tác người dùng, mức độ phức tạp của dữ liệu sẽ ngày càng lớn hơn
Trước những thách thức trên, rất nhiều kĩ thuật khai thác dữ liệu nhằm tìm kiếm/trích lọc thông tin từ mối quan hệ phức tạp và sự biến đổi liên tục về dung lượng Ví dụ như tìm ra cộng đồng và theo sát mối quan hệ thay đổi này sẽ giúp ích rất nhiều cho việc hiểu và quản lý hệ thống phức tạp Việc khám phá ra phần nằm ngoài nhóm là bước đầu tiên để xác định thành phần spam và tạo ra môi trường mạng an toàn cho người dùng
Nếu chỉ đối mặt với lượng khổng lồ dữ liệu có cấu trúc, người dùng có thể giải quyết vấn đề trên đơn giản bằng cách mua thêm thiết bị lưu trữ hoặc cải thiện hiệu suất lưu trữ Tuy nhiên, độ phức tạp trong dữ liệu lớn được thể hiện theo nhiều khía cạnh, bao gồm loại dữ liệu không đồng nhất phức tạp, ngữ nghĩa phức tạp bao hàm bên trong, hệ thống mạng phức tạp… Có thể nói, giá trị của dữ liệu lớn nằm trong chính sự phức tạp của nó
Các loại dữ liệu không đồng nhất phức tạp: trong dữ liệu lớn, các loại dữ liệu bao gồm dữ liệu có cấu trúc, dữ liệu không cấu trúc, và dữ liệu bán cấu trúc… Đặc biệt, có cơ sở dữ liệu quan hệ, văn bản, siêu văn bản, ảnh, file âm thanh và hình ảnh… Mô hình dữ liệu đang tồn tại bao gồm cặp khóa-giá trị, các bản sao của bảng
dữ liệu lớn, cơ sở dữ liệu tài liệu, cơ sở dữ liệu biểu đồ Các mô hình dữ liệu truyền thống có khả năng xử lý được dữ liệu phức tạp trong ngữ cảnh của dữ liệu lớn Hiện tại, chưa có mô hình dữ liệu hiệu quả để xử lý dữ liệu lớn được công nhận
Trang 32Quan hệ ngữ nghĩa phức tạp trong dữ liệu: tin tức trên web, bình luận trên Twitter, ảnh trên Flickr, clips trên Youtube có thể cùng thảo luận về cùng một sự kiện trao giải nào đó cùng lúc Rõ ràng, có mối liên hệ ngữ nghĩa mạnh mẽ giữa các
dữ liệu này Khai thác quan hệ ngữ nghĩa phức tạp từ dữ liệu ―văn bản – ảnh – phim ảnh‖ sẽ giúp cải thiện hiệu suất hệ thống của ứng dụng như là công cụ tìm kiếm hay
là hệ tư vấn hỗ trợ ra quyết định Tuy nhiên, trong ngữ cảnh của dữ liệu lớn, sẽ là thách thức lớn trong việc mô tả hữu hiệu đặc trưng ngữ nghĩa và xây dựng mô hình tương quan ngữ nghĩa để làm cầu nối cho khoảng cách ngữ nghĩa của các nguồn dữ liệu không đồng nhất và đa dạng
Mối quan hệ của hệ thống mạng phức tạp trong dữ liệu: trên mạng Internet, các cá thể là các trang web và các trang kết nối với nhau thông qua siêu liên kết tạo nên một hệ thống mạng phức tạp Cũng có mối quan hệ giữa các cá thể xã hội để tạo nên một mạng xã hội phức tạp, như là mối quan hệ dữ liệu giữa Facebook, Twitter, LinkedIn và những mạng xã hội khác Đã bao gồm chi tiết các bản ghi cuộc gọi, thiết bị và thông tin cảm ứng, GPS và dữ liệu bản đồ địa lý được mã hoá, file ảnh lớn được truyền bằng giao thức quản lý FTP (Manage File Transfer protocol), dữ liệu dạng chữ trên Web và thông tin về dòng đường dẫn khi duyệt Web (click-stream), thông tin khoa học, email… Để giải quyết vấn đề này, các nghiên cứu đã bắt đầu để xác định được vấn đề về cấu trúc và tiến hóa, đám đông và tương tác, thông tin và truyền thông
Sự phát triển của dữ liệu lớn cũng đã khiến cho ngành kiến trúc máy tính phát triển với việc xử lí dữ liệu tập trung thực, như là dự án mã nguồn mở Apache Hadoop chạy trên cụm các node hiệu suất cao Độ phức tạp của dữ liệu lớn, bao gồm dao dịch và tương tác giữa các tập dữ liệu vượt quá khả năng kĩ thuật thông thường trong việc giữ, quản lí, và xử lí những dữ liệu này trong giới hạn chi phí và thời gian hợp lí Trong dữ liệu lớn, xử lý thời gian thực cho dữ liệu phức tạp là một thách thức đề ra
Trang 332.3 Mã hoá dữ liệu
Mật mã hay mã hóa dữ liệu (cryptography), là một công cụ cơ bản cần thiết của bảo mật thông tin Mật mã đáp ứng được các nhu cầu về tính bảo mật (confidentiality), tính chứng thực (authentication) và tính không từ chối (non-repudiation) của một hệ truyền tin Các hệ mật mã cổ điển tuy ngày nay ít được sử dụng, nhưng chúng thể hiện những nguyên lý cơ bản được ứng dụng trong mật mã
hiện đại Dựa trên nền tảng đó, sẽ tìm hiểu về mã hóa đối xứng và mã hóa bất đối
xứng [5,9,10], chúng đóng vai trò quan trọng trong mật mã hiện đại
2.3.1 Mã hoá đối xứng căn bản
Đây là phương pháp chủ yếu trong việc bảo đảm tính bảo mật (confidentiality) của một hệ truyền tin Đầu tiên sẽ tìm hiểu phương pháp mã hóa Ceasar và sau đó là mô hình tổng quát của phương pháp mã hóa đối xứng cùng một
(sau Z sẽ vòng lại là A, do đó x A, y B và z C)
Giả sử có văn bản gốc (bản rõ):
MEET ME AFTER THE TOGA PARTY
Như vậy văn bản mã hóa (bản mã):
PHHW PH DIWHU WKH WRJD SDUWB
Thay vì gửi trực tiếp bản rõ cho các cấp dưới, Ceasar gửi bản mã Khi cấp dưới nhận được bản mã, tiến hành giải mã theo quy trình ngược lại để có được bản
Trang 34rõ Vậy nếu đối thủ của Ceasar có lấy được bản mã, thì cũng không hiểu được ý
C = (p + k) mod 26 (trong đó mod là phép chia lấy số dư)
Và quá trình giải mã đơn giản là:
p = (C – k) mod 26
k được gọi là khóa Dĩ nhiên là Ceasar và cấp dưới phải cùng dùng chung
một giá trị khóa k, nếu không bản tin giải mã sẽ không giống bản rõ ban đầu
Ngày nay phương pháp mã hóa của Ceasar không được xem là an toàn Giả
sử đối thủ của Ceasar có được bản mã PHHW PH DIWHU WKH WRJD SDUWB
và biết được phương pháp mã hóa và giải mã là phép cộng trừ modulo 26 Đối thủ
có thể thử tất cả 25 trường hợp của k như sau:
KEY PHHW PH DIWHU WKH WRJD SDUWB
1 oggv og chvgt vjg vqic rctva
2 nffu nf bgufs uif uphb qbsuz
3 meet me after the toga party
4 ldds ld zesdq sgd snfz ozqsx
5 kccr kc ydrcp rfc rmey nyprw
6 jbbq jb xcqbo qeb qldx mxoqv
7 iaap ia wbpan pda pkcw lwnpu
8 hzzo hz vaozm ocz ojbv kvmot
9 gyyn gy uznyl nby niau julns
10 fxxm fx tymxk max mhzt itkmr
11 ewwl ew sxlwj lzw lgys hsjlq
12 dvvk dv rwkvi kyv kfxr grikp
Trang 3513 cuuj cu qvjuh jxu jewq fqhjo
14 btti bt puitg iwt idvp epgin
15 assh as othsf hvs hcuo dofhm
16 zrrg zr nsgre gur gbtn cnegl
17 yqqf yq mrfqd ftq fasm bmdfk
18 xppe xp lqepc esp ezrl alcej
19 wood wo kpdob dro dyqk zkbdi
20 vnnc vn jocna cqn cxpj yjach
21 ummb um inbmz bpm bwoi xizbg
22 tlla tl hmaly aol avnh whyaf
23 skkz sk glzkx znk zumg vgxze
24 rjjy rj fkyjw ymj ytlf ufwyd
25 qiix qi ejxiv xli xske tevxc
Trong 25 trường hợp trên, chỉ có trường hợp k = 3 thì bản giải mã tương ứng
là có ý nghĩa Do đó đối thủ có thể chắc chắn rằng ―meet me after the toga party‖ là bản rõ ban đầu
2.3.1.2 Mô hình mã hoá đối xứng
Phương pháp Ceasar là phương pháp mã hóa đơn giản nhất của mã hóa đối xứng (Symmetric Ciphers) Về mặt khái niệm, phương pháp mã hóa đối xứng tổng quát được biểu diễn bằng mô hình sau:
Trang 36Hình 2-2 Mô hình mã hoá đối xứng [5]
Mô hình trên gồm 5 yếu tố:
Bản rõ P (plaintext) Thuật toán mã hóa E (encrypt algorithm) Khóa bí mật K (secret key)
Bản mã C (ciphertext) Thuật toán giải mã D (decrypt algorithm)
Trong đó: C = E (P, K)
P = D (C, K)
Thuật toán mã hóa và giải mã sử dụng chung một khóa, thuật toán giải mã là
phép toán ngược của thuật toán mã hóa (trong mã hóa Ceasar, E là phép cộng còn D
là phép trừ) Vì vậy mô hình trên được gọi là phương pháp mã hóa đối xứng Bản
mã C được gửi đi trên kênh truyền Do bản mã C đã được biến đổi so với bản rõ P, cho nên những người thứ ba can thiệp vào kênh truyền để lấy được bản mã C, thì
không hiểu được ý nghĩa của bản mã
Một đặc tính quan trọng của mã hóa đối xứng là khóa phải được giữ bí mật giữa người gửi và người nhận, hay nói cách khác khóa phải được chuyển một cách
an toàn từ người gửi đến người nhận Có thể đặt ra câu hỏi là nếu đã có một kênh an toàn để chuyển khóa như vậy thì tại sao không dùng kênh đó để chuyển bản tin, tại
P K
K
Trang 37sao cần đến chuyện mã hóa? Câu trả lời là nội dung bản tin thì có thể rất dài, còn khóa thì thường là ngắn Ngoài ra một khóa còn có thể áp dụng để truyền tin nhiều lần Do đó nếu chỉ chuyển khóa trên kênh an toàn thì đỡ tốn kém chi phí
Đặc tính quan trọng thứ hai của một hệ mã hóa đối xứng là tính an toàn của
hệ mã Như đã thấy ở phần mã hóa Ceasar, từ một bản mã có thể dễ dàng suy ra được bản rõ ban đầu mà không cần biết khóa bí mật Hành động đi tìm bản rõ từ
bản mã mà không cần khóa như vậy được gọi là hành động phá mã (cryptanalysis)
Do đó một hệ mã hóa đối xứng được gọi là an toàn khi và chỉ khi nó không thể bị phá mã (điều kiện lý tưởng) hoặc thời gian phá mã là bất khả thi
Trong phương pháp Ceasar, lý do mà phương pháp này kém an toàn là ở chỗ
khóa k chỉ có 25 giá trị, do đó kẻ phá mã có thể thử được hết tất cả các trường hợp
của khóa rất nhanh chóng Phương pháp tấn công này được gọi là phương pháp vét cạn khóa (bruteforce attack) Chỉ cần nới rộng miền giá trị của khóa thì có thể tăng thời gian phá mã đến một mức độ được coi là bất khả thi Bảng dưới đây liệt kê một
số ví dụ về thời gian phá mã trung bình tương ứng với kích thước của khóa
Kích thước khoá
(bit)
Số lượng khoá Thời gian thực hiện
(tốc độ thử: 10 3 khoá/giây)
Thời gian thực hiện (tốc độ thử: 10 9 khoá/giây)
32 232 ~ 4,3 x 109 35,8 phút 2,15 mili giây
56 256 ~ 7,2 x 1016 1142 năm 10,01 giờ
128 2128 ~ 3,4 x 1038 5,5 x 1024 năm 5,4 x 1018 năm
168 2168 ~ 3,7 x 1050 5,9 x 1036 năm 5,9 x 1030 năm
Hoán vị 26 ký tự 26!~ 4 x 1026 6,4 x 1012 năm 6,4 x 106 năm
(tốc độ CPU hiện nay khoảng 3x109Hz, tuổi vũ trụ vào khoảng ≈ 1010năm)
Bảng 2-1 Thời gian vét cạn khoá theo kích thước khoá [5]
2.3.1.3 Mã hoán vị
Các phương pháp mã hóa đã trình bày cho đến thời điểm này sử dụng phương thức thay một chữ cái trong bản rõ bằng một chữ cái khác trong bản mã (phương pháp thay thế) Một cách thực hiện khác là xáo trộn thứ tự của các chữ cái trong bản rõ Do thứ tự của các chữ cái bị mất đi nên người đọc không thể hiểu được ý nghĩa của bản tin dù các chữ đó không thay đổi Một cách thực hiện đơn giản là ghi bản rõ theo từng hàng, sau đó kết xuất bản mã dựa trên các cột
Trang 38Ví dụ bản rõ "―attackpostponeduntilthisnoon‟ đƣợc viết lại thành bảng 4 x 7 nhƣ sau:
Trang 39Và cuối cùng bản mã là ―NTTCNASILOTOAODSTETIPPHUKNNO‟ Người ta đã đánh giá rằng phá mã phương pháp hoán vị hai lần không phải là chuyện dễ dàng vì rất khó đoán ra được quy luật hoán vị Ngoài ra không thể áp dụng được phương pháp phân tích tần suất chữ cái giống như phương pháp thay thế
vì tần suất chữ cái của bản rõ và bản mã là giống nhau
2.3.2 Mã hoá đối xứng hiện đại
Đối tượng của các phương pháp mã hóa cổ điển là các bản tin ngôn ngữ, một
đơn vị mã hóa là các chữ cái để áp dụng phương thức thay thế hay phương thức
hoán vị Cùng với sự phát triển của máy tính, thông tin ngày một trở nên đa dạng, một bản tin bây giờ không chỉ đơn giản là bản tin gồm các chữ cái, mà có thể gồm
cả các thông tin về định dạng văn bản như tài liệu HTML (HyperText Markup Language)… Ngoài ra bản tin có thế xuất hiện dưới các loại hình khác như hình ảnh, phim ảnh, âm thanh… Tất các bản tin đó đều được biểu diễn trên máy vi tính dưới dạng một dãy các số nhị phân Trong máy tính các chữ cái được biểu diễn bằng mã ASCII (American Standard Code for Information Interchange)
dù rằng bản mã bây giờ tồn tại dưới dạng nhị phân Mã hóa hiện đại quan tâm đến
vấn đề chống phá mã trong các trường hợp biết trước bản rõ (known-plaintext), hay
bản rõ được lựa chọn (chosen-plaintext)
Để minh họa cách thức thực hiện của mã hóa đối xứng hiện đại, chúng ta sử
dụng bản rõ là các chữ cái của một ngôn ngữ gồm có 8 chữ cái A, B, C, D, E, F, G,
H trong đó mỗi chữ cái được biểu diễn bằng 3 bit
Trang 40Khóa được lặp lại, điều này bộc lộ điểm yếu giống như mã hóa Vigenere [5] Để khắc phục điều này, người ta dùng một bộ sinh số ngẫu nhiên để tạo khóa dài, giả lập mã hóa One-Time pad [5] Đây là
cơ sở thực hiện của mã dòng [5]
Một khối được mã hóa bằng phép XOR với khóa Điều này không an
toàn vì chỉ cần biết một cặp khối bản rõ - bản mã (vd: 1111 và 1010),
người phá mã dễ dàng tính được khóa Để khắc phục điều này, người
ta tìm ra các phép mã hóa phức tạp hơn phép XOR và đây là cơ sở ra đời của mã khối [5]