Elliptic curve cryptography (ECC) is an approach to public-key cryptography that uses elliptic curves over finite fields. It provides the same level of security as other cryptosystems but with smaller key sizes. ECC is used for encryption, digital signatures, and other tasks. It is based on the algebraic structure of elliptic curves and points on those curves forming an Abelian group. The U.S. has endorsed ECC algorithms for key exchange and digital signatures.
Second presentation of Mike Dance's Cryptography series, it aims to provide an overview of digital signature and define the terminology used for digital signatures.
Mike Dance is a web developer and Bitcoin advocate.
----------
Presented at the BitcoinSYD Meetup on 18 February 2015
Second presentation of Mike Dance's Cryptography series, it aims to provide an overview of digital signature and define the terminology used for digital signatures.
Mike Dance is a web developer and Bitcoin advocate.
----------
Presented at the BitcoinSYD Meetup on 18 February 2015
In 1982, a blind signature, as introduced by David Chaum. Blind Signature Scheme is a form of digital signature scheme which allows a person to get a message signed by another party without revealing any information about the message to the other party.
This presentation introduces the theory behind the blind signature scheme, how to implement it with RSA public cryptographic scheme and various practical aspects of the scheme.
AN EFFICIENT PROXY SIGNCRYPTION SCHEME BASED ON THE DISCRETE LOGARITHM PROBLEMZac Darcy
Signcryption is a cryptographic primitive which simultaneously provides both confidentiality and
authenticity in a single logical step. In a proxy signature scheme, an original signer delegates his signing
power to a proxy agent, who signs a message on behalf of him. This paper introduces a new proxy
signcryption scheme based on the Discrete Logarithm Problem (DLP) with a reduced computational
complexity compared to other schemes in literature. In this proposed scheme, the receiver is the only one
who can verify the origin of the ciphertext. Moreover, in this scheme, an authorized proxy signcrypter can
create valid proxy signatures after verifying the identity of the original signcrypter. The proposed scheme
achieves the various desirable security requirements. An elliptic curve based version of the proposed proxy
signcryption scheme has been implemented using Mathematica for realistic (256-bit) parameters to
emphasize the ease of its practical use.
Kerberos is a computer network authentication protocol which works on the basis of 'tickets' to allow
nodes communicating over a non-secure network to prove their identity to one another in a secure
manner. Its designers aimed it primarily at a client–server model and it provides mutual
authentication—both the user and the server verify each other's identity. Kerberos protocol messages
are protected against eavesdropping and replay attacks.
#SystemArchitecture Series: #Kerberos Architecture Component and communication flow #architecture
#Kerberos is a ticketing-based #authentication #system, based on the use of #symmetric keys. #Kerberos uses tickets to provide #authentication to resources instead of #passwords. This eliminates the threat of #password stealing via #networksniffing. One of the biggest benefits of #Kerberos is its ability to provide single sign-on (#SSO). Once you log into your #Kerberos environment, you will be automatically logged into other applications in the environment.
To help provide a secure environment, #Kerberos makes use of Mutual #Authentication. In Mutual #Authentication, both the #server and the #client must be authenticated. The client knows that the server can be trusted, and the server knows that the client can be trusted. This #authentication helps prevent man-in-the-middle attacks and #spoofing. #Kerberos is also time sensitive. The tickets in a #Kerberosenvironment must be renewed periodically or they will expire.
In 1982, a blind signature, as introduced by David Chaum. Blind Signature Scheme is a form of digital signature scheme which allows a person to get a message signed by another party without revealing any information about the message to the other party.
This presentation introduces the theory behind the blind signature scheme, how to implement it with RSA public cryptographic scheme and various practical aspects of the scheme.
AN EFFICIENT PROXY SIGNCRYPTION SCHEME BASED ON THE DISCRETE LOGARITHM PROBLEMZac Darcy
Signcryption is a cryptographic primitive which simultaneously provides both confidentiality and
authenticity in a single logical step. In a proxy signature scheme, an original signer delegates his signing
power to a proxy agent, who signs a message on behalf of him. This paper introduces a new proxy
signcryption scheme based on the Discrete Logarithm Problem (DLP) with a reduced computational
complexity compared to other schemes in literature. In this proposed scheme, the receiver is the only one
who can verify the origin of the ciphertext. Moreover, in this scheme, an authorized proxy signcrypter can
create valid proxy signatures after verifying the identity of the original signcrypter. The proposed scheme
achieves the various desirable security requirements. An elliptic curve based version of the proposed proxy
signcryption scheme has been implemented using Mathematica for realistic (256-bit) parameters to
emphasize the ease of its practical use.
Kerberos is a computer network authentication protocol which works on the basis of 'tickets' to allow
nodes communicating over a non-secure network to prove their identity to one another in a secure
manner. Its designers aimed it primarily at a client–server model and it provides mutual
authentication—both the user and the server verify each other's identity. Kerberos protocol messages
are protected against eavesdropping and replay attacks.
#SystemArchitecture Series: #Kerberos Architecture Component and communication flow #architecture
#Kerberos is a ticketing-based #authentication #system, based on the use of #symmetric keys. #Kerberos uses tickets to provide #authentication to resources instead of #passwords. This eliminates the threat of #password stealing via #networksniffing. One of the biggest benefits of #Kerberos is its ability to provide single sign-on (#SSO). Once you log into your #Kerberos environment, you will be automatically logged into other applications in the environment.
To help provide a secure environment, #Kerberos makes use of Mutual #Authentication. In Mutual #Authentication, both the #server and the #client must be authenticated. The client knows that the server can be trusted, and the server knows that the client can be trusted. This #authentication helps prevent man-in-the-middle attacks and #spoofing. #Kerberos is also time sensitive. The tickets in a #Kerberosenvironment must be renewed periodically or they will expire.
Network Security: Authentication Applications, Electronic Mail Security, IP Security, Web
Security, System Security: Intruders, Malicious Software, Firewalls
Improving the Secure Socket Layer by Modifying the RSA AlgorithmIJCSEA Journal
Secure Socket Layer (SSL) is a cryptographic protocol which has been used broadly for making secure connection to a web server. SSL relies upon the use of dependent cryptographic functions to perform a secure connection. The first function is the authentication function which facilitates the client to identify the server and vice versa [1]. There have been used, several other functions such as encryption and integrity for the imbuement of security. The most common cryptographic algorithm used for ensuring security is RSA. It still has got several security breaches that need to be dealt with. An improvement over this has been implemented in this paper. In this paper, a modification of RSA has been proposed that switches from the domain of integers to the domain of bit stuffing to be applied to the first function of SSL that would give more secure communication. The introduction of bit stuffing will complicate the access to the message even after getting the access to the private key. So, it will enhance the security which is the inevitable requirement for the design of cryptographic protocols for secure communication.
CISSPills are short-lasting presentations covering topics to study in order to prepare CISSP exam. CISSPills is a digest of my notes and doesn't want to replace a studybook, it wants to be only just another companion for self-paced students.
Every issue covers different topics of CISSP's CCBK and the goal is addressing all the 10 domains which compose CISSP.
IN THIS ISSUE:
Domain 1: Access Control
- Identity Management
- Centralised vs Decentralised Access Control
- Directories
- Single Sign-On
- Kerberos
- Kerberos Process
- Kerberos Weaknesses
- SESAME
1. Elliptic curve cryptography (ECC) is an approach to public-key cryptography based on the
algebraic structure ofelliptic curves over finite fields. One of the main benefits in comparison with
non-ECC cryptography (with plain Galois fields as a basis) is the same level of security provided by
keys of smaller size.
Elliptic curves are applicable for encryption, digital signatures, pseudo-random generators and other
tasks. They are also used in several integer factorization algorithms that have applications in
cryptography, such as Lenstra elliptic
Theory[edit]
For current cryptographic purposes, an elliptic curve is a plane curve over a finite field (rather than
the real numbers) which consists of the points satisfying the equation
along with a distinguished point at infinity, denoted ∞. (The coordinates here are to be chosen
from a fixed finite field ofcharacteristic not equal to 2 or 3, or the curve equation will be
somewhat more complicated.)
This set together with the group operation of elliptic curves is an Abelian group, with the point at
infinity as identity element. The structure of the group is inherited from the divisor group of the
underlying algebraic variety. As is the case for other popular public key cryptosystems, no
mathematical proof of security has been published for ECC as of 2009.
The U.S. National Institute of Standards and Technology (NIST) has endorsed ECC in its Suite
B set of recommended algorithms, specifically Elliptic Curve Diffie–Hellman (ECDH) for key
exchange and Elliptic Curve Digital Signature Algorithm (ECDSA) for digital signature. The
U.S. National Security Agency (NSA) allows their use for protecting information classified up
to top secret with 384-bit keys.[3]
While the RSA patent expired in 2000, there may be patents in force covering certain aspects of
ECC technology, though some (including RSA Laboratories[4]
and Daniel J. Bernstein[5]
) argue
that the Federal elliptic curve digital signature standard (ECDSA; NIST FIPS 186-3) and certain
practical ECC-based key exchange schemes (including ECDH) can be implemented without
infringing them.
Applications[edit]
Elliptic curves are applicable for encryption, digital signatures, pseudo-random generators and other
tasks. They are also used in several integer factorization algorithms that have applications in
cryptography, such as Lenstra elliptic curve factorization.
2. Kerberos /ˈkɛərbərəs/ is a computer network authentication protocolwhich works on the basis of
'tickets' to allow nodes communicating over a non-secure network to prove their identity to one
another in a secure manner. Its designers aimed it primarily at a client–server model and it
provides mutual authentication—both the user and the server verify each other's identity. Kerberos
protocol messages are protected against eavesdropping and replay attacks.
Kerberos builds on symmetric key cryptography and requires a trusted third party, and optionally
may use public-key cryptography during certain phases of authentication.[1]
Kerberos uses UDP port
88 by default.
Protocol[edit]
Description[edit]
The client authenticates itself to the Authentication Server (AS) which forwards the username to
a key distribution center (KDC). The KDC issues a ticket-granting ticket (TGT), which is time
stamped, encrypts it using the user's password and returns the encrypted result to the user's
workstation. This is done infrequently, typically at user logon; the TGT expires at some point, though
may be transparently renewed by the user's session manager while they are logged in.
When the client needs to communicate with another node ("principal" in Kerberos parlance) the
client sends the TGT to the ticket-granting service (TGS), which usually shares the same host as the
KDC. After verifying the TGT is valid and the user is permitted to access the requested service, the
TGS issues a ticket and session keys, which are returned to the client. The client then sends the
ticket to the service server (SS) along with its service request.
Kerberos negotiations
The protocol is described in detail below.
User Client-based Logon[edit]
1. A user enters a username and password on the client machines. Other credential
mechanisms like pkinit (RFC4556) allow for the use of public keys in place of a password.
3. 2. The client transforms the password into the key of a symmetric cipher. This either uses the
built in key scheduling or a one-way hashdepending on the cipher-suite used.
Client Authentication[edit]
1. The client sends a cleartext message of the user ID to the AS requesting services on behalf
of the user. (Note: Neither the secret key nor the password is sent to the AS.) The AS
generates the secret key by hashing the password of the user found at the database (e.g.,
Active Directory in Windows Server).
2. The AS checks to see if the client is in its database. If it is, the AS sends back the following
two messages to the client:
Message A: Client/TGS Session Key encrypted using the secret key of the client/user.
Message B: Ticket-Granting-Ticket (TGT, which includes the client ID, client network
address, ticket validity period, and the client/TGS session key) encrypted using the
secret key of the TGS.
3. Once the client receives messages A and B, it attempts to decrypt message A with the
secret key generated from the password entered by the user. If the user entered password
does not match the password in the AS database, the client's secret key will be different and
thus unable to decrypt message A. With a valid password and secret key the client decrypts
message A to obtain the Client/TGS Session Key. This session key is used for further
communications with the TGS. (Note: The client cannot decrypt Message B, as it is
encrypted using TGS's secret key.) At this point, the client has enough information to
authenticate itself to the TGS.
Drawbacks and limitations[edit]
Single point of failure: It requires continuous availability of a central server. When the Kerberos
server is down, new users cannot log in. This can be mitigated by using multiple Kerberos
servers and fallback authentication mechanisms.
Kerberos has strict time requirements, which means the clocks of the involved hosts must be
synchronized within configured limits. The tickets have a time availability period and if the host
clock is not synchronized with the Kerberos server clock, the authentication will fail. The default
configuration per MIT requires that clock times be no more than five minutes apart. In
practice Network Time Protocol daemons are usually used to keep the host clocks synchronized.
Note that some server (Microsoft implementation is one of them) may return a
KRB_AP_ERR_SKEW result containing the encrypted server time in case both clocks have an
offset greater than the configured max value. In that case, the client could retry by calculating
the time using the provided server time to find the offset. This behavior is documented in RFC
4430.
4. The administration protocol is not standardized and differs between server implementations.
Password changes are described in RFC 3244.
In case of symmetric cryptography adoption (Kerberos can work using symmetric or asymmetric
(public-key) cryptography), since all authentications are controlled by a centralized key
distribution center (KDC), compromise of this authentication infrastructure will allow an attacker
to impersonate any user.
Each network service which requires a different host name will need its own set of Kerberos
keys. This complicates virtual hosting and clusters.
Kerberos requires user accounts, user clients and the services on the server to all have a
trusted relationship to the Kerberos token server (All must be in the same Kerberos domain or in
domains that have a trust relationship between each other). Kerberos cannot be used in
scenarios where users want to connect to services from unknown/untrusted clients as in a
typical Internet or cloud computer scenario, where the authentication provider typically does not
have knowledge about the users client system.
The required client trust makes creating staged environments (e.g., separate domains for test
environment, preproduction env., production env.) difficult: Either domain trust relationships
need to be created that prevent a strict separation of environment domains or additional user
clients need to be provided for each environments.