1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Ứng dụng công nghệ blockchain trong việc quản lý chứng chỉ đào tạo

46 38 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 46
Dung lượng 483,93 KB

Nội dung

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ TRẦN TUẤN LINH ỨNG DỤNG CÔNG NGHỆ BLOCKCHAIN TRONG VIỆC QUẢN LÝ CHỨNG CHỈ ĐÀO TẠO Ngành: Công nghệ thông tin Chuyên ngành: Quản lý hệ thống thông tin Mã Số: 8480205.01 LUẬN VĂN THẠC SĨ QUẢN LÝ HỆ THỐNG THÔNG TIN NGƢỜI HƢỚNG DẪN KHOA HỌC: TS LÊ PHÊ ĐÔ Hà nội – 05/2019 LỜI CẢM ƠN Đầu tiên, xin gửi lời cảm ơn chân thành tới thày Lê Phê Đô hƣớng dẫn tạo điều kiện cho tơi hồn thành khóa luận Tơi xin cảm ơn thày cô khoa Công nghệ thông tin trƣờng Đại học Công Nghệ - Đại học Quốc Gia Hà Nội, ngƣời truyền đạt cho kiến thức quý báu suốt hai năm học vừa qua Luận văn đƣợc hoàn thành với tất cố gắng thân, nhƣng không tránh khỏi sai sót, hạn chế Vì vậy, tơi mong nhận đƣợc nhận xét, góp ý thày cô giáo bạn để đề tài đƣợc hồn thiện Hà Nội, tháng 03/2019 Học viên Trần Tuấn Linh MỤC LỤC LỜI CẢM ƠN BẢNG CÁC TỪ VIẾT TẮT VÀ GIẢI THÍCH TỪ NGỮ DANH SÁCH HÌNH ẢNH LỜI NÓI ĐẦU CHƢƠNG 1: TỔNG QUAN VỀ BLOCKCHAIN 1.1.Mật mã học 1.1.1 Thuật ngữ 1.1.2 Hàm băm, mã hóa bất đối xứng 1.1.3 Chữ ký số 1.2.Công nghệ blockchain 1.2.1 Bitcoin – tảng blockchain 1.2.2 Các blockchain khác 1.2.3 Smart contract Ethereum 1.2.4 Thuật toán đồng thuận CHƢƠNG 2: MỘT SỐ MƠ HÌNH QUẢN LÝ CHỨNG CHỈ 2.1.Chứng gì? 2.2.Quy trình liên quan tới chứng 2.3.Giới hạn mơ hình quản lý chứng 2.3.1 Giới hạn chứng giấy 2.3.2 Giới hạn chứng số (không sử dụng công nghệ blockchain) 2.4.Mô hình quản lý chứng sử dụng block 2.4.1 Ngƣời nhận chứng 2.4.2 Đơn vị phát hành 2.5.Một số dự án triển khai quản lý chứng ch 2.5.1 Blockcerts 2.5.2 BTCert CHƢƠNG 3: MƠ HÌNH ÁP DỤNG VÀ THỰC NGHIỆM 3.1.Lựa chọn tảng triển khai 3.1.1 Giải pháp cấp chứng Learning Machine tảng Blockcerts 27 3.1.2 Giải pháp Sony Global Education 3.1.3 Các giải pháp khác 3.1.4 Kết luận 3.2 Blockcerts 29 3.3 Yêu cầu toán quản lý chứng 30 3.4 Mơ hình thử nghiệm 31 3.5 Thực nghiệm 32 3.5.1 Tổng hợp yêu cầu cấp chứng 32 3.5.2 Tạo file chứng (module cert-tools) 33 3.5.3 Phát hành chứng lên blockchain (module cert-issuer) .37 3.5.4 Xác minh chứng blockchain (module cert-verifier) 42 3.6 Kết luận 45 BẢNG CÁC TỪ VIẾT TẮT VÀ GIẢI THÍCH TỪ NGỮ Từ viết tắt CV MIT PoW PoS UTXO EVM BFT – PoS HTTP DANH SÁCH HÌNH ẢNH Hình 1: Phân loại cơng cụ mã hóa 10 Hình 2: Chi tiết giao dịch 15 Hình 3: Mơ hình luồng đề xuất Blockcerts 29 Hình 4: Mơ hình thử nghiệm 31 Hình 5: Tạo địa Bitcoin 33 Hình 6: File yêu cầu cấp chứng roster_testnet_uet.csv 33 Hình 7: File cấu hình issuer-uet.json .36 Hình 8: Đầu trình khởi tạo chứng 37 Hình 9: Tạo Merkle root lô chứng 38 Hình 10: Kiểm tra ContainerID 38 Hình 11: Đầu chứng đƣợc phát hành 42 Hình 12: Đầu chứng hợp lệ 43 Hình 13: Đầu chứng khơng hợp lệ 44 LỜI NÓI ĐẦU Hiện Việt Nam, ngƣời học hồn thành khóa đào tạo Họ đƣợc nhà trƣờng tổ chức đào tạo cấp cho chứng giấy thông qua thông tin mà họ cung cấp trình nhập học Sau đó, ngƣời học có nhu cầu cung cấp thơng tin việc hồn thành khóa đào tạo có cách mang gốc để bên thứ ba kiểm tra, photocopy lại gốc đem đến sở đƣợc quan có thẩm quyền cơng chứng để cơng chứng đƣa công chứng cho bên thứ ba kiểm tra Có số vấn đề gặp phải thực quy trình trên:  Trong số trƣờng hợp ngƣời học chứng chỉ, nhà trƣờng đơn vị đào tạo cấp lại chứng cho họ khơng cịn phơi cũ  Xuất số rủi ro q trình cơng chứng giấy tờ ngƣời học cố tình làm giả gốc để cơng chứng  Gây nhiều khó khăn cho bên thứ ba (các nhà tuyển dụng, đơn vị chủ quản, …) việc xác định chứng ngƣời học cung cấp có phải thật hay khơng?  Việc cung cấp chứng giấy khơng hồn tồn phù hợp thị trƣờng lao động Khi mà có nhiều cơng cụ (ví dụ: vietnamworks, LinkedIn,…) hỗ trợ đƣa sơ yếu lý lịch ứng viên tới nhà tuyển dụng có nhu cầu nên cung cấp chứng giấy xác thực lên công cụ nêu khơng có nhiều ý nghĩa Ngồi ra, theo số liệu thống kê tổ chức Risk Advisory Group năm 2016 với 5500 mẫu CV có tới 63% thơng tin chứng đào tạo khơng xác Để giải vấn đề nêu cần hệ thống có khả đáp ứng yêu cầu tính quán, đƣợc bảo mật thuật toán mật mã học phân tán Năm 2008, Satoshi Nakomoto giới thiệu sách trắng Bitcoin cơng nghệ blockchain giải đƣợc đƣợc vấn đề nêu Mục đích luận văn đề xuất mơ hình ứng dụng công nghệ blockchain vào công tác quản lý chứng đào tạo Việt Nam Mục tiêu nghiên cứu 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, có mơ hình quản lý chứng giới? Để trả lời câu hỏi cần phải sử dụng phƣơng pháp phân loại hệ thống hóa lý thuyết, thực tìm kiếm báo cáo, thống kê tảng áp dụng công nghệ việc quản lý chứng giới Câu hỏi nghiên cứu thứ hai: Cơng nghệ blockchain gì? Các thành phần chế hoạt động nhƣ nào?  Câu hỏi nghiên cứu thứ ba: Ứng dụng Blockcerts vào quản lý chứng nhƣ nào? Luận văn nghiên cứu lý thuyết hệ thống quản lý chứng chỉ, công nghệ blockchain áp dụng dự án Blockcerts MIT Media Lab để thực hành Luận văn thực cơng việc chính: o Tìm hiểu thành phần, chế hoạt động blockchain o Tìm hiểu số mơ hình đƣợc áp dụng quản lý chứng giới o Triển khai mô hình: Dựa vào dự án Blockcerts     Chƣơng 1: Tổng quan Blockchain Chƣơng 2: Một số mơ hình quản lý chứng Chƣơng 3: Mơ hình áp dụng thực nghiệm CHƢƠNG 1: TỔNG QUAN VỀ BLOCKCHAIN Chƣơng giới thiệu giải thích số khái niệm mã hóa, cơng nghệ blockchain khái niệm liên quan 1.1 Mật mã học Mật mã học nghiên cứu kỹ thuật tốn học liên quan đến khía cạnh bảo mật thơng tin nhƣ bảo mật, tồn vẹn liệu, xác thực thực thể xác thực nguồn gốc liệu Mật mã có mục tiêu đảm bảo: tính riêng tƣ hay tính bảo mật, tính tồn vẹn liệu, tính xác thực tính chống chối bỏ  Tính bảo mật: liệu đƣợc tiết lộ cho đƣợc phép Có nhiều cách tiếp cận để đảm bảo tính bảo mật, bảo vệ vật lý đến thuật tốn tốn học khiến liệu khơng thể hiểu đƣợc  Tính tồn vẹn liệu: đảm bảo liệu bị thay đổi bị phát Thay đổi liệu gồm có thao tác nhƣ thêm, xóa, thay đổi Tính xác thực: dịch vụ liên quan tới nhận dạng Chức áp dụng cho thực thể thông tin bên tham gia vào q trình truyền thơng tin nên đƣợc xác định Thông tin truyền kênh truyền nên đƣợc xác thƣc nhƣ nguồn gốc, ngày gửi, nội dung liệu, thời gian gửi, …Vì lý này, tính xác thực mật mã học thƣờng đƣợc chia làm phần: xác thực thực thể xác thực nguồn gốc liệu Xác thực nguồn gốc liệu ngầm cung cấp cho việc xác định tính toàn vẹn liệu số trƣờng hợp tin bị thay đổi, nguồn liệu bị thay đổi  Tính chống chối bỏ: dịch vụ chống lại việc thực thể từ chối cam kết hành động mà thực Khi tranh chấp xảy ra, thực thể từ chối hành động mà thực dẫn tới hậu Vì vậy, cần có phƣơng pháp để xử lý tình nhƣ Các cơng cụ mã hóa thƣờng đƣợc chia làm loại: mã hóa khơng có khóa, mã hóa khóa đối xứng mã hóa khóa bất đối xứng (hình vẽ 1)    Mã hóa khơng có khóa khơng sử dụng khóa để mã hóa tin Ví dụ: băm độ dài tùy ý hoán vị rõ để thu đƣợc mã Mã hóa khóa đối xứng sử dụng khóa cho việc mã hóa giải mã  Mã hóa bất đối xứng sử dụng cặp khóa gọi khóa cơng khai (public key) khóa bí mật (private key) để thực mã hóa giải mã Cơng cụ mã hóa Mã hóa khơng khóa Hình 1: Phân loại cơng cụ mã hóa Phần đƣợc dựa theo “Handbook of Applied Cryptography by A Menezes, P van Oorschot and S Vanstone (Alfred J Menezes, 1996)” 1.1.1 Thuật ngữ Bản rõ dạng ban đầu tin Bản mã dạng mã hóa rõ Khóa thông tin tham số dùng để thực phép biến đổi từ rõ sang bản mã ngƣợc lại Mã hóa q trình biến đổi thơng tin từ rõ sang mã khóa Giải mã q trình biến đổi thơng tin từ mã sang rõ khóa Ký hiệu tập M không gian rõ bao gồm chuỗi ký tự bảng chữ đƣợc định nghĩa nhƣ sau: bao gồm ký tự hệ nhị phân {0,1}, chữ tiếng Anh, ký tự hệ thập lục phân {0,1,…,9,A,B, ,F} Một phần tử m ϵ M đƣợc gọi rõ Ký hiệu tập C không gian mã bao gồm cấc phần tử đƣợc cấu thành từ ký tự đƣợc định nghĩa bảng chữ bên Ký hiệu Ee hàm mã hóa biến đổi từ M thành C, sử dụng phần tử khóa e khơng gian khóa {e ϵ K} Ký hiệu Dd hàm giải mã biến đổi từ C thành M, sử dụng phần tử khóa d khơng gian khóa {d ϵ K} Định nghĩa đầy đủ phép mã hóa/ giải mã, cần m ột tập mã hóa {Ee: e ϵ K } tập giải mã {Dd: d ϵ K } thỏa mã điều kiện: ∀ e ∊ K ∃ d ∊ K, d Dd = Ee-1 10 Gửi liệu file chứng đƣợc phát hành cho Hệ thống quản lý sinh viên 3) Sinh viên lên hệ thống quản lý sinh viên để lấy file chứng đƣa cho bên thứ ba (nhà tuyển dụng) xác thực 4) Nhà tuyển dụng sử dụng module xác thực cert-verifier để kiểm tra chứng có hợp lệ hay không 3.5 Thực nghiệm Phần mô tả lại tồn q trình triển khai thực nghiệm giải pháp Blockcerts việc quản lý chứng Môi trƣờng triển khai  OS Windows 10 Pro  Python 3.7.2  Bitnami WAMP Stack 5.6.39 Rev  Docker Version 2.0.0.2 (30215)  Blockchain: Testnet Cơng cụ dịng lệnh: Windows PowerShell IDE: JetBrains PyCharm Community Edition 2018.3.2 Các địa Bitcoin  Địa Nhà phát hành Public Address miggSiHgD6gJa6ED9SCrppQqMwtncUbmQL Private Key cURHoLU8oWEAA5ZtaFJxRBrhztGvsQzVvMSuf7WSQ4FQcDP5 Pr9S  Địa ngƣời nhận Public Address  mk39ervZywy6eU6o9v4JjvQYmYbyiTho2p mgD5QxRmpLK4eyrqAk7XMkq9MWZqGMeQMX moRPFTVL9BTiqZmDNYXbyANR4VM3P9yfGQ mzkiZ87P6ip9g6h45LtwW8i7V9tyxPhFXZ 3.5.1 Tổng hợp yêu cầu cấp chứng Đây trình đơn vị phát hành thu thập thông tin địa Bitcoin ngƣời học để tạo danh sách phục vụ cho việc phát hành chứng theo lô đơn vị phát hành Để đƣợc cấp chứng chỉ, sinh viên cần phải có địa Bitcoin Để tạo địa này, sinh viên vào link sau https://www.bitaddress.org/bitaddress.org-v3.3.0-SHA256dec17c07685e1870960903d8f58090475b25af946fe95a734f88408cef4aa194.h tml?testnet=true Chi tiết địa Bitcoin đƣợc tạo minh họa Hình Hình 5: Tạo địa Bitcoin Hình mơ tả file tổng hợp yêu cầu cấp chứng sinh viên Hìn 6: File yêu cầu cấp chứng roster_testnet_uet.csv h 3.5.2 Tạo file chứng (module cert-tools) 3.5.2.1 Mô tả Đây cơng cụ dịng lệnh để thiết kế định dạng chứng chỉ, khởi tạo lô chứng 3.5.2.2  Cài đặt Cài đặt môi trƣờng ảo để chạy Python o Download gói virtualenv pip -p python3 virtualenv o Tạo môi trƣờng ảo cho project cd $project_home virtualenv venv o Kích hoạt mơi trƣờng 33 cd $project_home/venv/Scripts  Click Sử dụng git để clone repository activate.bat git clone https://github.com/blockchaincertificates/cert-tools.git  Chuyển thƣ mục cài đặt cd cert-tools pip install Tạo file conf.ini: # issuer information issuer_url = https://uet.vnu.edu.vn issuer_email = linhcoltech@gmail.com issuer_name = University of Engineering and Technology issuer_id = http://127.0.0.1/issuer-uet.json revocation_list=http://127.0.0.1/revocation.json issuer_signature_lines={"fields": [{"job_title": "University Issuer","signature_image": "images/issuer-signature.png","name": "Your signature"}]} issuer_public_key=ecdsa-koblitzpubkey:miggSiHgD6gJa6ED9SCrppQqMwtncUbmQL # certificate information certificate_description = Hieu truong truong Dai hoc Cong nghe cap certificate_title = Bang tot nghiep thac sy criteria_narrative=Cong nghe thong tin badge_id = 23fec99e-e52e-4e76-848e-b04d27ed693f # images issuer_logo_file = images/logo.png cert_image_file = images/certificate-image.png issuer_signature_file = images/issuer-signature.png ################### ## TEMPLATE DATA ## ################### data_dir = sample_data 34 # template output directory template_dir = certificate_templates template_file_name = test.json ############################## ## INSTANTIATE BATCH CONFIG ## ############################## unsigned_certificates_dir = unsigned_certificates roster = rosters/roster_testnet_uet.csv filename_format = uuid no_clobber = True ################### ## OTHER OPTIONS ## ################### # # whether to hash recipient emails, flag hash_emails can specify an array of additional global fields For each additional field, you must indicate: # - the jsonpath to the field # - the global value to use # additional_global_fields = {"fields": [{"path": "$.certificate.subtitle","value": "kim custom subtitle"}]} additional_global_fields = {"fields": [{"path": "$.displayHtml","value": "Some html code"}, {"path": "$.@context","value": ["https://w3id.org/openbadges/v2", "https://w3id.org/blockcerts/v2", {"displayHtml": { "@id": "schema:description" }}]}]} # can specify an array of additional per-recipient fields For each additional field, you must indicate: # - the jsonpath to the field # - the merge_tag placeholder to use # - the csv column where the value (per recipient) can be found # additional_per_recipient_fields = {"fields": [{"path": "$.assertion.evidence","value": "*|EVIDENCE|*","csv_column": # 35 "evidence"}]} V1 only # issuer_certs_url = http://certificates.issuer.org # where the certificates are hosted Thực tạo file issuer-uet.json (để lƣu định danh đơn vị phát hành), revocation.json (để lƣu danh sách chứng chị bị thu hồi) đƣờng dẫn C:\Bitnami\wampstack-5.6.39-0\apache2\htdocs File issuer-uet.json # Hình 7: File cấu hình issuer-uet.json File revocation.json { "@context": "https://w3id.org/openbadges/v2", "id": "http://127.0.0.1/revocation.json", "type": "RevocationList", "issuer": "http://127.0.0.1/issuer-uet.json", "revokedAssertions": [ { "id": "urn:uuid: 93019408-acd8-4420-be5e-0400d643954a ", "revocationReason": "Honor code violation" }, { "id": "urn:uuid:eda7d784-c03b-40a2-ac10-4857e9627329", "revocationReason": "Issued in error." } ] } 36 3.5.2.3 C Sau cụ:create_certificate_template.py instantiate_certificate_batch.py create_certificate_template.py: công cụ tạo file template chứng với cài đặt đƣợc cung cấp file conf.ini create-certificate-template -c conf.ini instantiate_certificate_batch.py: công cụ tạo file chứng ngƣời nhận theo template tạo script trƣớc thông tin từ file csv lƣu thông tin ngƣời nhận đƣợc tạo sau trình mục 4.3.1 instantiate-certificate-batch -c conf.ini 3.5.2.4 Output Đầu trình file chứng theo định dạng json theo template đƣợc chuẩn hóa Hìn 3.5.3 Phát 3.5.3.1 Đây q trình phát hành chứng lên blockchain cách tìm giá trị băm lô chứng phát hành đẩy lên trƣờng OP_RETURN giao dịch Bitcoin Cách thức phát hành chứng theo lô: Mô t Hình 9: Tạo Merkle root lơ chứng (Tham khảo https://github.com/blockchain-certificates/cert-issuer) Hồn tồn thực phát hành chứng dƣới dạng chứng giao dịch Bitcoin, nhƣng hiệu nhiều thực phát hành chứng theo lô Đơn vị phát hành xây dựng Merkle băm chứng phát hành giá trị gốc Merkle (256 bit) lên trƣờng OP_RETURN giao dịch Bitcoin 3.5.3.2     Cài đặt Cài đặt Docker Version 2.0.0.2 (30215) Dùng git để clone repository git clone https://github.com/blockchaincertificates/cert-issuer.git cd cert-issuer Tại thƣ mục cert-issuer, thực build container docker: docker build -t bc/cert-issuer:1.1 Sau build xong, thực kiểm tra containerid: docker ps –l Hình 10: Kiểm tra ContainerID  Tƣơng tác với cointainer vừa build docker run -it bc/cert-issuer:1.1 bash 38  Thực sửa file cấu hình conf.ini đƣờng dẫn /etc/cert-issuer/conf.ini issuing_address = miggSiHgD6gJa6ED9SCrppQqMwtncUbmQL chain=bitcoin_testnet usb_name=/etc/cert-issuer/ key_file=pk_issuer.txt unsigned_certificates_dir=/etc/cert-issuer/data/unsigned_certificates blockchain_certificates_dir=/etc/cert-issuer/data/blockchain_certificates work_dir=/etc/cert-issuer/work no_safe_mode Thay giá trị tham số: o issuing_address: địa Bitcoin nhà phát hành o chain: loại blockchain triển khai bitcoin testnet o usb_name: tên đƣờng dẫn, thiết bị chứa private key nhà phát hành o key_file: tên file chƣa private key nhà phát hành o unsigned_certificates_dir: đƣờng dẫn chứa chứng chƣa đƣợc phát hành o blockchain_certificates_dir: đƣờng dẫn chứa chứng đƣợc phát hành lên blockchain o work_dir: thƣ mục lƣu chứng trình xử lý  Tạo file pk_issuer.txt đƣờng dẫn /etc/cert-issuer/ với nội dung cURHoLU8oWEAA5ZtaFJxRBrhztGvsQzVvMSuf7WSQ4FQcDP5 Pr9S  Copy chứng đầu mục 4.3.2.4 vào thƣ mục /etc/cert-issuer/data/unsigned_certificates : docker cp ca3903a0-b49e-4ac6-88e7a2c1495e56e1.json 8f60e18ed038:/etc/certissuer/data/unsigned_certificates docker cp 01463a59-c7dc-4b53-ae714af8a223c6b9.json 8f60e18ed038:/etc/certissuer/data/unsigned_certificates docker cp 800a369f-efa2-4735-9a9d89787077fdf9.json 8f60e18ed038:/etc/certissuer/data/unsigned_certificates 39 docker cp 1822803c-6d76-464d-b20d57834fdc4645.json 8f60e18ed038:/etc/certissuer/data/unsigned_certificates 3.5.3.3 Phát hành chứng  Thực lệnh bên dƣới: cert-issuer -c /etc/cert-issuer/conf.ini  Log trình xử lý WARNING - Your app is configured to skip the wifi check when the USB is plugged in Read the documentation to ensure this is what you want, since this is less secure INFO - This run will try to issue on the bitcoin_testnet chain INFO - Set cost constants to recommended_tx_fee=0.000600,min_per_output=0 000028,satoshi_per_byte=250 INFO - Processing certificates INFO - Processing certificates under work path=/etc/cert-issuer/work INFO - Total cost will be 133500 satoshis INFO - Starting finalizable signer WARNING - app is configured to skip the wifi check when the USB is plugged in Read the documentation to ensure this is what you want, since this is less secure INFO - Stopping finalizable signer WARNING - app is configured to skip the wifi check when the USB is plugged in Read the documentation to ensure this is what you want, since this is less secure INFO - here is the op_return_code data: ef3da16394c64206b0550715f7245676ea79e65579e96 86708bc5f40f1ce2441 INFO - Unsigned hextx=01000000018e271fa8474aa27cc0ff13cf13013 9c66693d3a61b87e889df2609f2970d26eb0000000000 ffffffff02a7efce00000000001976a91422bf4e32a70 aa5015cb3e6eac2454528628c2be588ac000000000000 0000226a20ef3da16394c64206b0550715f7245676ea7 9e65579e9686708bc5f40f1ce244100000000 INFO - Preparing tx for signing INFO - Starting finalizable signer WARNING - app is configured to skip the wifi 40 check when the USB is plugged in Read the documentation to ensure this is what you want, since this is less secure INFO - Stopping finalizable signer WARNING - app is configured to skip the wifi check when the USB is plugged in Read the documentation to ensure this is what you want, since this is less secure INFO - The actual transaction size is 235 bytes INFO - Signed hextx=01000000018e271fa8474aa27cc0ff13cf13013 9c66693d3a61b87e889df2609f2970d26eb000000006b 483045022100e72a35f471e5e20de8d7e0a28f8c30646 54a1065262c2cbc03ee7bb050f7f975022046519b6b6c 0b63dfd396b2285910d9b7ed83637654794714056e1e8 149a4ba2c0121026e711471626a411ce1f617c487d92a a3ac9a6105a0279d219414f23cdd401ef8ffffffff02a 7efce00000000001976a91422bf4e32a70aa5015cb3e6 eac2454528628c2be588ac0000000000000000226a20e f3da16394c64206b0550715f7245676ea79e65579e968 6708bc5f40f1ce244100000000 INFO - Signed hextx=01000000018e271fa8474aa27cc0ff13cf13013 9c66693d3a61b87e889df2609f2970d26eb000000006b 483045022100e72a35f471e5e20de8d7e0a28f8c30646 54a1065262c2cbc03ee7bb050f7f975022046519b6b6c 0b63dfd396b2285910d9b7ed83637654794714056e1e8 149a4ba2c0121026e711471626a411ce1f617c487d92a a3ac9a6105a0279d219414f23cdd401ef8ffffffff02a 7efce00000000001976a91422bf4e32a70aa5015cb3e6 eac2454528628c2be588ac0000000000000000226a20e f3da16394c64206b0550715f7245676ea79e65579e968 6708bc5f40f1ce244100000000 INFO - verifying op_return value for transaction INFO - verified OP_RETURN WARNING - Caught exception trying provider Trying another Exception=Expecting value: line column (char 0) 41 INFO - Broadcasting succeeded with method_provider=, txid=039b659f49bb383455bad0f12b7f2ffd951cc3c7 23136c60bda2792c67657bdd INFO - Broadcast transaction with txid 039b659f49bb383455bad0f12b7f2ffd951cc3c723136 c60bda2792c67657bdd INFO - Your Blockchain Certificates are in /etc/cert-issuer/data/blockchain_certificates 3.5.3.4 Output Kết trình file chứng đƣợc ký phát hành thành công lên blockchain testnet: Hình 11: Đầu chứng phát hành 3.5.4 Xác minh chứng blockchain (module cert-verifier) 3.5.4.1 Mơ tả Đây q trình sau chứng đƣợc phát hành chuyển đến cho ngƣời nhận Ngƣời nhận chuyển cho bên thứ ba (thƣờng nhà tuyển dụng) để thực xác minh chứng Ngƣời nhận nhận chứng có thơng tin:  Bitcoin transaction ID lƣu thông tin MerkleRoot  Giá trị Merkle root blockchain  Giá trị hash chứng  Đƣờng dẫn chứng tới Merkle root Quá trình xác minh thực tính tốn để kiểm tra:    3.5.4.2  Giá trị băm chứng có khớp với giá trị đƣợc lƣu chứng hay không Đƣờng dẫn chứng tới gốc Merkle có hợp lệ hay khơng Gốc Merkle đƣợc lƣu blockchain có khớp với giá trị đƣợc lƣu chứng không Cài đặt Dùng git để clone repository 42 git clone https://github.com/blockchaincertificates/cert-verifier.git  Cài đặt module cd cert-verifier pip install 3.5.4.3   Xác minh chứng Thực lệnh cd cert-verifier Mở file verifier.py đƣờng dẫn E:\cert_verifier\certverifier\cert_verifier thực trỏ vào file chứng cần kiểm tra Ví dụ cần check file chứng 01463a59-c7dc-4b53-ae714af8a223c6b9.json if name == " main ": if len(sys.argv) > 1: for cert_file in sys.argv[1:]: print(cert_file) result = verify_certificate_file(cert_file) print(result) else: result = verify_certificate_file(' /tests/data/2.0/ 01463a59-c7dc-4b53-ae71-4af8a223c6b9.json ') print(result) 3.5.4.4  Output Trong trƣờng hợp chứng hợp lệ, bƣớc kiểm tra chứng có giả mạo hay khơng, có hết hạn hay khơng, có bị thu hồi hay khơng có đƣợc cấp nhà phát hành hay khơng pass Hình 12: Đầu chứng hợp lệ  Ví dụ trƣờng hợp chứng chị bị thu hồi bị failed bƣớc thứ 43 Hình 13: Đầu chứng không hợp lệ 44 3.6 Kết luận Blockchain công nghệ phân tán sử dụng thuật toán mật mã học để đạt đƣợc mục tiêu: bảo mật, xác thực, toàn vẹn liệu chống chối bỏ giao dịch Từ ƣu điểm mà blockchain ngày đƣợc ứng dụng nhiều lĩnh vực khác tài nhƣ giáo dục, y tế, nơng nghiệp… Luận văn cung cấp nhìn tổng quan cơng tác quản lý chứng chỉ, công nghệ blockchain việc áp dụng công nghệ blockchain quản lý chứng Đồng thời, luận văn sử dụng giải pháp Blockcerts MIT Media Lab để minh họa Với ƣu điểm chứng số, giải pháp Blockcerts hoàn toàn áp dụng đơn vị đào tạo có định hƣớng rõ ràng mặt sách lĩnh vực quản lý chứng đào tạo Luận văn dừng lại việc nghiên cứu lý thuyết sử dụng giải pháp sẵn có để minh họa Khi triển khai tồn số vấn đề liên quan tới việc đăng ký định danh cho nhà phát hành cần phải quản lý tập trung Cho nên, để đƣa mơ hình vào thực tế cần có điều kiện tiên nhƣ: định hƣớng quản lý chứng đào tạo quan có thẩm quyền, đơn vị đƣợc cấp phép quản lý định danh cho đơn vị phát hành… 5 TÀI LIỆU THAM KHẢO "Risk Advisory Group." Risk Advisory Group - Wikispooks Truy cập ngày 14/03/2019 https://wikispooks.com/wiki/Risk_Advisory_Group "Increasing number of jobseeker CVs contain inaccuracies, finds The Risk Advisory Group." Risk Advisory Truy cập ngày 14/03/2019 http://risk.sozowebdesign.co.uk/news/increasing-number-of-jobseekercvs-contain-inaccuraciesfinds-the-risk-advisory-group.php S Nakamoto, “Bitcoin: A peer-to-peer electronic cash system,” Oct 2008 Onatan H Bergquist (2017), “Blockchain Technology and Smart Contracts Privacy-preserving Tools” Rujia Li (2017), “Better Security Over Blockcerts” Alfred J Menezes, S A V., Paul C van Oorschot (1996) “Handbook of applied cryptogra-phy (5th)” Ethereum GitHub Wiki - Proof of Stake FAQ (2017) Trích từ https://github.com/ethereum/wiki/wiki/Proof-of-Stake-FAQ Ethereum Homestead Documentation - What is Ethereum (2016) Trích từ http://ethdocs.org/en/latest/introduction/what-is-ethereum.html "Blockcerts-An Open Infrastructure for Academic Credentials on the Blockchain." Medium (2016) Trích từ https://medium.com/mit-medialab/blockcerts-an-open-infrastructure-for-academic-credentials-on-theblockchain-899a6b880b2f 46 ... liên quan tới chứng 2.3.Giới hạn mơ hình quản lý chứng 2.3.1 Giới hạn chứng giấy 2.3.2 Giới hạn chứng số (không sử dụng công nghệ blockchain) 2.4.Mơ hình quản lý chứng sử dụng block 2.4.1... với việc quản lý chứng không sử dụng công nghệ blockchain:  Chứng không bị làm giả sử dụng thuật tốn băm (băm chứng chỉ, tạo merkle để phát hành lên blockchain) , có thay đổi thông tin chứng. .. Hệ thống chứng tập trung xử lý Hệ thống quản lý chứng tập trung thực hiện:  Tạo chứng định dạng file json (sử dụng module cert-tools)  Ký chứng phát hành chứng lên blockchain (sử dụng module

Ngày đăng: 11/11/2020, 22:32

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w