April 13, 1995 John Lowry Senior Member of the Technical Staff Bolt Beranek and Newman, Inc. 70 Fawcett St Cambridge, MA. 02138 email: jlowry@bbn.com (617) 873-2435 Direct (617) 873-4086 Fax Project: Location Independent Information Object Security (IOS) Bolt Beranek and Newman, Inc. (BBN), under contract to the Advanced Research Projects Agency (ARPA), has developed the Information Object Security (IOS) Tools. These tools use object identifiers which are registered as Computer Security Objects. ARPA has unlimited rights in the software containing the objects. BBN specified, created, and named the objects under contract to ARPA, and remains the primary point of contact on all questions regarding naming conflicts. The NIST Computer Security Objects Register (CSOR) assumes no responsibility pertaining to any inquiry regarding ownership or naming conflicts. The IOS software is publicly available and can be obtained on the Internet for anonymous ftp at ests.bbn.com. Object naming information ------------------------- IOS Data Component: 2.16.840.101.3.3.0.0 iosp (3) components (0) dataComponent (0) id-ios-dataComponent Object definition and description --------------------------------- The data component is one of several components defined by the Location Independent Information Object Security (IOS) project. The IOS components are used singly or in combination with others to achieve a variety of security services. This is a syntax that denotes an IOS data component. The data component is used to identify and carry a single piece of data such as a user's document. DataComponent ::= SEQUENCE { dataID DataID, dataObjectType DataObjectType, description T61String OPTIONAL, data OCTET STRING } DataID ::= SEQUENCE { componentType OBJECT IDENTIFIER, time GeneralizedTime, random OCTET STRING SIZE (2..2), name EntityName, ReferenceID ::= SEQUENCE OF DataID EntityName ::= SEQUENCE { formal Name OPTIONAL, informal OCTET STRING OPTIONAL} DataObjectType ::= SEQUENCE { type OBJECT IDENTIFIER, info ANY DEFINED BY type OPTIONAL } Object usage and rules ----------------------- Data components contain a DataID with the object identifier that defines the type of component. The DataID provides a unique identification for a component by the combination of the componentType, time, random, and name items. The random element distinguishes among components created at the same time by the same user, with the EntityName. The informal name field is provided for those users who do not have Names. Such users must take care to supply an informal name that they can be certain is unique, such as an RFC822 address. The time is the time the component was created, not the time its contents were created. Time is specified in GeneralizedTime to allow for an explicit century counter and thus avoid ambiguity as the new century approaches. Time is specified to a granularity of seconds. A data component also contains a dataObjectType that is used to identify the kind of data being carried. The data OCTET STRING supplies the type for encoding the data. A data component is the only component that cannot refer or point to another component in a component list. If the data OCTET STRING is specified in ASN.1, it must be encoded prior to being submitted to the application creating a DataComponent. The application then encodes the submitted data as an OCTET STRING.