Annotation of 43BSDReno/contrib/mh/papers/trusted/appendixC.tex, revision 1.1.1.1

1.1       root        1: % appendix C
                      2: 
                      3: \appendix{C}{Differences between the ANSI and TTI drafts}
                      4: 
                      5: The differences between the \ansi/ draft standard for
                      6: financial institution key management,
                      7: and the \TTI/ draft's specification for trusted mail handling,
                      8: are considered.
                      9: 
                     10: The concept of a {\it key distribution center}
                     11: (\CKD/ in the \ansi/ draft, \KDC/ in the \TTI/ draft)
                     12: environment differs.
                     13: In the \ansi/ draft,
                     14: only one party talks to the {\it key distribution server} (\KDS/);
                     15: in the \TTI/ draft,
                     16: both parties talk to the \KDS/.
                     17: This leads to a number of differences in the two protocols.
                     18: The reason for this shift in the \TTI/ draft is somewhat subtle:
                     19: although both parties can talk to the \KDS/,
                     20: the {\it mail transfer system} (\MTS/)
                     21: environment is such that both {\it user agents} (\UA/s) are unable to
                     22: contact each other in real-time.
                     23: Hence, a detailed two-way protocol between them is prohibitively expensive.%
                     24: \nfootnote{In the words of Einar A.~Stefferud:
                     25: ``Every interesting connection has at least two end-points~---~connections
                     26: with only one end-point are always uninteresting.''}
                     27: 
                     28: Before discussing the differences between the two drafts,
                     29: let us consider the differences in the two environments:
                     30: in the electronic mail environment,
                     31: the two end-to-end peers need not be simultaneously online.
                     32: Electronic mail relies on a communication service with potentially large
                     33: delays in transit between {\it message transfer agents} (\MTA/s).
                     34: A basic concept of ``mail'' is that an originator must release the enveloped
                     35: message to a ``transfer agent'' before delivery can be attempted to a
                     36: recipient.
                     37: In contrast,
                     38: in the electronic funds environment,
                     39: the two peers make use of a virtual-circuit service.
                     40: This means that they can synchronize much easier
                     41: and inter-operate in a more direct fashion.
                     42: 
                     43: Service protocols are based on the notion of requests and responses.
                     44: A client issues a request to a server,
                     45: the server processes the request and returns a response.
                     46: Depending on the complexity of the protocol,
                     47: the client may now respond to the server's message,
                     48: or might issue a new request,
                     49: or might terminate the connection.
                     50: 
                     51: As delays in the network increase,
                     52: along with the possibility of loss or corruption or re-ordering of messages,
                     53: it becomes more difficult to implement a service protocol.
                     54: In the case of a high-level protocol making use of a virtual-circuit service,
                     55: most problems can be ignored,
                     56: as the virtual-circuit service masks out problems in the network
                     57: by using sequences, positive (and/or negative) acknowledgments, windows,
                     58: and so on.
                     59: 
                     60: Sadly, electronic mail cannot utilize a virtual-circuit throughout the \MTS/
                     61: (although individual \MTA/-wise connections are (in theory) virtual-circuit
                     62: based).
                     63: This means that implementing a real-time or interactive
                     64: service protocol between two endpoints (a.k.a.~\UA/s)
                     65: in the \MTS/ is very difficult.
                     66: As a result,
                     67: the complexity of an end-to-end protocol in the \MTS/
                     68: (in terms of requests and responses)
                     69: is severely constrained.
                     70: For all practical purposes,
                     71: an \MTA/ can assume datagram service and nothing else:
                     72: messages might be re-ordered;
                     73: messages might not reach their destination;
                     74: messages might be corrupted (though this is unlikely);
                     75: in cases of failure, a notice might be generated, or might not.
                     76: 
                     77: In terms of the environment in which {\it cryptographic service messages}
                     78: (\CSM/s) must flow,
                     79: the high degree of delay and uncertainty make the implementation of a complex
                     80: end-to-end protocol between \UA/s prohibitively expensive.
                     81: Hence, a \KDC/ is needed,
                     82: to which each \UA/ can connect using a virtual-circuit service,
                     83: at posting and delivery time.
                     84: The \TTI/ draft terms such a user agent a {\it trusted mail agent} (\TMA/).
                     85: Since both \TMA/s can connect to the \KDS/ at different times using different
                     86: media,
                     87: the \KDS/ maintains state information about the key relationships between
                     88: different \TMA/s and manages those relationships appropriately.
                     89: Since connections to the \KDS/ can be expensive in terms of resources,
                     90: each \TMA/ caches information received from the \KDS/ appropriately.
                     91: 
                     92: That's the gist of the argument as to why the \TTI/ draft differs from the
                     93: \ansi/ draft.
                     94: It might be possible to include \CSM/s in the messages which \UA/s exchange,
                     95: but management of these \CSM/s can not be done reliably or in a straightforward
                     96: fashion owing to the datagram nature of the service offered by the \MTS/.
                     97: Finally, it should be noted that in the \TTI/ draft,
                     98: the \KDS/ never initiates a connection with a \TMA/,
                     99: rather it is the \TMA/s which connect to the \KDS/.
                    100: 
                    101: In the following,
                    102: the differences between the two drafts are highlighted.
                    103: Minor differences between the two are not discussed.
                    104: 
                    105: In the \ansi/ draft,
                    106: $\S 4.2$ (p.~22) discusses the requirements for the automated key
                    107: management architecture.
                    108: The \TTI/ draft has somewhat more ``depth'',
                    109: since the \ansi/ draft does not make use of a {\it master key} (MK)
                    110: to fully automate the distribution of {\it key-encrypting keys} (KK).
                    111: 
                    112: The \ansi/ draft states that once a KK-relationship is discontinued by either
                    113: of that pair,
                    114: the relation is not to be re-used for any subsequent activity.
                    115: This can't be guaranteed in the prototype implementation.
                    116: If one of the \TMA/s wishes to discontinue a key,
                    117: not only does it have to inform the \KDS/,
                    118: but the other \TMA/ as well.
                    119: Since the \TTI/ draft does not permit \CSM/s between \TMA/-peers,
                    120: the latter action doesn't seem possible.
                    121: However, there is a solution.
                    122: Whenever a message is deciphered,
                    123: the \TMA/ checks the effective date of the key used to
                    124: encrypt a message it has received,
                    125: and if the key is newer than the one it currently uses,
                    126: it considers the older key to be discontinued.
                    127: 
                    128: Furthermore,
                    129: although the environment in the \TTI/ draft is that of a key distribution
                    130: center,
                    131: the notion of an {\it ultimate recipient} is not present,
                    132: since all clients connect to the \KDS/ at one time or another.
                    133: In addition,
                    134: the differences between the environs envisioned by the two drafts
                    135: become even more pronounced when one considers that the \KDS/ distributes
                    136: key-encrypting keys to \TMA/s,
                    137: although the \ansi/ draft specifically prohibits this.
                    138: 
                    139: Finally,
                    140: there is another important technical difference between the two
                    141: drafts:
                    142: every request to the \KDS/ by the \TMA/
                    143: results in a specifically defined response from the \KDS/ to the \TMA/.
                    144: Furthermore,
                    145: if the \KDS/ responds in a positive manner,
                    146: then the \TMA/ acknowledges this.
                    147: This three-way interaction is used to ensure consistency between the states
                    148: of the \KDS/ and the \TMA/.
                    149: The \ansi/ draft does not require such behavior,
                    150: and might profit from some finite-state analysis to ascertain unsafe
                    151: (in terms of correctness) states which are reachable.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.