8 .ds RF FORMFEED[Page %]
17 Network Working Group P. Riikonen
19 draft-riikonen-presence-attrs-00.txt XXX
25 User Online Presence and Information Attributes
26 <draft-riikonen-presence-attrs-00.txt>
31 This document is an Internet-Draft and is in full conformance with
32 all provisions of Section 10 of RFC 2026. Internet-Drafts are
33 working documents of the Internet Engineering Task Force (IETF), its
34 areas, and its working groups. Note that other groups may also
35 distribute working documents as Internet-Drafts.
37 Internet-Drafts are draft documents valid for a maximum of six months
38 and may be updated, replaced, or obsoleted by other documents at any
39 time. It is inappropriate to use Internet-Drafts as reference
40 material or to cite them other than as "work in progress."
42 The list of current Internet-Drafts can be accessed at
43 http://www.ietf.org/ietf/1id-abstracts.txt
45 The list of Internet-Draft Shadow Directories can be accessed at
46 http://www.ietf.org/shadow.html
48 The distribution of this memo is unlimited.
66 1 Introduction .................................................. x
67 1.1 Requirements Terminology .................................. x
69 4 Security Considerations ....................................... x
70 5 References .................................................... x
71 6 Author's Address .............................................. x
85 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
86 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
87 | Attribute | Attr Flags | Attribute Length |
88 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
92 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
96 Figure 1: Attribute Payload
100 o Attribute (1 byte) - Indicates the attribute included in this
103 o Attribute Flags (1 byte) - Indicates the flags associated
104 with this attribute. The following flags are defined:
106 0x01 ATTRIBUTE_FLAG_INVALID
108 The attribute value in Attribute Data is invalid, or
109 unknown. This may be set to indicate that a requested
110 attribute is not available, its value is unknown, or
111 sender does not understand it.
113 0x02 ATTRIBUTE_FLAG_VALID
115 The attribute value is included in the Attribute Data.
117 When sending this payload to request attributes this value
118 MUST be set to zero (0) value. When sending a reply to the
119 request this field MUST NOT include a zero (0) value.
121 o Attribute Length (2 bytes) - Indicates the length of the
122 Attribute Data field, not including any other field.
124 o Attribute Data (variable length) - The Attribute Data.
125 The contents of this field is attribute specific, defined
132 The following values can appear in the Attribute field in the
133 Attribute Payload to indicate the content of the attribute. All
134 integer values are stored in the MSB first order. Strings are
135 always UTF-8 [RFC2279] encoded, and include 2 bytes length field
136 indicating the length of the string. Hence, when string value
137 appears in this documentation it is encoded as:
141 2 bytes integer Length of String field
142 variable UTF-8 String
145 If string is not present then the length field includes zero (0)
148 The format of the attribute data is represented as length, type and
153 2 bytes integer Some integer value
154 variable string Some string
155 1 byte boolean Boolean value
158 When sending multiple Attribute Payloads it is possible to include
159 multiple same attributes in the packet.
165 This attribute is reserved and it is never sent.
168 1 ATTRIBUTE_USER_INFO
170 This attribute includes general information about the user, their
171 name and contact information. The content of this attribute is
172 a VCard version 3.0 as defined in RFC 2426 [RFC2426] and RFC 2425
173 [RFC2425]. Note that some of the information that VCard provides
174 can be also provided in the means of providing other attributes.
175 The rationale for this is that the VCard does not provide all the
176 information, or with the required precision that may be desired in
177 some applications. It is therefore RECOMMENDED that this attribute
178 would be used to provide only basic and constant user information,
179 such as name and contact information, but not online status
183 variable VCard Basic user information
188 This attribute indicates a service in the Internet that the user
189 is currently using or has logged in. The value of this attribute
193 4 bytes integer Service Port (IANA specified)
194 variable string Service Address
195 1 byte boolean Online status. If this is set to
196 0x01 (true) it means the user is online
197 in the service. Set to 0x00 (false) when
201 x ATTRIBUTE_STATUS_MOOD
205 x ATTRIBUTE_STATUS_FREETEXT
207 This attribute includes the user's online status free text. It
208 can provide personal status as a text message. The contents of
209 this attribute is a UTF-8 encoded free text string.
212 variable string Free text status string
215 x ATTRIBUTE_STATUS_MESSAGE
217 This attribute includes the user's online status message. It
218 could provide for example a multi media message showing the status
219 of the user. The contents of this attribute is a MIME object,
220 which can be used to provide for example video, audio, image or
221 other similar status message. It could also provide a reference
222 to the message, for example an URL address.
225 variable MIME Status message as MIME object
228 x ATTRIBUTE_STATUS_COMMUNICATION
233 x ATTRIBUTE_PREFERRED_LANGUAGE
236 x ATTRIBUTE_PREFERRED_CONTACT
241 This attribute can be used to provide the current local time for
242 the user. The contents of this attribute is a UTF-8 encoded
243 string and the format of the string is UTC time zone defined
247 variable string UTC date, format as in ISO 8601
249 Note that ATTRIBUTE_USER_INFO may also provide this information.
250 However it is RECOMMENDED that this attribute is used when
251 current time zone information is provided.
254 x ATTRIBUTE_GEOLOCATION
256 This attribute can be used to provide measured global location of
257 the user. How this information is gathered is out of scope of
258 this document. The attribute can provide latitude and longitude
259 lateral positions, but also a vertical position. A parameter
260 describing the accuracy of the information can also be provided.
264 Note that ATTRIBUTE_USER_INFO may also provide this information,
265 however it does not have the vertical position, or the accuracy
266 parameter. It is RECOMMENDED that this attribute is used when
267 providing current global position information.
270 x ATTRIBUTE_DEVICE_INFO
273 x ATTRIBUTE_EXTENSION
275 This attribute indicates that the attribute value is vendor,
276 application or service specific attribute extension. This field
277 MUST include a MIME object, which is the extension value. This
278 document does not specify any explicit MIME objects for this
282 variable MIME Attribute extension as MIME object
285 x ATTRIBUTE_USER_PUBLIC_KEY
287 This attribute includes the user's public key or certificate.
288 As the public key and certificate format depends on which sort
289 of algorithm or certificate encoding user is using we need to
290 define a mechanism to differentiate the public key types from
291 each other. This document specifies the most common public keys
292 and certificates. This attribute can be used to deliver the
293 user's public key, and it MUST be present if also the
294 ATTRIBUTE_USER_DIGITAL_SIGNATURE is present. Note that the
295 recipient of this attribute SHOULD verify the public key from
296 a third party, for example from Certification Authority.
299 variable string Public key/certificate type
300 variable data Public key/certificate data
302 The following public key/certificate types are defined:
304 ssh-rsa SSH RSA public key [SSH-TRANS]
305 ssh-dss SSH DSS public key [SSH-TRANS]
306 silc-rsa SILC RSA public key [SILC1]
307 silc-dss SILC DSS public key [SILC1]
308 pgp-sign-rsa OpenPGP RSA certificate [RFC2440]
309 pgp-sign-dss OpenPGP DSS certificate [RFC2440]
310 x509v3-sign-rsa X.509 Version 3 RSA certificate [RFC2459]
311 x509v3-sign-dss X.509 Version 3 DSS certificate [RFC2459]
313 Most of these public key/certificate types are equivalent to
314 the types specified for SSH protocol [SSH-TRANS] and are expected
315 to be officially assigned by IANA.
317 The encoding of the public key/certificate data in the attribute
318 is done in the manner defined in their respective definitions.
320 Note that these public keys are intended for signing. Some
321 certificates may have a key usage restrictions and same key cannot
322 be used for both encryption and signing. Therefore, the name
323 of the certificate type indicates if they are intended for
327 x ATTRIBUTE_SERVER_PUBLIC_KEY
329 This attribute includes a third party server or authority public
330 key or CA certificate and MUST be present if the attribute
331 ATTRIBUTE_SERVER_DIGITAL_SIGNATURE is also present. The format
332 for this attribute is identical to the ATTRIBUTE_USER_PUBLIC_KEY
336 x ATTRIBUTE_USER_DIGITAL_SIGNATURE
338 This attribute value includes digital signature of all Attribute
339 Payloads except this attribute. This signature can be provided by
340 the user. This attribute SHOULD be last attribute provided in the
341 reply so that it is easier for the receiver to compute the signature
342 data to be verified. The format and encoding of this attribute
343 depends on the public key or certificate used to produce the
344 signature. See the ATTRIBUTE_USER_PUBLIC_KEY for all public keys
345 and certificates that can be used to produce a signature.
348 variable data Digital signature data
350 The encodings are as follows per public key/certificate type:
352 ssh-rsa and ssh-dss Defined in [SSH-TRANS]
353 silc-rsa and silc-dss Defined in [SILC1]
354 pgp-sign-rsa and pgp-sign-dss Defined in [RFC2440]
355 x509v3-sign-rsa and x509v3-sign-dss Defined in [PKCS7]
357 The procedure producing the signature and encoding it are done
358 in the manner defined in their respective definitions, see the
362 x ATTRIBUTE_SERVER_DIGITAL_SIGNATURE
364 This attribute value includes digital signature of all Attribute
365 Payloads except this attribute, but including the attribute
366 ATTRIBUTE_USER_DIGITAL_SIGNATURE. This signature can be provided
367 by a third party server or an authority which has verified the
368 information provided by the user. How it verifies this information
369 is out of scope of this document, however it may base its
370 information to a previous registeration information and current
371 online status of the user in a service. This attribute SHOULD be
372 last when provided, so that it is easier for the receiver to
373 compute the signature data to be verified. The format for this
374 attribute is identical to the ATTRIBUTE_USER_DIGITAL_SIGNATURE
380 4 Security Considerations
387 [RFC2119] Bradner, S., "Key Words for use in RFCs to Indicate
388 Requirement Levels", BCP 14, RFC 2119, March 1997.
390 [RFC2279] Yergeau, F., "UTF-8, a transformation format of ISO
391 10646", RFC 2279, January 1998.
393 [RFC2425] Howes, T., et al, "A MIME Content-Type for Directory
394 Information", RFC 2425, September 1998.
396 [RFC2426] Dawson, F., et al, "vCard MIME Directory Profile",
397 RFC 2426, September 1998.
399 [SILC1] Riikonen, P., "Secure Internet Live Conferencing (SILC),
400 Protocol Specification", Internet Draft, April 2001.
402 [RFC2440] Callas, J., et al, "OpenPGP Message Format", RFC 2440,
405 [RFC2459] Housley, R., et al, "Internet X.509 Public Key
406 Infrastructure, Certificate and CRL Profile", RFC 2459,
409 [SSH-TRANS] Ylonen, T., et al, "SSH Transport Layer Protocol",
412 [PKCS7] Kalinski, B., "PKCS #7: Cryptographic Message Syntax,
413 Version 1.5", RFC 2315, March 1998.
420 Snellmaninkatu 34 A 15
424 EMail: priikone@iki.fi
426 This Internet-Draft expires XXX