CEB8583報文介面說明

2021-09-08 23:18:56 字數 4893 閱讀 6423

目前國內各大atm廠家提供不同的atm介面標準。由於缺乏規範和控制,嚴重地阻礙了金融電子化的實施。為了改變這種工作方式,在此規範乙個終端介面標準。

這個介面標準具有以下幾個特點:

1、 標準化:所有交易使用國際金融標準iso8583。

2、 規範化:所有交易及控制都提供明確的流程。

3、 公開性:所有的加密演算法都明確規定。

為了改變終端軟體的質量,減少各家使用者的協調工作,任何一家終端廠家必須嚴格遵守此終端標準。我們希望通過努力,使各大銀行逐步具備自己的終端規範。

本檔案描述伺服器網路的外部報文格式和交易過程的報文流程,供入網單位開發介面程式時使用。

iso8583是國際標準化組織推薦用於交換中心和成員行主機通訊的報文格式,本手冊介紹伺服器網路對iso8583標準的解釋和實現。

在閱讀本文時,使用者應參考iso8583(1987)文字。

● tcp/ip

iso8583標準定義了幾類訊息來確定交易型別,在伺服器系統中使用的報文型別有以下幾種:

除03xx、08xx、90xx報文型別外的其它所有報文型別都需要mac校驗。

02xx

02xx類訊息用於金融請求,被批准的金融交易的請求訊息可用於立即對持卡人帳戶的記帳處理。包括:

atm/櫃檯 -- 存款、取款,餘額查詢,(本系統內帳戶間)轉帳,ic卡圈存、圈提、代交費、發卡等。

注:以上交易需要提供密碼。

02xx支援的資訊:

0200 金融交易請求,0200訊息要求對方以0210訊息作為其應答。

0201 金融交易請求的重發,0201訊息要求對方以0210訊息作為其應答。

0210 金融交易請求應答,對0200金融交易請求必須用它來回答。

03xx

03xx類訊息用於在伺服器和終端之間傳送檔案更新資料。根據終端的不同要求,伺服器接收終端的檔案資料或向終端傳送其需要的檔案更新資料。

0300 終端上傳檔案或伺服器下傳檔案的請求。必須以0310作為對本類報文的應答。

0310 對0300的應答。

04xx

04xx類資訊用於執行對先前已請求進行的交易全部或部分沖正。04xx類衝正資訊是由終端發起的,而調整交易資訊則由人工產生。

下列是04xx資訊:

0400 沖正通知,終端未在預定的時間內接到伺服器傳送的交易應答時,需要對未完成的交易進行沖正,此時傳送0400訊息。0400要求乙個0410訊息作為應答。

0410 沖正通知應答。這是對0400沖正通知訊息必須的應答。

08xx

08xx訊息用於伺服器和終端之間的檔案傳輸通知、簽到、簽退和金鑰更新,每個終端都要在每日交易開始前或每日日終時向伺服器申請更新金鑰,以保證下乙個工作日交易的安全性,雙方要用相同的傳輸金鑰對這些工作金鑰進行加密或解密。

08xx支援的訊息種類如下:

0800 檔案傳輸開始通知、檔案傳輸結束通知、簽到、簽退、金鑰更新請求,要求以0810作為回答。

0810 是對0800訊息必須的應答。

90xx

90xx訊息用於伺服器和終端之間的管理報文,終端需要定時向伺服器匯報自己的狀態,如鈔箱狀態等,以提供伺服器對其進行管理的依據。伺服器也向終端傳送監控命令,用於查詢終端裝置的狀態、開啟、關閉某些終端,查詢終端的統計資料等。

9000 終端的定時匯報報文,不需要應答。

9000 伺服器向終端傳送監控命令,需要9010做應答。

9010 終端對伺服器的監控命令給予應答的報文。

91xx

91xx訊息用於卡片管理(包括修改使用者個人密碼、查詢明細等)、商戶管理、機構櫃員管理等管理類交易,支援的訊息種類如下:

9100 交易請求,要求以9110作為應答。

9101 重發,要求以9110作為應答。

9110 伺服器對9100和9101的回答。

在本規格說明書中,訊息和報文都是指上述各類訊息。這二個術語可替換使用。

將資料以8bytes為單位劃分成若干個資料塊,當資料塊長度不足8bytes時後補ox00。劃分完畢後,將每乙個資料塊作為乙個參與運算的資料塊(block),初始的種子block為全二進位制0的8bytes的資料塊,稱之為icv0.

演算法流程如下:

字段定義(field definitions)

本節描述伺服器網路報文中使用到的各個字段,這些描述包括欄位的屬性,大小和使用方法。

約定(conventions)

字段採用屬性後加上長度的方法來描述,下表定義這些屬性的含義:

字段型別屬性(field type attribute)

對資料字段更詳細的描述可在位圖定義一章中找到。

字段長度(field length)

表示法含義

