PAdES、CAdES、XAdES的区别:电子签名格式何时用哪种?
PAdES把签名嵌入PDF,XAdES嵌入XML,CAdES可为任何文件签名。本文介绍三者区别、从B-B到B-LTA的级别,以及不同业务该选哪种。
PAdES、CAdES和XAdES做的是同一件事:生成高级电子签名,证明谁在什么时间签署了文件,以及文件在签署后未被改动。区别在于签名位于何处,以及适合哪类文件。三者都属于欧洲标准化机构ETSI的AdES(Advanced Electronic Signature)系列。
简短回答
| 格式 | 标准 | 签名位于何处? | 最适合的用途 |
|---|---|---|---|
| PAdES | ETSI EN 319 142 | PDF文件内部 | 供人打开阅读的文件:合同、报告、申请书 |
| CAdES | ETSI EN 319 122 | 包裹文件的封装内,或单独的.p7s文件中 | 任何类型的文件;官方电子公文往来 |
| XAdES | ETSI EN 319 132 | XML文件内部或旁边 | 机器之间交换的文件:如UBL-TR格式的e-Fatura(土耳其电子发票)等XML |
| ASiC | ETSI EN 319 162 | 同时承载文件和签名的ZIP容器内 | 将多个文件打包成一个包进行签名 |
什么是PAdES?
PAdES(PDF Advanced Electronic Signatures)将签名嵌入PDF文件本身的结构中。签名后的文件仍是PDF:收件人无需额外程序,用Adobe Acrobat Reader等PDF阅读器即可打开,并在签名面板中查看谁签署了文件、文件是否被改动。它还可以在页面上带有可见的签名区域。
由于PDF支持增量更新,一份文件可以由多人依次签署,每个签名都保留其之前的状态。因此,对于有审批链的合同,它是一个实用的选择。其局限也源于此:PAdES只能为PDF签名。
什么是CAdES?
CAdES(CMS Advanced Electronic Signatures)基于CMS(RFC 5652)结构,不限文件类型:Word、Excel、图片、ZIP——任何文件都可以签名。签名有两种携带方式:作为把文件包在里面的封装,或作为放在文件旁边的单独文件(.p7s)。
缺点在接收方:要打开封装形式的签名文件并验证签名,需要电子签名应用程序。在土耳其,带电子签名的官方公文往来中最常用的格式是CAdES。
什么是XAdES?
XAdES(XML Advanced Electronic Signatures)建立在W3C的XML签名标准(XMLDSig)之上,适用于XML文件。签名可以嵌入XML内部(enveloped)、包裹XML(enveloping),或单独存放(detached)。它是为由软件而非人来读取文件的场景设计的,用于UBL-TR格式的e-Fatura等基于XML的文件。
ASiC有什么用?
ASiC(Associated Signature Containers)将已签名的文件及其签名一起放在一个ZIP容器中传送。ASiC-S用于单个文件,ASiC-E用于多个文件。其中的签名可以是CAdES,也可以是XAdES;ASiC不是一种新的签名类型,而是一种携带方式。
级别:B-B、B-T、B-LT、B-LTA
格式回答的是“签名位于何处”,级别回答的是“签名能被验证多久”。ETSI的基线(baseline)配置分为四个级别:
- B-B(Basic):签名、签名人的证书和已签名属性。在证书有效期内可以验证。
- B-T(Timestamp):加入可信时间戳,证明签名最晚是在哪个时刻完成的。
- B-LT(Long-Term):证书链和吊销状态(CRL、OCSP)被嵌入签名中;即使证书日后过期,验证数据仍随文件一起保存。
- B-LTA(Long-Term Archive):加入归档时间戳,并可续期;即使所用的密码算法过时,签名的证据价值仍得以保持。
在ETSI的旧命名中,相同的级别称为BES、EPES、T、C、X、XL和A;土耳其的许多应用和文档至今仍使用这些名称。需要保存多年的文件(合同、档案、工资单)至少选择B-LT,最好选择B-LTA;日常、短期的审批通常B-T就足够了。
该选哪一种?
- 文件由人打开阅读且为PDF:PAdES。收件人无需安装额外程序。
- 文件为XML且由软件处理:XAdES。
- 文件既不是PDF也不是XML,或对方要求CAdES:CAdES。
- 需要将多个文件打成一个包签名:ASiC-E。
- 要向土耳其政府机构发送正式公文:格式不由您选择,而由e-Yazışma(土耳其官方电子公文交换)包的规则决定。
法律效力取决于格式吗?
不取决于格式。在土耳其,根据第5070号《电子签名法》,安全电子签名与手写签名具有同等法律效力。决定这一点的与其说是格式,不如说是签名是否使用合格电子证书和安全签名创建设备(智能卡、令牌、HSM或移动签名)完成。PAdES、CAdES和XAdES是承载这种签名的不同容器。
ELPO的产品
对于希望无需编写代码、在桌面端签名的用户,İmzacı可使用智能卡为PDF和XML签名、制作e-Yazışma包,并按文件夹批量签名。对于希望把签名功能嵌入自有软件的团队,eSignature电子签名库可生成并验证CAdES、XAdES、PAdES和ASiC格式,级别直至长期归档;每种格式都是独立的包,因此项目只引入实际用到的部分。两款产品的总体介绍见e-İmza页面。