Luận văn nghiên cứu và xây dựng lược đồ chữ ký số mật mã khóa công khai RSA 1024 bit. Nội dung chi tiết đã được trình bày trong chương 2. Các chức năng chính của lược đồ ký được thể hiện như sau:
Hình 3.1: Lược đồ ký RSA
+ Chức năng tạo khóa:
+ Chức năng ký:
Sau khi lựa chọn bản tin thông điệp để ký, thuật toán sẽ tiến hành ký lên thông điệp đó.
Hình 3.3: Tạo chữ ký số
Sau khi ký thì bên gửi sẽ gửi bản tin cho bên nhận. + Chức năng giải ký:
Bên nhận sẽ tiến hành thuật toán giải ký và kiểm tra tính toàn vẹn của dữ liệu ký thông qua dữ liệu thông tin mình nhận được và kiểm tra so sánh giá trị hàm băm đính kèm để kết luận hợp lệ hay không hợp lệ.
Hình 3.4: Mô tả quá trình kiểm tra chữ ký số 3.2.2 Giải pháp Chat chữ ký số
Luận văn tiến hành xây dựng giải pháp Chat cho các thành viên liên lạc với nhau. Mỗi thành viên được cấp user và mật khẩu đi kèm để đăng nhập vào hệ thống do Server quản lý. Mỗi phiên liên lạc các đầu mối tiến hành đăng nhập và được cấp cặp khóa (bí mật và công khai) để trao đổi thông tin với nhau theo thuật toán ký được trình bày trên. Theo đó chỉ những người được cấp khóa (nạp khóa) thì mới liên lạc hợp lệ với nhau. Trường hợp còn lại dữ liệu được tính là không hợp lệ.
3.2.3 Giải pháp kết hợp kỹ thuật giấu tin trong ảnh và chữ ký số
Tác giả vẫn lựa chọn thuật toán ký theo mô hình RSA kết hợp với hàm băm để xác minh tính hợp lệ của thông điệp ký. Tuy nhiên trong phạm vi luận văn này, tác giả đề xuất cải tiến lược đồ trên bằng cách ứng dụng kỹ thuật giấu tin trong ảnh để kiểm tra tính toàn vẹn của dữ liệu ảnh khi nhận được. Giải pháp này có các ưu điểm nổi trội sau:
+ Che giấu được sự tồn tại của thông tin: Thay vì trao đổi các thông tin thì ta gửi các bức ảnh có chứa nội dung thông tin trong đó.
+ Tăng độ an toàn của dữ liệu vì chỉ những người có khóa dấu tin mới giải mã được thông tin.
+ Kết hợp ký với giấu tin trong ảnh là một hướng mới, ít phổ biến nên an toàn hơn trước những kẻ tấn công.
Trong phạm vi luận văn đề xuất lựa chọn giải pháp ký RSA kết hợp giấu tin trong ảnh jpg sử dụng thuật toán giấu F5 do ưu điểm dung lượng của định dạng jpg.
Thuật toán F5 [2].
1. Lấy phần thể hiện RGB của ảnh đầu vào (lấy giữ liệu của ảnh).
2. Biến đổi miền dữ liệu của ảnh sang miền tần số DCT sau đó lượng tử hóa các hệ số DCT theo Q ta được các hệ số DCT đã lượng tử.
3. Tính khả năng có thể nhúng khi không sử dụng matrix encoding
h h h h h C DCT DCT 0 1 0,49 64 , trong đó: DCT h là tổng số hệ số DCT; h 0 là số hệ số AC DCT bằng 0 1 h là hệ số AC DCT có trị tuyệt đối bằng 1 64 DCT h
là số hệ số DC; h 1 0,49h0,5h là ước lượng mức độ hao hụt. 4. Mật khẩu người dùng được sử dụng để tạo ra bộ khởi tạo giải ngẫu nhiên PRNG để quyết định nhúng các bit thông điệp vào các vị trí ngẫu nhiên. PRNG cũng thường được sử dụng để phát sinh một dòng bit giả ngẫu nhiên bằng phép XOR với thông điệp tạo ra nó một dòng bit ngẫu nhiên. Trong quá trình nhúng, hệ số DC và các hệ số bằng 0 thường được bỏ qua.
5. Thông điệp được chia thành các đoạn gồm k bit, mỗi đoạn nhúng vào một nhóm hệ số DCT 2k 1
theo bước đi giả ngẫu nhiên. Nếu giá trị băm của nhóm không phù hợp với các bit thông điệp thì giá trị tuyệt đối của một trong
những hệ số trong nhóm bị giảm đi 1 cho phù hợp. Nếu hệ số trở thành 0 (hệ số này được gọi là điểm hội tụ- shrinkage), bà khi đó k bit thông điệp này sẽ được nhúng trong nhóm hệ số DCT tiếp theo.
6. Nếu độ dài thông điệp phù hợp với khả năng có thể giấu trong ảnh thì quá trình giấu thành công, ngược lại sẽ thông báo lỗi và cho biết độ dài lớn nhất của ảnh có thể giấu để điều chỉnh thông điệp giấu hoặc thay đổi ảnh dùng để giấu thông điệp.
3.3 Xây dựng giải pháp và thực nghiệm
3.3.1 Giải pháp Chat ứng dụng chữ ký số
Việc cài đặt và tổ chức mô hình liên lạc được tiến hành tại Server để cung cấp các dịch vụ (file chạy server.exe), và cài đặt ứng dụng Chat tại các máy client theo mô hình Server-client (file chạy ClientDSS.exe).
Trước tiên cần khởi động cho Server hoạt động bằng cách chọn Start, sau đó các máy Client mới có thể đăng nhập vào hệ thống. Để thực nghiệm các tính năng của hệ thống, ta tiến hành đăng nhập với 3 tài khoản người dùng là A, B, C trên hệ thống máy chủ. Khi đó trên trên Server sẽ hiển thị toàn bộ các tài khoản đang hoạt động, đồng thời trên giao diện mỗi tài khoản cũng hiển thị danh bạ các tài khoản khác đang hoạt động cho phép người dùng lựa chọn để liên lạc.
Hình 3.5: Giao diện các máy Cliente A, B, C
3.3.1.1 Chức năng tạo và nạp khóa
Sau khi kết nối, các đầu mối trong hệ thống đều có thể gửi dữ liệu cho nhau giống như mạng Chat thông thường. Tuy nhiên dữ liệu nhận được là do chưa được ký nên hiển thị thông báo “Không hợp lệ”. Trường hợp nếu A muốn gửi thông báo có ký hợp lệ cho B, trước tiên A phải nạp khóa bí mật của mình và B phải nạp khóa công khai của A.
Tương tự, để A có thể nhận được dữ liệu hợp lệ của B thì B phải nạp khóa bí mật của mình và A sẽ nạp khóa công khai của B. Như vậy để A và B có thể trao đổi thông tin hợp lệ thì cả A và B cần được phải được nạp khóa theo giải thuật tạo khóa trình bày trong mục 3.1.1.
3.3.1.2 Chức năng ký và giải ký
Sau khi nạp khóa, A lựa chọn thông điệp cần gửi và thuật toán sẽ tiến hành ký tại A và giải ký tại B để hiện thị thông báo hợp lệ trên B theo thuật toán ký và giải ký đã trình bày tại phần trên. Trường hợp nếu thông tin bị thay đổi hoặc sửa chữa tức không đảm bảo tính toàn vẹn của dữ liệu, thì hệ thống cũng sẽ hiển thị thông báo không hợp lệ sau khi tiến hành giải ký và so sánh hàm băm.
Hình 3.7: Trao đổi thông tin Chat trên ứng dụng chữ ký số 3.3.2 Giải pháp kết hợp kỹ thuật giấu tin trong ảnh và chữ ký số
Giả sử trường hợp xấu nhất, trong phiên liên lạc Chat giữa A và B, kẻ lạ mặt đột nhập và chiếm toàn bộ quyền sử dụng của A, tức có toàn bộ các
tham số mật mã để A và B có thể trao đổi hợp lệ qua lược đồ ký như trên. Khi kẻ mạo danh gửi dữ liệu cho B, theo lược đồ ký phổ biến hiện nay thì B sẽ không thể phát hiện ra được đó là dữ liệu giả mạo. Vì thế trong trường hợp này, tác giả đề xuất sử dụng thêm một ứng dụng để phát hiện điều đó, nhưng không dùng phương pháp phổ biến là so sánh giá trị băm của tóm lược mà áp dụng kỹ thuật ẩn giấu thông tin để kiểm tra tính toàn vẹn, bởi hiện nay tác giả đã có một số kết quả nghiên cứu về kỹ thuật ẩn giấu thông tin trong ảnh.
Một bức ảnh trước khi ký thì sẽ được giấu một thông tin bí mật trong đó, vì thế nếu bức ảnh ký nếu có bị sửa chữa hay can thiệp thì sẽ không thể giải mã ra được thông điệp giấu. Dựa vào điểm này ta có thể kiểm tra tính toàn vẹn của dữ liệu một cách hiệu quả và đơn giản.
3.3.2.1 Giao diện chính
Để thuận tiện, tác giả tiến hành xây dựng và tích hợp giải pháp này trên cùng giải pháp Chat.
3.3.2.2 Chức năng tạo khóa
Việc tạo khóa được thực hiện như đã trình bày trên. Để có thể ký và giải ký, người gửi cần nạp khóa bí mật của mình, đồng thời bên nhận phải nạp khóa công khai của người gửi. Khóa cũng được sinh ra theo thuật toán ký số như đã trình bày. Mặt khác theo thuật toán giấu tin, chúng ta cũng cần nạp khóa bí mật. Trong chương trình ứng dụng, để đơn giản, luận văn lựa chọn phương pháp tạo khóa bằng cách chọn các ký tự đoạn đầu văn bản nhập vào để làm mầm khóa cho thuật toán giấu tin.
3.3.2.3 Chức năng tạo chữ ký
Quá trình giấu tin trong ảnh được tác giả tổ chức cùng với chức năng tạo chữ ký số trên ảnh có giấu tin. Trước tiên cần nạp khóa bí mật của người gửi trong lược đồ ký. Sau đó lựa chọn ảnh đầu vào và thông tin nội dung chữ ký. Chương trình sẽ chạy thuật toán giấu tin F5 và ký số.
Hình 3.9: Chức năng tạo chữ ký số trên file ảnh có giấu tin
Sau khi chọn ký file ta sẽ có chữ ký trên file ảnh jpg có chứa tin bên trong và sẽ được gửi cho người nhận.
3.3.2.4 Chức năng kiểm tra chữ ký
Người nhận khi nhận được file ký thì sẽ giải ký bằng khóa công khai của người gửi. Đồng thời chương trình sẽ tính toán kiểm tra tính toàn vẹn của thông điệp bằng cách so sánh mã hàm băm. Nếu chúng giống nhau thì kết luận hợp lệ, có nghĩa đảm bảo tính toàn vẹn.
Hình 3.10: Kiểm tra chữ ký số hợp lệ
Trường hợp ngược lại, nếu chúng khác nhau thì hiển thị không hợp lệ.
3.4 Đề xuất áp dụng trong lĩnh vực chính phủ điện tử
Trong thực tiễn công tác luôn cho thấy bên cạnh những giải pháp chính phủ điện tử tổng thể rất cần có những giải pháp mang tính hỗ trợ cho người dùng, trực tiếp là cán bộ, nhân viên, hoặc người dân. Hai giải pháp được đề xuất trong luận văn có thể tiếp tục cải tiến. Tuy nhiên cũng nhận thức rõ rằng mỗi dịch vụ điện tử để được sử dụng, không chỉ đáp ứng các yêu cầu kỹ thuật theo các chuẩn mật mã, mà cần được cấp phép của cơ quan chuyên trách có thẩm quyền, theo đúng quy định về các điều khoản trong Luật an toàn thông tin.
Giải pháp Chat nếu được trang bị đầy đủ có thể được đưa vào ứng dụng trong thực tiễn. Do đó, trong thời gian tới, học viên sẽ tập trung nghiên cứu giải pháp Chat nhằm cải tiến để đưa vào ứng dụng thử trong một đơn vị của Sở Giáo dục Đào tạo. Nếu được triển khai, giải pháp Chat này tương đối thân thiện, dễ dàng trong quản lý và sử dụng. Ta biết rằng bản thân lược đồ chữ ký số chỉ đảm bảo tinh an toàn và xác thực của thông điệp mà không có tinh chất bảo mật. Do vậy,với giải pháp kết hợp kỹ thuật giấu tin trong ảnh và chữ ký số là một cách tiếp cận tương đối mới, có thể sử dụng kết hợp cùng với các giải pháp sẵn có, để trao đổi các thông điệp có yêu cầu độ bí mật cao.
Kết luận chương 3
Với mục tiêu, yêu cầu cần tổ chức xây dựng một lược đồ chữ ký số sử dụng mật mã khóa công khai, toàn bộ nội dung chương 3 đã trình bày cách thức lựa chọn giải pháp tổng thể đến những lựa chọn giải pháp con khi xây dựng các ứng dụng. Từ những kết quả nền tảng đạt được đó, học viên đã mạnh dạn đề xuất và phát triển xây dựng, tích hợp lược đồ ký đó trên hai sản phẩm có tính ứng dụng cao, phù hợp và đáp ứng một phần nhu cầu sử dụng; và học viên cũng mạnh dạn đề xuất một số hướng ứng dụng những sản phẩm trên, góp phần trong trong thực tiễn công tác.
Tuy nhiên cũng cần thấy rằng, để có thể triển khai ứng dụng trong thực tiễn, cần phát triển giải pháp theo hướng tổng thể bao gồm cả việc xây dựng hệ thống hạ tầng, triển khai các thiết bị an toàn về phần cứng và cần tiếp tục phát triển các sản phẩm hơn theo hướng đa dạng các giải pháp và loại hình liên lạc để có thể đáp ứng tốt các nhu cầu, yêu cầu về kỹ thuật, nghiệp vụ và các quy định của pháp luật.
KẾT LUẬN
Luận văn “Nghiên cứu tìm hiểu chuẩn chữ ký số DSS và ứng dụng trong chính phủ điện tử” hoàn thành đã đạt được một số kết quả sau:
Đã tổ chức nghiên cứu tổng quan về chính phủ điện tử và những nguy cơ mất an ninh an toàn khi triển khai sử dụng. Từ cách tiếp cận về các giải pháp khắc phục, học viên đã trình bày kết quả nghiên cứu về kỹ thuật mật mã cũng như các lược đồ ký để bảo mật thông tin một cách bí mật, toàn vẹn, xác thực, sẵn sàng và chống chối bỏ khi trao truyền qua internet. Nghiên cứu cũng cho thấy sự ứng dụng rộng rãi không chỉ trong các cơ quan, tổ chức nhà nước, doanh nghiệp mà được phổ biến ở tất cả các chủ thể tham gia hoạt động kinh tế, chính trị, xã hội, người dân.
Dựa trên những cơ sở về lý thuyết toán học, luận văn đã tiến hành nghiên cứu về hàm băm, gồm các thuật toán MD, SHA là những nội dung quan trọng để sử dụng trong các lược đồ ký. Tiếp đó luận văn đã mô tả toàn bộ quá trình sinh khóa, tạo chữ ký và giải ký đối với một số thuật toán ký hiện nay. Đồng thời phân tích, nghiên cứu và đánh giá về độ an toàn của từng hệ chữ ký số đó. Phần nội dung chính của luận văn, học viên sử dụng những kiến thức về công nghệ phần mềm, công nghệ mạng để xây dựng chương trình chữ ký số với đầy đủ các chức năng theo yêu cầu đề ra. Trên cơ sở đã đạt được, học viên tiếp tục mạnh dạn đi sâu nghiên cứu và phát triển, tích hợp giải thuật chữ ký số này trong hai sản phẩm ứng dụng đó là Giải pháp Chat chữ ký số và Giải pháp chữ ký số cải tiến sử dụng kỹ thuật giấu tin trong ảnh thay cho sử dụng hàm băm trong lược đồ ký, để có thể kiểm tra tính toàn vẹn của thông tin (định dạng ảnh jpg) nhận được. Học viên cũng tiến hành thực nghiệm, đánh giá chất lượng của các sản phẩm được xây dựng và đề xuất ứng dụng cũng như một số hướng phát triển và nghiên cứu tiếp theo.
TÀI LIỆU THAM KHẢO Tiếng Việt
[1] Chính phủ, “Nghị quyết số 17/NQ-CP về một số nhiệm vụ, giải pháp trọng tâm phát triển chính phủ điện tử giai đoạn 2019-2020 và định hướng đến năm 2025”, 2019.
[2] Đỗ Minh Đức, Hồ Văn Canh, “Nghiên cứu xây dựng một giải pháp giấu tin đơn giản, an toàn”, 2011.
[3] Lê Thị Hà, Bùi Thế Hồng “Sơ đồ định danh mật và chữ ký số ứng dụng trong thương mại điện tử”, Đại học Thái Nguyên, 2012.
[4] Nguyễn Huy Thắng, Trần Đình Quế “Nguyên cứu về chữ ký số và ứng dụng trong hóa đơn điện tử tại VNPT Hà Nội”, Học viện công nghệ Bưu chính viễn thông, 2013.
[5] Phạm Thị Tâm, Đoàn Văn Ban, “Một số thuật toán chữ ký số và ứng dụng trong bảo mật dữ liệu điện tử”, Đại học Thái Nguyên, 2017.
[6] Trịnh Nhật Tiến, Bài giảng “Một số vấn đề về an toàn dữ liệu” Đại học công nghệ, Đại học Quốc gia Hà Nội, 2004.
[7] Trần Danh Đại, Hồ Văn Hương, “Nghiên cứu chữ ký số trong ứng dụng quản lý tài liệu lưu trữ quốc gia”, 2015.
Tiếng Anh
[8] A. K. Jain, “Fundamentals of Digital Image Processing, Prentice – Hall”, 1989.
[9]. J. BUCHMANN, “The Digital Signature Algorithm”, 2001.
[10]. D. Johnson, A. Menezes And S. Vanstone, 1554, The Eliptic, Curve Digital Signature Algorithm, Lecture Notes in Computer Science,