(学习|小结)SET协议里面的一个重要技术(策略) - 双重数字签名

SETSecurity Electronic TransactionProtocol 安全电子交易协议


SET协议里面的一个重要技术(策略) 双重数字签名


应用位置:

持卡人(C)在确定了订单和交易信息之后,将订单信息(OI)和交易信息(PI),发送给商家(M),商家(M)获取里面的订单信息(OI),然后将订单信息(OI)和交易信息(PI)转发到银行,银行获取里面的交易信息(PI)。


目的:

将订单信息(OI)和交易信息(PI)发送给商家(M),只希望商家(M)只能获取到里面的订单信息(OI)而不能获取交易信息(PI),因为用户的银行账户和密码存放在里面。而由商家将信息转发给银行时,希望银行只能获取交易信息(PI)和部分订单信息,而不能得到用户具体的订单信息(OI)。


双重数字签名产生步骤:

(1)持卡人(C)通过Hash算法分别生成订购信息(OI)和支付信息(PI)的消息摘要H(OI)H(PI)

(2)把消息摘要H(OI)H(P1)连接起来得到消息OP

(3)通过Hash算法生成OP的消息摘要H(OP)

(4)持卡人(C)使用自己的私钥签名H(OP)得到双重数字签名Sign(H(OP))

(5)持卡人(C)将消息(OIH(PI)Sign(H(OP)))用商家的公钥加密后发送给商家,将消息(PIH(OI)Sign(H(OP)))用银行的公钥加密后发送给银行。


双重数字签名验证步骤:

1商家(M)将收到的消息((OIH(PI)Sign(H(OP))))用自己的私钥解密后,将消息OI生成消息摘要H(OI);同样银行将收到的消息((PIH(OI)Sign(H(OP))))用自己的私钥解密后,将消息PI生成消息摘要H(PI)

(2)商家(M)将生成的消息摘要H(OI)和接收到的消息摘要H(PI)连接成新的消息OP1;银行将生成的消息摘要H(PI)和接收到的消息摘要H(OI)连接成新的消息OP2

(3)商家将消息OP1生成消息摘要H(OP1);银行将消息OP2生成消息摘要H(OP2)

(4)商家和银行均用持卡人的公共密钥解密收到的双重数字签名Sign(H(OP))得到H(OP)

(5)商家将H(OP1)和H(OP)进行比较,银行将H(OP2)和H(OP)进行比较,若相同,则证明商家和银行所接收到的消息是完整有效的。


    经过这样处理后,商家就只能看到订购信息(OI),而看不到持卡人的支付信息(PI);同样银行只能看到持卡人的支付信息(PI),而看不到持卡人的订购信息(OI)


参考论文:电子商务中安全协议的研究—SET协议的完善与改进(作者:童光才,重庆大学)

你可能感兴趣的:(c,加密,算法,解密,电子商务)