Comments inline...
Hello Chhil
I appreciate your brilliant idea. But I need some clarifications and
comments:
>>
[chhil]Its standard operating procedure.
1.
> There is a security zone between the POS c app and your jpos app. You would
> have exchanged keys between the two so that pinblock comes to you under a
> key that you share with the POS app.
Presently, I am just encrypting the PIN before sending to JPOS app. I
can successfully exchange keys between the two, but how would i
generate the PIN block in POS c app, after getting the PIN from the
terminal pinpad?
[chhil]The pin from the POS is encrypted. You would use the HSM facility for translating it from your POS <->POS C app zone
to the POS Capp <->JPOS zone. I think you would pass in the encrypted
pinblock from POS, source pinblock format, destination pin block format, source encryption
key and destination encryption key (there may be other params).
If you are not planning on using a HSM your attempt to integrate with any HOST is futile.
2.
> Now comes the pinblock part. the POS app will give you an encrypted
> pinblock, you will send this pinblock, the encrypted key shared with the POS
> app and the encrypted KWP to the HSM and get it translated (maybe the
> pinblock format would need to get sent)
> WITH HSM
My challenge is HOW WILL I GET HSM INSTALLED IN MY ENVIRONMENT?
[chhil] Not sure I understand. You buy the hardware and put it on your network. Set it up with some initial keys
and communicate to it in using its api.
3.
> So when you get an encrypted KWP from the host you would send that key along
> with the encrypted ZMK to the HSM.
But if I am not using HSM, is there anyway I can use the encryted KWP
and the clear ZMK got from the bank to re-translate the PIN Block I
got from the Pos c app to new PIN BLOCK I will put in my JPOS 8583
sending to bank host? (this is just an idea!).
[chhil]
Well its just encryption and decryption done in an unsecure environment.
"DO NOT DO THIS" you will bring down the Bank and the company you work for...
You may want to hop onto some java encryption mailing list to get
java crypto sorted out. I am drawling the line here and will not respond to software encryption questions anymore.
-> <encrypted pin block from C app>
-> <decrypt pin block>
-> <decode the pinblock by reverse engineering pin block format and get pin>
-> <encode pinblock using destination pin block format>
-> <encrypt this pinblock with clear KWP>
Expecting your comments!
I am not sure if I am helping you, because I have this voice that tells me you are going to end up doing software encryption..if you were a client interfacing my system without a HSM, I would show you the door....