Đặt vấn đề Hiện nay, với sự bùng nổ của công nghệ thông tin trong thời đại của cuộc cách mạng công nghiệp 4.0, thì bài toán chống làm giả các loại chứng chỉ đào tạo càng gặp nhiều khó khăn và thách thức: Không thể biết được ai là người chỉnh sửa thông tin dữ liệu của chứng chỉ ? Thời gian chỉnh sửa là khi nào ? Nội dung chỉnh sửa gồm những gì ?. Với những thách thức đó thì em đã nghiên cứu công nghệ Blockchain để có thể giải quyết được những thách thức trong bài toán chống gian lận chứng chỉ. Với việc ứng dụng công nghệ Blockchain vào giải quyết bài toán, thì việc phát hiện và truy xuất lịch sử cập nhật chứng chỉ trở lên dễ dàng hơn rất nhiều. Dữ liệu sau khi được ghi vào Blockchain thì không ai có quyền chỉnh sửa hay xóa nó bởi vậy nó là an toàn và minh bách.
Khi đó các vấn đề: Ai là người cập nhật thông tin ? Thời gian cập nhật là khi nào ? Nội dung cập nhật gồm những thông tin gì ? thì chúng ta rất dễ dàng tìm ra được do dữ liệu trên Blockchain được tổ chức theo dạng chuỗi, một block thì có chứa hash đại diện cho chính block đó và một hash để liên kết đến block trước nó. Với cách tổ chức dữ liệu như này làm tăng tính bảo mật cho hệ thống và những kẻ tấn công không thể thay đổi được dữ liệu của hệ thống.2 Mục tiêu và phạm vi đề tài Khi mà công nghệ Blockchain chưa được công bố thì việc giải quyết bài toán chống làm giả chứng chỉ đào tạo gặp không ít khó khăn: Dữ liệu được lưu trữ một cách tập trung vì vậy nếu ai đó có thể đăng nhập được vào hệ thống quản trị cơ sở dữ liệu thì họ dễ dàng chỉnh sửa dữ liệu đó mà không ai biết được,.Với việc ứng 19 dụng công nghệ Blockchain thì tập hệ thống tập trung vào giải quyết 3 vấn đề cốt lõi đó là: ● Biết được ai là người cập người cập nhật ? ● Biết được nội dung cập nhật là gì ? ● Biết được thời gian cập nhật là khi nào ? Với việc ứng dụng công nghệ Blockchain thì làm cho hệ thống trở lên bảo mật và trong suốt, dữ liệu sau khi được ghi vào block thì không ai có quyền chỉnh sửa hay xóa nó đi và khi có bất kỳ một sự thay đổi nào thì nó đều được ghi lại. Để có thể giải quyết được 3 vấn đề chính trên thì chúng ta sẽ phát triển một hợp đồng thông minh và để có thể thực thi được hợp đồng thông minh này thì chúng ta sử dụng nền tảng ethereum.3 Định hướng giải pháp Với các yêu cầu đặt ra của bài toán thì chúng ta sẽ sử dụng công nghệ Blockchain với công nghệ Blockchain thì chúng ta có một hệ thống có độ bảo mật cao và có tính minh bạch. Để giải quyết được bài toán chống làm giả chứng chỉ thì chúng ta sẽ phát triển một hợp đồng thông minh, hợp đồng này sẽ được thực thi trên nền tảng của ethereum blockchain.
Hợp đồng thông minh (Smart contracts) về cơ bản nó là một thuật toán khi có điều kiện cho trước được đáp ứng đầy đủ thì các điều khoản hợp đồng sẽ được thực thi một cách tự động mà không cần sự can thiệp của con người hay nói cách khác nó là những ứng dụng được lưu trữ trong blockchain. Công nghệ này ra đời cho phép “cuốn sổ cái” theo dõi và ghi lại mọi hoạt động giao dịch, thỏa thuận liên quan. Với hợp đồng thông minh chúng ta sẽ giải quyết được các vấn đề: Ai là người cập nhật dữ liệu của chứng chỉ ? Nội dung cập nhật là gì ? Thời gian cập nhật là khi nào ? 20 1.4 Bố cục đồ án Phần còn lại của báo cáo đồ án tốt nghiệp được tổ chức như sau. Chương 2 trình bày về quá trình khảo sát các yêu cầu từ người dùng, đánh giá về các ứng dụng tương tự hiện có.
Qua đó xác định được yêu cầu đặt ra, ta tóm tắt về các chức năng của ứng dụng. Đi sâu vào việc đặc tả chi tiết từng chức năng với phương pháp phân tích thiết kế hướng đối tượng. Chương 3 giới thiệu về các công nghệ, nền tảng đã có sẵn. Được tích hợp, và áp dụng trong việc phát triển ứng dụng.
Các yêu cầu đặt ra được giải quyết nhờ các công nghệ này, và cũng như lý do lựa chọn công nghệ đó. Và hướng dẫn việc tích hợp và cách triển khai các công nghệ đó trong ứng dụng. Chương 4 tôi đưa ra kiến trúc phần mềm được sử dụng, thiết kế chi tiết và quá trình phát triển ứng dụng. Sau đó là các kết quả đạt được, các tính năng thú vị nhất.
Và cuối cùng là việc kiểm thử trước khi triển khai ứng dụng đến người dùng cuối. Chương 5 trình bày về các nội dung đóng góp mà tôi thấy tâm đắc nhất, cũng như các vấn đề khó khăn gặp phải mà tôi từng bước giải quyết được trong quá trình phát triển ứng dụng. Và đặc biệt là thư viện cửa sổ nổi trên màn hình được xây dựng, là bàn đạp cho các tính năng thú vị nhất của ứng dụng. Chương 6 tôi sẽ tổng kết lại các kết quả mà mình đạt được trong quá trình thực hiện ĐATN, cũng như những việc chưa làm được để rút ra bài học kinh nghiệm cho bản thân.
Và hướng phát triển trong tương lai của ứng dụng để hoàn thiện ứng dụng ở mức cao nhất có thể. 21 Chương 2 Khảo sát và Phân tích yêu cầu 2.1 Khảo sát yêu cầu Hiện nay, với sự phát triển của công nghệ thông tin thì việc chống và phát hiện các trường hợp làm giả các chứng chỉ đào tạo càng gặp nhiều khó khăn hơn, cùng với đó là hàng loạt các cơ sở đào tạo giáo dục được mở ra mà không đảm bảo được chất lượng đầu ra. Gần đây cũng đã xảy ra rất nhiều vụ việc liên quan đến làm giả chứng chỉ đào tạo, gian lận thi cử như: Gian lận thi cử trong kỳ thi Tốt Nghiệp Trung Học Phổ Thông ở tỉnh Hà Giang, Sơn La, Hòa Bình,. Khi đứng trên góc độ của một nhà tuyển dụng thì họ sẽ căn cứ vào các chứng chỉ đào tạo mà ứng viên của họ đã đạt được để từ đó tìm ra được những người phù hợp, nhưng mà khi việc làm giả các chứng chỉ đó ngày một tinh vi hơn thì các nhà tuyển dụng đã gặp khó khăn trong việc xác thực, nó gây cho quá trình tuyển chọn được những ứng viên phù hợp càng gặp nhiều khó khăn hơn.
Từ những vấn đề: làm sao có thể chống làm giả các chứng chỉ, làm sao phát hiện được ai đã chỉnh sửa các nội dung của chứng chỉ, lịch sử chỉnh sửa các chứng chỉ đó,.thì em đã nghiên cứu và phát triển hệ thống trợ giúp quản lý và phát hành chứng chỉ đào tạo trên nền tảng Blockchain. Hệ thống tập chung vào các chức năng chính như sau: 22 ● Chống việc làm giả chứng chỉ ● Truy xuất được lịch sử cập nhật chứng chỉ: ai là người cập nhật, nội dung cập nhật, thời gian cập nhật,. ● Người dùng có thể truy xuất được thông tin về chứng chỉ khi biết mã của chứng chỉ, từ đó là căn cứ giúp các nhà tuyển dụng rút ngắn được quá trình tuyển dụng và tìm ra được những ứng viên phù hợp nhất.2 Biểu đồ use case 2.1 Biểu đồ use case tổng quan Hình sau mô tả các use case chính của hệ thống, với mỗi use case chính là các chức năng chính của hệ thống và có 4 tác nhân là: quản trị hệ thống, người phát hành, giảng viên, sinh viên. Hình 1: Biểu đồ Use Case tổng quát 23 Các tác nhân tham gia vào hệ thống: ● Quản trị hệ thống: là người quản trị của hệ thống, có nhiệm vụ quản lý tài khoản, phân quyền cho tài khoản, quản lý sinh viên, quản lý lớp học, quản lý chứng chỉ.
● Người phát hành: có quyền phát hành chứng chỉ và xem các thông tin về giảng viên, sinh viên, lớp học ● Giảng viên: có quyền xem các thông tin về chứng chỉ, lịch cập nhật, thông tin giảng viên, thông tin sinh viên, thông tin về lớp học ● Sinh viên: tra cứu các thông tin về chứng chỉ như: thông tin chi tiết về chứng chỉ, lịch sử cập nhập 2.2 Biểu đồ use case phân rã cho chức năng quản lý tài khoản Hình sau mô tả use case cho chức năng lý tài khoản gồm có các chức năng chính: thêm tài khoản, xem thông tin của tài khoản, cập nhật thông tin của tài khoản, xóa tài khoản, cấp quyền phát hành chứng chỉ. Hình 2: Biểu đồ use case phân rã cho chức năng quản lý tài khoản. 24 Các tác nhân tham gia vào hệ thống: ● Quản trị hệ thống: Người có quyền cao nhất đối với hệ thống và có thể: thêm tài khoản, xem thông tin chi tiết của các tài khoản có trong hệ thống, cập nhật thông tin của tài khoản, xóa tài khoản, cấp quyền phát hành chứng chỉ cho một tài khoản. ● Người phát hành: Ở đây người phát hành được hiểu là người mà quản trị hệ thống cấp quyền được phép phát hành chứng chỉ và có thể: xem thông tin tài khoản, cập nhật thông tin, phát hành chứng chỉ.
● Giảng viên: Là một tác nhân tham gia vào hệ thống và có quyền: cập nhật thông tin về tài khoản, xem chi tiết thông tin của tài khoản.3 Biểu đồ use case phân rã cho chức năng phân quyền Hình sau mô tả biểu đồ use case cho chức năng phân quyền gồm có các chức năng chính: phân quyền cho tài khoản đăng nhập vào hệ thống, xóa quyền của một tài khoản trên hệ thống, xem chi tiết quyền của một tài khoản, chỉnh sửa quyền đăng nhập của một tài khoản. 25 Hình 3: Biểu đồ use case phân rã cho chức năng phân quyền Các tác nhân tham gia vào hệ thống: ● Người quản trị hệ thống: Ở use case này thì chỉ có duy nhất người quản trị của hệ thống là người được phép:cấp quyền, thu hồi quyền, xóa quyền, xem chi tiết, chỉnh sửa quyền của các tài khoản có trên hệ thống.4 Biểu đồ use case phân rã cho chức năng quản lý sinh viên Hình sau mô tả biểu đồ use case phân rã cho chức năng quản lý sinh gồm các chức năng chính: thêm sinh viên, xóa sinh viên, xem thông tin chi tiết về một sinh viên, cập nhật thông tin của sinh viên.