天天看點

Set協定及雙簽名方法及驗證

Set協定參與方:

使用者,賣家,CA,internet,物流中心,銀行

規範:

  1. 使用者,賣家,支付網關通過internet與ca交流
  2. CA與銀行通過專用網絡
  3. 收單銀行與發夾銀行通過銀行專用網絡
  4. 支付網關與銀行通過網絡專線互動

步驟:

  1. 購買初始化請求:使用者c向商家M請求交易号,消息一
  2. 回答:M指派交易号,簽名後,消息二發送給c
  3. 購買請求:c驗證消息二後發送購買請求消息三給M,其中包含(OI,PI),詳細過程見後面
  4. 授權與擷取請求:M驗證後,産生授權請求到支付網關P,消息4
  5. P回答:驗證後,看PI,OI,持卡人是否一緻,通過則發消息給M,消息5
  6. 購買回答:M收到5後,轉發給c,消息六。

其中步驟3中發送的消息3是雙簽名,5是驗證,如何實作:

  1. C産生OI和PI,OI是訂單消息,PI是付款消息,分别hash,有H(OI), H(PI), 然後連接配接二者,再hash,得H(PO),然後用自己的私鑰加密,

得Sign(H(PO)), 之後發送(OI,H(pI),sign(H(po))給M,發送(PI,H(OI),sign(H(PO))給P,分别用對方的公鑰加密。附帶上自己的證書。

  1. 驗證方法:

    M和P分别用自己的私鑰解密,

    對M而言得到,OI,hash之,得到H(OI),然後加上c發過來的H(PI),并hash之,得到H(PO1),用c的公鑰解密sing(H(PO)),得到H(PO),然後用

    H(PO1)與H(PO)比較,銀行也這麼做,如果H(PO1)和H(PO2)均與H(PO)一緻,則認為消息一緻。

That's easy!