next up previous
Next: Needham-Schroeder key distribution protocol Up: Proofs of Exemplary Protocols Previous: Proofs of Exemplary Protocols

Station-to-Station Protocol

This section presents the proofs of the first half of the station to station (STS) protocol [DvOW92]. It shows that A creates a fresh, good key (K) for use with B. The second half, showing the same for B would be quite similar.

The interesting thing about this protocol is that A produces key (K) twice. The first time A uses a function operation which allows A to see K and to believe K is fresh. The second time A uses the create key operation which proves K is a good key.

The STS protocol:

  1. A tex2html_wrap_inline1387 B : R tex2html_wrap_inline1045
  2. B tex2html_wrap_inline1387 A : R tex2html_wrap_inline1175 ,(B,K tex2html_wrap_inline1175 ,[B,K tex2html_wrap_inline1175 ]),{[R tex2html_wrap_inline1175 ,R tex2html_wrap_inline1045 ] tex2html_wrap_inline1405
  3. A tex2html_wrap_inline1387 B : R tex2html_wrap_inline1045 ,(A,K tex2html_wrap_inline1045 ,[A,K tex2html_wrap_inline1045 ]),{[R tex2html_wrap_inline1045 ,R tex2html_wrap_inline1175 ] tex2html_wrap_inline1421

Expanded protocol in our notation, from A's point of view:

STS1
A tex2html_wrap_inline1387 : R tex2html_wrap_inline1045
STS2
tex2html_wrap_inline1387 A : R tex2html_wrap_inline1175 ,(B,K tex2html_wrap_inline1175 ,[B,K tex2html_wrap_inline1175 ]),{[R tex2html_wrap_inline1175 ,R tex2html_wrap_inline1045 ] tex2html_wrap_inline1405
STS3
A : F(R tex2html_wrap_inline1175 ,x) = K = (R tex2html_wrap_inline1175 ) tex2html_wrap_inline1447 {A creates fresh K, but doesn't believe its good yet.}
STS4
A : decrypt [B,K tex2html_wrap_inline1175 ]
STS5
A : proves A believes PK tex2html_wrap_inline1453 (B,K tex2html_wrap_inline1175 )
STS6
A : decrypt {[R tex2html_wrap_inline1175 ,R tex2html_wrap_inline1045 ] tex2html_wrap_inline1405 {A uses K}
STS7
A : decrypt [R tex2html_wrap_inline1175 ,R tex2html_wrap_inline1045 ]
STS8
A : proves A believes PK tex2html_wrap_inline1469 (B,R tex2html_wrap_inline1175 )
STS9
A : CreateKey K = F tex2html_wrap_inline1473 (PK tex2html_wrap_inline1469 (B,R tex2html_wrap_inline1175 ),PK tex2html_wrap_inline1469 (A,R tex2html_wrap_inline1045 )) {A recreates K, believes its good}

We use the following as A's postconditions. We understand that this is not a complete set, but is sufficient to demonstrate our technique. A full set of post conditions would consist of G1-5 as defined in [SvO96].

   table331
Table 13: Proof of A's postconditions for the STS protocol.

The generated premises, from A's point of view are:

These premises are generated through direct application of the wp rules given in the previous section. Since we are generating preconditions from postconditions, we work backwards from the last step of the protocol to the first. In Table 13 we have labeled the generated preconditions with either the step in which they are discharged, or with a (p) to denote that they should be considered a premise of the protocol. For example in step 9 we apply the CreateKey rule from Table 5 to the valid key creation postcondition, the generated preconditions are discharged in step 8 and as a premise. In step 8 we apply the proof wps from Table 6 to the wp generated in step 9, the generated preconditions are discharged in step 8 and as a premise.We continue with this through the remainder of the protocol.


next up previous
Next: Needham-Schroeder key distribution protocol Up: Proofs of Exemplary Protocols Previous: Proofs of Exemplary Protocols

Jim Alves-Foss
Fri Aug 1 16:00:31 PDT 1997