intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Luận văn Thạc sĩ Máy tính: Ứng dụng hồ sơ thông minh trong y tế học đường

Chia sẻ: _ _ | Ngày: | Loại File: PDF | Số trang:74

97
lượt xem
4
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Mục tiêu nghiên cứu của luận văn là xây dựng một mô hình ứng dụng của công nghệ Blockchain và Hợp đồng thông minh cho công tác báo cáo thống kê, điển hình là thống kê số liệu y tế trong trường học nhằm khắc phục những hạn chế trong công tác báo cáo thống kê y tế trong nhà trường hiện nay, đồng thời đảm bảo được các tiêu chí an toàn, bảo mật thông tin của các đơn vị. Mời các bạn cùng tham khảo!

Chủ đề:
Lưu

Nội dung Text: Luận văn Thạc sĩ Máy tính: Ứng dụng hồ sơ thông minh trong y tế học đường

  1. BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM THÀNH PHỐ HỒ CHÍ MINH Trần Sinh ỨNG DỤNG HỒ SƠ THÔNG MINH TRONG Y TẾ HỌC ĐƯỜNG LUẬN VĂN THẠC SĨ MÁY TÍNH Thành phố Hồ Chí Minh – 2018
  2. BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM THÀNH PHỐ HỒ CHÍ MINH Trần Sinh ỨNG DỤNG HỒ SƠ THÔNG MINH TRONG Y TẾ HỌC ĐƯỜNG Chuyên ngành: Khoa học máy tính Mã số: 8480101 LUẬN VĂN THẠC SĨ MÁY TÍNH NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS. NGUYỄN ĐÌNH THÚC Thành phố Hồ Chí Minh – 2018
  3. LỜI CAM ĐOAN Tôi xin cam đoan kết quả của đề tài: “Ứng dụng hồ sơ thông minh trong y tế học đường” là công trình nghiên cứu của riêng tôi và được sự hướng dẫn khoa học của PGS.TS. Nguyễn Đình Thúc. Kết quả nghiên cứu trong đề tài này chưa từng được công bố dưới bất kỳ hình thức nào trước đây. Những kết quả, hình ảnh minh họa phục vụ cho việc phân tích, nhận xét, đánh giá được chính tác giả thu thập từ các nguồn khác nhau có trích dẫn và chú thích rõ nguồn gốc trong phần tài liệu tham khảo. Nếu phát hiện có bất kỳ sự gian lận nào tôi xin hoàn toàn chịu trách nhiệm về nội dung luận văn của mình. Ngày 28 tháng 9 năm 2018 Tác giả luận văn Trần Sinh
  4. LỜI CÁM ƠN Tôi xin chân thành cám ơn quý thầy cô Khoa Công nghệ Thông tin, Trường Đại học Sư phạm Thành phố Hồ Chí Minh, đã tận tình giảng dạy, hướng dẫn tôi trong suốt quá trình học tập và nghiên cứu. Đặc biệt là sự hướng dẫn tận tình của PGS.TS. Nguyễn Đình Thúc, Khoa Công nghệ Thông tin, Trường Đại học Khoa học Tự nhiên Thành phố Hồ Chí Minh đã hướng dẫn, giúp tôi hoàn thành tốt đề tài. Qua đây, tôi xin gửi lời cảm ơn sâu sắc đến thầy. Cuối cùng, tôi xin gửi lời cảm ơn chân thành đến gia đình, bạn bè, đồng nghiệp đã giúp đỡ, động viên tôi trong suốt quá trình học tập, nghiên cứu và thực hiện đề tài. Tôi xin chân thành cám ơn! Ngày 28 tháng 9 năm 2018 Tác giả luận văn Trần Sinh
  5. MỤC LỤC Trang Lời cam đoan Lời cám ơn Mục lục Danh mục các hình vẽ, đồ thị MỞ ĐẦU ....................................................................................................... 1 Chương 1. TỔNG QUAN ............................................................................... 4 1.1. Mục đích và nội dung nghiên cứu ......................................................... 4 1.2. Mục tiêu của đề tài ................................................................................. 4 1.3. Giới hạn nghiên cứu của đề tài .............................................................. 4 1.4. Nội dung báo cáo ................................................................................... 5 Chương 2. CƠ SỞ LÝ THUYẾT ................................................................... 7 2.1. Mã hóa .................................................................................................... 7 2.1.1 Hàm Băm (Hash function) .............................................................. 8 2.1.2. Mã hóa bất đối xứng (Asymmetric cryptography) và mã hóa đối xứng (symmetric key cryptography)............................................... 9 2.1.3. Chữ ký điện tử (Digital signatures)............................................... 12 2.2. Công nghệ Blockchain ......................................................................... 13 2.2.1. Chuỗi khối (The Blockchain): ...................................................... 18 2.2.2. Cơ chế đồng thuận phân tán (decentralized consensus) ............... 21 2.2.3. Tính toán tin cậy (trusted computing) ........................................... 29 2.3. Hợp đồng thông minh (smart contracts) .............................................. 31 2.3.1. Hợp đồng thông minh là gì ? ........................................................ 31 2.3.2. Ví dụ Hợp đồng thông minh ......................................................... 35 2.3.3. Ứng dụng của Smart Contract....................................................... 38 2.3.4. Các ưu điểm của Smart Contract .................................................. 41 2.4. Bitcoin .................................................................................................. 42 2.4.1. Bitcoin là gì? ................................................................................. 42 2.4.2. Cách thức hoạt động của Bitcoin .................................................. 43 2.5. Smart Contracts and Ethereum .......................................................... 47
  6. Chương 3. THIẾT KẾ ỨNG DỤNG THỐNG KÊ SỐ LIỆU TRONG Y TẾ HỌC ĐƯỜNG ..................................................................... 49 3.1. Yêu cầu của người dùng....................................................................... 49 3.2. Kịch bản chương trình.......................................................................... 50 3.3. Cách lưu trữ và truy xuất dữ liệu trên hệ thống ................................... 52 3.4. Thiết kế chương trình ........................................................................... 53 3.4.1. Các thành phần hỗ trợ ................................................................... 53 3.4.2. Khởi tạo hệ thống .......................................................................... 53 3.4.3. Minh họa thực hiện giao dịch trên Ethereum................................ 56 3.4.4. Minh họa thực hiện báo cáo thống kê ........................................... 58 Chương 4. KẾT LUẬN ................................................................................. 64 TÀI LIỆU THAM KHẢO ............................................................................ 66
  7. DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ Hình 1.1. Mẫu báo cáo thống kê Excel trực tuyến trên Google docs. .......... 1 Hình 1.2. Báo cáo thống kê y tế trên Google biểu mẫu ................................ 2 Hình 2.1. Public key Encryption [3] ........................................................... 10 Hình 2.2. Man in the Middle Attack [3] ..................................................... 11 Hình 2.3. Digital signature [3] .................................................................... 12 Hình 2.4. Mô hình mạng Blockchain [9] .................................................... 14 Hình 2.5. Cách hoạt động của Block chain [9] ........................................... 15 Hình 2.6. Thực hiện một giao dịch trong trong hệ thống Block chain [9] . 16 Hình 2.7. Mô hình mạng phân tán [9]......................................................... 16 Hình 2.8. Mô hình xác thực giao dịch trong mạng Blockchain [9]. ........... 17 Hình 2.9. Phần thưởng khối dành cho các thợ đào [9]. .............................. 18 Hình 2.10. Mô tả cấu trúc Block [10]. .......................................................... 19 Hình 2.11. Cấu trúc của Block Header [10]. ................................................ 20 Hình 2.12. Mô tả nội dung thông tin của Block Header [10]. ...................... 20 Hình 2.13. Block với 1 phần giá trị băm của Block Header trước đó [10]. . 21 Hình 2.14. Minh họa khả năng bảo mật của của hệ thống Blockchain [11] 26 Hình 2.15. Mô hình tổng quát của Proof of Work và Proof of Stake [12]. .. 29 Hình 2.16. Mô hình hoạt động Hợp đồng thông minh [15]. ......................... 34 Hình 2.17. Sử dụng Hợp đồng thông minh trong giao dịch bất động sản [15]. 41 Hình 2.18. Cách thức hoạt động của 1 giao dịch Bitcoin [16]. .................... 45 Hình 3.1. Tổng quan chương trình thống kê y tế học đường...................... 50 Hình 3.2. Giao diện báo cáo của chương trình. .......................................... 51 Hình 3.3. Các đơn vị đăng nhập tài khoản để kết nối với hệ thống............ 51 Hình 3.4. Mô hình lưu trữ và truy xuất dữ liệu trên hệ thống. ................... 52 Hình 3.5. Giao diện các tài khoảng trong hệ thống Blockchain cục bộ. .... 54 Hình 3.6. Thông tin các Blocks trong chuỗi. .............................................. 54 Hình 3.7. Thông tin các giao dịch được xác nhận trên hệ thống. ............... 55 Hình 3.8. Thông tin chi tiết các sự kiện trên hệ thống................................ 55 Hình 3.9. Trạng thái khởi tạo của hệ thống. ............................................... 56 Hình 3.10. Giao diện tài khoản ví của người dùng. ...................................... 56 Hình 3.11. Giao diện tài khoản ví của người dùng. ...................................... 57 Hình 3.12. Hệ thống xác nhận giao dịch thành công. ................................... 57 Hình 3.13. Thông tin giao dịch được ghi nhận lại trên hệ thống. ................. 58 Hình 3.14. Hợp đồng thông minh được triển khai trên Blockchain. ............ 59 Hình 3.15. Thông tin giao dịch triển khai hợp đồng được ghi nhận trên hệ thống. ... 59 Hình 3.16. Cấu trúc các thư mục của pet-shop box [16]. ............................. 60 Hình 3.17. Kết nối trang web báo cáo với hệ thống Blockchain .................. 61 Hình 3.18. Màn hình lựa chọn báo cáo của các đơn vị................................. 62 Hình 3.19. Màn hình xác nhận hoàn thành báo cáo của các đơn vị. ............ 62 Hình 3.20. Truy xuất dữ liệu từ các biểu mẫu báo cáo số liệu trên web. ..... 63
  8. 1 MỞ ĐẦU Trong những năm qua được sự quan tâm chỉ đạo của Bộ Y tế; sự phối hợp tốt giữa Ngành Y tế và ngành Giáo dục các cấp ở địa phương; chương trình Y tế học đường đã được triển khai rộng rãi ở tất cả các cấp học(1). Một số bệnh tật, vấn đề y tế, sức khỏe của học sinh nhanh chóng được phát hiện và báo cáo cho Ngành y tế địa phương để có những hướng dẫn và xử lí kịp thời nhằm đảm bảo sức khỏe, môi trường học tập tốt nhất cho học sinh. Tuy nhiên, hiện nay công tác kiểm tra, thống kê y tế học đường chưa có một hệ thống báo cáo hoàn chỉnh gây nhiều khó khăn, hạn chế cho việc điều tra y tế. Hiện nay, thông thường các báo cáo được xây dựng dựa trên các ứng dụng web: Onedrive, Google doc(2),…; Một số mẫu, cách thức báo cáo được các cấp quản lý đang thực hiện: Hình 1.1. Mẫu báo cáo thống kê Excel trực tuyến trên Google docs (1) http://edu.hochiminhcity.gov.vn/thong-tu-cac-bo/thong-tu-lien-tich-quy-dinh-ve-cong-tac-y-te-truong- hoc-vbctmobile41197-54280.aspx (2) http://pgdquan11.hcm.edu.vn/y-te-truong-hoc/thong-ke-tinh-hinh-suc-khoe-hoc-sinh-dau-nam-hoc-2018- 2019-c44057-312127.aspx
  9. 2 Hình 1.2. Báo cáo thống kê y tế trên Google biểu mẫu Với các phương thức báo cáo như hiện nay, các đơn vị phải sử dụng các trình duyệt web để kết nối với hệ thống các máy chủ tương ứng để nhập dữ liệu do đó thường gặp một số vấn đề hạn chế như sau: 1. Dữ liệu của một đơn vị có thể bị điều chỉnh hoặc bị xóa hoàn toàn bởi một đơn vị khác. 2. Tất cả các đơn vị có thể dễ dàng thấy được dữ liệu của nhau. Do đó việc báo cáo số liệu các dịch bệnh tại các đơn vị không được chính xác, đặc biệt là các đơn vị ngoài công lập do tâm lý e ngại nguy cơ mất an toàn thông tin gây ảnh hưởng đến tâm lý phụ huynh học sinh cũng như các hoạt động trong nhà trường. 3. Dữ liệu tập trung tại một máy chủ, có nguy bị tấn công bởi virus hoặc các phần mềm gián điệp, hay do nguyên nhân chủ quan của người dùng, các tác động vật lý ảnh hưởng đến hoạt động của máy tính dẫn đến nguy cơ mất dữ liệu là tương đối cao. Do đó, luận văn này là nhằm nghiên cứu, tìm hiểu và ứng dụng một công nghệ lưu trữ dữ liệu mới là công nghệ Blockchain vào trong công việc báo cáo thống kê số liệu. Đây là một hệ thống cơ sở dữ liệu không thay đổi, được bảo
  10. 3 mật và dữ liệu phân tán. Kể từ khi Bitcoin(1), một ứng dụng tiêu biểu của công nghệ Blockchain phát triển trong năm 2009 thì các ứng dụng khác của công nghệ Blockchain cũng bắt đầu xuất hiện, Blockchain là một công nghệ độc lập, cùng với những tiến bộ khoa học máy tính gần đây được xem như là một phương pháp kiểm soát truy cập và loại bỏ sự tin cậy ở bên thứ ba khi giải quyết dữ liệu cá nhân. (1) Bitcoin là một loại tiền mã hóa, được phát minh bởi Satoshi Nakamoto dưới dạng phần mềm mã nguồn mở từ năm 2009. Bitcoin có thể được trao đổi trực tiếp bằng thiết bị kết nối Internet mà không cần thông qua một tổ chức tài chính trung gian nào.
  11. 4 CHƯƠNG 1. TỔNG QUAN 1.1. Mục đích và nội dung nghiên cứu Mục đích của đề tài là nghiên cứu các đặc điểm đặc trưng, nổi bật của công nghệ Block chain so với các cơ sở dữ liệu thông thường như: tính bảo mật, cơ chế đồng thuận, dữ liệu phân tán,… cùng với các ưu điểm của Hợp đồng thông minh (Smart contract) qua đó cho thấy công nghệ Blockchain và Hợp đồng thông minh có thể được sử dụng để chia sẻ và kiểm soát thông tin cá nhân giữa những người không nhất thiết phải tin tưởng lẫn nhau. Từ đó có thể ứng dụng một công nghệ lưu trữ dữ liệu mới đảm bảo an toàn, tiện lợi hơn trong công việc báo cáo thống kê số liệu phục vụ cho công tác quản lý. 1.2. Mục tiêu của đề tài Mục tiêu nghiên cứu của luận văn là xây dựng một mô hình ứng dụng của công nghệ Blockchain và Hợp đồng thông minh cho công tác báo cáo thống kê, điển hình là thống kê số liệu y tế trong trường học nhằm khắc phục những hạn chế trong công tác báo cáo thống kê y tế trong nhà trường hiện nay, đồng thời đảm bảo được các tiêu chí an toàn, bảo mật thông tin của các đơn vị, cụ thể: 1. Số liệu báo cáo của các đơn vị sẽ được đồng thuận xác nhận và không ai có thể sửa đổi, 2. Người báo cáo không thể thoái thoác trách nhiệm số liệu báo cáo của mình. 3. Số liệu sẽ được đảm bảo an toàn tuyệt đối, bởi tất cả người dùng trên mạng đều có một bản sao lưu dự phòng. 1.3. Giới hạn nghiên cứu của đề tài Nội dung luận văn tập trung nghiên cứu hai vấn đề chính, bao gồm: thứ nhất, nghiên cứu cấu trúc, cách thức hoạt động của một hệ thống Blockchain, quá trình thực hiện và xác nhận một giao dịch trên hệ thống. Đồng thời nghiên cứu các cơ chế đồng thuận, mã hóa dữ liệu trên chuỗi khối. Điển hình tiêu biểu
  12. 5 là Bitcoin. Sau khi trình bày các kiến thức nền tảng của Blockchain, báo cáo tiếp tục trình bày về Hồ sơ thông minh, các ứng dụng của Hồ sơ thông minh, cũng như cách tạo ra một Hồ sơ thông minh và triển khai trên hệ thống Blockchain. Phần thứ hai, báo cáo trình bày chi tiết cách thức xây dựng mô phỏng một hệ thống ứng dụng của Blockchain và Hợp đồng thông minh phục vụ cho công tác quản lý là thống kê số liệu y tế học đường. Do tập trung cho mục tiêu của báo cáo cũng như kết quả nghiên cứu ứng dụng của đề tài nên phần trình bày mô phỏng ứng dụng sẽ không đi sâu vào cách lập trình, thiết kế giao diện mà báo cáo chỉ tập trung trình bày cách thức xây dựng và triển khai hệ thống đến người dùng, mô phỏng quá trình hoạt động và kết quả thực hiện của hệ thống. 1.4. Nội dung báo cáo Theo mục tiêu nghiên cứu của đề tài thì bố cục của báo cáo được trình bày như sau: - Chương 1: trình bày vấn đề thực tế tại đơn vị, lý do chọn đề tài. Xác định mục tiêu đề tài, nội dung nghiên cứu và giới hạn của đề tài. - Chương 2: trình bày các kiến thức cơ bản, nền tảng nhằm cung cấp cơ sở toán học, các kỹ thuật mã hóa cơ bản được sử dụng trong Blockchain; tổng quan kiến trúc của công nghệ Blockchain, cách thức kiểm soát truy cập, lưu trữ dữ liệu của Blockchain; tổng quan về Hợp đồng thông minh cùng với các hệ thống tiêu biểu của Block chain như: Bitcon, Ethereum. - Chương 3: Phân tích và thiết kế ứng dụng phục vụ cho công tác báo cáo thống kê số liệu y tế học đường dựa trên nền tảng công nghệ Blockchain và Hợp đồng thông minh. Nội dung báo cáo trình bày chi tiết các bước xây dựng demo chương trình ứng dụng như: mô tả cách thức thực hiện một giao dịch truyền thống của hệ thống Blockchain, đó là giao dịch đồng tiền kỹ thuật số. Từ đó ứng dụng công nghệ của Blockchain và Hợp đồng thông minh vào trong công tác báo cáo thống kê y tế học đường. Báo cáo sẽ trình bày chi tiết cách
  13. 6 thức triển khai, xây dựng hệ thống và quá trình hệ thống xác thực giao dịch thực hiện thành công. - Tổng kết: kết luận, trình bày ưu điểm, nhược điểm của hệ thống và hướng phát triển đề tài.
  14. 7 CHƯƠNG 2. CƠ SỞ LÝ THUYẾT Trong phần này, chúng tôi sẽ giới thiệu ngắn gọn và giải thích một số khái niệm cơ bản về mật mã, công nghệ Blockchain và các khái niệm liên quan như hợp đồng thông minh. Sau đó chúng tôi sẽ trình bày một số ứng dụng, công nghệ phổ biến hiện nay được xây dựng dựa trên nền tảng Blockchain. 2.1. Mã hóa Mã hóa [1] cung cấp các kỹ thuật chuyển đổi dữ liệu khiến nó trở nên vô dụng đối với những người nhận không mong muốn. Có nghĩa là ngăn cản hai hành động cơ bản: trích xuất thông tin từ dữ liệu và thay đổi, chỉnh sửa làm sai lệch dữ liệu; đây được gọi là vấn đề bí mật và vấn đề tính toàn vẹn của dữ liệu. Ngoài ra, chúng ta có thể xét đến trường hợp một người gửi dữ liệu được mã hóa và gửi một thông báo rồi sau đó từ chối đã gửi nó. Có thể nói mã hóa giúp chúng ta ngăn ngừa và phát hiện các sự can thiệp, làm sai lệch thông tin hoặc không cho phép truy cập và sử dụng dữ liệu. Bảo mật thông tin hiện đại nghiên cứu hai dạng bài toán an toàn thông tin sau: - Bảo mật. - Chứng thực. Bảo mật nhằm ngăn cản không cho người lạ trích chọn thông tin từ các thông điệp được gửi trên các kênh truyền phổ biến (thường không an toàn). Chứng thực nhằm đảm bảo chỉ có người nhận đúng mới có thể đọc thông điệp, đồng thời cũng đảm bảo người gửi không thể phủ nhận thông điệp mình gửi. Có thể chia các hệ mã thành hai loại chính: - Hệ mã khóa bí mật (còn được gọi là hệ mã đối xứng) - Hệ mã khóa công khai (hay hệ mã không đối xứng). Với mục tiêu của báo cáo là tập trung làm rõ các kỹ thuật mã hóa cốt lõi của Blockchain cho nên những kỹ thuật mã hóa khá phổ biến trong thực tế
  15. 8 chúng tôi chỉ nhắc lại tư tưởng thuật toán, tính ứng dụng và kỹ thuật đó được sử dụng trong Blockchain như thế nào. Theo đó phần này sẽ trình bày một số kỹ thuật mã hóa căn bản sau: Hàm băm; Mã hóa đối xứng và Mã hóa bất đối xứng. 2.1.1 Hàm Băm (Hash function) Hàm băm [2] (Hash function) là một thuật toán lấy tham số đầu vào là dữ liệu có độ dài tùy ý và cho ra một chuỗi bit có chiều dài cố định, được gọi là hash value. Hash value luôn giống nhau với các dữ liệu đầu vào giống nhau. Một hash funtion là một ánh xạ từ tập hợp dữ liệu đầu vào (độ dài tùy ý) đến tập hợp các hash value, với đặc điểm là một sự khác biệt nhỏ trong dữ liệu đầu vào, sẽ tạo ra một khác biệt lớn trong kết quả đầu ra. Một yêu cầu chung là hash function phải tính toán nhanh. Kích thước của tập hash value thường nhỏ hơn so với kích thước của tập dữ liệu đầu vào có cùng một giá trị hash value. Một hash function tốt cần phân phối các giá trị đầu vào đến các hash value tương ứng, sao cho mỗi hash value được liên kết gần như tương ứng với số lượng các giá trị đầu vào có thể có. Một cách để đạt được tỷ lệ này là làm cho các hash value có phân phối ngẫu nhiên. Lưu ý rằng mặc dù hash value ngẫu nhiên thì nó vẫn phải đảm bảo: với 1 đầu vào xác định thì hash value của nó luôn giống nhau. Blockchain sử dụng hàm băm mật mã [3] (crytography hash function) để thực hiện proof-of-work. Crytography hash function (còn gọi là secure hash function) bắt buộc phải bổ sung các yêu cầu chặt chẽ hơn so với các hash function bình thường: One-wayness (preimage resistence) - Tính 1 chiều (kháng tái tạo). Cho một hash value, nó phải đảm bảo không thể tính toán để tìm ra dữ liệu đầu vào. Rõ ràng, đây là một đặc điểm quan trọng để áp dụng cho proof-of- work.
  16. 9 Weak collision resistance - Kháng lại đụng độ yếu. Cho một giá trị đầu vào, không thể tìm được một giá trị đầu vào khác mà có cùng giá trị hash value. Strong collision resistance - Kháng lại đụng độ mạnh. Không thể tìm ra được 2 giá trị đầu vào nào mà cho ra cùng một giá trị hash value. Blockchain sử dụng SHA256^2 làm proof-of-work function. SHA256^2 là việc thực hiện hàm hash SHA256 2 lần. SHA256 là một hàm băm thuộc họ SHA-2 hash function được thiết kế bởi NSA và công bố bởi NIST vào năm 2001. SHA256 là hash function mà cho đầu ra có chiều dài 256 bits. 2.1.2. Mã hóa bất đối xứng (Asymmetric cryptography) và mã hóa đối xứng (symmetric key cryptography) Mã hóa bất đối xứng hay mã hóa công khai được phát triển từ những năm 1970 bởi Diffe, Hellman và Merkle. Mã hóa công khai được phát triển nhằm khắc phục điểm yếu quan trọng của hệ mã hóa khóa đối xứng trong việc trao đổi khóa bí mật (key distribution). Khi 2 người sử dụng mã hóa đối xứng, thì trước đó họ phải chia sẻ chung 1 khóa bí mật. Tức là họ phải chuyển khóa bí mật thông qua một kênh truyền an toàn trước khi sử dụng hệ thống mã hóa khóa đối xứng. Mạng internet là một kênh truyền không an toàn, khi các gói tin có thể bị nghe trộm, thậm chí có thể thay đổi trên đường truyền. Do đó, ta không thể tạo ra một kết nối an toàn mà chỉ dùng mã hóa khóa đối xứng. Mã hóa khóa công khai được phát triển để giải quyết vấn đề này. Tư tưởng của hệ mã hóa khóa đối xứng là đảm bảo an toàn với chỉ một khóa. Khóa này được dùng cho cả quá trình mã hóa và giải mã. Còn hệ mã hóa khóa công khai đảm bảo an toàn với một cặp khóa. Một khóa gọi là Public key, chỉ dùng để mã hóa gói tin, một khóa khác gọi là Private key, chỉ dùng để giải mã gói tin. Nhờ đó mà hệ mã hóa khóa công khai có thể được dùng để giải quyết vấn đề phân phối key. Một điểm quan trọng cần chú ý là chỉ có khóa
  17. 10 Private key là cần phải giữ bí mật còn khóa công khai Public key thì công bố công khai cho các đối tác có thể lấy nó để mã hóa gói tin trên đường truyền không an toàn. Cách thức hoạt động được mô tả qua hình 2.1. Đầu tiên, người nhận Receiver (Bob), nhận thông điệp đã mã hóa, tạo ra 1 cặp khóa Private key và Public key, bằng cách chạy thuật toán tạo khóa (Key Generation Algorithm) (1). Người nhận Receiver (Bob) gởi Public key đến người gởi Sender (Alice) và giữ lại khóa Private Key bí mật (2). Sau khi nhận được Public key từ Bob, Alice tiến hành mã hóa Message sử dụng Public key của Bob (3). Kết quả cho ra Message đã mã hóa Encrypted Message (ciphertext). Encrypted Message này được gởi đến Bob qua kênh truyền không an toàn (4). Kẻ tấn công có thể bắt được gói tin Encryted Message trên đường truyền nhưng anh ta không thể giải mã được gói tin này, chỉ có Bob, người sở hữu Private key tương ứng với Public key mới có thể giải mã Encrypted Message bằng thuật toán giải mã Decryption Algothrim (5), để lấy được Message. Sender Insecure Channel Receiver (Bob) 2 Key Generation Algorithm (Alice) Public Key Public Key Public Key 1 Encrypted Private Key Encryption 3 Message Algorithm 5 Decryption Algorithm 4 Message Message Hình 2.1. Public key Encryption [3]
  18. 11 Nhưng có 1 vấn đề với lược đồ mã hóa này, Public key được gởi trên đường truyền không an toàn. Điều này mở ra khả năng tấn công Man-in-the- Middle attack (MitM), khi kẻ tấn công (Trudy) kiểm soát đường truyền mạng được minh họa như hình 2.2. Kẻ tấn công Trudy đứng ở giữa kiểm soát kênh giao tiếp giữa Bob và Alice. Khi Bob bắt đầu gởi Public key của mình qua Alice, thì Trudy thay vì chuyển tiếp Public key của Bob đến Alice thì Trudy giữ lại Public key của Bob sau đó tự tạo ra 1 cặp khóa Private-Public key mới, rồi tiếp tục gởi Public key của Trudy đến Alice. Quá trình cứ tiếp diễn theo cách , đối với Alice thì Trudy hành xử giống như Bob, còn đối với Bob thì Trudy đóng vai trò như Alice. Từ đó, Trudy đứng giữa Alice và Bob giám sát các gói tin Message trao đổi giữa 2 bên. Khuyết điểm của hệ mã hóa khóa công khai mà kẻ tấn công Trudy lợi dụng là việc Alice không có cơ chế xác minh xem Public key mà mình nhận được thông qua kênh truyền không an toàn có đúng là của Bob hay không. . Hình 2.2. Man in the Middle Attack [3]
  19. 12 Để chống lại cách tấn công Man-in-the-Middle attack, người ta dùng hạ tầng khóa công khai Public Key Infrastructure (KPI). KPI giả định có một trung tâm xác thực đáng tin cậy gọi là Certificate Authority (CA). Bất kỳ ai cũng có một bản sao của CA Public key và một CA tin cậy. Mỗi người dùng tạo ra một cặp khóa Public-Private key và tạo lập CA với Public key. CA sẽ xác minh định danh của người dùng và ký lên Public key. Khi Alice muốn giao tiếp với Bob, Alice sẽ gởi Certificate đến Bob, để Bob kiểm tra Public key của Alice và chữ ký của CA lên nó có hợp lệ hay không. Bằng cách đó, thì Bob có thể biết được Public key mà mình nhận được có đúng là của Alice hay không. 2.1.3. Chữ ký điện tử (Digital signatures) Mục đích của chữ ký điện tử cũng giống như chữ ký tay, nhằm đảm bảo các gói tin được tạo ra bởi người ký, không bị giả mạo và chống thoái thác trách nhiệm. Nói cách khác, để đảm bảo rằng một người đã gửi một dữ liệu nào đó, nó cần phải được ký chữ ký số, bao gồm các ký tự được in cùng với một con dấu đặc biệt được ký bởi người gửi Chữ ký số là một phương pháp cho việc ký kết dữ liệu, thậm chí có thể chắc chắn hơn so với chữ ký tay, nó sẽ xác thực thông điệp đã gửi, đảm bảo rằng người gửi không thể từ chối việc gửi nó đồng thời cũng giúp đảm bảo nhận dạng được người gửi. Chúng ta cùng xem cách thức sử dụng chữ ký số như hình 2.3 sau: Hình 2.3. Digital signature [3]
  20. 13 Lược đồ trên trình bày quá trình sử dụng chữ ký điện tử. Đầu tiên, người ký Alice tạo ra một cặp khóa Private-Public key, sử dụng thuật toán tạo khóa (1). Alice truyền Public key đến Bob qua kênh truyền không an toàn (2). Tiếp theo, Alice dùng Private key của mình để ký lên Message (3). Cả Message và chữ ký Signature được chuyển đến người nhận là Bob (4). Chú ý là Message không mã hóa. Bob xác thực chữ ký Signature bằng Public key của Alice (5). Nếu việc xác minh cho ra kết quả là đúng thì Message mà Bob nhận được là bản gốc của Alice. Việc chống thoái thác trách nhiệm được thể hiện qua việc mỗi cặp khóa Private-Public key chỉ thuộc về duy nhất 1 người, tức là không có khả năng 2 người khác nhau lại sở hữu cùng 1 cặp Key giống nhau. Điều này được đảm bảo bằng không gian key rất lớn của hệ mã hóa khóa công khai, được thuật toán sinh khóa tạo ngẫu nhiên, không gian khóa lớn hơn rất nhiều so với tập người dùng, nên xác suất tạo ra các cặp key giống nhau là rất nhỏ. Cho nên việc Alice đã dùng Private key ký lên Message thì không thể chối rằng Private key tương ứng với Public key được công bố công khai không phải là của mình. 2.2. Công nghệ Blockchain Blockchain [4] là một cơ sở dữ liệu phân cấp lưu trữ thông tin trong các khối thông tin được liên kết với nhau bằng mã hóa và mở rộng theo thời gian. Mỗi khối thông tin đều chứa thông tin về thời gian khởi tạo và được liên kết tới khối trước đó, kèm một mã thời gian và dữ liệu giao dịch. Blockchain được thiết kế để chống lại việc thay đổi của dữ liệu: Một khi dữ liệu đã được mạng lưới chấp nhận thì sẽ không có cách nào thay đổi được nó. Blockchain đầu tiên được phát minh và thiết kế bới Satoshi Nakamoto vào năm 2008 và được hiện thực hóa vào một năm sau đó , nó được xem là phần cốt lõi của Bitcoin, khi công nghệ Blockchain đóng vai trò như là một cuốn sổ cái cho tất cả các giao dịch. Qua việc sử dụng mạng lưới ngang hàng và một hệ thống dữ liệu phân cấp, Bitcoin Blockchain được quản lý tự động. Việc phát minh ra Blockchain
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2