[技术帖]如何证明一张数码照片是未修改的

(2-15)

自从有了PS,照片的真假问题就越来越多了,最近的三起依次就是周老虎、娇·冠希、刘羚羊。前二者没什么好说的:周老虎的照片看来的确是真的——只不过老虎是假的;冠希大湿那更不用说,当事人都默认了,也不必再鉴定。而刘羚羊事件虽然也结束了,刘也承认那张藏羚羊的片子是PS的,但是类似的事情还有很多(比如前两年某报上一张新闻照片上,湖里N多船都长一样的事情),如何证明他们的片子不是“平面设计”作品呢?

无忌的争论帖里看到说主流的中端DSLR(C的20D及以上,N的D200及以上)都带有照片原始认证功能,就设想了一下这样的功能要如何实现。

首先能想到的就是数字签名技术。

传统的方法是这样的:甲给乙发一份内容为M的报文,为了证明当乙收到时这是甲发送的,并且未经修改,甲可以在报文后加一个数字签名,内容为:

对M作摘要算法(如MD5或SHA),得到摘要代码D,然后甲用自己的私钥(假设为KA)对D加密,再用乙的公钥(假设为PB)加密,结果得到一个签名S=PB(KA(SHA(M)))。

乙收到以后,只要用自己的私钥(KB)和甲的公钥(PA)解开,再对M作一次同样的摘要,结果如果一致,就可以证明这的确是甲发送的,并且未被修改过。

理由是:只有用甲的私钥加密才可能用甲的公钥解开,这点保证了甲的身份并且不可抵赖;而摘要的一致则证明了未被修改。

那么直接把这个方法用于数码照片如何?

比如相机厂商在相机中实现这样的功能:

在照片生成后,对数据作一次摘要,然后用一个公钥对此摘要加密后保存在EXIF里作为签名,验证时只要重新摘要照片数据(不包括EXIF中的签名部分),然后用厂家的私钥解开签名并验证即可。

虽然这样的确已经相当可靠了,基本上只要修改过照片就肯定通不过厂家的原创验证,但仍然不是万无一失:

只要破解了相机的Firmware,就可能取得包括摘要算法和公钥在内的必要资料,也就可能在修改以后重新生成一个签名。

所以说这个问题还是防不胜防啊。

BTW:自从刘羚羊事件曝光以后,最近至少有两起获奖新闻照片因为PS而被撤销或主动撤销。可见技术手段是次要的,群众的力量才是最大的。

《[技术帖]如何证明一张数码照片是未修改的》有一个想法

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据