Kỹ thuật

PAdES và XMLDSig khác nhau thế nào? So sánh chữ ký số trên file PDF và file XML

Đội ngũ GoSignĐăng ngày 10 phút đọcCập nhật ngày
Trong bài viết
  1. 01Bảng so sánh PAdES và XMLDSig
  2. 02Hai chuẩn giống nhau ở đâu
  3. 03Khác nhau 1: cách xác định phần được ký
  4. 04Khác nhau 2: XML phải được chuẩn hoá trước khi băm
  5. 05Khác nhau 3: hình chữ ký
  6. 06Khác nhau 4: nhiều người cùng ký một file
  7. 07PAdES, XAdES, XMLDSig, PKCS#7: gỡ rối tên gọi
  8. 08Khi nào dùng PDF, khi nào dùng XML
  9. 09GoSign ký PDF và XML thế nào

PAdES là chuẩn ký số cho file PDF, XMLDSig cho dữ liệu XML. So sánh phần được ký, cách nhiều người cùng ký, hình chữ ký và lỗi hay gặp khi kiểm tra.

Hợp đồng gửi đối tác thường là file PDF, còn hoá đơn điện tử hay tờ khai thuế là file XML. Cả hai đều có thể mang chữ ký số, nhưng theo hai chuẩn khác nhau: PAdES cho PDF và XMLDSig cho XML. Bài này so sánh hai chuẩn ở những điểm ảnh hưởng trực tiếp đến người ký và người kiểm tra.

Bảng so sánh PAdES và XMLDSig

PAdES (file PDF)XMLDSig (file XML)
Tổ chức ban hànhETSI (EN 319 142)W3C (XML Signature 1.1)
Chữ ký nằm ở đâuKhối PKCS#7 (CMS) nhúng trong file PDFPhần tử Signature trong file XML, hoặc file riêng
Phần được kýCác khoảng byte khai báo trong ByteRange: toàn bộ file trừ chỗ chứa chữ kýCác phần dữ liệu được chỉ ra trong chữ ký: có thể là cả file hoặc chỉ một phần
Chuẩn hoá trước khi bămKhông cần: băm đúng từng byteCần chuẩn hoá (canonicalization) vì cùng một nội dung XML có thể viết theo nhiều cách
Hình chữ ký trên trangCó thể có: ô chữ ký, con dấu, họ tênKhông có, vì XML không có trang
Nhiều người kýMỗi chữ ký sau được ghi nối vào cuối fileMỗi người thêm một phần tử Signature; thường phải loại các chữ ký khác ra khỏi phần được ký
Mở và kiểm tra bằngAdobe Acrobat Reader, Foxit và các công cụ kiểm tra chữ kýPhần mềm của hệ thống nhận file, công cụ kiểm tra chữ ký XML
Thường gặp ởHợp đồng, công văn, quyết định, biên bảnHoá đơn điện tử, tờ khai thuế, dữ liệu trao đổi giữa các phần mềm
Hai chuẩn cùng dùng băm và khoá bí mật, khác nhau ở cách đóng gói chữ ký vào file

Hai chuẩn giống nhau ở đâu

  • Cùng một cơ chế: tính giá trị băm của dữ liệu, ký giá trị băm bằng khoá bí mật, đính kèm chứng thư số để người nhận biết ai đã ký.
  • Cùng phát hiện sửa đổi: sửa dù một ký tự trong phần được ký, giá trị băm tính lại không còn khớp và chữ ký báo không hợp lệ.
  • Cùng có thể ký bằng USB Token: khoá bí mật nằm trong thiết bị, phần mềm chỉ gửi giá trị băm vào để ký.
  • Cùng phải kiểm tra chứng thư: chữ ký chỉ đáng tin khi chứng thư còn hiệu lực tại thời điểm ký và do tổ chức được cấp phép phát hành.

Khác nhau 1: cách xác định phần được ký

Với PDF, chữ ký khai báo ByteRange: hai khoảng byte nằm hai bên chỗ chứa chữ ký. Phần được ký vì thế là gần như toàn bộ file tại thời điểm ký, và phần mềm đọc PDF có thể cho biết chữ ký có phủ đến cuối file hay có nội dung được thêm sau đó.

  1. 1

    Khai báo khoảng byte

    Toàn bộ nội dung file PDF, trừ đúng chỗ chừa sẵn để đặt chữ ký, được đưa vào phép tính.

  2. 2

    Băm và ký

    Giá trị băm của các khoảng byte đó được ký bằng khoá bí mật, rồi đặt vào chỗ đã chừa.

  3. 3

    Xác thực về sau

    Phần mềm kiểm tra tính lại giá trị băm trên cùng các khoảng byte. Chỉ cần một byte trong đó bị đổi, giá trị băm khác đi và chữ ký báo không hợp lệ.