-digit(s) 固定長度位數。例如,n-10表示10位長的數字字段

示例:an-10表示10位置長的數字字元字段。

…digit(s) 可變長度位數。示例:n…4表示最長為4個數字的可變長數字字段。示例:an…7表示最長為7個數字位的可變長數字字元字段。

llvar 該寫法表示資料字段包括包括兩個子域,第乙個子域為2位長(ll),表示其後所跟資料的長度。第二個子域的長度位ll位。var表示子域中的資料部分。

注意整個字段總長度變為ll+2。例如:an..

25 llvar表示此欄位最長可達25位。實際位數在第乙個子域中表示。

lllvar 除長度子域為三以外,含義和llvar一樣。

資料表示方法

● 所有資料ascii顯示格式表示,字元集合的確定取決於配置情況。

示例: ans 5 =」123ab」 31 32 33 41 42 (hexa)

● 所有資料型別為 「b」(二進位制)的字段按照其十六進製制數值顯示表示法編碼。

示例: b8 = 0x34 34(hexa)

● 資料中給出的所有長度均表示需要的邏輯位數。

示例:n-12=12個數字

● 所有型別為n的數字欄位在8583報文中將採用bcd壓碼。

示例: n6=」980812」 98 08 12 (hexa)

● 所有型別為n的數字欄位的資料在8583報文中均採用右對齊,前面空位補零。

示例:長度為3的資料「156」的資料在報文中為:

n3=」156」 01 56 (hexa)

● 在8583報文中,所有型別為llvar的字段長度占用乙個位元組,型別為lllvar字段長度為兩個位元組。

示例:下面資料的長度分別為8、16、15、15,變長字段的型別分別為llvar和lllvar。

ans..16=」1234567a08 31 32 33 34 35 36 37 41 (hexa)

n..19=」1234567890123456」 10 12 34 56 78 90 12 34 56 (hexa)

n..19=」123456789012345」 0f 01 23 45 67 89 01 23 45 (hexa)

n…999=」123456789012345」 00 0f 01 23 45 67 89 01 23 45(hexa)

● 所有其它型別的字段,若為固定長度,則採用左對齊,其後空位以空格填充。

示例: ans6=」123ab」 31 32 33 41 42 20 (hexa)

● 當某欄位表示金額時,格式中不帶小數點。

示例:金額23.47表示為2347。

debit與credit

● 為了避免混淆,下面給出debit交易及credit交易的精確定義。這些定義是針對信用卡網路而言的,儘管它們也是行業中普遍使用的解釋。

● debit交易是指持卡人必須輸入個人密碼的交易,本定義與卡型別及訪問帳戶無關,例如,插入atm的信用卡做的是debit交易,本定義與帶有pin交易的處理是一致的:debit交易可立即對其目標帳戶進行借記或貸記。

● credit交易可以不需要持卡人的個人密碼,本定義與卡型別及訪問帳戶無關,這類交易主要是用於信用卡,雖然在某些情況下也允許用於扣款卡(與場所有關的選項)。除非提及扣款卡或信用卡,所有用到debit交易和credit交易術語的都與上述定義一致。

下面定義適用於不同的卡型別:

● 信用卡是用於訪問信用帳戶(如visa、mastercard、amex帳戶)的磁條卡。信用卡有效性授權是針對此類卡的交易。信用卡交易可以不用個人密碼,即可能是debit交易的一部分。

● 借記卡是用於訪問持卡人銀行帳戶的磁條卡,只有在帳戶中還有資金或發卡行授予持卡人一定的信用度的情況下,針對此類卡的交易才會被授權。

● 雙重性質卡(dual purpose card)是既可作為信用卡交易又可作為扣款卡使用的磁條卡,具體情況由持卡人選擇的帳戶性質確定。

交易型別與終端型別

● 連到伺服器的一些終端只能產生特定型別的交易,例如:如果規定atm只能產生debit交易,那麼伺服器就不允許atm進行信用交易,另一些終端則能產生兩種交易型別,例如,pos能夠根據持卡人支付方式的選擇產生debit或信用交易。

0800

簽到0810

0800

金鑰交換

0810

9000

狀態報告

啟動條件:

atm開機或重新建立鏈路時,需進行金鑰交換及簽到過程。

過程說明:

atm與伺服器採用client/server結構,atm為client端,伺服器為server端。具體步驟如下:

1. atm向伺服器傳送0800進行簽到。

2. 伺服器在收到簽到後,向atm傳送簽到允許響應0810,並將本台atm的簽到狀態登記在裝置彙總資訊表中。

3. atm向伺服器傳送0800進行交換金鑰請求。

4. 伺服器在收到金鑰請求後,向atm傳送鑑別金鑰(mac key)和密碼金鑰(pin key)響應(0810)。

5. atm端在收到伺服器金鑰後,檢驗金鑰是否正確。如正確則向伺服器發出9000atm狀態資訊表示簽到,不正確則重複1、2步驟。