Tại sao Chữ ký số quan trọng

Chữ ký số đã trở thành trụ cột pháp lý của các giao dịch điện tử. Dù là hợp đồng, hoá đơn hay hồ sơ pháp lý, chữ ký ràng buộc người ký với nội dung và cung cấp tính không thể chối bỏ, tính toàn vẹn và bằng chứng thời gian. Tòa án và các kiểm toán tuân thủ ngày càng coi một tài liệu PDF hoặc XML được ký đúng cách giống như một chữ ký mực trên giấy. Vì vậy, mất chữ ký — hoặc thay đổi dữ liệu đã ký mà không ký lại đúng cách — có thể làm mất hiệu lực của toàn bộ tài liệu, khiến tổ chức phải đối mặt với rủi ro pháp lý và phải thực hiện lại công việc tốn kém. Rủi ro này đặc biệt cao trong các lĩnh vực như tài chính, y tế và chính phủ, nơi niềm tin vào hồ sơ điện tử là bắt buộc.

Cách chuyển đổi có thể phá vỡ chữ ký

Chuyển đổi một tệp hiếm khi là một thao tác trung lập. Khi một PDF chứa chữ ký PKCS#7 nhúng được làm phẳng thành hình ảnh, con dấu mật mã sẽ biến mất. Một số công cụ chuyển đổi loại bỏ các phần tử XML‑DSig, xóa tham chiếu chứng thư, hoặc ghi lại cấu trúc byte của tệp, khiến hàm băm mà chữ ký bảo vệ thay đổi. Ngay cả những hành động tưởng như vô hại — như nén lại ảnh, thay đổi ký tự cuối dòng, hoặc thay đổi phiên bản PDF — cũng có thể làm mất hiệu lực chữ ký nếu công cụ không bảo toàn dải byte đã ký. Kết quả là một tài liệu trông giống hệt bản gốc nhưng không vượt qua được kiểm tra xác thực.

Các loại chữ ký số bạn có thể gặp

Hiểu định dạng chữ ký sẽ hướng dẫn lựa chọn phương pháp chuyển đổi.

  • Chữ ký PDF – Nhúng trong catalog PDF, chúng bao phủ một dải byte xác định. PDF/A‑3 và PDF/E có thể giữ chữ ký, trong khi PDF/A‑1 lại loại bỏ chúng.
  • Chữ ký số XML (XML‑DSig) – Được dùng trong e‑invoicing (PEPPOL), e‑procurement và nhiều mẫu đơn của chính phủ. Thành phần <Signature> phải giữ nguyên, và bất kỳ thay đổi khoảng trắng nào cũng có thể làm mất tính hợp lệ của hàm băm.
  • Bộ chứa CMS/PKCS#7 – Thường đính kèm với các tệp Office Open XML (.docx, .xlsx) dưới dạng các phần Signature riêng biệt. Bộ chứa có thể tồn tại qua các thay đổi định dạng nếu cấu trúc phần được bảo toàn.
  • Chữ ký tách rời – Một tệp riêng (ví dụ .p7s) tham chiếu tới tài liệu gốc. Các chuyển đổi đổi tên hoặc di chuyển tệp gốc sẽ phá vỡ liên kết trừ khi tệp chữ ký được cập nhật.

Danh sách kiểm tra trước khi chuyển đổi

Trước khi bắt đầu bất kỳ chuyển đổi hàng loạt hoặc một tệp đơn lẻ nào, hãy thực hiện các bước sau:

  1. Xác định loại chữ ký – Dùng trình xem có khả năng hiển thị chi tiết chữ ký (Adobe Acrobat, XMLSec, hoặc OpenSSL). Ghi lại thuật toán băm, chứng thư ký, và phạm vi (toàn bộ tài liệu vs. các trường được chọn).
  2. Xác nhận tính hợp lệ của chữ ký – Kiểm tra chữ ký hiện đang hợp lệ. Một chữ ký bị hỏng trước khi chuyển đổi sẽ không tự động trở lại hợp lệ sau khi chuyển đổi.
  3. Xác định định dạng đích – Không phải mọi định dạng đều có thể mang chữ ký. Nếu đích không hỗ trợ chữ ký, hãy cân nhắc lưu một bản sao đã ký ở định dạng gốc để lưu trữ.
  4. Tạo bản sao lưu chỉ‑đọc – Lưu một bản sao của tệp đã ký ở vị trí an toàn. Điều này bảo vệ bạn trước rủi ro mất dữ liệu bất ngờ trong quá trình chuyển đổi.

Lựa chọn định dạng đích thân thiện với chữ ký