ByteRange — vùng được kýChuỗi byte được băm & ký:Không đổi byte nào→ chữ ký Hợp lệĐổi 1 byte bất kỳ→ chữ ký Không hợp lệ
Toàn bộ nội dung nằm trong vùng byte được ký; đổi đúng một byte là chữ ký thành không hợp lệ.

Với XML, chữ ký liệt kê các tham chiếu (Reference) tới phần dữ liệu được ký, kèm các phép biến đổi áp dụng trước khi băm. Một tham chiếu có thể trỏ tới cả tài liệu hoặc chỉ một phần tử. Vì vậy, khi kiểm tra file XML, ngoài câu hỏi "chữ ký còn khớp không" còn phải hỏi "chữ ký bao phần nào của file".

Khác nhau 2: XML phải được chuẩn hoá trước khi băm

Cùng một nội dung XML có thể viết theo nhiều cách: thứ tự thuộc tính khác nhau, kiểu xuống dòng khác nhau (CRLF hay LF), cách khai báo không gian tên khác nhau. Để hai bên tính ra cùng một giá trị băm, XMLDSig chuẩn hoá dữ liệu theo quy tắc Canonical XML trước khi băm. PDF không cần bước này vì chữ ký băm thẳng từng byte của file.

Khác nhau 3: hình chữ ký

Chữ ký PAdES có thể kèm hình hiển thị trên trang: ô chữ ký, con dấu, họ tên và thời điểm ký. Hình này chỉ là phần trình bày; giá trị nằm ở khối chữ ký số bên trong file. File XML không có trang nên chữ ký XMLDSig không có hình. Người nhận biết file đã ký bằng cách kiểm tra chữ ký, không phải bằng cách nhìn.

Khác nhau 4: nhiều người cùng ký một file

PDF cho phép ghi nối (cập nhật gia tăng): chữ ký sau được thêm vào cuối file, không đụng vào phần chữ ký trước đã bảo vệ. Mỗi chữ ký bảo vệ đúng trạng thái file tại lúc ký.

Với XML, mỗi người thêm một phần tử Signature. Khó khăn là chữ ký của người sau làm thay đổi file mà chữ ký của người trước đang bảo vệ. Cách xử lý thường gặp là dùng phép biến đổi để loại các phần tử chữ ký ra khỏi phần được ký, để mỗi chữ ký chỉ bảo vệ dữ liệu gốc. Một số thư viện kiểm tra mặc định tắt các phép biến đổi này, nên cùng một file có thể được công cụ này báo hợp lệ và công cụ khác báo lỗi.

PAdES, XAdES, XMLDSig, PKCS#7: gỡ rối tên gọi

Tên gọiDành choVai trò
PKCS#7 / CMSDữ liệu nhị phânĐịnh dạng đóng gói chữ ký kèm chứng thư; là nền của PAdES
PAdESFile PDFCách nhúng chữ ký CMS vào PDF để lưu giữ và xác minh lâu dài
XMLDSigDữ liệu XMLCú pháp chữ ký cơ bản cho XML
XAdESDữ liệu XMLMở rộng XMLDSig thêm thông tin như thời điểm ký, dấu thời gian để xác minh lâu dài
CAdESDữ liệu bất kỳMở rộng CMS theo cùng hướng với PAdES và XAdES
XMLDSig là nền cho XML; nếu cần so với PAdES về khả năng lưu giữ lâu dài thì XAdES mới là bản tương đương

Gặp thuật ngữ lạ? Tra từ điển 45 thuật ngữ chữ ký số.

Khi nào dùng PDF, khi nào dùng XML

  • Người đọc là con người, cần in, cần hình chữ ký và con dấu: dùng PDF ký theo PAdES.
  • Người đọc là phần mềm, dữ liệu cần được hệ thống khác xử lý tự động: dùng XML ký theo XMLDSig.
  • Hoá đơn điện tử, tờ khai thuế, hồ sơ nộp cổng dịch vụ công: định dạng, vị trí chữ ký và kênh gửi do cơ quan nhận quy định, doanh nghiệp không tự chọn.

GoSign ký PDF và XML thế nào

  • File PDF: ký số theo chuẩn PAdES/PKCS#7 bằng USB Token qua GoSign Desktop Signer, có hình chữ ký và con dấu trên trang.
  • File Word, Excel, PowerPoint: tự chuyển sang PDF khi tải lên rồi ký như PDF; file gốc lưu kèm hồ sơ.
  • File XML nội bộ: ký số theo chuẩn XMLDSig, thuật toán RSA-SHA256, chữ ký nằm trong file và bao toàn bộ nội dung. Mỗi bước Ký số thêm một chữ ký riêng, chữ ký trước vẫn hợp lệ.

