• Tidak ada hasil yang ditemukan

WebSecurity.ppt 138KB Jun 23 2011 09:33:02 AM

N/A
N/A
Protected

Academic year: 2017

Membagikan "WebSecurity.ppt 138KB Jun 23 2011 09:33:02 AM"

Copied!
13
0
0

Teks penuh

(1)

Web Security

(2)

HTTP Authentication

Protect web content from those who don’t have a “need to know”

Require users to authenticate using a userid/password before they are allowed access to certain URLs

HTTP/1.1 requires that when a user makes a request for a protected resource the server responds with a authentication request header

WWW-Authenticate

• contains enough pertinent information to carry out a “challenge-response” session between the user and the server

Web Server

Client

Client requests a protected resource

(3)

Client Response

Well established clients like Firefox, Internet Explorer …. will respond to the challenge request (WWW-Authenticate) by presenting the user with a small pop-up window with data entry fields for

userid

password

a Submit button and a Cancel button

(4)

WWW-Authenticate

The authentication request received by the browser will look

something like:

WWW-Authenticate = Basic realm=“defaultRealm”

Basic indicates the HTTP Basic authentication is requestedrealm indicates the context of the login

– realms hold all of the parts of security puzzle

» Users

» Groups

» ACLs (Access Control Lists)

Basic Authentication

userid and password are sent base 64 encoded (might as well be plain

text)

hacker doesn’t even need to unencode all he has to do is “replay” the blob

(5)

WWW-Authenticate

Digest Authentication

attempts to overcome the shortcomings of Basic Authentication

WWW-Authenticate = Digest realm=“defaultRealm” nonce=“Server SpecificString”see RFC 2069 for description of nonce, each nonce is different

the nonce is used in the browser in a 1-way function (MD5, SHA-1….) to encode the

userid and password for the server, this function essentially makes the password good for only one time

(6)

WWW-Authenticate

Secure Sockets Layer (SSL)

Invented by Netscape and made public domain for everyone’s use

An additional layer to the TCP/IP stack that sits between the Application

and Transport layers

• ensures that all application data is encrypted but TCP/IP headers are not

• usually run on port 443 (default HTTPS port)

Public Key Cryptography

owner of a private key sends a public key to all who want to communicate

with him (keys are both prime factors of a large (1024 bit) number). Owner keeps the private key secret and uses it to decrypt information sent to him that has been encrypted with the public-key

RSA algorithm is most notable public-key cipher algorithm

Digital Certificates

issued by a disinterested third party (ex. Verisign)

the Certificate contains the public-key for the specific Web Server and a

(7)

back to SSL

Once a secure session is established the source requests the destinations certificate ( sent in the http header (uncncrypted))

once the source accepts the authenticity of the certificate it uses the public-key from the certificate to encrypt the generated session key for protecting the conversation between the source and destination.

Session is encrypted using a symmetric cipher (slow)

conversation is encrypted using an asymmetric cipher (fast)

its done this way to speed up overall communications, strong encryption (slow) is used as little as possible while weaker encryption is used for most exchanges

(8)

Java Cryptographic Packages

Separate packages that are now included as part of JDK

JCE - Java Cryptography classes

JSSE - Java Secure Sockets Extension

JAAS - Java Authentication and Authorization ServicesJava GSS API - Java Generic Security Services API

(9)

JCE

JCE covers

encryption and decryption

symmetric bulk encryption, such as DES, RC2, and IDEA • Symmetric stream encryption, such as RC4

• Asymmetric encryption, such as RSA

Password-based encryption (PBE)

key agreement

Message Authentication Code (MAC)Strong Cryptography is the default

(10)

JSSE

Provides support for communications using SSL (Secure Sockets Layer) and TLS (Transport Layer Security)

commonly thought of as HTTPS

part of javax.net

SSL (and thus HTTPS) permits encrypted traffic to be exchanged between the client and server.

After an SSL client initiates a conversation with an SSL server, the server sends an

X.509 certificate back to the client for authentication. The client then checks the validity of the certificate. Assuming the server is verified, the client generates a premaster secret key, encrypts it with the server's public key from the certificate, and sends the encrypted key back to the server. From this premaster key, the client and server generate a master key for the session. After some basic handshaking, the encrypted exchange can commence.

(11)

JAAS

JAAS provides for the authentication of users and the authorization of tasks based upon that authentication

Previously, anyone authenticated had access to the same security

restrictions. Now, you can control what tasks are available for a specific authenticated user

(12)

Java GSS-API

adds Kerberos V5 support to the Java platform.

Kerberos originated at the Massachusetts Institute of Technology (MIT) as project Athena back in 1987.

Essentially, a network authentication protocol.

Defined in RFC 1510 from 1993

biggest draw is not having to send passwords over the net.

offers single sign-on within one domain -- if everything within the domain

has been Kerberos-enabled.

support is also provided for single sign-on across different security realms

over a network.

Used in conjunction with JAAS, once a user's identity is established,

(13)

Java Certification Path API

Certification Path API provides classes for building and validating

certificate chains, an important requirement of a Public Key Infrastructure (PKI).

These certificates provide for the storage of security keys for users. By trusting the issuer of a certificate that holds the keys, and trusting the issuer of the certificate that trusts the original certificate, you establish chains of trust

Referensi

Dokumen terkait

The following data are requested for each synoptic point: the synoptic point code, the synoptic point identifier (an identifier that will appear on the synoptic in the screen

The following data are requested for each synoptic point: the synoptic point code, the synoptic point identifier (an identifier that will appear on the synoptic in the screen

586.. paper, we consider a variation of the corona of two graphs and discuss its spectrum and the number of spanning trees... Definition 1.1. As an application of these results, we

The most effective way to meet those goals is to implement security The most effective way to meet those goals is to implement security risk assessment through a security policy and

– Caveat: a custom policy may implement the actual server rather than using another object (see win32com.servers.dictionary). – Dispatchers can actually add a third layer into

t more complex (for producers of Atom feeds), it is also able to carry more complex information, and it is consistent across the syndication, storage, and e diting of

Pada workshop II, pembahasan atas position paper dengan judul: ”Diversifikasi Pangan Dalam Rangka Peningkatan Ketahanan Pangan” menghasilkan beberapa

Ditinjau dari ketersediaan dan keterjangkauan secara agregat penduduk Indonesia tampak tergolong tahan pangan, namun masih ditemukan rumah tangga rawan pangan