PBOC/EMV之靜態(tài)數(shù)據(jù)認證(SDA)與動態(tài)數(shù)據(jù)認證(DDA)
文章出處:http://m.botanicstilllife.com 作者:小馬 人氣: 發(fā)表時間:2011年10月09日
PBOC/EMV里有兩個非常重要的概念,SDA(staticdataauthentication)和DDA(dynamicdataauthentication),分別叫做靜態(tài)數(shù)據(jù)認證和動態(tài)數(shù)據(jù)認證。這兩個認證都是脫機下(off-line)的認證。業(yè)內人都知道磁卡和IC卡遷移的一個很重要的原因就是安全問題。
舉兩個磁卡犯罪的例子:
1磁卡本身的構造原理使得它的數(shù)據(jù)非常容易被非法修改,你肯定不愿意有人非法修改你卡上的數(shù)據(jù),當然如果是在你的余額后面加幾個0就另當別論了。
2相信下面要舉的這個例子,很多人都聽過:犯罪分子要用兩個設備,讀卡器和針孔攝像機。他們把讀卡器與銀行原來的讀卡器固定一起,插卡口對齊,當我們取錢時把卡插進去時,我們的卡上的信息就被他們的讀卡器讀出,然后他們用一張空白的卡就可以把我們的卡復制出來。針孔攝影機的作用就是當我們取錢時竊取我們的密碼??ㄓ辛?,密碼也有了,剩下的步驟就是取錢了。
SDA可以解決上述第一個問題,它實現(xiàn)的原理是數(shù)字簽名。簡單的說,過程如下:IC卡的里的數(shù)據(jù)先簽個名,怎么簽名呢?當然不是用筆直接上面寫個名字。它的做法是用Hash為這些數(shù)據(jù)生成一個簡短表示做為該數(shù)據(jù)的摘要,然后,把這個摘要加密,得到一個簽名;。再把數(shù)據(jù)和加密后的簽名發(fā)給終端。終端在這一頭先把收到的數(shù)據(jù)Hash,得到一個簽名,然后再把收到的加密簽名解密,又得到一個簽名,比較兩個簽名,就可以知道數(shù)據(jù)有沒有被修改過,如果數(shù)據(jù)被修改過,兩個簽名是不同的。驗證不會通過。
DDA除了具有SDA的功能外,它最強大的地方就是解決上述第二種犯罪。它實現(xiàn)的原理如下:與SDA相比,它的簽名是動態(tài)的。SDA的簽名在卡發(fā)行時就定好的,它加密所用的私鑰是發(fā)卡行的私鑰(如果你不理解私鑰和公鑰的概念,建議先看一下密碼學的相關知識)。而DDA每次用來的簽名的數(shù)據(jù)是當前交易中的一些動態(tài)數(shù)據(jù),簽名加密所用的私鑰是IC卡私鑰,這個私鑰貯存在IC卡的一個安全區(qū)域里(這個很重要)。終端這一頭有與之相對應的用來解密的公鑰。那么怎么實現(xiàn)防復制呢?
舉個例子說,張三的卡被李四復制了一張,李四拿著這張卡去取錢。在交易時,IC卡會生成一個動態(tài)的簽名給終端確認,關鍵的地方就在這里,這個動態(tài)的簽名需要一個私鑰來加密,而這個IC卡私鑰貯存在IC卡里的安全區(qū)域里,李四不可能知道,李四隨便選一個私鑰來加密簽名,所以在終端這一頭的驗證肯定是通不過的,因為公鑰和私鑰已經不對應了。那么交易肯定會被強制中止,張三卡里的錢也就不會被李四取走。
DDA實在是太強大了,可以想像如果以后我們用的銀行卡全部都是有DDA功能的IC卡,將極大減少金融犯罪。Visa和master公司已經宣布2011年之后,歐洲所有銀行發(fā)行的具有脫機功能的IC卡都要使用。