Internet Protocol Security (IPsec) is a suite of protocols for securing Internet Protocol (IP) communications by authenticating and/or encrypting each IP packet in a data stream. IPsec also includes protocols for cryptographic key establishment.
IPSec protocols operate at the network layer, layer 3 of the OSI model. Other Internet security protocols in widespread use, such as SSL, TLS and SSH, operate from the transport layer up (OSI layers 4 - 7). This makes IPsec more flexible, as it can be used for protecting layer 4 protocols, including both TCP and UDP, the most commonly used transport layer protocols. IPsec has an advantage over SSL and other methods that operate at higher layers: an application doesn't need to be designed to use IPsec, whereas the ability to use SSL or another higher-layer protocol must be incorporated into the design of an application.
IPsec is a framework of open standards that provides data confidentiality, data integrity, and data authentication between participating peers. IPsec provides these security services at the IP layer; it uses IKE to handle negotiation of protocols and algorithms based on local policy and to generate the encryption and authentication keys to be used by IPsec. IPSec can be used to protect one or more data flows between a pair of hosts, between a pair of security gateways, or between a security gateway and a host.
IPsec is implemented by a set of cryptographic protocols for (1) securing packet flows, (2) mutual authentication and (3) establishing cryptographic parameters.
The IP security architecture uses the concept of a security association as the basis for building security functions into IP. A security association is simply the bundle of algorithms and parameters (such as keys) that is being used to encrypt and authenticate a particular flow in one direction. Therefore, in normal bi-directional traffic, the flows are secured by a pair of security associations. The actual choice of encryption and authentication algorithms (from a defined list) is left to the IPsec administrator.
In order to decide what protection is to be provided for an outgoing packet, IPsec uses the Security Parameter Index (SPI), an index to the security association database (SADB), along with the destination address in a packet header, which together uniquely identify a security association for that packet. A similar procedure is performed for an incoming packet, where IPsec gathers decryption and verification keys from the security association database.
IPsec was intended to provide either transport mode (end-to-end) security of packet traffic in which the end-point computers do the security processing, or tunnel mode (portal-to-portal) communications security in which security of packet traffic is provided to several machines (even to whole LANs) by a single node.
IPsec can be used to create Virtual Private Networks (VPNs) in either mode, and this is the dominant use. Note, however, that the security implications are quite different between the two operational modes.
End-to-end communication security on an Internet-wide scale has been slower to develop than many had expected. Part of the reason is that no universal, or universally trusted, Public Key Infrastructure (PKI) has emerged (DNSSEC was originally envisioned for this); another part is that many users understand neither their needs nor the available options well enough to promote inclusion in vendors' products.
Since the Internet Protocol does not inherently provide any security capabilities, IPsec was introduced to provide security services such as the following:
1. Encrypting traffic (so it cannot be read by parties other than those for whom it is intended)
2. Integrity validation (ensuring traffic has not been modified along its path)
3. Authenticating the peers (ensuring that traffic is from a trusted party)
4. Anti-replay (protecting against replay of the secure session).
Modes
There are two modes of IPsec operation: transport mode and tunnel mode.
Transport mode
In transport mode, only the payload (the data you transfer) of the IP packet is encrypted and/or authenticated. The routing is intact, since the IP header is neither modified nor encrypted; however, when the authentication header is used, the IP addresses cannot be translated, as this will invalidate the hash value. The transport and application layers are always secured by hash, so they cannot be modified in any way (for example by translating the port numbers). Transport mode is used for host-to-host communications.
A means to encapsulate IPsec messages for NAT traversal has been defined by RFC documents describing the NAT-T mechanism.
Tunnel mode
In tunnel mode, the entire IP packet (data plus the message headers) is encrypted and/or authenticated. It must then be encapsulated into a new IP packet for routing to work. Tunnel mode is used for network-to-network communications (secure tunnels between routers, e.g. for VPNs) or host-to-network and host-to-host communications over the Internet.
Technical details
Two protocols have been developed to provide packet-level security for both IPv4 and IPv6:
* The IP Authentication Header provides integrity, authentication, and non-repudiation if the appropriate choice of cryptographic algorithms is made.
* The IP Encapsulating Security Payload provides confidentiality, along with optional (but strongly recommended) authentication and integrity protection.
Cryptographic algorithms defined for use with IPsec include HMAC-SHA1 for integrity protection, and TripleDES-CBC and AES-CBC for confidentiality. Refer to RFC 4835 for details.
Authentication header (AH)
The AH is intended to guarantee connectionless integrity and data origin authentication of IP datagrams. Further, it can optionally protect against replay attacks by using the sliding window technique and discarding old packets. AH protects the IP payload and all header fields of an IP datagram except for mutable fields, i.e. those that might be altered in transit. In IPv4, mutable (and therefore unauthenticated) IP header fields include TOS, Flags, Fragment Offset, TTL and Header Checksum. AH operates directly on top of IP, using IP protocol number 51. An AH packet diagram:
Encapsulating Security Payload (ESP)
The ESP protocol provides origin authenticity, integrity, and confidentiality protection of a packet. ESP also supports encryption-only and authentication-only configurations, but using encryption without authentication is strongly discouraged because it is insecure. Unlike AH, the IP packet header is not protected by ESP. (Although in tunnel mode ESP, protection is afforded to the whole inner IP packet, including the inner header; the outer header remains unprotected.) ESP operates directly on top of IP, using IP protocol number 50.
IPsec support is usually implemented in the kernel with key management and ISAKMP/IKE negotiation carried out from user-space. Existing IPsec implementations tend to include both of these functionalities. However, as there is a standard interface for key management, it is possible to control one kernel IPsec stack using key management tools from a different implementation.
Thursday, August 21, 2008
AAA
In computer security, AAA stands for “authentication, authorization and accounting”. The AAA is sometimes combined with auditing and accordingly becomes AAAA.
Authentication
Authentication refers to the process of establishing the digital identity of one entity to another entity. Commonly one entity is a client (a user, a client computer, etc.) and the other entity is a server (computer). Authentication is accomplished via the presentation of an identity and its corresponding credentials. Examples of types of credentials are passwords, one-time tokens, digital certificates, and phone numbers (calling/called).
Authorization
Authorization refers to the granting of specific types of privileges (including "no privilege") to an entity or a user, based on their authentication, what privileges they are requesting, and the current system state. Authorization may be based on restrictions, for example time-of-day restrictions, or physical location restrictions, or restrictions against multiple logins by the same user. Most of the time the granting of a privilege constitutes the ability to use a certain type of service. Examples of types of service include, but are not limited to: IP address filtering, address assignment, route assignment, QoS/differential services, bandwidth control/traffic management, compulsory tunneling to a specific endpoint, and encryption.
Accounting
Accounting refers to the tracking of the consumption of network resources by users. This information may be used for management, planning, billing, or other purposes. Real-time accounting refers to accounting information that is delivered concurrently with the consumption of the resources. Batch accounting refers to accounting information that is saved until it is delivered at a later time. Typical information that is gathered in accounting is the identity of the user, the nature of the service delivered, when the service began, and when it ended.
List of AAA Protocols
* RADIUS
* Diameter
* TACACS
* TACACS+
Other protocols used in combination with the above:
* PPP
* EAP
* PEAP
* LDAP
Authentication
Authentication refers to the process of establishing the digital identity of one entity to another entity. Commonly one entity is a client (a user, a client computer, etc.) and the other entity is a server (computer). Authentication is accomplished via the presentation of an identity and its corresponding credentials. Examples of types of credentials are passwords, one-time tokens, digital certificates, and phone numbers (calling/called).
Authorization
Authorization refers to the granting of specific types of privileges (including "no privilege") to an entity or a user, based on their authentication, what privileges they are requesting, and the current system state. Authorization may be based on restrictions, for example time-of-day restrictions, or physical location restrictions, or restrictions against multiple logins by the same user. Most of the time the granting of a privilege constitutes the ability to use a certain type of service. Examples of types of service include, but are not limited to: IP address filtering, address assignment, route assignment, QoS/differential services, bandwidth control/traffic management, compulsory tunneling to a specific endpoint, and encryption.
Accounting
Accounting refers to the tracking of the consumption of network resources by users. This information may be used for management, planning, billing, or other purposes. Real-time accounting refers to accounting information that is delivered concurrently with the consumption of the resources. Batch accounting refers to accounting information that is saved until it is delivered at a later time. Typical information that is gathered in accounting is the identity of the user, the nature of the service delivered, when the service began, and when it ended.
List of AAA Protocols
* RADIUS
* Diameter
* TACACS
* TACACS+
Other protocols used in combination with the above:
* PPP
* EAP
* PEAP
* LDAP
Monday, August 18, 2008
Role-Based Access Control(RBAC)
A role-based access control (RBAC) model, also called "non-discretionary access control", uses a centrally administrated set of controls to determine how subjects and objects interact. This type of model allows access to resources based upon the role the user holds within the company. It is referred to to as non-discretionary because assigning a user to a role is unavoidably imposed. This means that if you are assigned only to the contractor role in a company, there is nothing you can do about it. You do not have the discretion to determine the role you will be assigned.
for the most up to date information on the RBAC model, go to http://crsc.nist.gov/rbac
for the most up to date information on the RBAC model, go to http://crsc.nist.gov/rbac
CIA Principle
The purpose of this blog is to familiarize the reader with some commonly used terms, models, and principles within the information security community.
The CIA Principle
The “CIA” triad is a widely accepted security model used within the information security community. The definition of the “CIA” triad is as follows;
Confidentiality - is the ability to hide information from unauthorized viewers or recipients. This task can be accomplished with the use of Cryptography and Encryption.
Integrity - is the ability to assure that the data is accurate and unchanged. This task can be accomplished withe use of a hashing algorithm’s such as MD-5 and SHA-1.
Availability - it is extremely important that the information your responsible for is readily available for the authorized user 24x7. This task can be accomplished by limiting or preventing embryonic or half open TCP connections to prevent the consumption of network resources by denial of service to legitimate users.
Identification, Authentication, and Accountability- For a user to be able to access a resource, he/she first must prove he/she is who he/she claims to be, has the necessary credentials, and has been given the necessary rights or privileges to perform the action he/she is requesting.
The CIA Principle
The “CIA” triad is a widely accepted security model used within the information security community. The definition of the “CIA” triad is as follows;
Confidentiality - is the ability to hide information from unauthorized viewers or recipients. This task can be accomplished with the use of Cryptography and Encryption.
Integrity - is the ability to assure that the data is accurate and unchanged. This task can be accomplished withe use of a hashing algorithm’s such as MD-5 and SHA-1.
Availability - it is extremely important that the information your responsible for is readily available for the authorized user 24x7. This task can be accomplished by limiting or preventing embryonic or half open TCP connections to prevent the consumption of network resources by denial of service to legitimate users.
Identification, Authentication, and Accountability- For a user to be able to access a resource, he/she first must prove he/she is who he/she claims to be, has the necessary credentials, and has been given the necessary rights or privileges to perform the action he/she is requesting.
Subscribe to:
Posts (Atom)
