Posted on 2006-07-06 21:05
奔跑的阿甘 閱讀(2249)
評論(4) 編輯 收藏 引用 所屬分類:
ATM Technology/EMV Notes
什么是AC(Application Cryptogram)?
Michael 2006年7月6日
我們從前面了解到,目前終端和ICC之間有13個命令交互,其中有一個很關鍵的命令叫GENERATE AC,那么,什么是AC,它又是用來做什么的?
簡單地說,AC是一個ICC產生的交易代碼,GENERATE AC是一個ICC做交易決策的過程。也就是說,終端執行每次交易時,都要發送該命令給ICC進行交易決策(比如拒絕交易還是要求聯機授權),來決定該筆交易接受與否以及如何接受。
終端在發送GENERATE AC之前,自己首先有個終端行為分析的過程,分析的結果是決定需要向ICC發送什么樣的AC請求:聯機授權(ONLINE)、脫機拒絕(REJECT OFFLINE)還是脫機授權(APPROVE OFFLINE)。ICC在接收命令并處理后返回其決策結果即AC值。
針對終端的不同請求,相應地,AC有以下幾種類型:
類型???????????????????????????????????????????????????????????????????????????????????????????????????意義
Application Authentication Cryptogram (AAC)??????????????????拒絕交易
Application Authorisation Referral(AAR)?????????????????????????????Referral requested by the card
Authorisation Request Cryptogram(ARQC)??????????????????????????要求聯機授權
Transaction Certificate(TC)??????????????????????????????????????????????????????接受交易
值得注意的是,終端發送GENERATE AC命令的數據并不是TLV編碼的,而是由一個叫做CDOL的數據對象來決定的。CDOL,指Card Risk Management Data Object List,它指定了GENERATE AC的命令數據需要包括哪些對象。ICC中需要有兩個CDOL對象,CDOL1(TAG-'8C')和CDOL2(TAG-'8D')分別用于兩次命令的發送,在一次交易中最多只能發送兩次GENERATE AC 命令,超過2次則會執行失敗導致交易終止。
GENERATE AC命令的數據可能還會包含一個叫做TC Hash Value的數據,這個值通過TDOL(Transaction Certificate Data Object List)經過HASH算法計算得到。如果ICC中沒有TDOL,終端可能需要保存一個默認的TDOL,以計算TC HASH VALUE.
前面提到GENERATE AC的決策結果是AC(有四種類型),那么我們看看其具體的數據結構是如何的。
??????值?????????????????????????????????????????????????????????????????是否必須返回
Cryptogram Information Data??????????????????????????是
Application Transaction Counter (ATC)???????是
Application Cryptogram (AC)?????????????????????????是
Issuer Application Data????????????????????????????????????可選??????
其中CID(Cryptogram Information Data)中指明了決策結果屬于哪種AC類型。
GENERATE AC是卡行為分析的重要過程,如果ICC返回TC,則交易成功,如果返回AAC則交易失敗,返回其他時則終端將會發送第二次GENERATE AC命令,以決定交易授權結果。
[完]