Xem GoSign xử lý từng định dạng file khi trình ký.

Tải file PDF hoặc XML đã ký lên để xem từng chữ ký còn khớp dữ liệu không và chứng thư do ai cấp.

Căn cứ pháp lý & nguồn tham khảo

Câu hỏi thường gặp

PAdES và XMLDSig khác nhau thế nào?

PAdES là chuẩn ký số cho file PDF: chữ ký PKCS#7 nhúng trong file và bảo vệ các khoảng byte khai báo trong ByteRange. XMLDSig là chuẩn ký số cho dữ liệu XML: chữ ký là phần tử Signature, bảo vệ các phần dữ liệu được chỉ ra trong chữ ký sau khi chuẩn hoá. PDF có thể có hình chữ ký trên trang, XML thì không.

File PDF đã ký số còn mở và in bình thường được không?

Được. Ký số theo PAdES không khoá file: vẫn mở, đọc, in bình thường. Khác biệt là mọi thay đổi vào phần nội dung đã ký sẽ bị phát hiện khi kiểm tra chữ ký, vì giá trị băm tính lại trên các khoảng byte trong ByteRange không còn khớp.

Chữ ký số trên PDF và trên XML, cái nào có giá trị pháp lý cao hơn?

Không cái nào cao hơn vì định dạng file. Giá trị pháp lý phụ thuộc chữ ký số và chứng thư có đáp ứng điều kiện của Luật Giao dịch điện tử 2023 và Nghị định 23/2025/NĐ-CP hay không.

XAdES và XMLDSig khác nhau thế nào?

XMLDSig là cú pháp chữ ký cơ bản cho XML. XAdES do ETSI ban hành, mở rộng XMLDSig thêm thông tin như thời điểm ký và dấu thời gian để chữ ký xác minh được lâu dài. Nếu so với PAdES của PDF, XAdES là bản tương đương.

Vì sao định dạng lại file XML đã ký làm chữ ký không hợp lệ?

Quy tắc chuẩn hoá của XMLDSig không bỏ khoảng trắng và dấu xuống dòng giữa các thẻ. Thêm thụt lề rồi lưu file là thay đổi dữ liệu được ký, nên giá trị băm không còn khớp.

Công cụ nào kiểm tra được cả chữ ký PDF và XML?

Công cụ kiểm tra chữ ký số miễn phí trên kysodoanhnghiep.vn đọc được chữ ký PAdES/PKCS#7 trong file PDF và chữ ký XMLDSig hoặc XAdES trong file XML, cho biết dữ liệu còn khớp không và chứng thư do ai cấp.

#PAdES#XMLDSig#XAdES#PKCS#7#ByteRange#Ký số file XML#Kỹ thuật
Đọc thêm

Bài viết liên quan

Pháp lý13 phút đọc

Mốc 10/4/2027: nhà cung cấp chữ ký số và phần mềm ký số phải nâng cấp gì, doanh nghiệp cần làm gì

Ngày 10/4/2027 hết hạn chuyển tiếp 02 năm của Nghị định 23/2025: CA và phần mềm có tích hợp ký số phải nâng cấp. Doanh nghiệp nên hỏi, rà soát gì từ bây giờ.

Đọc tiếp
Hướng dẫn11 phút đọc

Chữ ký số cho người lao động: loại nào dùng để ký hợp đồng lao động điện tử, đăng ký ở đâu, ai trả phí

Nghị định 337/2025 yêu cầu người lao động có chữ ký số khi ký hợp đồng lao động điện tử. So sánh VNeID, ký số từ xa, USB Token; cách đăng ký, ai trả phí.

Đọc tiếp
Nghiệp vụ11 phút đọc

Ký số mùa quyết toán thuế 2027: hạn nộp theo Nghị định 252/2026 và việc cần làm với chữ ký số

Quyết toán thuế năm 2026 nộp chậm nhất 31/3/2027 với tổ chức, 30/4/2027 với cá nhân tự quyết toán. Lịch kiểm tra chữ ký số, gia hạn và xử lý lỗi trước hạn.

Đọc tiếp
Dùng thử miễn phí

Sẵn sàng ký số cho doanh nghiệp của bạn?

Bắt đầu dùng thử miễn phí hoặc để đội ngũ GoSign tư vấn giải pháp phù hợp nhất với quy mô và nghiệp vụ của bạn.