本發(fā)明涉及一種配有顯示器件的支付卡,所述顯示器件用于顯示卡片驗證操作的安全碼并設置于支付卡一面;本發(fā)明還涉及生成并顯示這種支付卡安全碼的方法。
本發(fā)明涉及諸如emv(泛歐卡、萬事達卡、維薩卡)或其它類型卡的銀行支付卡領域。
背景技術:
這類支付卡通過諸如因特網、郵件、傳真或電話來進行的遠程交易通常涉及提供寫在支付卡一面的初始賬號pan以及寫在卡上的一些附加信息,比如支付卡的有效期和/或持卡人身份。
為了確保遠程交易的安全,通常還需要提供卡安全碼(csc),也稱之為卡驗證值,服務器將其用于卡片的驗證操作。安全碼通常由寫在支付卡上的3個或4個數(shù)字組成,通常是在卡上與呈現(xiàn)初始賬號pan的那一面相反的一面。
構成安全碼的數(shù)字可以是通過與支付卡相關聯(lián)的唯一數(shù)字密鑰來加密卡的初始賬號pan、其有效期以及卡所用的服務碼,并且通過保持所得結果的3位數(shù)或4位數(shù)而確定的。
就此而論,就需要防范那些曾訪問過支付卡信息并且保存過初始賬號pan、附加數(shù)據(jù)及安全碼的未獲授權的人或機構采集和/或重新使用安全碼。
為此目的,已經提出了配有顯示器件的支付卡,所述顯示器件用于顯示安全碼值并設置于支付卡的一面,其中,安全碼值可定期刷新,以便防止或者限制未獲授權的人重新使用安全碼。
文件us7,954,705顯示了一個這種支付卡以及生成并顯示支付卡安全碼的方法的實例。
然而,需要進一步提高這種支付卡的安全性,尤其是防止或限制反向制造支付卡的可能性。
技術實現(xiàn)要素:
本發(fā)明提供一種生成并顯示支付卡安全碼的方法,所述支付卡包括設置于支付卡表面的顯示器件,顯示器件包括用于顯示卡片驗證操作的安全碼的區(qū)域,所述卡片驗證操作是通過卡片驗證服務器執(zhí)行的,方法包括以下步驟:
-在顯示器件的區(qū)域顯示第一時段期間的安全碼的第一個值,
-在顯示器件的區(qū)域顯示第二時段期間的安全碼的第二個值,所述第二時段在第一時段之后且第一時段和第二時段具有不同的持續(xù)時間。
因此,安全碼通過電子墨或者其它顯示類型顯示在卡上并且按照計算出的時間間隔來刷新。持卡人按照與當前普遍使用的永久不變的安全碼相同的方式來使用當前的安全碼值。
安全性的提高得益于所捕捉到的數(shù)字的快速失效,因此,捕捉的數(shù)字失效必須足夠快,以至于不允許廣泛使用卡,但是也必須足夠長,以至于使用者容易獲得安全碼。
尤其是,如果使用者在卡上讀取安全碼的第一個值并隨后將其發(fā)送到卡片驗證服務器,與此同時,卡顯示器就已經轉換到了安全碼的第二個值,那么卡驗證便會失敗。
為了減少卡用戶所經歷的傷腦筋的情況,可對其進行設置,以便在改變值的時刻前后的時段內能接收到安全碼的兩個值,這兩個值具體是在時間上一個接一個的第一個值和第二個值。
因此,所述改變安全碼值的時刻前后的時段是一段時間,在這段時間中,隨機生成可接收的安全碼的可能性是這段時間以外其它時段的二倍。根據(jù)本發(fā)明所生成并顯示安全碼的方法使之更難通過反向工程來識別出這個時段,因為改變安全碼值的時刻不是定期連續(xù)的。
在一個實施例中,在時間計數(shù)器超出與第一時段相關聯(lián)的第一個轉換閾值的情況下,進行從第一時段到第二時段的轉換操作,時間計數(shù)器由支付卡的內部時鐘計數(shù)并且該內部時鐘與卡片驗證服務器不同步。
這樣,就不可能通過攔截卡與驗證服務器之間的交換來獲取表示卡何時將要轉換的同步信息。
這就增強了安全碼的安全性。
最好,從第一時段到第二時段的轉換操作包括以下步驟:
-遞增安全碼顯示值的計數(shù)器的計數(shù),
-至少根據(jù)與支付卡相關聯(lián)的唯一數(shù)字秘鑰并且根據(jù)安全碼顯示值的計數(shù)器來確定將在第二時段顯示的安全碼的第二個值,
-刷新卡的顯示器件以顯示安全碼的第二個值,以及,
-至少根據(jù)安全碼顯示值的計數(shù)器來確定與第二時段相關聯(lián)的第二個轉換閾值。
在一個有利的實施例中,在顯示器件的區(qū)域顯示的安全碼值不包含卡片驗證服務器的同步數(shù)據(jù)。
在一個特殊實施例中,該方法包括多個連續(xù)的顯示操作,
在多個顯示操作之中的每個顯示操作包括在與所述顯示操作相關聯(lián)的時段期間在顯示器件的區(qū)域內顯示與所述顯示操作相關聯(lián)的安全碼值,
而且,其中,與多個顯示操作之中的連續(xù)顯示操作相關聯(lián)的連續(xù)時段構成可計算的非常量序列。
最好,與時段相關聯(lián)的轉換閾值根據(jù)安全碼顯示值的計數(shù)器,根據(jù)兩次轉換之間的時段平均值,根據(jù)與支付卡相關聯(lián)的唯一變化范圍以及根據(jù)卡片操作開始的瞬時值來確定。
本發(fā)明的另一方面涉及一種支付卡,包括:
-顯示器件,設置于支付卡表面且包括用于顯示卡片驗證操作的安全碼的區(qū)域,所述卡片驗證操作通過卡片驗證服務器進行,以及,
-控件電路,將其設置為控制在顯示器件的所述區(qū)域內顯示至少在第一時段期間的安全碼的第一個值以及在第二時段期間的安全碼的第二個值,所述第二時段在第一時段之后且第一時段和第二時段具有不同的持續(xù)時間。
在一個特殊實施例中,控件電路包括:
*存儲器,用于存儲時間計數(shù)器以及至少一個轉換閾值,
*內部時鐘,與卡外部不同步,以便遞增時間計數(shù)器的計數(shù),以及,
*控制電路,用于在時間計數(shù)器超出與第一時段相關聯(lián)的第一個轉換閾值的情況下,從第一時段轉換到第二時段。
在這種情況下,支付卡優(yōu)選進一步包括寫在支付卡表面的初始賬號pan。
本發(fā)明的另一方面涉及一種支付卡的計算機程序,該程序包括執(zhí)行上文所述的生成并顯示卡片驗證操作安全碼的方法的步驟的指令。
附圖說明
本發(fā)明的其它特征和優(yōu)點將通過下列非限制性的示例性實施例的說明并參考附圖而更加顯而易見,在附圖中:
圖1是包括根據(jù)本發(fā)明的支付卡的支付卡驗證系統(tǒng)以及卡片驗證服務器和接收實體的示意圖;
圖2是圖1所示的支付卡的詳細框圖;
圖3是生成并顯示適用于諸如圖1和圖2所示的支付卡的安全碼的操作流程圖;
圖4是在根據(jù)本發(fā)明生成并顯示安全碼的方法過程中進行轉換操作的詳細流程圖。
具體實施方式
下文通過利用emv卡(泛歐卡、萬事達卡、維薩卡)進行遠程交易的非限制性應用對本發(fā)明進行說明。
圖1所示的實體1是支付卡1,例如,emv卡(泛歐卡、萬事達卡、維薩卡)。
實體2是卡片驗證服務器,包括至少一個卡數(shù)據(jù)輸入單元20以及處理單元21。
實體3是接收實體3,支付卡1的使用者u可通過諸如因特網、郵件、傳真或電話等通信信道4在遠程交易過程中實現(xiàn)接收實體與支付卡的通信。
因此,接收實體3可以是互聯(lián)網零售商網站的服務器或者互聯(lián)網在線支付網站或者通過郵件、傳真或電話接收交易請求的提供商。因此,接收實體3適合經由各種通信信道4來接收來自支付卡2使用者u的卡數(shù)據(jù)dc。接收實體3進一步適合經由第二通信信道5將數(shù)據(jù)發(fā)送到卡片驗證服務器2,第二通信信道例如是諸如因特網、內聯(lián)網或者點到點的有線或無線連接的網絡。
因此,接收實體3處于支付卡1的使用者u與卡片驗證服務器2的之間。
卡數(shù)據(jù)dc包括來自支付卡1的待測試的安全碼值c以及所述支付卡的識別信息id,例如,支付卡的初始賬號pan、支付卡的有效期和/或支付卡持卡人的身份。
卡片驗證服務器2適合并用于執(zhí)行卡片驗證操作,所述卡片驗證操作包括:
-通過輸入單元20接收卡數(shù)據(jù)的操作,
-通過處理單元21來確定可接受安全碼值的操作。尤其是,可以通過卡數(shù)據(jù)中所包含的識別信息來確定可接受安全碼值,例如,通過初始賬號pan、支付卡的有效期和/或支付卡持卡人的身份。在不使用卡數(shù)據(jù)中包含的待測試的安全碼值的情況下確定可接受安全碼值。
-將待測試的安全碼值與可接受安全碼值進行比較的操作,以便確定是否接受卡數(shù)據(jù)。
在確定可接受安全碼值的操作過程中,卡片驗證服務器2可以從數(shù)據(jù)庫3提取關于支付卡的附加信息。該附加信息可以是例如下文詳細說明的計算安全碼值的算法的種子值。然后,根據(jù)卡數(shù)據(jù)所包含的識別信息以及根據(jù)從數(shù)據(jù)庫3所獲得的附加信息來確定可接受安全碼值。
所述數(shù)據(jù)庫3可將所述附加信息與諸如初始賬號pan這類支付卡識別信息相關聯(lián),從而有助于訪問所述附加信息。
當然,卡片驗證操作可包括本文未提及的附加操作,例如,驗證支付卡識別信息,驗證支付卡的初始賬號pan、支付卡的有效期和/或支付卡持卡人的身份。
卡片驗證操作通常在可能的程度上使之能夠確定支付卡是否真實屬于請求遠程交易的使用者u。
支付卡1是已知形式的卡,例如,iso7810id-1,iso7813所定義的卡,即,其基本形狀為便于攜帶的半剛性片材,其厚度可為數(shù)毫米和每面邊長數(shù)厘米,至少局部可由塑料制成。
它包括兩個相反面1a和1b。至少其中一面1b可提供某些信息,尤其是諸如支付卡的初始賬號pan、支付卡的有效期和/或支付卡持卡人的身份這類支付卡識別信息id。
支付卡1還包括顯示器件10。
顯示器件10設置于支付卡1的表面1a。顯示器件10包括用于顯示安全碼的區(qū)域10a。顯示器件10設置于卡的表面1a,以便支付卡1的使用者能夠看見區(qū)域10a。
顯示器件10可以設置于與某些支付卡識別信息相同的表面。或者,顯示器件10可設置于一個表面1a,而支付卡識別信息設置于相反的表面1b,使得不能同時看見安全碼和支付卡識別信息。這降低了欺詐風險。
在一個實施例中,允許重新使用現(xiàn)有的通信信道,在顯示器件10的區(qū)域10a中顯示的每個安全碼值包括3或4個數(shù)位。
支付卡1還包括控件電路11,用于控制在顯示器件10的區(qū)域10a中顯示200用于通過卡片驗證服務器執(zhí)行如上所述的卡片驗證操作的安全碼值。
因此,在通過這種支付卡1進行遠程交易中,例如,通過因特網、郵件、傳真或電話,卡的使用者u可以在支付卡1上讀取上文詳細說明的卡數(shù)據(jù),意即包括待測試的安全碼值、支付卡的初始賬號pan、支付卡的有效期和/或支付卡持卡人的身份的數(shù)據(jù),并且可以通過適當?shù)男诺?根據(jù)實施例:通過把數(shù)據(jù)輸入網頁或計算機程序的區(qū)域,通過信件、傳真或電話進行的書面或口頭的通信)將這些數(shù)據(jù)提供給接收實體3,由其傳遞到卡片驗證服務器2,以確定是否接收數(shù)據(jù)以及是否可以對交易進行授權。
在一個實施例中,接收實體3可直接作為卡片驗證服務器2。
支付卡1還可以包括芯片10,所述芯片能夠與終端,尤其是與支付終端進行電子通信或無接觸的通信,例如,從而像通過普通支付卡所實踐的那樣進行直接付款交易??丶娐?1可以集成于芯片12,或者可以是在物理上與所述芯片12分開的電路。
很顯然,在這種直接付款交易中,卡的提供者與商家(機器或個人)親自出現(xiàn)并彼此接近。商家通常能夠在視覺上或者通過接觸或檢測來確認支付卡確實屬于請求交易的使用者。本發(fā)明感興趣的是遠程交易,在所述遠程交易中通常并不驗證是否親自這樣出現(xiàn)。
更具體而言,控件電路11設置成控制在顯示器件10的區(qū)域10a顯示200至少在第一時段t1期間的安全碼的第一個值c1以及在第一時段t1之后的第二時段t2期間的安全碼的第二個值c2。
圖3闡釋了一個這種方法的實施例,其中,循環(huán)100、200、300、400連續(xù)顯示安全碼的不同值。轉換操作300使之能夠切換從一個安全碼值到另一個安全碼值的顯示。
圖3所示的流程圖是一個程序的典型實例,可以在所述設備上執(zhí)行所述程序的某些指令。因此,圖3可以對應于就本發(fā)明意義而言的計算機程序的通用算法的流程圖。
應該理解的是,在指定時刻,區(qū)域10a從c1和c2中顯示唯一安全碼值。但是,這個顯示的唯一值能夠隨著時間而改變。在本發(fā)明的一個實施例中,區(qū)域10a特別適合僅顯示指定時刻的一個安全碼值,并且不能同時顯示多個安全碼值。這樣,就減少了顯示器件10的尺寸和能耗。
為此目的,控件電路11具體可包括存儲器13和內部時鐘14。
存儲器13適合包含時間計數(shù)器ct以及至少一個轉換閾值vs1。
內部時鐘14適合按照有規(guī)律的時間間隔遞增所述時間計數(shù)器tc的計數(shù)。有利的是,內部時鐘14與支付卡1外部不同步,尤其是與卡片驗證服務器2不同步。這就使其更難預測在不同安全碼值之間切換的時刻并且降低了欺詐風險。
為此目的,例如,在顯示器件10的區(qū)域10a顯示的安全碼值不包括同步數(shù)據(jù)。
控件電路11可進一步包括控制電路15以及與顯示器件10通信的通信電路16。
控制電路15可與內部時鐘14、存儲器13和通信電路16通信。
在本發(fā)明的一個特殊實施例中,控件電路11可以集成于顯示器件10中。
在其它實施例中,控件電路11和顯示器件10可以物理分隔并形成兩個單獨的芯片。
例如,控件電路11和/或控制電路15可以是:
-處理器,適合以計算機程序的形式來解釋指令,或者,
-微芯片,尤其是以硅形式定義本發(fā)明方法的步驟的芯片,或者,
-可編程微芯片。
圖4更具體地描述了轉換操作300所包括的子步驟。
如圖3和圖4所示,控制電路15能夠執(zhí)行從第一時段t1到第二時段t2的至少一個轉換操作300。尤其是,該轉換操作300可以在時間計數(shù)器tc超出轉換閾值vs1的情況下實施。轉換閾值vs1可以是與第一時段t1相關聯(lián)的第一個轉換閾值vs1。
例如,時間計數(shù)器ct由控件電路11的內部時鐘14定期計數(shù)310,并且當所述時間計數(shù)器ct超出針對每個時段320所定義的閾值時,在顯示器件10的區(qū)域10a顯示350安全碼的新值。在一個實施例中,接著可以重新設置時間計數(shù)器ct或者在考慮時間計數(shù)器ct中早已存在的值來確定新的閾值。
更具體而言,從第一時段t1到第二時段t2的轉換操作至少可包括以下步驟:
-遞增330安全碼顯示值cv的計數(shù)器的計數(shù),在這種情況下,所述計數(shù)器包含第二時段的指數(shù)i,意即值2,
-至少根據(jù)與支付卡1相關聯(lián)的唯一數(shù)字密鑰m以及根據(jù)安全碼顯示值cv的計數(shù)器來確定340將在第二時段t2期間顯示的安全碼的第二個值c2,
-刷新350卡的顯示器件10,以顯示安全碼的第二個值c2,以及,
-至少根據(jù)安全碼顯示值cv的計數(shù)器來確定360與第二時段t2相關聯(lián)的第二個轉換閾值vs2。
可以看到,這種算法很容易使第一時段和第二時段t1、t2具有不同的持續(xù)時間。
在一個示例性實施例中,在轉換操作的附加步驟過程中可以重新設置時間計數(shù)器ct。
這些步驟310、320、330、340、350、360可按照上述順序連續(xù)進行。在本發(fā)明的一個可能的變體中,上述步驟可以按照與所述順序不同的順序執(zhí)行或者甚至并行地執(zhí)行這些步驟中的所有步驟或部分步驟。
最后,安全碼的不同值都可以通過能夠獲得連續(xù)可計算值的任何計算方法來確定,有利的是,所述計算方法是難以可逆或是不可能可逆的。例如,可以采用與已知的安全碼計算算法相似的算法,例如,emv(泛歐卡、萬事達卡、維薩卡)規(guī)范所定義的算法。
這種算法利用與支付卡1相關聯(lián)的唯一數(shù)字密鑰m來計算安全碼值,有可能利用上文詳細說明的卡數(shù)據(jù),換言之,例如是待測試的安全碼值、支付卡的初始賬號pan、支付卡的有效期和/或支付卡持卡人的身份。
為了獲取連續(xù)的安全碼值,因此考慮安全碼顯示值cv的計數(shù)器是足夠的。所述算法的一部分輸入值可以用安全碼顯示值cv的計數(shù)器的值來代替,例如,所述輸入值為與支付卡1相關聯(lián)的所述唯一數(shù)字密鑰m的一部分或所述卡的一部分數(shù)據(jù)。
這個計算安全碼的方法示例很顯然是出于給出信息以及非限制性的目的所提供的,當然可以設想計算這樣一系列連續(xù)安全碼值的變體。
應該理解的是,該方法特別適合有n個連續(xù)的顯示操作200的情況,如圖3所示。
在這種情況下,多個顯示操作之中的每個顯示操作i包括在顯示器件10的區(qū)域10a顯示在時段ti內與所述顯示操作i相關聯(lián)的安全碼值ci,所述時段ti也與所述顯示操作i相關聯(lián)。
當然,在這種情況下,例如,安全碼顯示值cv的計數(shù)器將包括時段的指數(shù)i的每個連續(xù)值,意即從1至n的連續(xù)值。
因此,安全碼顯示值cv的計數(shù)器能夠存儲當前安全碼顯示值的指數(shù)i。為了更好地理解本發(fā)明,在本說明中指數(shù)i用來表示安全碼當前顯示值的指數(shù),同時,要記住的是,實際上,所述值包含在變量cv中,這在執(zhí)行根據(jù)本發(fā)明的方法時,刷新所述變量cv。
現(xiàn)在將詳細說明與多個顯示操作之中的連續(xù)的顯示操作相關聯(lián)的連續(xù)時段t1,...,tn能構成可計算的非常量序列。
“非常量序列”的含義是:多個連續(xù)時段t1,...,tn之中的至少兩個時段ti,tj的持續(xù)時間彼此相互不同。換言之,這意味顯示器件10的轉換在時間上不是周期性的。
有利的是,大部分連續(xù)時段t1,...,tn可彼此間相互不同,甚至所有的連續(xù)時段t1,...,tn都可以彼此相互不同,沒有與另一其它時段t1,...,tn的持續(xù)時間相同的時段t1,...,tn。
“可計算序列”的含義是:連續(xù)時段t1,...,tn的順序是可預測的,并且可以通過一組預定的和已知的數(shù)據(jù)來計算的,例如,通過支付卡的制造商對其進行計算。
尤其是,在不與支付卡1交換同步信息的情況下,就不可能由卡片驗證服務器2來驗證當前顯示的安全碼中的值。
所述一組預定的和已知的數(shù)據(jù)可以包括初始賬號pan、支付卡的有效期和/或支付卡持卡人的身份,但是也可以包括計算安全碼值的算法的種子值,現(xiàn)在以根據(jù)一個本發(fā)明方法的特定實施例對此進行詳細說明。
例如,如下所述,根據(jù)安全碼顯示值cv的計數(shù)器,可以確定與時段ti相關聯(lián)的變量tvari,在這個實例中,所述變量是i,具有與支付卡pvar相關聯(lián)的唯一變化范圍:
tvari=i2modpvar
與時段ti相關聯(lián)的轉換閾值vsi可以根據(jù)與時段ti相關聯(lián)的變量tvari以及根據(jù)兩次轉換vsm之間的時段的平均值以及開始操作卡的瞬時值t0來確定,例如:
vsi=t0+i*vsm+tvari
這樣,就可以確定與時段ti相關聯(lián)的轉換閾值vsi且無需通過卡與服務器進行同步便可以進行計算。
有利的是,在連續(xù)轉換閾值vsi之間的變量本身并非周期性的,或者,換言之,在連續(xù)時段t1,...,tn順序的持續(xù)時間內的變量并非周期性的,因此,不容易預測。
應該注意的是,這與簡單的顯示器件10切換次數(shù)的非周期性無關,因為它是非周期性(即連續(xù)時段ti、ti+1之間的變量是非周期的),其本身并非周期性的。
因此,在該特定實施例中,種子值是兩次切換vsm之間時段的平均值、與支付卡pvar相關聯(lián)的唯一變化范圍以及開始操作卡t0的瞬時值。
因此,可以看到,這些種子值很容易在在支付卡1與卡片驗證服務器2之間共享,例如,制造支付卡1過程中或者緊接著制造支付卡1之后。
此外,與時段ti相關聯(lián)的一系列轉換閾值vsi是可計算的非常量序列。因此,與多個顯示操作之中的連續(xù)顯示操作i相關聯(lián)的一系列連續(xù)時段ti也形成可計算的非常量序列。
選擇不同的種子值,以確保一系列連續(xù)時段ti有足夠的變化性,從而降低欺詐風險,同時保持操作者使用方便,意即確保顯示每個安全碼值時有充足的時間,以便使用者能夠按照正常速度對其進行讀取和使用。
當然,應理解的是,僅通過實例的方式列出了關于確定與時段ti相關聯(lián)的轉換閾值vsi的上述等式。
因此,可以認為,改變這些等式的確切形式并利用諸如確定的時間增量的這種附加種子值,以確保每個安全碼值的最短顯示時間。
當然,本發(fā)明不僅僅只限于上文所述的作為示例的實施例;本發(fā)明延伸至其它變體。
其它實施例也是有可能的。