Khi không thể tránh được việc chuyển đổi, hãy chọn một định dạng hỗ trợ rõ ràng loại chữ ký.

  • PDF → PDF/A‑3 – PDF/A‑3 cho phép nhúng bất kỳ tệp nào, bao gồm cả các bộ chứa chữ ký, đồng thời giữ nguyên độ trung thực hình ảnh.
  • DOCX → DOCX – Xuất lại tài liệu Word sang cùng một container OOXML sẽ giữ lại chữ ký CMS miễn là công cụ chuyển đổi không ghi lại phần Signature.
  • XML → XML – Sử dụng chuyển đổi có khả năng XSLT mà không định dạng lại khoảng trắng. Bảo toàn khai báo XML và tiền tố namespace gốc.
  • Quét dựa trên ảnh → PDF (với Lớp Chữ ký) – Nếu tài liệu gốc được ký dưới dạng ảnh quét có con dấu kỹ thuật số, hãy nhúng ảnh vào PDF kèm chú thích chữ ký gốc thay vì làm phẳng nó.

Quy trình chuyển đổi bảo toàn chữ ký

Dưới đây là một quy trình thực tiễn, từng bước, có thể thực hiện thủ công hoặc tự động bằng script.

  1. Trích xuất chữ ký (Tùy chọn) – Đối với các định dạng không thể mang chữ ký, trích xuất dữ liệu CMS/PKCS#7 bằng các công cụ như openssl cms -verify -inform DER -in sig.p7s -noout. Lưu nó dưới dạng tệp riêng.
  2. Chuyển đổi nội dung cốt lõi – Sử dụng công cụ chuyển đổi có tùy chọn “preserve metadata”. Nhiều dịch vụ đám mây cung cấp tham số API cho mục đích này; ví dụ, khi dùng convertise.app, bạn có thể chọn tùy chọn “keep original signatures”.
  3. Nhúng lại chữ ký – Nếu định dạng đích hỗ trợ nhúng, chèn lại khối chữ ký vào container thích hợp (ví dụ: thêm thành phần <Signature> vào tài liệu XML, hoặc nhúng phần CMS vào archive zip của DOCX).
  4. Tính lại dải byte đã ký – Đối với chữ ký PDF, dải byte được định nghĩa trong mảng /ByteRange. Sau khi nhúng lại, cập nhật mảng này để phản ánh bất kỳ đối tượng nào được thêm vào. Các thư viện như iText 7 hoặc PDFBox cung cấp API để xây dựng lại từ điển chữ ký mà không phá vỡ con dấu mật mã.
  5. Xác thực kết quả – Mở tệp đã chuyển đổi trong trình xem tin cậy và thực hiện kiểm tra xác thực. Đối với PDF, Acrobat sẽ hiển thị dấu kiểm màu xanh lá nếu chữ ký vẫn còn nguyên. Đối với XML, chạy xmllint --verify cùng schema và tệp chữ ký tương ứng.
  6. Ghi lại hàm băm của tệp cuối cùng – Lưu một hàm băm SHA‑256 của tài liệu đã chuyển đổi vào nhật ký không thể bị giả mạo. Điều này tạo ra chuỗi kiểm toán cho thấy chữ ký đã được bảo toàn sau chuyển đổi.

Chuyển đổi đám mây và lo ngại về quyền riêng tư

Khi bạn giao chuyển đổi cho nền tảng SaaS, bạn đổi lại sự tiện lợi bằng việc giảm kiểm soát. Một dịch vụ chú trọng quyền riêng tư, xử lý tệp hoàn toàn trong bộ nhớ và xóa chúng sau phiên làm việc sẽ giảm thiểu mức độ phơi bày, nhưng bạn vẫn phải xác minh rằng dịch vụ không loại bỏ chữ ký trong quá trình làm sạch dữ liệu. Xem xét chính sách quyền riêng tư của nhà cung cấp, yêu cầu thỏa thuận xử lý dữ liệu và, nếu có thể, thực hiện chuyển đổi thử trên một tài liệu ký không nhạy cảm để xác nhận chữ ký vẫn tồn tại.

Xác thực chữ ký sau chuyển đổi

Một chuyển đổi có thể trông thành công trong khi bí mật làm hỏng chữ ký. Việc xác thực hệ thống sẽ giảm thiểu rủi ro này:

  • Kiểm tra hàng loạt tự động – Script sử dụng pdfsig (Poppler) cho PDF, xmlsec1 cho XML, hoặc openssl cms cho các tệp CMS có thể duyệt qua một thư mục các tệp đã chuyển đổi và tạo báo cáo thành công/thất bại.
  • Xác nhận bằng mắt – Mở một mẫu các tệp đã chuyển đổi trong ứng dụng ký gốc. Kiểm tra bảng chữ ký, tên người ký và xác nhận thời gian ký.
  • Kiểm tra thu hồi chứng thư – Đảm bảo chứng thư được dùng để ký vẫn còn hiệu lực và không bị thu hồi. Một số dịch vụ chuyển đổi có thể loại bỏ thông tin CRL hoặc OCSP; bạn có thể cần gắn lại chúng.

