Luận văn Thạc sĩ Công nghệ thông tin: Ứng dụng công nghệ Blockchain trong việc quản lý chứng chỉ đào tạo

pdf
Số trang Luận văn Thạc sĩ Công nghệ thông tin: Ứng dụng công nghệ Blockchain trong việc quản lý chứng chỉ đào tạo 45 Cỡ tệp Luận văn Thạc sĩ Công nghệ thông tin: Ứng dụng công nghệ Blockchain trong việc quản lý chứng chỉ đào tạo 2 MB Lượt tải Luận văn Thạc sĩ Công nghệ thông tin: Ứng dụng công nghệ Blockchain trong việc quản lý chứng chỉ đào tạo 9 Lượt đọc Luận văn Thạc sĩ Công nghệ thông tin: Ứng dụng công nghệ Blockchain trong việc quản lý chứng chỉ đào tạo 93
Đánh giá Luận văn Thạc sĩ Công nghệ thông tin: Ứng dụng công nghệ Blockchain trong việc quản lý chứng chỉ đào tạo
4.4 ( 7 lượt)
Nhấn vào bên dưới để tải tài liệu
Đang xem trước 10 trên tổng 45 trang, để tải xuống xem đầy đủ hãy nhấn vào bên trên
Chủ đề liên quan

Nội dung

