Go to main content

Developer's Guide to Oracle® Solaris 11.3 Security

Exit Print View

Updated: April 2020
 
 

Glossary

authorization

In Kerberos, the process of determining whether a principal can use a service, which objects the principal is allowed to access, and the type of access allowed for each.

consumer

An application, library, or kernel module that uses system services.

context

A state of trust between two applications. When a context has successfully been established between two peers, the context acceptor is aware that the context initiator is who it claims to be, and can verify and decrypt messages sent to it. If the context includes mutual authentication, then the initiator knows the acceptor's identity is valid and can also verify and decrypt messages from the acceptor.

credential

An information package that identifies a principal and a principal's identification. A credential specifies who the principal is and, often, what privileges the principal has. Credentials are produced by security mechanisms.

CRL

Certificate Revocation List.

exported name

A mechanism name that has been converted from the GSS-API internal-name format to the GSS-API Exported Name format by gss_export_name(). An exported name can be compared with names that are in non-GSS-API string format with memcmp(). See also mechanism name (MN), name.

GSS-API

The Generic Security Service Application Programming Interface. A network layer providing support for various modular security services. GSS-API provides for security authentication, integrity, and confidentiality services, and allows maximum portability of applications with regard to security.

keystore

    A storage system for PKI objects. The following examples are popular keystores:

  • OpenSSL stores keys and certificates on disk in files (PEM, DER, or PKCS#12 format).

  • NSS is a private database that stores objects. NSS also supports PKCS#11 tokens.

  • PKCS#11 storage depends on the token selected: Local files use Oracle Solaris softtoken. Smart cards, for example, use hardware tokens.

mechanism name (MN)

A special instance of a GSS-API internal-format name. A normal internal-format GSS-API name can contain several instances of a name, each in the format of an underlying mechanism. A mechanism name, however, is unique to a particular mechanism. Mechanism names are generated by gss_canonicalize_name().

message

Data in the form of a gss_buffer_t object that is sent from one GSS-API-based application to a peer. An example of a message is "ls" sent to a remote ftp server.

A message can contain more than just the user-provided data. For example, gss_wrap() takes an unwrapped message and produces a wrapped one to be sent. The wrapped message includes both the original message and an accompanying MIC. GSS-API-generated information that does not include a message is a token. See token.

message integrity code (MIC)

A cryptographic tag that is attached to transmitted data to ensure the data's validity. The recipient of the data generates another MIC and compares this MIC to the one that was sen. If the MICs are equal, the message is valid. Some MICs, such as those generated by gss_get_mic(), are visible to the application, while others, such as those generated by gss_wrap() or gss_init_sec_context(), are not.

message-level token

See token.

MIC

See message integrity code (MIC).

MN

See mechanism name (MN).

name

The name of a principal, such as user@system. Names in the GSS-API are handled through the gss_name_t structure, which is opaque to applications. See also exported name, mechanism name (MN), name type.

name type

The particular form in which a name is given. Name types are stored as gss_OID types and are used to indicate the format used for a name. For example, the name user@system would have a name type of GSS_C_NT_HOSTBASED_SERVICE. See also exported name, mechanism name (MN), name.

opaque

Applies to a piece of data whose value or format is not normally visible to functions that use it. For example, the input_token parameter to gss_init_sec_context() is opaque to the application, but significant to the GSS-API. Similarly, the input_message parameter to gss_wrap() is opaque to the GSS-API but important to the application doing the wrapping.

Quality of Protection (QOP)

A parameter used to select the cryptographic algorithms to be used in conjunction with the integrity or confidentiality service. With integrity, the QOP specifies the algorithm for producing a message integrity code (MIC). With confidentiality, the QOP specifies the algorithm for both the MIC and message encryption.

token

A data packet in the form of a GSS-API gss_buffer_t structure. Tokens are produced by GSS-API functions for transfer to peer applications.

Tokens come in two types. Context-level tokens contain information used to establish or manage a security context. For example, gss_init_sec_context() bundles a context initiator's credential handle, the target system's name, flags for various requested services, and possibly other items into a token to be sent to the context acceptor.

Message tokens (also known as per-message tokens or message-level tokens) contain information generated by a GSS-API function from messages to be sent to a peer application. For example, gss_get_mic() produces an identifying cryptographic tag for a given message and stores it in a token to be sent to a peer with the message. Technically, a token is considered to be separate from a message, which is why gss_wrap() is said to produce an output_message and not an output_token.

See also message.