Các bẫy thường gặp và cách tránh

BẫyTại sao làm mất chữ kýCách khắc phục
Chuyển đổi PDF thành ảnh (PNG/JPEG)Dải byte đã ký bị mất vì tệp trở thành ảnh raster.Giữ bản PDF cho mục đích pháp lý; nhúng ảnh vào PDF mới mà không ký lại.
Mã hóa lại XML bằng bộ mã ký tự khácThay đổi dạng chuẩn, làm hỏng hàm băm.Bảo toàn mã hoá UTF‑8 gốc và tránh “pretty‑print” làm thay đổi khoảng trắng.
Dùng công cụ “tối ưu” PDFCác luồng đối tượng có thể được ghi lại, thay đổi ID đối tượng mà chữ ký tham chiếu.Tắt các tùy chọn tối ưu; chọn công cụ có chế độ “preserve structure”.
Làm phẳng trường biểu mẫu trước khi chuyển đổiGiá trị trường biểu mẫu trở thành lớp hình ảnh, vô hiệu hoá chữ ký ở mức trường.Giữ trường biểu mẫu có thể chỉnh sửa, hoặc ký lại sau khi làm phẳng nếu cần.
Xóa hoặc đổi tên tệp chữ ký tách rờiLiên kết giữa tài liệu và .p7s biến mất.Cập nhật tham chiếu trong metadata tài liệu, hoặc đóng gói chữ ký vào trong container.

Tình huống thực tế

Hợp đồng pháp lý

Các công ty luật thường nhận hợp đồng ký qua Adobe Sign. Khi một hợp đồng cần lưu trữ trong hệ thống DMS doanh nghiệp chỉ chấp nhận PDF/A‑1, việc chuyển đổi phải giữ nguyên chữ ký gốc. Quy trình nêu trên – chuyển sang PDF/A‑3, sau đó dùng bộ chuyển PDF/A‑1 bảo toàn từ điển chữ ký – đảm bảo hợp đồng vẫn có giá trị pháp lý.

Hoá đơn điện tử (PEPPOL)

Hoá đơn điện tử châu Âu dùng XML‑DSig để chứng thực hoá đơn. Một nhà cung cấp có thể cần chuyển hoá đơn từ schema XML độc quyền sang định dạng PEPPOL BIS. Bằng cách bảo toàn thành phần <Signature> và ánh xạ đúng tiền tố namespace, hoá đơn vượt qua bộ kiểm tra PEPPOL và được người mua xử lý mà không cần ký lại.

Mẫu biểu chính phủ

Nhiều biểu mẫu khu vực công được ký bằng tệp CMS tách rời. Khi một phòng ban chuyển các hồ sơ cũ sang hệ thống quản lý hồ sơ mới lưu trữ dưới dạng DOCX, script chuyển đổi sẽ trích xuất chữ ký CMS, nhúng vào gói DOCX và cập nhật bảng tham chiếu. Các kiểm toán viên sau này có thể xác thực chữ ký so với tài liệu gốc.

Tổng kết

Bảo toàn chữ ký số trong quá trình chuyển đổi tệp không phải là việc làm phụ; nó là một quy trình có kỷ luật, đòi hỏi hiểu biết về mật mã, kiến thức về định dạng và công cụ chuyển đổi cẩn thận. Bằng cách nhận diện loại chữ ký, chọn định dạng đích tương thích, áp dụng quy trình chuyển đổi bao gồm trích xuất, bảo toàn và nhúng lại dữ liệu chữ ký, và kiểm tra kết quả qua các công cụ tự động, các tổ chức có thể duy trì tính hợp pháp đồng thời tận dụng sự linh hoạt của các định dạng tệp hiện đại. Khi các dịch vụ chuyển đổi đám mây như convertise.app được đưa vào chuỗi xử lý, việc xác nhận nhà cung cấp tôn trọng container chữ ký và tuân thủ nguyên tắc privacy‑by‑design sẽ tăng thêm một lớp bảo đảm. Cuối cùng, tư duy “xác thực trước, xác thực sau” ngăn ngừa các vòng ký lại tốn kém và bảo vệ niềm tin được nhúng trong mỗi chữ ký điện tử.