LỜI CẢM ƠN Đầu tiên, tôi xin gửi lời cảm ơn chân thành tới thày Lê Phê Đô đã hướng dẫn và tạo điều kiện cho tôi hoàn thành khóa luận này. Tôi xin cảm ơn các thày cô trong khoa Công nghệ thông tin trường Đại học Công Nghệ - Đại học Quốc Gia Hà Nội, những người đã truyền đạt cho tôi những kiến thức quý báu trong suốt hai năm học vừa qua. Luận văn đã được hoàn thành với tất cả sự cố gắng của bản thân, nhưng vẫn không tránh khỏi những sai sót, hạn chế. Vì vậy, tôi rất mong nhận được những nhận xét, góp ý của các thày cô giáo và các bạn để đề tài này có thể được hoàn thiện hơn. Hà Nội, tháng 03/2019 Học viên Trần Tuấn Linh 1 MỤC LỤC LỜI CẢM ƠN ................................................................................................... 1 BẢNG CÁC TỪ VIẾT TẮT VÀ GIẢI THÍCH TỪ NGỮ............................... 4 DANH SÁCH HÌNH ẢNH ............................................................................... 5 LỜI NÓI ĐẦU .................................................................................................. 6 CHƯƠNG 1:TỔNG QUAN VỀ BLOCKCHAIN ............................................ 8 1.1. Mật mã học ........................................................................................... 8 1.1.1. Thuật ngữ cơ bản ............................................................................... 9 1.1.2. Hàm băm, mã hóa bất đối xứng ....................................................... 10 1.1.3. Chữ ký số ......................................................................................... 12 1.2. Công nghệ blockchain ........................................................................ 12 1.2.1. Bitcoin – nền tảng blockchain đầu tiên ........................................... 12 1.2.2. Các blockchain khác ........................................................................ 14 1.2.3. Smart contract và Ethereum ............................................................ 15 1.2.4. Thuật toán đồng thuận ..................................................................... 16 CHƯƠNG 2:MỘT SỐ MÔ HÌNH QUẢN LÝ CHỨNG CHỈ ....................... 19 2.1. Chứng chỉ là gì? .................................................................................. 19 2.2. Quy trình liên quan tới chứng chỉ....................................................... 19 2.3. Giới hạn của các mô hình quản lý chứng chỉ không sử dụng blockchain .................................................................................................... 20 2.3.1. Giới hạn của chứng chỉ giấy ............................................................ 20 2.3.2. Giới hạn của chứng chỉ số (không sử dụng công nghệ blockchain) 21 2.4. Mô hình quản lý chứng chỉ sử dụng blockchain ................................ 21 2.4.1. Người nhận chứng chỉ ..................................................................... 22 2.4.2. Đơn vị phát hành.............................................................................. 22 2.5. Một số dự án triển khai quản lý chứng chỉ sử dụng công nghệ blockchain .................................................................................................... 23 2.5.1. Blockcerts ........................................................................................ 23 2.5.2. BTCert ............................................................................................. 24 CHƯƠNG 3:MÔ HÌNH ÁP DỤNG VÀ THỰC NGHIỆM ........................... 26 3.1. Lựa chọn nền tảng triển khai .............................................................. 26 3.1.1. Giải pháp cấp chứng chỉ của Learning Machine trên nền tảng Blockcerts .................................................................................................... 26 2 3.1.2. Giải pháp Sony Global Education ................................................... 27 3.1.3. Các giải pháp khác ........................................................................... 27 3.1.4. Kết luận ............................................................................................ 28 3.2. Blockcerts ........................................................................................... 28 3.3. Yêu cầu của bài toán quản lý chứng chỉ ............................................. 29 3.4. Mô hình thử nghiệm ........................................................................... 30 3.5. Thực nghiệm ....................................................................................... 31 3.5.1. Tổng hợp yêu cầu cấp chứng chỉ ..................................................... 31 3.5.2. Tạo file chứng chỉ (module cert-tools) ............................................ 32 3.5.3. Phát hành chứng chỉ lên blockchain (module cert-issuer) .............. 36 3.5.4. Xác minh chứng chỉ trên blockchain (module cert-verifier) ........... 41 3.6. Kết luận............................................................................................... 44 3 BẢNG CÁC TỪ VIẾT TẮT VÀ GIẢI THÍCH TỪ NGỮ Từ viết tắt Từ đầy đủ Ý nghĩa Blockchain Chuỗi khối CV Curriculum Vitae Hồ sơ xin việc MIT Massachusetts Institute of Học viện công nghệ Technology Massachusetts Database Cơ sở dữ liệu Public key Khóa công khai Private key Khóa bí mật PoW Proof of Work Bằng chứng công việc PoS Proof of Stake Bằng chứng cổ phần UTXO Unspent transaction output Đầu ra của giao dịch chưa sử dụng EVM Ethereum Virtual Machine Máy ảo Ethereum Smart Contract Hợp đồng thông minh BFT – PoS Byzantine Fault Tolerance Mô hình bằng chứng công Proof of Stake việc BFT HTTP HyperText Transfer Protocol Bitcoin testnet Mạng lưới test dành cho các nhà phát triển Bitcoin 4 Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình DANH SÁCH HÌNH ẢNH 1: Phân loại các công cụ mã hóa ............................................................. 9 2: Chi tiết giao dịch ............................................................................... 14 3: Mô hình luồng đề xuất Blockcerts .................................................... 28 4: Mô hình thử nghiệm.......................................................................... 30 5: Tạo địa chỉ Bitcoin ............................................................................ 32 6: File yêu cầu cấp chứng chỉ roster_testnet_uet.csv ............................ 32 7: File cấu hình issuer-uet.json ............................................................. 35 8: Đầu ra của quá trình khởi tạo chứng chỉ ........................................... 36 9: Tạo Merkle root của lô chứng chỉ ..................................................... 37 10: Kiểm tra ContainerID...................................................................... 37 11: Đầu ra các chứng chỉ được phát hành ............................................. 41 12: Đầu ra chứng chỉ hợp lệ .................................................................. 42 13: Đầu ra chứng chỉ không hợp lệ ....................................................... 43 5 LỜI NÓI ĐẦU Hiện nay tại Việt Nam, khi người học hoàn thành một khóa đào tạo. Họ sẽ được nhà trường hoặc tổ chức đào tạo cấp cho mình một chứng chỉ bằng giấy thông qua những thông tin mà họ cung cấp trong quá trình nhập học. Sau đó, khi người học có nhu cầu cung cấp thông tin về việc mình đã hoàn thành khóa đào tạo thì chỉ có 2 cách hoặc là mang bản gốc để bên thứ ba kiểm tra, hoặc là photocopy lại bản gốc và đem đến các cơ sở được cơ quan có thẩm quyền công chứng để công chứng và đưa bản công chứng cho bên thứ ba kiểm tra. Có một số vấn đề gặp phải khi thực hiện quy trình trên:  Trong một số trường hợp người học mất chứng chỉ, nhà trường hoặc đơn vị đào tạo không thể cấp lại chứng chỉ cho họ do đã không còn phôi bằng cũ.  Xuất hiện một số rủi ro trong quá trình công chứng giấy tờ khi người học cố tình làm giả bản gốc để đi công chứng.  Gây rất nhiều khó khăn cho bên thứ ba (các nhà tuyển dụng, các đơn vị chủ quản, …) trong việc xác định chứng chỉ người học cung cấp có phải là thật hay không?  Việc cung cấp chứng chỉ giấy không hoàn toàn phù hợp trong thị trường lao động hiện tại. Khi mà có rất nhiều công cụ (ví dụ: vietnamworks, LinkedIn,…) hỗ trợ đưa sơ yếu lý lịch của ứng viên tới nhà tuyển dụng có nhu cầu nên cung cấp một chứng chỉ giấy không thể xác thực lên các công cụ nêu trên là không có nhiều ý nghĩa. Ngoài ra, theo số liệu thống kê của tổ chức Risk Advisory Group trong năm 2016 với 5500 mẫu CV thì có tới 63% thông tin về chứng chỉ đào tạo là không chính xác. Để giải quyết các vấn đề nêu trên thì cần một hệ thống có khả năng đáp ứng các yêu cầu về tính nhất quán, được bảo mật bằng các thuật toán mật mã học và phân tán. Năm 2008, Satoshi Nakomoto đã giới thiệu sách trắng về Bitcoin và công nghệ blockchain có thể giải quyết được được các vấn đề nêu trên. Mục đích của luận văn này là đề xuất mô hình ứng dụng công nghệ blockchain vào công tác quản lý chứng chỉ đào tạo tại Việt Nam. Mục tiêu nghiên cứu có thể chia nhỏ làm 03 câu hỏi nghiên cứu như sau:  Câu hỏi nghiên cứu thứ nhất: Hiện nay, chúng ta đang có những mô hình quản lý chứng chỉ trên thế giới? Để trả lời câu 6 hỏi này cần phải sử dụng phương pháp phân loại và hệ thống hóa lý thuyết, thực hiện tìm kiếm các báo cáo, thống kê về các nền tảng áp dụng công nghệ hiện nay trong việc quản lý chứng chỉ trên thế giới.  Câu hỏi nghiên cứu thứ hai: Công nghệ blockchain là gì? Các thành phần và cơ chế hoạt động như thế nào?  Câu hỏi nghiên cứu thứ ba: Ứng dụng Blockcerts vào quản lý chứng chỉ như thế nào? Luận văn chỉ nghiên cứu lý thuyết về các hệ thống quản lý chứng chỉ, công nghệ blockchain và áp dụng dự án Blockcerts của MIT Media Lab để thực hành. Luận văn thực hiện 3 công việc chính: o Tìm hiểu về thành phần, cơ chế hoạt động của blockchain. o Tìm hiểu một số mô hình đang được áp dụng trong quản lý chứng chỉ hiện tại trên thế giới. o Triển khai mô hình: Dựa vào dự án Blockcerts. Luận văn được chia làm 3 chương  Chương 1: Tổng quan về Blockchain  Chương 2: Một số mô hình quản lý chứng chỉ  Chương 3: Mô hình áp dụng và thực nghiệm 7 CHƯƠNG 1: TỔNG QUAN VỀ BLOCKCHAIN Chương này sẽ giới thiệu và giải thích một số khái niệm cơ bản về mã hóa, công nghệ blockchain và các khái niệm liên quan. 1.1. Mật mã học Mật mã học là nghiên cứu về các kỹ thuật toán học liên quan đến các khía cạnh của bảo mật thông tin như bảo mật, toàn vẹn dữ liệu, xác thực thực thể và xác thực nguồn gốc dữ liệu. Mật mã có 4 mục tiêu chính đó là đảm bảo: tính riêng tư hay tính bảo mật, tính toàn vẹn dữ liệu, tính xác thực và tính chống chối bỏ.  Tính bảo mật: dữ liệu chỉ được tiết lộ cho những ai được phép. Có nhiều cách tiếp cận để đảm bảo tính bảo mật, có thể là bảo vệ vật lý đến các thuật toán toán học khiến dữ liệu không thể hiểu được.  Tính toàn vẹn dữ liệu: đảm bảo khi dữ liệu bị thay đổi sẽ bị phát hiện ngay lập tức. Thay đổi dữ liệu gồm có những thao tác như thêm, xóa, thay đổi.  Tính xác thực: là một dịch vụ liên quan tới nhận dạng. Chức năng này áp dụng cho cả thực thể và thông tin. 2 bên tham gia vào quá trình truyền thông tin nên được xác định. Thông tin truyền đi trên kênh truyền cũng nên được xác thưc như nguồn gốc, ngày gửi, nội dung dữ liệu, thời gian gửi, …Vì những lý do này, tính xác thực trong mật mã học thường được chia làm 2 phần: xác thực thực thể và xác thực nguồn gốc dữ liệu. Xác thực nguồn gốc dữ liệu ngầm cung cấp cho việc xác định tính toàn vẹn của dữ liệu trong một số trường hợp khi bản tin bị thay đổi, thì nguồn dữ liệu cũng bị thay đổi.  Tính chống chối bỏ: là một dịch vụ chống lại việc một thực thể từ chối các cam kết hoặc hành động mà mình đã thực hiện. Khi tranh chấp xảy ra, một thực thể từ chối hành động mà mình đã thực hiện dẫn tới hậu quả. Vì vậy, cần có phương pháp để xử lý những tình huống như vậy. Các công cụ mã hóa thường được chia ra làm 3 loại: mã hóa không có khóa, mã hóa khóa đối xứng và mã hóa khóa bất đối xứng (hình vẽ 1).  Mã hóa không có khóa là không sử dụng khóa để mã hóa bản tin. Ví dụ: băm độ dài tùy ý hoặc hoán vị bản rõ để thu được bản mã.  Mã hóa khóa đối xứng là sử dụng cùng một khóa cho việc mã hóa và giải mã. 8  Mã hóa bất đối xứng là sử dụng một cặp khóa gọi là khóa công khai (public key) và khóa bí mật (private key) để thực hiện mã hóa và giải mã. Công cụ mã hóa Mã hóa không khóa Mã hóa đối xứng Mã hóa bất đối xứng Hình 1: Phân loại các công cụ mã hóa Phần này được dựa theo cuốn “Handbook of Applied Cryptography by A. Menezes, P. van Oorschot and S. Vanstone. (Alfred J. Menezes, 1996)”. 1.1.1. Thuật ngữ cơ bản Bản rõ là dạng ban đầu của bản tin. Bản mã là dạng mã hóa của bản rõ. Khóa là thông tin tham số dùng để thực hiện các phép biến đổi từ bản rõ sang bản bản mã và ngược lại. Mã hóa là quá trình biến đổi thông tin từ bản rõ sang bản mã bằng khóa. Giải mã là quá trình biến đổi thông tin từ bản mã sang bản rõ bằng khóa. Ký hiệu tập M là không gian bản rõ bao gồm các chuỗi của các ký tự trong bảng chữ cái được định nghĩa như sau: bao gồm các ký tự trong hệ nhị phân {0,1}, chữ cái tiếng Anh, hoặc các ký tự trong hệ thập lục phân {0,1,…,9,A,B,...,F}. Một phần tử m ϵ M được gọi là một bản rõ. Ký hiệu tập C là không gian bản mã bao gồm cấc phần tử được cấu thành từ các ký tự được định nghĩa trong bảng chữ cái bên trên. Ký hiệu Ee là một hàm mã hóa biến đổi từ M thành C, và sử dụng một phần tử khóa e duy nhất trong không gian khóa {e ϵ K} Ký hiệu Dd là một hàm giải mã biến đổi từ C thành M, và sử dụng một phần tử khóa d duy nhất trong không gian khóa {d ϵ K} Định nghĩa đầy đủ các phép mã hóa/ giải mã, chúng ta cần một tập mã hóa {Ee: e ϵ K } và một tập giải mã {Dd: d ϵ K } thỏa mã điều kiện: ∀ e ∊ K ∃ d ∊ K, d là duy nhất và Dd = Ee-1 9 Công thức giải mã một bản tin được viết như sau: Dd(Ee(m)) = m ∀ m ∊ M Cặp khóa { e , d } có thể trùng nhau hoặc không Giả sử M,C,K, { Ee: e ϵ K } là những thông tin công khai, còn cặp khóa {e,d} là thông tin bí mật giữa 2 bên truyền nhận 1.1.2. Hàm băm, mã hóa bất đối xứng 1.1.2.1. Hàm băm Hàm băm là ánh xạ một chiều chuỗi nhị phận có độ dài tùy ý thành một chuỗi nhị phân có độ dài cố định. Hàm băm có những đặc điểm như sau:  Là hàm một chiều bởi vì tốn rất ít tài nguyên để tạo ra một giá trị băm nhưng tốn một năng lực xử lý cực kỳ lớn gần như là không thể để có thể biến đổi giá trị băm về giá trị ban đầu.  Độ dài của giá trị băm càng lớn thì càng khó để thực hiện biến đổi giá trị băm về giá trị ban đầu  Không có hoặc có ít xung đột khi có 2 giá trị đầu vào x và y cho ra chung 1 giá trị đầu ra: h(x) = h(y).  Đoán định được, tức là với cùng một giá trị đầu vào bao giờ cũng chỉ cho ra duy nhất một giá trị đầu ra tại mọi thời điểm.  Hàm băm được cho là an toàn nhất xét trên khía cạnh khó để dịch ngược hoặc thay đổi nội dung tại thời điểm hiện tại là SHA – 3. Hàm băm được sử dụng hầu hết ở các hệ thống xác thực mật khẩu. Giá trị băm của password mà người dùng nhập vào sẽ được so sánh với giá trị băm được lưu trên cơ sở dữ liệu của hệ thống thay vì lưu trữ mật khẩu của người dùng dưới dạng plaintext. Hàm băm cũng là một cơ sở cần thiết để hiểu về thuật toán đồng thuận proof-of-work sẽ được giải thích trong phần 2.2.4. Các thuật toán đồng thuận. 1.1.2.2. Mã hóa đối xứng Để hiểu về mã hóa bất đối xứng, chúng ta sẽ xem xét một ví dụ có 2 thực thể là Alice và Bob có nhu cầu trao đổi thông tin với nhau thông qua một môi trường không bảo mật. Họ không thể sử dụng hàm băm để băm bản tin vì người nhận gần như không thể tìm ra bản tin m khi biết h(m). Cho nên, họ sử dụng một chương trình mã hóa cụ thể trong không gian bản rõ M, không 10
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.