|
|
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.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.