Click here for our home page Click here to find out about us Click here for products & services Click here for support Click here for news Click here for details of our partners Click here for our contact details
CyberSafe logo
Products • TrustBroker™

 

 

 

Additional information about the TrustBroker™ Application Security SDK and the GSS-API standard is provided below.

 

 
GSS-API Explained

 

 

The information below contains a brief description of the GSS-API standard for network security and introduces the CyberSafe implementation of this standard, known as the Application Security SDK.


GSS-API Standard

GSS-API stands for Generic Security Service Application Program Interface. The GSS-API is a standard programming interface that defines a set of generic functions that can be used to secure distributed applications.


The GSS-API functions enable applications in a distributed network environment to use the following security services on the network:

  • Authentication — The application can verify the identity of a user or service. By using authentication, a distributed application can be guaranteed it is talking to its authentic counterpart (that is, it is not being spoofed by an imposter). It is common for mutual-authentication to be used, where the initiator of a conversation trusts who the conversation acceptor is and the acceptor also trusts the initiator.
  • Integrity — The application can detect message tampering or corruption when it receives a message.
  • Confidentiality — A message can be encrypted to render it unintelligible to eavesdroppers during transmission.

The GSS-API has two primary design goals fundamental to its operation:

  • Security mechanism independence
  • Transport protocol independence

Because it is an open standard, the GSS-API has been designed to be generic so that as security and network technologies evolve, the API does not have to change.


The GSS-API supports a wide range of underlying security mechanisms and technologies using the following architecture.

 


A Security Mechanism is a method of providing security (such as Kerberos or public-key encryption). It is not only the cryptographic technology used, but also the syntax and semantics of the data that the technology employs. An application secured using the GSS-API standard may use one or more Security Mechanism's.


The GSS-API can be used in a broad range of network environments (for example, TCP/IP, SNA, and DECnet). The standard was not designed to provide a transport mechanism. Rather, the design provides security over an arbitrary network transport. The transport must be provided by the application. The communications protocol can be an interprocess communications path or a series of networks.

 


GSS-API functions return information to the application, which then sends the information across the communications protocol in use. The other side of the distributed application passes the information to the GSS-API library.


For a developer securing an application using the GSS-API standard, these design goals of mechanism and transport independence provide a consistent interface that is independent of the underlying hardware and software platform — a one-time programming investment. The investment in modifications to secure an application remains constant even as the technologies evolve.


GSS-API Assumptions


The GSS-API standard makes the following assumptions:

  • The application is distributed.
    The GSS-API standard assumes that the application is a distributed network application or divided into two parts using a peer-to-peer or a initiator-acceptor relationship.
  • The source code can be modified.
    The GSS-API standard assumes that you can incorporate GSS-API functions in the application source code.
  • The application guarantees token delivery.
    A token is an opaque data object returned by the GSS-API that an application needs to communicate with its peer. The GSS-API standard assumes that your application can deliver tokens generated during context establishment and context termination in the order in which they are generated.
  • The application deallocates its data objects.
    The GSS-API standard assumes that if an application allocated a data object, it is responsible for deallocating it. If a data object is returned by a GSS-API function, the application must use the corresponding GSS-API function to release the object, thereby deallocating it. Otherwise, there can be a memory leak or memory fault in the application. Failure to use the proper functions for deallocation may create a situation where the security of the network may be compromised.