Vào thời điểm năm 2015, sau nhiều năm phát triển chữ ký số điện tử, nhiều vấn đề đã được đặt ra, trong đó có vấn đề ký số điện tử trên nền tảng web. Mặc dù trước đó đã có nhiều giải pháp như Plug-in, Add-on hay Extension, nhưng vẫn còn nhiều bài toán cần giải quyết khi triển khai. Các bài toán của giải pháp ký số trên web là: chạy trên đa nền tảng trình duyệt, đa hệ điều hành, nhiều thiết bị và ngôn ngữ lập trình hỗ trợ, dễ tích hợp và triển khai. Do đó cần một giải pháp ký số điện tử mới để đáp ứng toàn bộ bài toán trên.
Để đảm bảo an toàn cho các giao dịch điện tử thì tệp phải được ký số điện tử trên máy tính ngay sau khi mở cửa sổ chọn tệp và trước khi được đính lên một trang web, sau đó mới thực hiện gửi tệp đi. Trong khi đó, các trình duyệt là một ứng dụng chạy trong môi trường cách ly (sandbox) chỉ cho phép trang web giao tiếp với tệp bên ngoài thông qua các tiện ích như: Plug-in, Extension, Add-on hay Native Client. Ngoài ra, việc lập trình một trang web cho phép giao tiếp với tệp bên ngoài là không thể, vì các phần tử lập trình (gọi là Control) cho phép chọn tệp như <input type=”file”/> chạy trong môi trường cách ly như trình duyệt và không thể can thiệp thao tác ký số chen giữa sau khi mở cửa sổ chọn tệp, nên đây là một bài toán khó giải.
Các giải pháp ký số trên web
Các giải pháp ký số trên web hiện tại bao gồm:
Plug-in: Là phần mềm của bên thứ ba, cho phép trình duyệt giao tiếp với tệp bên ngoài. Plug-in còn có thể nhúng vào trong một trang web. Tuy nhiên vì vấn đề bảo mật mà các hãng trình duyệt đã cấm sử dụng plug-in từ năm 2015 và được thay bằng Native Client. Triển khai ký số bằng Plug-in thường khó khăn do Plug-in thường viết trên ngôn ngữ lập trình C/C++ nên khó tích hợp và cồng kềnh khi lập trình.
Extension (hoặc Add-on trên Firefox): Là phần mềm phát triển của bên thứ ba, nhưng khác với Plug-in là nó có cửa sổ giao diện mở cho người dùng cài đặt, Extension có thể chứa Plug-in. Ví dụ điển hình của Plug-in là ứng dụng tra từ điển, xóa quảng cáo, thời tiết…. Việc triển khai ký số bằng Extension thường gặp khó khăn vì phải viết mỗi Extension cho mỗi trình duyệt khác nhau, sau mỗi lần trình duyệt nâng cấp hoặc thay đổi thì phải cập nhập lại Extension cho phù hợp.
Native Client: Là giải pháp mới của Google Chrome giúp tối ưu hiệu suất thực hiện và bảo mật hơn. Giải pháp này sinh ra để thay thế cho Plug-in và cơ chế trao đổi dữ liệu giữa trình duyệt và các Extension. Ngày nay, đa số trình duyệt cập nhật lại Extension dựa trên giải pháp Native Client. Tuy nhiên, Native Client không hỗ trợ USB e-token, lệnh gọi tệp .exe bên ngoài để thực hiện ký số, hoặc lệnh mở một cửa sổ chọn tệp.
Giải pháp ký số Web Socket
Ngoài các giải pháp ký số trên web như trên, còn có giải pháp Web Socket. Ý tưởng của giải pháp này là tạo ra một cặp phần mềm khách (client) và phần mềm chủ (server) để giao tiếp với nhau trong nội bộ máy tính. Trong đó, phần mềm chủ viết trên Javascript nhúng trong trang web, giao tiếp với phần mềm khách có thể được viết bằng các ngôn ngữ khác nhau ngoài trình duyệt (như C/C++/C#/Java/Python....).
Hình 1. Mô hình giải pháp công nghệ Web Socket
Quy trình thực hiện của Web Socket như sau:
1. Người dùng thực hiện chọn chức năng ký số trên trang web, từ đây, chương trình sẽ gọi hàm Javascript để bắt đầu khởi tạo Web Socket:
var ws = new WebSocket(“ws://localhost:” + Port); // Port là tham số cổng.
2. Phần mềm chủ thực hiện bắt tay với phần mềm khách ở bên ngoài đang chờ sẵn.
3. Sau khi phần mềm chủ nhận thông tin bắt tay xong, thực hiện gửi các mã lệnh đến cho phần mềm khách đang chạy ngầm chờ sẵn:
ws.send(“MDZ” + “|” + index + “|”); // MDZ là mã lệnh chọn tệp, index là số thứ tự của tệp.
Phần mềm khách dựa vào các mã lệnh do người lập trình quy định để thực hiện và gửi trả kết quả về cho phần mềm chủ, như mở cửa sổ, ký tệp, xóa tệp, xác thực lại tệp đã ký, gửi tệp đi….
4. Hai phần mềm khách chủ giao tiếp với nhau qua lại và kết thúc phiên bằng câu lệnh websocket.close(), khi người dùng tải lại trang web, thoát trang web, tắt trình duyệt hoặc tắt phần mềm khách.
Hình 2. Một số giao dịch của giải pháp Web Socket
Web Socket ra đời là để thay thế cho giao thức HTTP truyền thống có thủ tục bắt tay nhiều bước và tốc độ chậm. Ở đây, Web Socket chạy trong nội bộ máy tính, với thủ tục bắt tay nhanh kèm theo các câu lệnh tối giản nên tốc độ thực hiện cao, đặc biệt là khi làm việc với tệp có dung lượng lớn (500MB trở lên). Có 2 cách lưu tệp như sau, nếu số lượng và dung lượng tệp ít thì lưu vào cơ sở dữ liệu SQLite của trình duyệt và gửi tệp bằng trình duyệt, còn nếu dung lượng tệp lớn hoặc nhiều tệp được chọn thì lưu ở ngoài trình duyệt và gửi bằng phần mềm khách.
Có thể sử dụng hàm băm như SHA1, SHA256 bên trong Web Socket để chống tấn công xen giữa các giao dịch của Web Socket. Web Socket cho phép xác thực bằng chứng thư số qua kênh SSL 2 chiều khi bắt tay và trước khi phần mềm khách gửi tệp ký lên máy chủ. Giải pháp Web Socket đa ngôn ngữ lập trình hỗ trợ phần mềm máy khách, có thể viết một lần cho các trình duyệt, chạy đa thiết bị (di động, máy tính bảng…) và đa hệ điều hành. Hiện nay, đây là giải pháp độc đáo và khả thi cho việc thực hiện ký web trên các thiết bị di động.
Bảng 1. So sánh giải pháp ký số Web Socket với các giải pháp ký số trên web khác
Bảng 1 so sánh các giải pháp ký số trên web. Môi trường so sánh được thực hiện trên cùng một máy tính, cùng một loại trình duyệt, cùng một hệ điều hành, cùng phiên tại một thời điểm sử dụng.
Kết luận
Kể từ cuối năm 2015, giải pháp ký số sử dụng Web Socket đã được triển khai ở nhiều nơi tại các Bộ, ban, ngành và các cơ quan nhà nước khác. Đây là giải pháp ký số có tốc độ cao, tải được dung lượng tệp lớn, chi phí thấp, dễ tích hợp, góp phần giúp cho giao dịch điện tử trong Chính phủ điện tử ngày một lưu thông hơn và giải quyết các yêu cầu của bài toán trước đó đã đặt ra. Mặc dù giải pháp ký số sử dụng Web Socket có nhiều ưu điểm, nhưng một giải pháp mới thay thế cho Web Socket trong tương lai là cần thiết với mục đích “viết một lần chạy khắp nơi” (có thể áp dụng cho tất cả các thiết bị và hệ điều hành) và để khử vòng lặp while trong Web Socket.
Lê Minh Lộc - Cục Chứng thực số và Bảo mật thông tin
20:00 | 04/02/2019
20:00 | 04/02/2019
16:00 | 29/01/2019
07:00 | 08/04/2024
Thiết bị truyền dữ liệu một chiều Datadiode có ý nghĩa quan trọng trong việc bảo đảm an toàn thông tin (ATTT) cho việc kết nối liên thông giữa các vùng mạng với nhau, đặc biệt giữa vùng mạng riêng, nội bộ với các vùng mạng bên ngoài kém an toàn hơn. Khi chủ trương xây dựng Chính phủ điện tử, Chính phủ số của Quân đội được quan tâm, đẩy mạnh phát triển. Việc liên thông các mạng với nhau, giữa mạng trong và mạng ngoài, giữa mạng truyền số liệu quân sự (TSLQS) và mạng Internet, giữa các hệ thống thông tin quân sự và cơ sở dữ liệu (CSDL) quốc gia về dân cư, bảo hiểm y tế và các CSDL dùng chung khác yêu cầu phải kết nối. Bài báo sẽ trình bày giải pháp truyền dữ liệu một chiều Datadiode cho phép các ứng dụng giữa hai vùng mạng kết nối sử dụng giao thức Webservice/RestAPI.
09:00 | 10/01/2024
Ngày nay, công nghệ trí tuệ nhân tạo (AI) có vai trò hết sức quan trọng trong mọi lĩnh vực của đời sống. Trong đó, lĩnh vực an toàn thông tin, giám sát an ninh thông minh có tiềm năng ứng dụng rất lớn. Bên cạnh các giải pháp như phát hiện mạng Botnet [1], phát hiện tấn công trinh sát mạng [2], việc ứng dụng AI trong giám sát an ninh, hỗ trợ điều tra tội phạm cũng đang được nghiên cứu, phát triển và ứng dụng rộng rãi. Trong bài báo này, nhóm tác giả đề xuất giải pháp sử dụng mô hình mạng nơ-ron tinh gọn phân loại tương tác giữa 2 người trong chuỗi ảnh rời rạc. Kết quả nghiên cứu có vai trò quan trọng làm cơ sở xây dựng và phát triển các mô hình phân loại hành động bất thường, phát hiện xâm nhập.
10:00 | 10/07/2023
Khi mạng viễn thông triển khai 5G trên toàn cầu, các nhà khai thác mạng di động ảo, nhà cung cấp dịch vụ truyền thông và các nhà cung cấp hạ tầng mạng đều đóng vai trò quan trọng trong việc thiết kế, triển khai và duy trì mạng 5G. Không giống như các thế hệ trước, nơi các nhà khai thác di động có quyền truy cập và kiểm soát trực tiếp các thành phần hệ thống, các nhà khai thác di động 5G đang dần mất toàn quyền quản lý bảo mật và quyền riêng tư.
15:00 | 26/05/2023
Ngày nay, trong quy trình xem xét, đánh giá và phân bổ nguồn lực của các tổ chức/doanh nghiệp, bảo mật dữ liệu vẫn được coi là ưu tiên hàng đầu. Tuy nhiên, nhiều tổ chức/doanh nghiệp vẫn phải đối mặt với nhiều hơn những mối đe dọa từ các sự cố an ninh mạng mà họ lường trước.
Lược đồ chữ ký số dựa trên hàm băm là một trong những lược đồ chữ ký số kháng lượng tử đã được Viện Tiêu chuẩn và Công nghệ Quốc gia Mỹ (NIST) chuẩn hóa trong tiêu chuẩn đề cử FIPS 205 (Stateless Hash Based Digital Signature Standard) vào tháng 8/2023. Bài báo này sẽ trình bày tổng quan về sự phát triển của của lược đồ chữ ký số dựa trên hàm băm thông qua việc phân tích đặc trưng của các phiên bản điển hình của dòng lược đồ chữ ký số này.
09:00 | 01/04/2024
Những ngày gần đây, liên tục các kênh YouTube với lượng người theo dõi lớn như Mixigaming với 7,32 triệu người theo dõi của streamer nổi tiếng Phùng Thanh Độ (Độ Mixi) hay Quang Linh Vlogs - Cuộc sống ở Châu Phi với 3,83 triệu người theo dõi của YouTuber Quang Linh đã bị tin tặc tấn công và chiếm quyền kiểm soát.
10:00 | 22/04/2024