Tổng quan về an toàn thông tin, khảo sát thực trạng tài liệu tại các
Tổng quan về an toàn thông tin
Khi nhu cầu trao đổi thông tin ngày càng tăng, các tiến bộ trong điện tử - viễn thông và công nghệ thông tin đã thúc đẩy sự phát triển của các ứng dụng nhằm nâng cao chất lượng và lưu lượng truyền tin Điều này dẫn đến việc đổi mới các quan niệm và biện pháp bảo vệ thông tin dữ liệu Bảo vệ an toàn thông tin dữ liệu là một chủ đề rộng, liên quan đến nhiều lĩnh vực, với nhiều phương pháp khác nhau được thực hiện Các phương pháp bảo vệ an toàn thông tin dữ liệu có thể được chia thành ba nhóm chính.
- Bảo vệ an toàn thông tin bằng các biện pháp hành chính
- Bảo vệ an toàn thông tin bằng các biện pháp kỹ thuật (phần cứng)
- Bảo vệ an toàn thông tin bằng các biện pháp thuật toán (phần mềm)
Ba nhóm biện pháp có thể được áp dụng độc lập hoặc kết hợp với nhau Môi trường mạng và truyền tin là nơi khó bảo vệ an toàn thông tin nhất, đồng thời cũng dễ bị xâm nhập nhất Hiện nay, giải pháp hiệu quả và kinh tế nhất cho mạng truyền tin và mạng máy tính là sử dụng các thuật toán.
An toàn thông tin bao gồm các nội dung sau:
- Tính bí mật: tính kín đáo riêng tư của thông tin
- Tính xác thực của thông tin, bao gồm xác thực đối tác (bài toán nhận danh), xác thực thông tin trao đổi
Tính chống chối bỏ đảm bảo rằng người gửi không thể từ chối trách nhiệm về thông tin đã gửi Để bảo vệ an toàn dữ liệu trên đường truyền và mạng máy tính, cần dự đoán các rủi ro và khả năng xâm phạm có thể xảy ra Việc xác định chính xác các nguy cơ này là yếu tố quyết định để đưa ra các giải pháp hiệu quả nhằm giảm thiểu thiệt hại.
Có hai loại hành vi xâm phạm thông tin dữ liệu: vi phạm chủ động và vi phạm thụ động Vi phạm thụ động nhằm mục đích đánh cắp thông tin mà không làm sai lệch nội dung, thường khó phát hiện nhưng có thể ngăn chặn hiệu quả Ngược lại, vi phạm chủ động có khả năng thay đổi, xóa bỏ hoặc làm sai lệch nội dung thông tin, dễ phát hiện nhưng khó ngăn chặn hiệu quả.
Không có biện pháp bảo vệ an toàn thông tin nào là hoàn hảo Dù hệ thống được bảo vệ mạnh mẽ đến đâu, vẫn không thể đảm bảo an toàn tuyệt đối cho dữ liệu.
An toàn thông tin trong tài liệu lưu trữ quốc gia
Tài liệu lưu trữ quốc gia là di sản quý giá của dân tộc, đóng vai trò quan trọng trong việc xây dựng và bảo vệ Tổ quốc Việt Nam xã hội chủ nghĩa.
Tài liệu lưu trữ quốc gia là những tài liệu quý giá liên quan đến chính trị, kinh tế, quốc phòng, an ninh, ngoại giao, văn hóa, giáo dục, khoa học và công nghệ, được hình thành qua các thời kỳ lịch sử của dân tộc Việt Nam Những tài liệu này được sản xuất bởi các cơ quan nhà nước, tổ chức chính trị, xã hội, tổ chức nghề nghiệp, tổ chức kinh tế, đơn vị vũ trang nhân dân và các nhân vật lịch sử tiêu biểu, nhằm phục vụ cho việc nghiên cứu lịch sử, khoa học và các hoạt động thực tiễn.
Việc ứng dụng công nghệ thông tin trong quản lý tài liệu lưu trữ không chỉ nâng cao tuổi thọ của tài liệu gốc mà còn đáp ứng nhanh chóng nhu cầu tra cứu mọi lúc, mọi nơi Để đạt được điều này, cần chuyển đổi tài liệu từ hình thức truyền thống sang dạng điện tử Tuy nhiên, khi chuyển đổi, tài liệu cần đảm bảo tính xác thực, toàn vẹn, an toàn thông tin và khả năng truy cập Một vấn đề lớn là thông tin trong tài liệu số có thể bị chỉnh sửa mà không để lại dấu vết, dẫn đến giá trị pháp lý của chúng bị giảm sút và thường không được công nhận.
Việt Nam chú trọng đảm bảo tính xác thực của tài liệu lưu trữ quốc gia, đây là một yêu cầu quan trọng trong công tác quản lý tài liệu của Cục Văn thư và Lưu trữ nhà nước, cơ quan phụ trách bốn Trung tâm Lưu trữ quốc gia.
Khảo sát thực trạng tài liệu tại các Trung tâm Lưu trữ quốc gia
1.3.1 Giới thiệu Trung tâm Lưu trữ quốc gia
Cục Văn thư và Lưu trữ Nhà nước quản lý bốn Trung tâm Lưu trữ quốc gia, bao gồm Trung tâm I, II, III và IV Tài liệu lưu trữ tại đây có giá trị quan trọng về chính trị, kinh tế, quốc phòng, an ninh, ngoại giao, văn hóa, giáo dục, khoa học và công nghệ, được hình thành trong các giai đoạn lịch sử của dân tộc Việt Nam Những tài liệu này được tạo ra từ hoạt động của các cơ quan nhà nước, tổ chức chính trị, tổ chức xã hội, và các nhân vật lịch sử tiêu biểu, phục vụ cho việc nghiên cứu lịch sử, khoa học và các hoạt động thực tiễn.
- Tài liệu do các cơ quan thuộc chính quyền cũ để lại trong thời kỳ phong kiến, thời kỳ Pháp thuộc
- Tài liệu hình thành trong hoạt động của các cơ quan thuộc Ngụy quyền Sài Gòn tồn tại ở miền Nam trước năm 1975
Tài liệu của các cơ quan Nhà nước Việt Nam Dân chủ Cộng hòa, hiện nay là nước Cộng hòa xã hội chủ nghĩa Việt Nam, phản ánh quá trình phát triển và thay đổi của đất nước từ năm 1945 đến nay Những tài liệu này không chỉ ghi lại các chính sách và quyết định quan trọng mà còn thể hiện sự phát triển của hệ thống pháp luật và quản lý nhà nước trong bối cảnh lịch sử và xã hội.
- Tài liệu hình thành trong hoạt động của các nhân vật nổi tiếng, của cá nhân, gia đình, dòng họ
1.3.2 Khảo sát tài liệu lưu trữ tại các Trung tâm Lưu trữ quốc gia Hiện nay, bốn Trung tâm Lưu trữ quốc gia thuộc Cục Văn thư và Lưu trữ nhà nước đang trực tiếp quản lý gần 30km giá tài liệu lưu trữ, trong đó:
Trung tâm Lưu trữ quốc gia I hiện đang quản lý gần 06km tài liệu lưu trữ và tư liệu lưu trữ, bao gồm các khối tài liệu chính quan trọng.
Khối tài liệu Hán - Nôm được hình thành trong quá trình hoạt động của các cơ quan, tổ chức trong thời kỳ phong kiến tại Việt Nam Tài liệu chủ yếu được viết bằng chữ Hán - Nôm, vì vậy nó còn được gọi là khối tài liệu Hán - Nôm Tài liệu cổ nhất còn lưu giữ thuộc khối này là Bằng của Bộ Lại cấp cho Phạm Nam, chức Thí quan Phòng ngự thiêm sự Ty Phòng ngự sứ, được cấp vào ngày 21/11 năm Hồng Đức thứ 19.
Khối tài liệu Hán - Nôm bao gồm nhiều phông và sưu tập quý giá, như phông Nha Kinh lược Bắc kỳ (1886-1897), phông huyện Thọ Xương (1874-1896), khối Châu bản triều Nguyễn và khối tài liệu địa bạ triều Nguyễn Những tài liệu này không chỉ phản ánh lịch sử mà còn là nguồn tư liệu quan trọng cho nghiên cứu văn hóa và xã hội Việt Nam.
Hương Khê và sưu tập tài liệu Vĩnh Linh là một trong những khối tài liệu quý hiếm, cung cấp nguồn sử liệu quan trọng phản ánh toàn diện đời sống chính trị, kinh tế, văn hóa và xã hội trong thời kỳ phong kiến Việt Nam Các tài liệu này bao gồm những nội dung liên quan đến các lĩnh vực như Lễ, Hình, Công, Hộ và Lại Do giá trị và sự quý hiếm của chúng, khối tài liệu này cần được bảo vệ, bảo quản an toàn, đồng thời tổ chức khai thác sử dụng hiệu quả để đáp ứng nhu cầu nghiên cứu về thời kỳ này.
Khối tài liệu tiếng Pháp được hình thành từ hoạt động của các cơ quan thực dân Pháp trên lãnh thổ Bắc Kỳ từ 1858 đến 1945 và Bắc Việt từ 1945 đến 1954, hiện đang được bảo quản tại Trung tâm Lưu trữ quốc gia I Đây là khối tài liệu lớn nhất, bao gồm hai nhóm chính: tài liệu hành chính và tài liệu kỹ thuật Nhóm tài liệu hành chính có gần 50 phông tài liệu, phản ánh đầy đủ các khía cạnh của đời sống chính trị, kinh tế, văn hóa và xã hội Việt Nam trong thời kỳ thực dân Pháp Các tài liệu chủ yếu là văn bản quản lý như nghị định, quyết định, thông tư, kế hoạch, báo cáo, tờ trình và công văn hành chính.
Từ năm 1887 đến 1954, nhóm tài liệu kỹ thuật bao gồm gần 179 công trình lớn nhỏ, trong đó có 138 công trình kiến trúc, 28 công trình thủy lợi và 13 công trình giao thông quan trọng được xây dựng trong thời kỳ Pháp thuộc Hầu hết tài liệu trong nhóm này là tài liệu kỹ thuật như bản can và bản sao in ánh sáng.
Trung tâm Lưu trữ quốc gia II đang trực tiếp quản lý gần 15 km giá tài liệu lưu trữ, bao gồm:
Khối tài liệu Mộc bản là những văn bản chữ Hán hoặc chữ Nôm được khắc ngược trên tấm gỗ, phục vụ cho việc in ấn, và được hình thành dưới triều đại Nguyễn.
Khối tài liệu tiếng Pháp được hình thành từ hoạt động của các cơ quan, tổ chức như Khâm sứ Trung kỳ (1874-1945), Thống đốc Nam kỳ (1861-1945), Toà Đại biểu Chính phủ Nam Việt (1929-1957) và các cơ quan chuyên môn trực thuộc.
Khối tài liệu Mỹ - Ngụy được hình thành từ hoạt động của các cơ quan và tổ chức của Mỹ cùng chính quyền Việt Nam Cộng hòa tại miền Nam Việt Nam trong giai đoạn 1954 đến 1975 Khối tài liệu này bao gồm 41 phông, khối phông và sưu tập, trong đó có nhiều phông tài liệu quan trọng như phông Quốc hội, Phủ Tổng thống Đệ nhất Cộng hòa, Phủ Tổng thống Đệ nhị Cộng hòa, Phủ Thủ tướng Việt Nam Cộng hòa, và phông Cơ quan Phát triển Quốc tế Hoa Kỳ (USAID).
Khối tài liệu Cách mạng được hình thành từ hoạt động của các cơ quan và tổ chức cách mạng tại miền Nam Việt Nam từ năm 1954 đến nay, phản ánh quá trình đấu tranh và phát triển của phong trào cách mạng trong khu vực.
- Khối tài liệu bản đồ: Hiện nay, Trung tâm Lưu trữ Quốc gia II đang quản lý khoảng trên 12.000 tấm bản đồ các loại, kể cả bản đồ nổi
Khối tài liệu phim ảnh ghi âm bao gồm các bài phát biểu của Tổng thống và Thủ tướng Việt Nam Cộng hòa cùng những quan chức cao cấp trong nội các Nó cũng ghi lại các cuộc họp của Quốc hội Việt Nam Cộng hòa, hoạt động của Tổng thống và Phu nhân, các quan chức cấp cao trong nội các, cũng như các buổi lễ trọng thể và tiếp kiến với các đoàn ngoại giao.
Trung tâm Lưu trữ quốc gia III đang quản lý khoảng 10 km tài liệu quan trọng từ các cơ quan nhà nước và đoàn thể trung ương, cũng như các nhân vật lịch sử tiêu biểu.
Nghiên cứu cở sở lý thuyết về chữ ký số ứng dụng trong quản lý tài liệu lưu trữ quốc gia
Mã hóa dữ liệu
Mật mã, theo nghĩa hẹp, chủ yếu được sử dụng để bảo mật dữ liệu Mật mã học là một lĩnh vực khoa học nghiên cứu về mật mã, bao gồm hai khía cạnh chính: tạo mã và phân tích mã.
Phân tích mã, hay còn gọi là thám mã, là kỹ thuật và nghệ thuật kiểm tra tính bảo mật của mã và phá vỡ sự bí mật của nó.
Mật mã là một công cụ quan trọng trong việc đảm bảo an toàn thông tin, bao gồm bảo mật, bảo toàn dữ liệu, xác thực danh tính và ngăn chặn hành vi chối cãi.
Khái niệm mã hoá thông tin
Mã hóa là quá trình chuyển đổi thông tin có thể đọc được (Bản rõ) thành thông tin khó đọc theo cách thông thường (Bản mã), và đây là một trong những kỹ thuật quan trọng để bảo mật thông tin.
- Giải mã là quá trình chuyển thông tin ngược lại, từ Bản mã thành Bản rõ
- Thuật toán mã hóa hay giải mã là thủ tục tính toán để mã hóa hay giải mã
Khóa mã hóa là giá trị giúp thuật toán mã hóa hoạt động và tạo ra bản rõ Thông thường, độ an toàn của bản mã tăng lên khi kích thước và tính ngẫu nhiên của khóa lớn hơn Phạm vi các giá trị khả thi của khóa được gọi là Không gian khóa.
- Hệ mã hóa là tập các thuật toán, các khóa nhằm che giấu thông tin, cũng như làm cho rõ nó
Hệ mã hoá được định nghĩa là bộ năm (P, C, K, E, D), trong đó:
- P: là tập hữu hạn các bản rõ có thể
- C: tập hữu hạn các bản mã có thể
- K: tập hữu hạn các khoá có thể
- E: tập các hàm lập mã
- D: tập các hàm giải mã
Với khoá lập mã ke K, có hàm lập mã e ke E, e ke : P →C
Với khoá giải mã kd K, có hàm giải mã d kd D, dkd: C→P, sao cho d kd (e ke (x))=x, Với mọi x P Ở đây x được gọi là bản rõ, e ke (x) được gọi là bản mã
Quá trình mã hoá và giải mã:
Trong quá trình mã hóa và giải mã, người gửi G muốn gửi bản tin T cho người nhận N Để đảm bảo tính bảo mật, G mã hóa bản tin bằng khóa lập mã ke, tạo ra bản mã e ke (T) và gửi cho N Mặc dù tin tặc có thể đánh cắp bản mã e ke (T), nhưng việc hiểu được bản tin gốc T sẽ rất khó khăn nếu không có khóa giải mã kd.
Người nhận N nhận được bản mã, họ dùng khoá giải mã kd để giải mã e ke (T) và nhận được bản tin gốc T=d kd (e ke (T))
2.1.2 Phân loại hệ mật mã Hiện có 2 loại hệ mật mã chính: mã hoá khoá bí mật và mã hoá khoá công khai
2.1.2.1 Hệ mã hoá khoá bí mật Trong hệ thống mã hóa khoá bí mật, quá trình mã hóa và giải mã một thông điệp sử dụng cùng một mã khóa gọi là khóa bí mật (secret key) hay khóa đối xứng (symmetric key) Do đó, vấn đề bảo mật thông tin đã mã hóa hoàn toàn phụ thuộc vào việc giữ bí mật nội dung của mã khóa đã được sử dụng
Trước đây, mã hóa DES là tiêu chuẩn cho hệ mã hóa khóa bí mật, nhưng với sự tiến bộ của công nghệ xử lý, phương pháp này đã trở nên không an toàn Để đáp ứng nhu cầu bảo mật thông tin, Viện Tiêu chuẩn và Công nghệ Quốc gia Hoa Kỳ đã chọn một chuẩn mã hóa mới với độ an toàn cao Thuật toán Rijndael, do Vincent Rijmen và Joan Daeman phát triển, đã được công nhận là chuẩn mã hóa nâng cao AES kể từ ngày 02 tháng 10 năm 2000.
Bảng 2.2: Mô hình hệ thống mã hoá khoá bí mật
Hệ mã hoá khoá bí mật có đặc điểm sau:
- Ưu điểm: Hệ mã hoá khoá bí mật mã hoá và giải mã nhanh hơn Hệ mã hoá khoá công khai
Mã hóa khóa bí mật không hoàn toàn an toàn vì cả người giải mã và người mã hóa đều cần chung một khóa Khóa này phải được giữ bí mật tuyệt đối, vì việc biết khóa này có thể dẫn đến việc dễ dàng xác định khóa kia và ngược lại.
Quản lý và thỏa thuận về khóa chung là một thách thức phức tạp, đòi hỏi sự đồng thuận chặt chẽ giữa người gửi và người nhận Việc thay đổi khóa gặp nhiều khó khăn và có nguy cơ bị lộ Do đó, khóa chung cần được truyền tải qua các kênh an toàn để đảm bảo tính bảo mật.
Mặt khác, khi người lập mã và người giải mã cùng biết chung một bí mật thì càng khó giữ bí mật
Hệ mã hoá khoá bí mật là lựa chọn phổ biến trong các môi trường mà khoá chung có thể dễ dàng chia sẻ, như trong mạng nội bộ Nó được sử dụng để mã hoá các bản tin lớn nhờ vào tốc độ mã hoá và giải mã nhanh hơn so với hệ mã hoá khoá công khai.
2.1.2.2 Hệ mã hoá khoá công khai Nếu như vấn đề khó khăn đặt ra đối với các phương pháp mã hóa khoá bí mật chính là bài toán trao đổi mã khóa thì ngược lại, các phương pháp mã hóa khóa công khai giúp cho việc trao đổi mã khóa trở nên dễ dàng hơn Nội dung của khóa công khai (public key) không cần phải giữ bí mật như đối với khóa bí mật trong các phương pháp mã hóa bí mật Sử dụng khóa công khai, chúng ta có thể thiết lập một quy trình an toàn để truy đổi khóa bí mật được sử dụng trong hệ thống mã hóa khoá bí mật
Trong những năm gần đây, phương pháp mã hóa khóa công khai, đặc biệt là RSA, đã trở thành tiêu chuẩn phổ biến trong các ứng dụng mã hóa trên toàn cầu RSA được ứng dụng rộng rãi để bảo mật thông tin liên lạc và trong lĩnh vực thương mại điện tử, khẳng định vai trò quan trọng của nó trên Internet.
Có thể định nghĩa hệ mã hoá công khai như sau:
Hệ mã hoá công khai, hay còn gọi là hệ mã hoá khoá phi đối xứng, là một phương thức mã hoá sử dụng hai khoá khác nhau: khoá lập mã (ke) và khoá giải mã (kd) Tên gọi "hệ mã hoá khoá công khai" xuất phát từ việc một trong hai khoá, thường là khoá lập mã, có thể được công khai cho bất kỳ ai, trong khi khoá giải mã được giữ bí mật.
- Khoá lập mã cho công khai, gọi là khoá công khai
- Khoá giải mã: giữ bí mật, còn gọi là khoá riêng hay khoá bí mật
Bất kỳ ai cũng có thể sử dụng khóa công khai để mã hóa tin nhắn, nhưng chỉ những người sở hữu khóa giải mã đúng mới có khả năng đọc được nội dung gốc.
Bảng 2.3: Mô hình hệ thống mã hoá với khoá công khai
Hệ mã hoá khoá công khai có đặc điểm sau:
Hàm băm mật mã
Hàm băm là một giải thuật quan trọng giúp tạo ra các giá trị băm cho từng khối dữ liệu, đóng vai trò như một khóa để phân biệt các khối dữ liệu khác nhau.
Bảng 2.4: Ảnh minh họa làm việc của một hàm băm 2.2.2 Phân loại hàm băm
Hàm băm một chiều (one-way hash functions) là loại hàm băm mà từ một mã băm đã biết, không thể tính toán để tìm ra chuỗi bit ban đầu tương ứng Điều này đảm bảo tính bảo mật và tính toàn vẹn của dữ liệu, vì mã băm không thể được đảo ngược để lấy lại thông tin gốc.
Collision-resistant hash functions are hashing algorithms designed to make it computationally infeasible to find two different input strings that produce the same hash value.
2.2.3 Họ hàm băm SHA 2.2.3.1 Đặc điểm
Thuật toán SHA, được phát triển bởi Cục An ninh Quốc gia Mỹ (NSA) và công nhận bởi Viện Công nghệ và Chuẩn Quốc gia Mỹ (NIST), là một tiêu chuẩn băm mật Bộ hàm băm SHA bao gồm năm thuật toán: SHA-1, SHA-224, SHA-256, SHA-384 và SHA-512, trong đó bốn thuật toán sau thường được gọi chung là SHA-2 Các thuật toán này có những tính chất cơ bản riêng, được thể hiện trong bảng 2.5.
Kích thước (đơn vị: bit) Độ an toàn
Thuật toán Thông điệp Khối Thông điệp rút gọn
Bảng 2.5 trình bày các tính chất cơ bản của thuật toán băm, trong đó họ hàm băm SHA được đánh giá cao về độ an toàn Ưu điểm nổi bật của SHA là khả năng bảo mật mạnh mẽ, giúp bảo vệ dữ liệu khỏi các cuộc tấn công và đảm bảo tính toàn vẹn của thông tin.
- Cho một giá trị băm nhất định được tạo nên bởi một trong những thuật giải SHA, việc tìm lại được đoạn dữ liệu gốc là không khả thi
Việc tìm hai đoạn dữ liệu khác nhau nhưng có cùng giá trị băm trong thuật toán SHA là điều không thể Ngay cả những thay đổi nhỏ trên dữ liệu gốc cũng dẫn đến giá trị băm hoàn toàn khác với xác suất cao SHA-1 được áp dụng rộng rãi trong nhiều ứng dụng và giao thức bảo mật khác nhau.
Nhược điểm: Hiện nay, SHA-1 không còn được coi là an toàn bởi đầu năm
Năm 2005, các nhà mật mã học Trung Quốc đã thành công trong việc phát triển một thuật toán cho phép tìm ra hai đoạn dữ liệu khác nhau có cùng kết quả băm từ SHA-1 Mặc dù chưa có ai thực hiện được điều tương tự với SHA-2, nhưng do sự tương đồng giữa SHA-1 và SHA-2, nhiều nhà khoa học đã bắt đầu nghiên cứu và phát triển một thuật toán mới tốt hơn NIST cũng đã khởi động một cuộc thi nhằm phát triển một thuật toán băm mới an toàn hơn SHA, tương tự như quy trình phát triển chuẩn mã hóa nâng cao AES.
Chữ ký số
Chữ ký số là một công nghệ sử dụng mã hóa để xác thực danh tính người dùng thông qua cặp khóa bí mật và công khai, cho phép ký các văn bản điện tử và trao đổi thông tin bảo mật Khóa công khai thường được phát hành qua chứng thực công khai, và quá trình sử dụng chữ ký số bao gồm hai bước chính: tạo chữ ký và kiểm tra chữ ký.
2.3.2 Các ưu điểm của chữ ký số 2.3.2.1 Khả năng xác định nguồn gốc
Hệ thống mã hóa khóa công khai cho phép mã hóa văn bản bằng khóa bí mật mà chỉ người sở hữu biết Để tạo chữ ký số, văn bản được mã hóa bằng hàm băm, tạo ra một chuỗi ngắn hơn, sau đó dùng khóa bí mật để mã hóa chuỗi này Khi cần xác minh, bên nhận sử dụng khóa công khai để giải mã và so sánh với hàm băm của văn bản nhận được Nếu hai giá trị khớp nhau, bên nhận có thể tin tưởng rằng văn bản xuất phát từ người sở hữu khóa bí mật Tuy nhiên, không thể đảm bảo 100% rằng văn bản không bị giả mạo do khả năng hệ thống bị xâm phạm.
Cả hai bên tham gia vào quá trình truyền thông tin có thể yên tâm rằng văn bản sẽ không bị sửa đổi, vì bất kỳ thay đổi nào cũng sẽ làm thay đổi hàm băm và dễ dàng bị phát hiện Mặc dù quá trình mã hóa bảo vệ nội dung của gói tin khỏi bên thứ ba, nhưng nó không ngăn chặn việc thay đổi nội dung Ví dụ về tấn công đồng hình cho thấy một kẻ lừa đảo có thể thay thế gói tin để chiếm đoạt số tiền lớn, nhưng vấn đề này liên quan đến bảo mật của chi nhánh ngân hàng với trung tâm, không phải tính toàn vẹn của thông tin giữa người gửi và chi nhánh, vì thông tin đã được băm và mã hóa đúng cách.
2.3.2.3 Tính không thể chối bỏ
Trong giao dịch, bên nhận có quyền từ chối nhận văn bản do bên gửi gửi đi Để tránh tình huống này, bên nhận có thể yêu cầu bên gửi cung cấp chữ ký số kèm theo văn bản Trong trường hợp xảy ra tranh chấp, chữ ký số sẽ được sử dụng làm chứng cứ để bên thứ ba giải quyết Tuy nhiên, cần lưu ý rằng khóa bí mật có thể bị lộ, dẫn đến việc tính không thể phủ nhận không thể đạt được một cách hoàn toàn.
2.3.3 Thực hiện chữ ký số khóa công khai
Chữ ký số khóa công khai sử dụng công nghệ mã hóa khóa công khai, trong đó mỗi người dùng sở hữu một cặp khóa: khóa công khai và khóa bí mật Khóa công khai được chia sẻ rộng rãi, trong khi khóa bí mật cần được bảo mật tuyệt đối Điều quan trọng là không thể xác định khóa bí mật chỉ từ khóa công khai.
Toàn bộ quá trình gồm 3 thuật toán:
- Thuật toán tạo chữ ký số;
- Thuật toán kiểm tra chữ ký số;
2.3.4 Chữ ký số RSA 2.3.4.1 Giới thiệu
RSA là một thuật toán mã hóa khóa công khai quan trọng trong mật mã học, nổi bật với khả năng tạo chữ ký điện tử và mã hóa đồng thời Đây là bước tiến lớn trong việc sử dụng khóa công cộng, hiện đang được áp dụng rộng rãi trong thương mại điện tử RSA được coi là an toàn khi sử dụng độ dài khóa đủ lớn.
Thuật toán RSA, được mô tả lần đầu tiên vào năm 1977 bởi Ron Rivest, Adi Shamir và Len Adleman tại Học viện Công nghệ Massachusetts (MIT), là một trong những phương pháp mã hóa quan trọng nhất hiện nay Tên gọi của thuật toán này được hình thành từ ba chữ cái đầu của tên các tác giả.
Năm 1973, nhà toán học Clifford Cocks tại GCHQ đã mô tả một thuật toán tương tự nhưng chưa thể thực nghiệm do hạn chế về công nghệ tính toán thời bấy giờ Phát minh này chỉ được công bố vào năm 1997 vì thuộc loại tuyệt mật.
Thuật toán RSA được MIT đăng ký bằng sáng chế tại Hoa Kỳ vào năm
Bằng sáng chế số 4.405.829 được cấp vào năm 1983 đã hết hạn vào ngày 21 tháng 9 năm 2000 Mặc dù vậy, do thuật toán đã được công bố trước khi có đăng ký bảo hộ, nên quyền bảo hộ của bằng sáng chế này gần như không có giá trị ngoài Hoa Kỳ Thêm vào đó, nếu công trình của Clifford Cocks đã được công bố trước đó, thì bằng sáng chế RSA sẽ không thể được đăng ký.
Thuật toán RSA sử dụng hai loại khóa: khóa công khai và khóa bí mật Khóa công khai được phát tán rộng rãi và dùng để mã hóa thông tin, trong khi khóa bí mật chỉ được giữ bởi người dùng để giải mã Điều này có nghĩa là bất kỳ ai cũng có thể mã hóa dữ liệu, nhưng chỉ những người sở hữu khóa bí mật mới có khả năng giải mã thông tin đó.
Hệ mật mã khoá công khai có thể được minh họa qua ví dụ Bob và Alice Bob muốn gửi thông tin bí mật chỉ cho Alice, vì vậy Alice gửi cho Bob một chiếc hộp đã mở khóa, giữ chìa khóa riêng Bob đặt thư vào hộp, khóa lại và gửi lại cho Alice Khi nhận lại, Alice sử dụng chìa khóa của mình để mở hộp và đọc thư Trong trường hợp này, chiếc hộp mở tượng trưng cho khóa công khai, trong khi chìa khóa của Alice là khóa bí mật.
- Chọn bí mật số nguyên tố lớn p, q, tính n = p * q, công khai n,
- Sao cho việc tách n thành p, q là bài toán khó đặt P = C = Z n
- Chọn khóa công khai b < (n), nguyên tố cùng nhau với (n)
- Khóa bí mật a là phần tử nghịch đảo của b theo mod (n): a*b 1 (mod (n)
- Tập cặp khóa (bí mật, công khai) K = (a, b)/ a, b Z n , a*b 1 (mod (n))
Chữ ký trên x P là y = Sig k (x) = x a (mod n), y A
2.3.4.5 Kiểm tra chữ ký Verk (x, y) = đúng x y b (mod n)
2.3.5 Lược đồ ký số RSA
Dữ liệu cần ký được băm thông qua một hàm băm (SHA-1 hoặc SHA-2)
Dữ liệu băm được ký bằng khóa bí mật của người ký, và khóa này được lưu trữ trong thiết bị lưu khóa Để đơn giản hóa quá trình xác thực, chứng thư số của người ký được kết hợp với chữ ký đầu ra, giúp người xác thực không cần tìm kiếm chứng thư số riêng khi xác minh chữ ký.
Người dùng cần xác thực bằng mã PIN để truy cập vào khóa bí mật được lưu trữ trên thiết bị lưu khóa USB token.
- Áp dụng hàm băm lên tài liệu số
- Mã hóa giá trị băm thu được bằng khóa bí mật để tạo chữ ký số cho tài liệu số
- Gắn chữ ký số lên tài liệu số và gửi đi
Bảng 2.6: Lược đồ ký số RSA 2.3.6 Lược đồ xác thực chữ ký RSA
Hàm băm RSA Chứng thư số người ký
PKI Token Chứng thư số
Bảng 2.7: Lược đồ xác thực chữ ký RSA 2.3.7 Đánh giá độ chi phí, tốc độ và độ an toàn của thuật toán RSA
2.3.7.1 Chi phí và tốc độ thực hiện của thuật toán RSA
Chi phí thực hiện thuật toán RSA chủ yếu đến từ các phép tính cơ bản như tạo khóa, mã hóa và giải mã Quá trình mã hóa và giải mã liên quan đến việc tính toán lũy thừa modulo n Để đảm bảo an toàn cho khóa bí mật, số mũ công khai e thường được chọn nhỏ hơn nhiều so với số mũ bí mật d, dẫn đến thời gian mã hóa dữ liệu nhanh hơn đáng kể so với thời gian giải mã.
Tốc độ của hệ thống mã hóa RSA là một trong những nhược điểm lớn so với các hệ mã đối xứng, với tốc độ chậm hơn từ 100 đến 1000 lần so với hệ mã DES Do đó, RSA không phù hợp để mã hóa khối lượng dữ liệu lớn, mà thường được sử dụng cho việc mã hóa các dữ liệu nhỏ.
Hạ tầng khóa công khai (PKI)
2.4.1 Giới thiệu PKI Một PKI (Public Key Infrastructure) cho phép người sử dụng của một mạng công cộng không bảo mật, chẳng hạn như Internet, có thể trao đổi dữ liệu và tiền một cách an toàn thông qua việc sử dụng một cặp mã khóa công khai và khóa cá nhân được cấp phát và sử dụng thông qua một nhà cung cấp chứng thực được tín nhiệm Nền tảng khóa công khai cung cấp một chứng thư số, dùng để xác minh một cá nhân hoặc một tổ chức, và các dịch vụ danh mục có thể lưu trữ và khi cần có thể thu hồi các chứng thư số Mặc dù các thành phần cơ bản của PKI đều được phổ biến, nhưng một số nhà cung cấp đang muốn đưa ra một chuẩn PKI riêng khác biệt Một tiêu chuẩn chung về PKI trên Internet cũng đang trong quá trình xây dựng
2.4.2 Chức năng của PKI PKI cho phép những người tham gia xác thực lẫn nhau Mục tiêu chính của PKI là cung cấp khóa công khai và xác định mối liên hệ giữa khóa và định dạng người dùng Nhờ vậy người dùng có thể sử dụng trong một số ứng dụng như:
- Xác thực người dùng ứng dụng;
- Mã hóa, giải mã văn bản;
- Mã hóa Email hoặc xác thực người gửi Email;
- Tạo chữ ký số trên văn bản điện tử;
2.4.3 Các thành phần của PKI
Cơ quan chứng thực (Certificate Authority - CA) là một bên thứ ba đáng tin cậy, có nhiệm vụ tạo, quản lý, phân phối, lưu trữ và thu hồi các chứng thư số CA tiếp nhận các yêu cầu cấp chứng thư số và chỉ cấp cho những cá nhân hoặc tổ chức đã được xác minh danh tính.
Cơ quan Đăng ký (RA) đóng vai trò trung gian giữa Cơ quan Chứng thực (CA) và người dùng Khi người dùng cần chứng thư số mới, họ gửi yêu cầu đến RA, nơi sẽ xác nhận tất cả thông tin nhận dạng cần thiết Sau khi xác minh, RA chuyển tiếp yêu cầu đến CA để CA tạo và ký chứng chỉ, sau đó gửi lại cho RA hoặc trực tiếp cho người dùng.
Trong kiến trúc của PKI, có hai kho chứa quan trọng là Certificate Repository và Archive Kho công khai được sử dụng để lưu trữ và phân phối các chứng chỉ cùng với CRL, danh sách các chứng chỉ không còn hiệu lực Trong khi đó, Archive là cơ sở dữ liệu mà CA sử dụng để sao lưu các khóa hiện tại và lưu trữ các khóa đã hết hạn, cần được bảo vệ an toàn như chính CA.
Máy chủ bảo mật (Security Server) là một hệ thống cung cấp dịch vụ quản lý tập trung cho tất cả tài khoản người dùng, chính sách bảo mật chứng thư số và các mối quan hệ tin cậy giữa các CA trong hạ tầng khóa công khai (PKI) Nó cũng thực hiện việc lập báo cáo và nhiều dịch vụ khác, đảm bảo an ninh và tính toàn vẹn cho hệ thống.
Các ứng dụng hỗ trợ PKI và người dùng PKI bao gồm những người sử dụng dịch vụ PKI cùng với phần mềm cho phép cài đặt và sử dụng chứng thư số, như trình duyệt web và ứng dụng email phía máy khách Mô hình hoạt động của PKI là cấu trúc nền tảng cho việc quản lý và bảo mật thông tin.
Bảng 2.8: Mô hình PKI 2.4.4.1 Đăng ký và phát hành chứng thư số
Bảng 2.9: Quy trình đăng ký chứng thư số
Các bước thực hiện đăng ký chứng thư số:
- User gửi thông tin về bản thân tới RA để đăng ký Thông tin này có thể là họ tên, số chứng minh thư, email, địa thư v.v
- RA ký yêu cầu được chấp thuận và gửi thông tin về User đến trung tâm
- CA tạo chứng thư trên khóa công khai, ký bằng khóa bí mật của CA và cập nhật chứng thư trên cơ sở dữ liệu LDAP, MySQL v.v
- CA gửi chứng thư trở lại RA
- RA cấp chứng thư cho người sử dụng
2.4.5 Các chức năng cơ bản của PKI 2.4.5.1 Chứng thực
Chứng thực là chức năng cốt lõi của hệ thống PKI, liên kết khóa công khai với danh tính của thực thể Chứng thực được thực hiện bởi CA, cơ quan đảm bảo an toàn trong hệ thống PKI.
Quá trình xác định tính hợp lệ của chứng chỉ là bước quan trọng để đảm bảo chứng chỉ được sử dụng đúng mục đích Ngoài ra, còn có một số chức năng khác liên quan đến việc kiểm tra và xác minh chứng chỉ.
Hệ thống PKI cung cấp chức năng chứng thực và thẩm tra, cùng với một số dịch vụ hỗ trợ khác Dưới đây là các chức năng chính mà hầu hết các hệ thống PKI đều có, bên cạnh đó, một số chức năng bổ sung có thể được định nghĩa dựa trên yêu cầu cụ thể của từng hệ thống PKI.
- Hạn sử dụng và cập nhật khóa
- Công bố và gửi thông báo thu hồi chứng chỉ
2.4.6 Các mô hình của PKI
Một số mô hình tin cậy có thể được áp dụng hoặc được đề xuất sử dụng trong hạ tầng mã hóa công khai –PKI dựa trên x.509:
- Single CA Model (mô hình CA đơn)
- Hierarchical Model (Mô hình phân cấp)
- Mesh Model (Mô hình mắt lưới- xác thực chéo)
- Web Model (Trust List) (Mô hình web)
- Hub and Spoke (Birdge CA) (Mô hình cầu CA)
Chứng thư số
2.5.1 Giới thiệu chứng thư số
Chứng thư số là văn bản điện tử kết hợp chữ ký số, liên kết khóa công khai với chủ thể (cá nhân, công ty, máy chủ) Nó tồn tại dưới dạng tập tin, dễ dàng truyền qua mạng Chứng thư số hoạt động như chứng minh nhân dân trực tuyến, giúp người dùng xác thực danh tính trong các giao dịch điện tử.
Chứng thư số được phát hành bởi một bên thứ ba đáng tin cậy, gọi là CA, sau khi xác minh tính xác thực của thông tin người sở hữu khóa CA sử dụng chữ ký số của mình để đảm bảo độ tin cậy cho các chứng chỉ mà họ phát hành, do đó, các bên tham gia giao dịch có thể yên tâm vào tính hợp lệ của chứng thư số nếu họ tin tưởng vào CA Các thành phần chính trong chứng thư bao gồm thông tin về người sở hữu khóa và chữ ký số của CA.
- Serial Number -> Mã số duy nhất được cấp
- Thông tin cá nhân của người được cấp
- Khóa công khai (Public key) của người được cấp
- Chữ ký số của CA cấp chứng thư
- Các thông tin mở rộng khác
2.5.3 Ứng dụng chứng thư số
Xác thực là quá trình đảm bảo rằng một thực thể đúng là đối tượng mà người dùng cần khẳng định Điều này có thể bao gồm việc xác minh thực thể hoặc nguồn gốc của dữ liệu, nhằm tăng cường độ tin cậy và chính xác trong thông tin mà người dùng nhận được.
Đảm bảo tính bí mật của dữ liệu là điều quan trọng, chỉ những thực thể được phép mới có quyền truy cập Tính bí mật này trở nên cần thiết khi dữ liệu được lưu trữ trên các thiết bị như ổ đĩa và USB, hoặc khi được truyền qua các mạng không bảo vệ hoặc có mức độ an toàn thấp.
Đảm bảo tính toàn vẹn dữ liệu là rất quan trọng, giúp phát hiện những thay đổi trái phép Hệ thống cần có khả năng nhận diện và thông báo về những thay đổi này, nhằm giúp người nhận xác minh rằng dữ liệu của họ không bị thay đổi.
File định dạng PDF và chữ ký số
PDF, viết tắt của Portable Document Format, là định dạng file văn bản phổ biến do Adobe Systems phát triển Tương tự như các file văn bản khác như Word, PDF có khả năng chứa văn bản, hình ảnh và nhiều nội dung khác Với tính năng bảo mật cao, PDF trở thành một trong những định dạng được ưa chuộng để lưu trữ dữ liệu quan trọng trên toàn cầu Một số đặc điểm nổi bật của file PDF bao gồm khả năng giữ nguyên định dạng và bố cục khi chia sẻ.
- File PDF thường có kích thước khá nhỏ nên dễ dàng chia sẻ qua internet
- File PDF được hỗ trợ mã hóa cho nên tính bảo mật rất cao
- PDF được xem và trình bày trên bất kỳ thiết bị bao gồm: máy tính, laptop, các thiết bị di động, smartphone
- Tạo file và chuyển đổi sang các file văn bản khác dễ dàng
- Hỗ trợ nhúng chữ ký số trong file
Hiện nay trên thế giới cũng như Việt Nam chủ yếu dúng ký số trên file PDF
Trong chương này, chúng tôi đã trình bày các kiến thức cơ bản về lý thuyết liên quan đến hệ mật mã, hạ tầng khoá công khai, hàm Băm, và chữ ký số, bao gồm cả chữ ký số RSA Phần giữa và kết chương sẽ tập trung vào việc nghiên cứu và khám phá ứng dụng của chữ ký số trong thực tiễn.
RSA hạ tầng khóa công khai Kết chương là giới thiệu file định dạng PDF và chữ ký số.
Xây dựng ứng dụng ký số cho tài liệu lưu trữ quốc gia
Xây dựng yêu cầu của ứng dụng chữ ký số cho tài liệu lưu trữ quốc gia43 1 Xây dựng bài toán chuyển tài liệu từ file định dạng JPEG sang định dạng PDF
3.1.1 Xây dựng bài toán chuyển tài liệu từ file định dạng JPEG sang định dạng PDF
Tài liệu tại các Trung tâm Lưu trữ quốc gia chủ yếu được lưu trữ dưới dạng file ảnh JPEG, một định dạng phổ biến cho tài liệu ảnh trên toàn cầu Nguyên nhân là do trước đây, hầu hết các máy quét tài liệu không hỗ trợ định dạng PDF, dẫn đến việc các Trung tâm Lưu trữ quốc gia lưu trữ file dưới định dạng JPEG khi số hóa tài liệu Tuy nhiên, việc quản lý và khai thác tài liệu ảnh JPEG gặp nhiều bất lợi hơn so với file định dạng PDF.
Trung tâm Lưu trữ quốc gia phải quản lý một số lượng lớn file tài liệu, trong đó mỗi file ảnh JPEG chỉ chứa một trang tài liệu, trong khi tài liệu định dạng PDF có thể chứa nhiều trang Hiện nay, các Trung tâm lưu trữ quốc gia đang lưu trữ hơn 12 triệu file JPEG, nhưng nếu chuyển đổi sang định dạng PDF, số lượng file sẽ giảm xuống dưới 1 triệu, giúp việc quản lý tài liệu trở nên đơn giản và dễ dàng hơn.
Độc giả thường gặp khó khăn khi xử lý các tài liệu JPEG có hơn 500 trang, vì việc đọc toàn bộ các file này tốn nhiều thời gian và công sức Tuy nhiên, nếu chuyển đổi sang định dạng PDF, độc giả sẽ chỉ cần làm việc với một file duy nhất, giúp việc tra cứu và tìm kiếm thông tin trở nên dễ dàng hơn.
Tài liệu định dạng JPEG không cho phép nhúng chữ ký số, khiến việc ký số trở nên bất tiện khi phải chuyển sang file mới, gây khó khăn cho độc giả và nhà quản lý Ngược lại, định dạng PDF hỗ trợ nhúng chữ ký số, giúp cả nhà quản lý và độc giả dễ dàng kiểm tra tính xác thực của tài liệu mọi lúc, mọi nơi.
Cục Văn thư và Lưu trữ Nhà nước đang tổ chức hội thảo nhằm thu thập ý kiến từ các chuyên gia hàng đầu trong lĩnh vực công nghệ thông tin và lưu trữ, tập trung vào việc chuyển đổi tài liệu số hóa từ định dạng JPG sang định dạng PDF.
Tác giả đã đề xuất giải pháp chuyển đổi toàn bộ tài liệu từ định dạng JPEG sang PDF, sau đó thực hiện ký số trên file tài liệu PDF đó.
Lựa chọn hàm băm đại diện và chữ ký số cho tài liệu lưu trữ
Sau khi nghiên cứu Thông tư số 06/2015/TT-BTTTT ngày 23 tháng 3 năm
Vào năm 2015, Bộ Thông tin Truyền thông đã ban hành quy định về danh mục tiêu chuẩn bắt buộc áp dụng cho chữ ký số và dịch vụ chứng thực chữ ký số Do đó, tác giả đã lựa chọn thuật toán ký số RSA kết hợp với hàm băm SHA-256 để thực hiện việc ký số cho tài liệu lưu trữ tại các Trung tâm Lưu trữ quốc gia.
Xây dựng ứng dụng và ký số tài liệu
3.3.1 Quá trình ký số file tài liệu
Ứng dụng chuyển đổi file JPEG sang PDF và áp dụng thuật toán SHA-256 để tạo bản tóm lược 256 bit Tiếp theo, nó sử dụng thuật toán RSA cùng với khóa bí mật của người gửi để ký số lên dữ liệu, sau đó lưu thông tin ký vào file PDF.
Hình 3.1: Mô hình ký số tài liệu lưu trữ 3.3.2 Quá trình mã hóa
Người dùng thường mã hóa tài liệu để bảo vệ thông tin nhạy cảm Quá trình này bắt đầu bằng việc chuyển đổi file JPEG sang định dạng PDF Sau đó, thuật toán mã hóa RSA được áp dụng, sử dụng khóa công khai để tạo ra file dữ liệu đã được mã hóa.
Bản tóm lược Ký số RSA
Khóa bí mật(lấy từ USB Token)
Lưu chữ ký vào file PDF Chuyển đổi sang
Bảng 3.1: Mô hình mã hóa file Sau khi mã hóa người dùng đã có 1 file PDF đã được mã hóa 3.3.3 Quá trình giải mã:
Sau khi người nhận nhận các tệp dữ liệu, quá trình kiểm tra sẽ diễn ra để xác định đúng người nhận và đảm bảo tính toàn vẹn của dữ liệu Để thực hiện các kiểm tra này, cần thực hiện một số công việc cụ thể.
Bên nhận phải giải mã file dữ liệu mã hóa
Hình 3.3: Mô hình giải mã
- Sử dụng thuật toán RSA để giải mã file dữ liệu bằng khóa bí mật;
- Nếu giải mã không thành công có nghĩa file đó đã bị thay đổi dữ liệu
- Nếu giải mã thành công khi đó người dùng có nghĩa là file đó vẹn toàn dữ liệu
File PDF đã được mã hóa
Lấy khóa công khai để mã hóa
File PDF đã được mã hóa
Khóa bí mật Để giải mã
File DPF không mã hóa
Xác thực chữ ký sử dụng khóa công khai để kiểm tra tính chính xác của chữ ký Quá trình này bao gồm việc băm dữ liệu bằng thuật toán giống như lúc ký, từ đó xác định chữ ký là đúng hay sai.
Bảng 3.2: Mô hình xác thực
- Từ file PDF người dùng khóa công khai của người gửi, sử dụng thuật toán băm SHA 1 và thuật toán RSA để xác thực
Kiểm tra sự tương đồng giữa Bản tóm lược 1 và Bản tóm lược 2 Nếu hai bản tóm lược giống nhau, điều đó chứng tỏ file nhận được là nguyên vẹn và không bị thay đổi Ngược lại, nếu có sự khác biệt, file đã bị thay đổi.
3.3.5 Yêu cầu của ứng dụng xây dựng
- Chức năng chuyển đổi toàn bộ file tài liệu đinh dạng JPEG sang file tài liệu định dạng PDF trong thư mục đã được chọn;
- Chức năng tự động ký số toàn bộ tài liệu trong thư mục đã được chọn;
- Có thể đưa hình ảnh chữ ký số vào trang PDF;
- Chức năng mã hóa dữ liệu;
- Chức năng xác thực tài liệu
Phần mềm này có sử dụng 2 thư viện mã nguồn mở ItextSharp và
File dữ liệu toàn vẹn
File dữ liệu bị thay đổi
Khóa công khai để Giải mã
Lấy chữ ký số trong File
3.3.5.1 Module tự động chuyển file tài liệu từ nhiều file JPG sang file PDF
Module này có khả năng tìm kiếm tất cả các file JPEG trong thư mục đã chọn và tự động tạo một file PDF Các file JPEG sẽ được đưa vào file PDF trong cùng thư mục, và thư mục mới sẽ mang tên của thư mục cũ kèm theo từ khóa bổ sung.
“_PDF” và lưu vào đó Các bước thực hiện
- Bước 1: Chọn thư mục file JPEG cần chuyển đổi
- Bước 2: Chon thư mục lưu file PDF;
Để chuyển đổi các file JPEG sang PDF, bạn chỉ cần nhấn nút "Chuyển sang PDF" Ứng dụng sẽ tự động quét tất cả các file JPEG trong thư mục hiện tại, kết hợp chúng thành một file PDF duy nhất và lưu vào một thư mục mới Thư mục này sẽ có tên giống như thư mục cũ, nhưng sẽ được thêm hậu tố "_PDF" ở phía sau.
3.3.5.2 Module Module mã hóa và ký số vào file PDF;
Module này có khả năng tìm kiếm tất cả các file PDF trong thư mục đã chọn Sau đó, nó tự động tạo một file PDF mới, kết hợp các file JPEG trong cùng thư mục vào file PDF đó Thư mục mới sẽ được đặt tên theo thư mục cũ, kèm theo từ khóa bổ sung.
“_Signed” và lưu vào đó;
- Bước 1: Chọn thư mục file PDF cần ký;
- Bước 2: Chọn thư mục file PDF đã ký;
- Bước 3: Chọn chứng thư số cần ký; ỨNG DỤNG KÝ SỐ TÀI LIỆU LƯU TRỮ QUÔC GIA
Chuyển đổi fie JPEG sang PDF
Ký số PDF (Tùy chọn hiển thị ảnh ký số)
- Bước 4: Nếu muốn mã hóa dữ liệu tích và nút mã hóa( nếu không mã hóa bỏ qua bước này);
- Bước 5: Bấm nút ký số để ký số cho toàn bộ tài liệu đã được chọn;
3.3.5.3 Module xác thực file PDF Module này có chức năng kiểm tra tính vẹn toàn của tà PDF
- Bước 1: chọn thư file PDF cần xác thực;
- Bước 2: Ấn nút xác thực tài liệu; Ứng dụng có thông báo kết quả cùa file dữ liệu đó có ven toàn hay đã thay đổi
3.3.6 Một số hình ảnh của ứng dụng ký số
Bảng 3.3: Giao diện ứng dụng
Bảng 3.4: Chức năng chuyển đổi file JPEG sang PDF và ký số tài liệu
Bảng 3.5: Giao diện chọn chứng thư số và tùy chọn hình ảnh đại diện
ChuChuyển đổi JPEG sang PDF
Mô tả thông tin tài liệu
Bảng 3.6: Lựa chọn hình ảnh đại diện
Bảng 3.7: Lựa chọn chứng thư để ký
Bảng 3.8: Tùy chọn mã hóa dữ liệu
Kết luận
Luận văn nghiên cứu chữ ký số và ứng dụng của nó trong quản lý tài liệu quốc gia, đã đạt được các yêu cầu tổng quan cần thiết.
- Nghiên cứu tổng quan về bảo mật an toàn thông tin, an toàn thông tin trong tài liệu lưu trữ
Khảo sát thực trạng tài liệu lưu trữ tại các Trung tâm Lưu trữ quốc gia nhằm cung cấp số liệu cụ thể về lượng tài liệu số hiện có Việc này không chỉ giúp đánh giá tình hình lưu trữ mà còn tạo cơ sở dữ liệu hữu ích cho các nghiên cứu và quản lý tài liệu trong tương lai.
- Nghiên cứu tổng quan về chữ ký số, hàm Băm, hạ tầng khóa công khai
- Xây dựng ứng dụng ký số cho tài liệu lưu trữ quôc gia
- Ứng dụng mới chỉ ký số cho tài liệu định dạng JPEG, chưa ký số cho các định dạng khác
Trong thời gian tới, ứng dụng sẽ được cải tiến với tính năng ký các file ghi âm và nhiều định dạng video khác Bên cạnh đó, việc triển khai thực tế tại các Trung tâm Lưu trữ quốc gia sẽ giúp nâng cao tính toàn vẹn, xác thực và bảo mật của tài liệu.
Tài liệu tham khảo
1 Trịnh Nhật Tiến, Giáo trình An toàn dữ liệu;
2 TS Hồ Văn Hương, Ths Đào Thị Ngọc Thuỳ, Ứng dụng hệ thống kiểm soát truy nhập mạng theo mô hình truy nhập một lần, Tạp chí An toàn thông tin, số 1 (025) 2013
3 TS Hồ Văn Hương, KS Hoàng Chiến Thắng, Ký số và xác thực trên nền tảng web, Tạp chí An toàn thông tin, số 2 (026) năm 2013;
4 TS Hồ Văn Hương, KS Hoàng Chiến Thắng, KS Nguyễn Quốc Uy Giải pháp bảo mật và xác thực thư điện tử, Tạp chí An toàn thông tin số 04 (028), 2013;
5 Vnisa, Báo cáo hiện trạng ATTT tại Việt Nam 2010
6 Báo cáo tổng hợp tình hình lưu trữ và sử dụng cơ sở dữ liệu tài liệu lưu trữ tại các Trung tâm Lưu trữ quốc gia năm 2014 của Cục văn thư và Lưu trữ nhà nước
7 William Stallings, Cryptography and Network Security Principles and Practices, Fourth Edition, November 16, 2005;
8 Whitfield Diffie and Martin E Hellman, New Directions in Cryptography, 1976;
9 Bart Van Rompay Analysis and Desigbn of Cryptographic Hash Functions, MAC Algorithms and Block Ciphers, Juni 2004;
10 Burt Kaliski,RSA Laboratories, The Mathematics of the RSA Public- Key Cryptosystem;
Phụ lục: Mã nguồn chương trình
private void btnConvert_Click(object sender, EventArgs e) { if (txtSrcFdr.Text == "") {
MessageBox.Show("Bạn chưa chọn thư mục nguồn"); return;
} if (!Directory.Exists(txtSrcFdr.Text)) {
MessageBox.Show("Thư mục nguồn bạn chọn không tồm tại"); return;
MessageBox.Show("Bạn chưa chọn thư mục đích"); return;
} if (!Directory.Exists(txtDestFdr.Text)) { try { Directory.CreateDirectory(txtDestFdr.Text);
} catch { MessageBox.Show("Không tạo được thư mục file ký số"); return;
} } success = false; bw.RunWorkerAsync(); toolStripProgressBar1.Style = ProgressBarStyle.Marquee;
} private void bw_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{ toolStripProgressBar1.Style = ProgressBarStyle.Blocks; toolStripProgressBar1.Value = 0; if (success) MessageBox.Show("Bạn đã chuyển đổi thành công: " + TongFileTao +
"/" + TongFileTao + TongFileLoi, "Hoan thanh", MessageBoxButtons.OK, MessageBoxIcon.Information);
PdfSharp.Pdf.PdfDocument AddPage(PdfSharp.Pdf.PdfDocument doc, XSize size, string strFileName, int intPage)
XGraphics xgr = XGraphics.FromPdfPage(doc.Pages[intPage]);
XImage img = XImage.FromFile(strFileName); if (XUnit.FromPoint(size.Height) < XUnit.FromPoint(img.Height)) {
Height = Math.Round((XUnit.FromPoint(size.Height) - XUnit.FromPoint(img.Height)) / 2);
} if (XUnit.FromPoint(img.Width) < XUnit.FromPoint(size.Width)) {
Width = Math.Round((XUnit.FromPoint(size.Width) - XUnit.FromPoint(img.Width)) / 2);
} xgr.DrawImage(img, 20, 20); return doc;
} void CreateAllFilePDF(string strSounrcetFolder, ref int TongFileTao, ref int TongFileLoi)
{ CreateFilePDF(strSounrcetFolder, ref TongFileTao, ref TongFileLoi); string[] subdirectoryEntries =
Directory.GetDirectories(strSounrcetFolder); foreach (string subdirectory in subdirectoryEntries) {
CreateAllFilePDF(subdirectory, ref TongFileTao, ref TongFileLoi);
} } void CreateFilePDF(string strSounrcetFolder, ref int TongFileTao, ref int TongFileLoi)
{ try { XSize size = new XSize(XUnit.FromMillimeter(297), XUnit.FromMillimeter(210));
To create a PDF document using PdfSharp, initialize a new PdfDocument instance Define the target file path by appending the source folder's name to the specified destination folder Ensure the target directory exists by calling the CreateDir function; if it fails, exit the process Finally, retrieve all file paths within the source folder for further processing.
"*.jpg", SearchOption.TopDirectoryOnly); if (filePaths.Length >= 0) { for (int intThutu = 0; intThutu < filePaths.Length; intThutu++)
{ doc.Pages.Add(new PdfSharp.Pdf.PdfPage());
AddPage(doc, size, filePaths[intThutu], intThutu); }
} doc.Save(strTargetFile); doc.Close(); success = true;
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Information);
} } private void bw_DoWork(object sender, DoWorkEventArgs e) { try { TongFileTao = 0; TongFileLoi = 0;
CreateAllFilePDF(txtSrcFdr.Text, ref TongFileTao, ref TongFileLoi);
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
The PDFSigner class in the TTTH.DAITD.KYSO namespace is designed for signing PDF documents It utilizes various libraries, including BouncyCastle for cryptographic functions and iTextSharp for PDF manipulation The class constructor initializes the input and output PDF file paths, allowing users to specify which PDF to sign and where to save the signed version This implementation supports the integration of digital certificates and metadata, enhancing the security and authenticity of the signed documents.
} public PDFSigner(string input, string output, Cert cert) { this.inputPDF = input; this.outputPDF = output; this.myCert = cert;
} public PDFSigner(string input, string output, MetaData md) { this.inputPDF = input; this.outputPDF = output; this.metadata = md;
} public PDFSigner(string input, string output, Cert cert, MetaData md) { this.inputPDF = input; this.outputPDF = output; this.myCert = cert; this.metadata = md;
} public void Sign(PDFSignatureAP sigAP, bool encrypt, PDFEncryption Enc) {
PdfReader reader = new PdfReader(this.inputPDF);
FileStream fs = new FileStream(this.outputPDF, FileMode.Create, FileAccess.Write);
PdfStamper st; if (this.myCert == null) { st = new PdfStamper(reader, fs);
} else { st = PdfStamper.CreateSignature(reader, fs, '\0', null, sigAP.Multi);
} if (encrypt && Enc != null) Enc.Encrypt(st);
To ensure secure document handling, the PdfWriter is configured with 128-bit encryption, allowing copy permissions while specifying user and owner passwords Additionally, metadata is incorporated through the retrieval of both standard and streamed metadata If no certificate is available for signing, the process concludes after writing the metadata.
To set up a digital signature in a PDF using iTextSharp, begin by obtaining the signature appearance with `PdfSignatureAppearance sap = st.SignatureAppearance;` Configure the cryptographic settings with `sap.SetCrypto(this.myCert.Akp, this.myCert.Chain, null, PdfSignatureAppearance.WINCER_SIGNED);`, and specify the reason, contact, and location of the signature using `sap.Reason`, `sap.Contact`, and `sap.Location` If the signature is meant to be visible, retrieve the page size with `iTextSharp.text.Rectangle rect = st.Reader.GetPageSize(sigAP.Page);`, and set the signature image and custom text accordingly Finally, make the signature visible on the specified page with `sap.SetVisibleSignature(new iTextSharp.text.Rectangle(sigAP.SigX, sigAP.SigY, sigAP.SigX + sigAP.SigW, sigAP.SigY + sigAP.SigH), sigAP.Page, null);`.
To create a digital signature in PDF using the Adobe PPKLite method, initialize a PdfSignature object with the necessary parameters Assign the reason, location, contact information, and signing date to the signature Finally, set the CryptoDictionary to the signature object and estimate the content size as 15,000 bytes.
// Preallocate excluded byte-range for the signature content (hex encoded)
Dictionary exc = new Dictionary(); exc[PdfName.CONTENTS] = contentEstimated * 2 + 2; sap.PreClose(exc);
PdfPKCS7 sgn = new PdfPKCS7(this.myCert.Akp, this.myCert.Chain, null,