- From: David Ezell <David_E3@Verifone.Com>
- Date: Thu, 7 Dec 2000 12:23:46 -0500
- To: "'xml-dist-app@w3.org'" <xml-dist-app@w3.org>
Dear group: Following is a use case for smart card revaluation. I think this is an interesting use case for XP because it is both complex in terms of messages coming and going and should probably be available on a small device. Note that the use case does not address XP at all... it simply states what has to happen. Our ongoing task would be to see if this use case can be accomodated by XP (I hope so!). Per conversations with some others, this use case is in XML. You may choose to cut and paste it into a browser or other tool which can read the xml in a more friendly manner. Please comment. Thanks, David Ezell HP <snip/> <!-- edited with XML Spy v3.0.7 NT (http://www.xmlspy.com) by David Ezell (Hewlett Packard Company) --> <usecase ident="HPV01" systemCode="XPV1.0"> <administrative> <author>David Ezell</author> <date>2000-12-2</date> <company>Hewlett Packard, Verifone</company> <notes> The alternate flows need more work, since they could require more interaction between the entities. The exception flows are probably ok from the perspective of defining XP needs since once an exception is recognized that's the end of it for the protocol (right?). </notes> </administrative> <description> <shortDescription> This use case describes the sequences of steps a user will go through to load value to a smart card. </shortDescription> <detailedDescription> This use case describes the revaluation of a smart card through a secure dial-up connection using an application host. The appliance for revaluing the smart card is designed specifically for that task, though it is possible that this same use case could be used for revaluing smart cards using a personal computer connected to the internet. The result of this use case is that the smart card has cash value transferred from some value store. </detailedDescription> </description> <assumptions> User has access to a dial-up phone line, and has programmed the appropriate numbers and other information into the smart card revaluation device. </assumptions> <actors> Cardholder Smartcard Smartcard Appliance Application Host Framework Application Session Host Adapter Bank Host </actors> <flows> <mainFlow> The cardholder inserts the target smartcard into the smartcard appliance. The system notifies the cardholder that a connection with the application host framework is being attempted. Once the connection is complete, the application host framework asks the appliance for it's type and serial number. The smartcard appliance responds and the application host framework recognizes the type of smartcard appliance connected (E-5. Unknown applicance type), and the application host framework and appliance establish a session key and a PIN encryption key to be used for message authentication in this session. The application framework host creates an application session responsible for this interaction. The application session prompts the cardholder for the personal identification number (PIN) required for the card. The smartcard appliance encrypts the pin with the session PIN encryption key and and then sends the pin along with the card information to the application session. The application session determines from the card information that the card is a cash card, and opens a session with the host adapter for the bank host (E-2. No valid host adapter for card information.) The application session forwards the encrypted PIN and card information to the host adapter. The host adapter reencrypts the PIN with a host session key valid for the bank host, and sends the PIN and card information to the bank host. The bank host responds (E-3. Host timeout) with a verification message (E-1. PIN invalid). The application session receives the validation from the host adapter and requests the cardholder to continue the transaction (outlined below). The cardholder then selects the function "reload card". The application session prompts the cardholder for an amount to load into the smartcard, and the cardholder enters a valid currency amount. The application session requests the smartcard to create a "signature" for card reload based on the amount requested ("s1", which will be opaque to all entities except the smartcard and the bank host). The application session gives the s1 signature to the host adapter session. The host adapter formats the message for the bank host which includes the signature (s1) and sends it. The bank host responds (E-3. Host timeout) with a response "signature" (also opaque to intervening entities), called "s2", which either authorizes the reload or not. The host adapter returns s2 to the application session, which forwards the signature s2 to the smartcard. The smartcard responds with a "reload complete" message and another "signature" s3 (the sub-flow "A-1. Reload failed" will be performed if the reload was declined by the bank host), and the application displays a message to the cardholder that the reload was performed. The application session logs the s3 signature to a batch database (on the application host) for later reconfirmation with the bank host at the end of the day. The cardholder removes the smartcard from the smartcard appliance and the use case ends. </mainFlow> <alternateFlows> <alternateFlow fid="1"> Reload failed. (N.B. This flow should be fleshed out better since if it is entered there might be further messages with the application host.) </alternateFlow> </alternateFlows> <exceptionFlows> <exceptionFlow fid="1"> Pin Invalid </exceptionFlow> <exceptionFlow fid="2"> No valid host adapter for card type. </exceptionFlow> <exceptionFlow fid="3"> Host timeout. </exceptionFlow> <exceptionFlow fid="4"> Reload amount declined by host. </exceptionFlow> <exceptionFlow fid="5"> Unknown appliance type. </exceptionFlow> <exceptionFlow/> </exceptionFlows> </flows> <nonfunctionalRequirements/> <scenarios/> <issues/> </usecase>
Received on Thursday, 7 December 2000 12:23:54 UTC