AAA 1 Authentication uthentication : who is actually the person - - PowerPoint PPT Presentation

aaa
SMART_READER_LITE
LIVE PREVIEW

AAA 1 Authentication uthentication : who is actually the person - - PowerPoint PPT Presentation

AAA 1 Authentication uthentication : who is actually the person (computer) we are talking to Authorization uthorization : does the person (computer) we are talking to have the necessary privileges to the source / use of service / ...


slide-1
SLIDE 1

AAA

1

slide-2
SLIDE 2

 Authentication

uthentication : who is actually the person (computer) we are talking to

 Authorization

uthorization : does the person (computer) we are talking to have the necessary privileges to the source / use of service / ...

 Accoounting

ccoounting : who has at any time used a source/service/...

2

slide-3
SLIDE 3

 authentication: what is it, how can it be

implemented, protocols

 authorization: how can it be implemented  recording: system recording  protocol for AAA

 Literature: C. Kaufman, R. Perlman, M. Speciner. Network

Security – Private Communication in a Public World. Prentice Hall.

3

slide-4
SLIDE 4

 trust,trust,trust,trust,trust,trust,trust,trust,trust,trust,trust,tru

st,trust,trust,trust,trust,trust,trust,trust,trust,trust,trust,trust,t rust,trust,trust,trust,trust,trust,trust,trust,trust,trust,trust,trus t,trust,trust,trust,trust,trust,trust,trust,trust,trust,trust,trust,tr ust,trust,trust,trust,trust,trust,trust,trust,trust,trust,trust,trust ,trust,trust,trust,trust,trust,trust,trust,trust,trust,trust,trust,tru st,trust,trust,trust,trust,trust,trust,trust,trust,trust,trust,trust

trust, trust, , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust , trust...

4

slide-5
SLIDE 5

 two sides (Ana and Borut) are communicating and

they must believe that they are actually talking to each other

 establishing identities at the beginning  maintaining identity throughout the conversation

 how can we believe that the other side is in fact the

correct side

 a side can be a person or service / program

 Ana needs to know:

 something about Borut, with which she can recognize

Borut

 that „something“ must only be known to Ana

5

slide-6
SLIDE 6

 Borut tells Ana his password  possible attacks:

 tapping (stealing inside transfer)  breaking into the system (stealing saved passwords)  guessing passwords

 defences:

 using safe cryptographic connections  system / password security  limiting the number of trys for password guessing

 additional defence

 Ana sends Borut a challenge which he must be able to solve

6

slide-7
SLIDE 7

 passwords are being stored in all places where

they are needed

 huge vulnerability, the problem of changing

 passwords are stored in one place and used by

all users

 protection of transferring a copied to user

we have a special node that provides service for checking password

 special protocol

7

slide-8
SLIDE 8

 We additionaly protect stored passwords with

cryptographic protection

 we don’t store passwords in their original form,

instead we use safeguarded unidirectional hash function f

 authentication:

1.

Borut calculates f(password) -> g

2.

Borut sends g

3.

Ana keeps in database g and not the password. She

  • nly checks its presence g in database (this is the correct

translation)

8

slide-9
SLIDE 9

 By guessing: we limit the number of attempts

 automaton occupies the card;  password is valid for a limited amount of attempts

 Limiting how long the password is valid:

 The S/KEY One-Time Password System, RFC1760  A One-Time Password System, RFC2289

 req

required: f uired: find it on the int ind it on the interne ernet and read about it – lit t and read about it – literature! erature!

 challenge: writ

challenge: write y e your o

  • ur own pr

wn program f

  • gram for S/K
  • r S/Key or in

y or invent y ent your O

  • ur OTP

TP. .

9

slide-10
SLIDE 10

 Stealing passwords

 stolen blind text – change the password  Stolen mappings

 On the internet there are databases/services,

which sistematicly calculate password mappings

 possible defense– we salten the password

 challenge: ho

challenge: how t w to per

  • performe salt
  • rme saltening?

ening?

10

slide-11
SLIDE 11

 (IP) address represents a password or a part of

it

 We trust only certain computers

 Loging is possible only from those computers

 We trust those computers, that they finished

appropriate authentication (file hosts.equiv, )

 Only those computers are allowed to authenticate

 req

required: C uired: Consider ho

  • nsider how t

w to address the authentication

  • address the authentication at

at ssh? ssh?

11

slide-12
SLIDE 12

 key distribution centre  Broker forms a key (password) for every new

connection

 Short-lived keys  certification authority  Broker provides authorized passwords  Long-lived certificates, must have option to cancel it

 Hierarchy of intermediaries

12

slide-13
SLIDE 13

 Using passwords  Authentication utility  Using biometric characteristics  Two other options require additional hardware

(which we have to trust)

13

slide-14
SLIDE 14

 Password must not be simple: length, number

  • f characters, which sings , ..

 admin/admin, 1234, unique master citizen number

 Password must not be too complicated

 NaWUwra66nu5UHA

NaWUwra66nu5UHAd d 

 challenge: Find a s

challenge: Find a syst stem em that generat that generates saf es safe passw e passwor

  • rds.

ds.  We change passwords systematicly  What if we forget a password?

14

slide-15
SLIDE 15

 cards

 Only holders of informations (magnetic recording,

  • ptical recording, ...)

 Smart cards

 They contain a computer that protects information ,

we need a password to access the computer...

 Use of challenge

 Cryptographic computers

 They form a time-depended passwords

15

slide-16
SLIDE 16

 Replacable password  lack of portability  routine, fingerprint, face identificatio, iris,

voice, .

16

slide-17
SLIDE 17

 directly

 Loging to a computer console  Remote access: telnet (TELNET Protocol, RFC 139),

ssh (Does RFC exist for ssh?)

 challenge: f

challenge: find o ind other RFC documents about t ther RFC documents about telne elnet. .

 ad hoc form  Using protocols

17

slide-18
SLIDE 18

 PPP in PAP: Password authentication protocol  CHAP: Challenge-handshake authentication

protocol (MS-CHAP)

 EAP: Extensible Authentication Protocol

18

slide-19
SLIDE 19

 The Point-to-Point Protocol (PPP), RFC 1661

 challenge: f

hallenge: find and read RFC ind and read RFC.

 It is replacing data-link layer  Authentication required at the beginning of

sessions

19

slide-20
SLIDE 20

+----------+-------------+---------+ | Protocol | Information | Padding | | 8/16 bits| * | * | +----------+-------------+---------+

20

protocol:

0001 Padding Protocol

0003 to 001f reserved (transparency inefficient)

007d reserved (Control Escape)

00cf reserved (PPP NLPID)

00ff reserved (compression inefficient)

8001 to 801f unused

807d unused

80cf unused

80ff unused

c021 Link Control Protocol

c023 P c023 Passw asswor

  • rd A

d Authentication uthentication Pr Protocol

  • col

c025 Link Quality Report

c223 Challenge Handshak c223 Challenge Handshake e Authentication Pr uthentication Protocol

  • col
slide-21
SLIDE 21

 Password transfer in cleantext  Last option, if all other fail (and if we are still

willing to do it)

21

slide-22
SLIDE 22

 PPP Challenge Handshake Authentication

Protocol (CHAP), RFC 1994

 req

required: f uired: find this pr ind this protocol on the int

  • col on the interne

ernet and read it – t and read it – lit literature erature!

 Prepared for PPP use (poin to point protocol)  Challenge-based design that Ana sends to

Borut

 Transmission protocol in principle is not defined

(see PPP)

22

slide-23
SLIDE 23

Three-step protocol:

1.

Ana sends a challenge

2.

Borut combines the challenge with a password and sends it back encrypted with a one-way hash function

3.

Ana verifies the if the answer is correct

 Steps in PPP protocol can be repeated for

unlimited number of times

 Challenge is sent in a readable form  password must be stored on both sides  because the challenge is changing, it is

difficult to attack with repeating

23

slide-24
SLIDE 24

 ppp protocol has its own control protocol LCP  it can set various properties and also the type

  • f a hash function

 challenge: where and ho

hallenge: where and how can w w can we se e set it? t it?

24

slide-25
SLIDE 25

0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Code | Identifier | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Data ... +-+-+-+-+

25

  • Code – message code: 1

Challenge, 2 Response, 3 Success, 4 Failure

  • Identifier – connection

between protocol steps

slide-26
SLIDE 26

 Microsoft PPP CHAP Extensions, Version 2, RFC

2759

 challenge: f

hallenge: find it on the int ind it on the interne ernet and read it; ho t and read it; how w is a passw is a passwor

  • rd

d change conduct hange conducted ed and what and what do w do we ha e have t e to be careful of

  • be careful of?

 There are two versions

 req

required: uired: ho how is the f w is the fir irst v t ver ersion dif sion different fr erent from the second

  • m the second
  • ne
  • ne?

 Based on the CHAP protocol with two fundamental

appendices:

 mutual authentication  The ability to change paswords

26

slide-27
SLIDE 27

 Extensible Authentication Protocol (EAP), RFC

3748 –the basic protocol and corrections RFC5247

 challenge: f

hallenge: find and read RFC ind and read RFC

 Framework for protocols and not a real protocol

because it defines only the message format

 usually directly over the data-link layer

(ppp, IEEE 802 – ethernet) and also UDP, TCP

 challenge: In RFC f

hallenge: In RFC find whic ind which pr h protocol is using UDP

  • col is using UDP

 Forwarding possibility– Authentication Server

27

slide-28
SLIDE 28

 The client and the server (authenticator)

make an agreement about the type of authentication.

 Step-protocol:

1.

Authenticator sends a request for data; ex. identification, request for authentication including the type of authentication

2.

client confirms or refuses the way of authentication

3.

steps 1. and 2. are repeated until the server identifies the client

28

slide-29
SLIDE 29

0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Code | Identifier | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Data ... +-+-+-+-+ 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Code | Identifier | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Type-Data ... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

29

  • identical to CHAP
  • request/response package
  • type – what does authenticator

request and how does client respond

  • 1 Identity
  • 2 Notification
  • 3 Nak (Response only)
  • 4 MD5-Challenge
  • 5 One Time Password (OTP)
  • 6 Generic Token Card (GTC)
  • 254 Expanded Types
  • 255 Experimental use
slide-30
SLIDE 30

 when the user is authenticated (identified), we

can check the rights that the user has

 on Unix systems usually becomes a member of

a group or multiple groups, that have certain rights (group)

 Similiar on MS windows systems

 challenge: there is a RFC 2904, AAA A

hallenge: there is a RFC 2904, AAA Authorization uthorization Frame ramewor

  • rk.

. What's it What's it about about and and does it def does it define some ine some req requirements or some uirements or something else? thing else?

30

slide-31
SLIDE 31

 access matrix specifies the rights of the

individual user groups

 capability list  access control list

 stored locally in the file/files

 similar problems as with password storage

 stored on the server

 challenge:

hallenge: Ho How is the saf w is the safety of do ty of downloaded messages wnloaded messages and and their encrip their encription? tion?

31

slide-32
SLIDE 32

 system that will record contents of events and

where and when they occurred

 Common recording form on operation systems is

syslog (POSIX standard)

 Standardized also with IETF as RFC 5424, The

Syslog Protocol.

 challenge: com

hallenge: compare RFC with “man –k syslog” sit pare RFC with “man –k syslog” sites? es?

 challenge: f

hallenge: find o ind other RFCs about Syslog and IETF sit ther RFCs about Syslog and IETF site, e, where Syslog w where Syslog wor

  • rking gr

king group published documents.

  • up published documents.

32

slide-33
SLIDE 33

 Log is stored in file /var/log ...:

 No

Nov 1 v 13 1 3 17:00:1 :00:17 sv svarun0 arun0 sshd[92530] sshd[92530]: : err error

  • r:

: PAM: authentication err AM: authentication error

  • r

for r

  • r roo
  • ot fr

t from ip-62-129-1

  • m ip-62-129-164-36.e

4-36.evc.ne c.net

 possible message levels: Emergency, Alert, Critical, Error, Warning,

Notice, Info or Debug

 challenge: See the f

hallenge: See the files in /v iles in /var/log/... ar/log/...

33

slide-34
SLIDE 34

 on FreeBSD syslogd  configuration in /etc/syslog.conf

 challenge: c

hallenge: change the conf hange the configuration so that all messages will be iguration so that all messages will be stored

  • red in / v

in / var / log / super ar / log / super-log

  • log; ho

how t w to send a no

  • send a note t

e to ano

  • another

ther com comput puter? er?; and and can can we e store the same no

  • re the same note t

e to multiple

  • multiple

locations? locations?

34

security.* /var/log/security auth.info;authpriv.info /var/log/auth.log mail.info /var/log/maillog lpr.info /var/log/lpd-errs ftp.info /var/log/xferlog cron.* /var/log/cron

slide-35
SLIDE 35

 Internal architecture distributes:

 Message form and their content (RFC 5424)  Way of message transmision (RFC 5425)

 req

required: f uired: find RFC 5 ind RFC 5425 and 425 and look look for whic

  • r which

h ingredients ingredients it it speaks speaks

  • f– lit
  • f– literature!

erature!

 challenge: f

challenge: find o ind other RFCs that talk about syslog. ther RFCs that talk about syslog.

35

+---------------------+ +---------------------+ | content | | content | |---------------------| |---------------------| | syslog application | | syslog application | (originator, | | | | collector, relay) |---------------------| |---------------------| | syslog transport | | syslog transport | (transport sender, | | | | (transport receiver) +---------------------+ +---------------------+ ^ ^ | |

slide-36
SLIDE 36

SYSL SLOG-MSG = OG-MSG = HEADER HEADER SP SP STR TRUCTURED-D UCTURED-DATA A [SP [SP MSG MSG] ] HEADER = PRI HEADER = PRI VERSION VERSION SP SP TIMES TIMESTAMP AMP SP SP HOS HOSTNAME TNAME SP SP APP-NAME APP-NAME SP SP PR PROCID OCID SP SP MSGID MSGID PRI = "<" PRIV PRI = "<" PRIVAL ">" AL ">" PRIV PRIVAL = 1*3DIGIT ; range 0 .. 1 AL = 1*3DIGIT ; range 0 .. 191 1 VERSION = NONZER VERSION = NONZERO-DIGIT 0*2DIGIT O-DIGIT 0*2DIGIT HOS HOSTNAME = NIL TNAME = NILVAL ALUE / 1*255PRINTUSASCII UE / 1*255PRINTUSASCII APP-NAME = NIL APP-NAME = NILVAL ALUE / 1*48PRINTUSASCII UE / 1*48PRINTUSASCII PR PROCID = NIL OCID = NILVAL ALUE / 1*128PRINTUSASCII UE / 1*128PRINTUSASCII MSGID = NIL MSGID = NILVAL ALUE / 1*32PRINTUSASCII UE / 1*32PRINTUSASCII TIMES TIMESTAMP = NIL AMP = NILVAL ALUE / FULL UE / FULL-D

  • DATE "T" FULL

TE "T" FULL-TIME TIME FULL FULL-D

  • DATE = D

TE = DATE-FULL TE-FULLYEAR "-" D YEAR "-" DATE-MONTH "-" D TE-MONTH "-" DATE-MD TE-MDAY Y DATE-FULL TE-FULLYEAR = 4DIGIT YEAR = 4DIGIT DATE-MONTH = 2DIGIT ; 0 TE-MONTH = 2DIGIT ; 01-12 1-12 DATE-MD TE-MDAY = 2DIGIT ; 0 Y = 2DIGIT ; 01-28, 0 1-28, 01-29, 0 1-29, 01-30, 0 1-30, 01-3 1-31 based on 1 based on ; month/y ; month/year ear FULL FULL-TIME = P TIME = PAR ARTIAL TIAL-TIME TIME-OFFSET TIME TIME-OFFSET PAR ARTIAL TIAL-TIME = TIME-HOUR ":" TIME-MINUTE ":" TIME-SECOND TIME = TIME-HOUR ":" TIME-MINUTE ":" TIME-SECOND [TIME-SECFRA [TIME-SECFRAC] C] TIME-HOUR = 2DIGIT ; 00-23 TIME-HOUR = 2DIGIT ; 00-23 TIME-MINUTE = 2DIGIT ; 00-59 TIME-MINUTE = 2DIGIT ; 00-59 TIME-SECOND = 2DIGIT ; 00-59 TIME-SECOND = 2DIGIT ; 00-59 TIME-SECFRA TIME-SECFRAC = "." 1*6DIGIT C = "." 1*6DIGIT TIME-OFFSET = "Z" / TIME-NUMOFFSET TIME-OFFSET = "Z" / TIME-NUMOFFSET TIME-NUMOFFSET = ("+" / "-") TIME-HOUR ":" TIME-MINUTE TIME-NUMOFFSET = ("+" / "-") TIME-HOUR ":" TIME-MINUTE

36

STR TRUCTURED-D UCTURED-DATA = NIL A = NILVAL ALUE / 1*SD-ELEMENT UE / 1*SD-ELEMENT SD-ELEMENT = "[" SD-ID *(SP SD-P SD-ELEMENT = "[" SD-ID *(SP SD-PARAM) "]" ARAM) "]" SD-P SD-PARAM = P ARAM = PARAM-NAME "=" %d34 P ARAM-NAME "=" %d34 PARAM-V ARAM-VAL ALUE %d34 UE %d34 SD-ID = SD-NAME SD-ID = SD-NAME PARAM-NAME = SD-NAME ARAM-NAME = SD-NAME PARAM-V ARAM-VAL ALUE = UTF-8-S UE = UTF-8-STRING ; charact TRING ; character ers '"', '\' and s '"', '\' and ; ']' MUS ; ']' MUST be escaped. T be escaped. SD-NAME = 1*32PRINTUSASCII SD-NAME = 1*32PRINTUSASCII ; e ; except '=', SP cept '=', SP, ']', %d34 (") , ']', %d34 (") MSG = MSG- MSG = MSG-ANY / MSG-UTF8 ANY / MSG-UTF8 MSG- MSG-ANY = *OCTET ; no ANY = *OCTET ; not star t starting with BOM ting with BOM MSG-UTF8 = BOM UTF-8-S MSG-UTF8 = BOM UTF-8-STRING TRING BOM = %xEF BOM = %xEF.BB.BF .BB.BF UTF-8-S UTF-8-STRING = *OCTET ; UTF-8 string as specif TRING = *OCTET ; UTF-8 string as specified ied ; in RFC 3629 ; in RFC 3629 OCTET = %d00-255 OCTET = %d00-255 SP = %d32 SP = %d32 PRINTUSASCII = %d33-126 PRINTUSASCII = %d33-126 NONZER NONZERO-DIGIT = %d49-5 O-DIGIT = %d49-57 7 DIGIT = %d48 / NONZER DIGIT = %d48 / NONZERO-DIGIT O-DIGIT NIL NILVAL ALUE = "-" UE = "-"

slide-37
SLIDE 37

 defined in RFC 2865, Remote Authentication Dial

In User Service (RADIUS) and RFC 2866, RADIUS Accounting

 req

required: f uired: find it on the int ind it on the interne ernet and read about it – lit t and read about it – literature! erature!

 challenge: f

challenge: find o ind other RFC documents that deal with tf ther RFC documents that deal with tftp and check tp and check what it sa what it say in them. y in them.

 basic functionalities:

 authentication, authorization, recording  It can use other protocols for authentication  Look also at RFC 4962, Guidance for Authentication,

Authorization, and Accounting (AAA) Key Management

37

slide-38
SLIDE 38

 three parties involved:

 user

user of a service

 Ser

Service pr vice provider vider – service provider: NAS, Network access server, which is also RADIUS client RADIUS client

 RADIUS ser

RADIUS server er

 RADIUS server can also only be an interface for an

access to the second RADISU server

38

user NAS RADIUS

slide-39
SLIDE 39

 usually directly on a data-link (!) layer

 ppp  ethernet

 sometimes higher layers such as https

 safety!

39

user NAS RADIUS

slide-40
SLIDE 40

 RADIUS protocol

 NAS sends: Access

Request

 RADIUS responds: Access

Reject, Access Challenge, Access Accept

 If no response in a period

  • f time, the demand is re-

sent

 RADIUS can send the

demand forward – proxy

40

NAS RADIUS user

slide-41
SLIDE 41

 Access Request message  Diffrent protocols – PAP, CHAP, MS-CHAP, EAP

 challenge: look at how MS-CHAP is supported; RFC

2548, Microsoft Vendor-specific RADIUS Attributes.

 challenge: how is the support for EAP?

41

slide-42
SLIDE 42

 Access Reject message  various reasons:

 incorrect password / username, ...  inadequate rights  further clarification may be in the message

42

slide-43
SLIDE 43

 Access Challenge message  additional password or message in different

cases:

 different password,  PIN code  established tunnel between the user and

authenticator, ...

 Something else ...

43

slide-44
SLIDE 44

 Access Accept message  RADIUS menu, that access is confirmed /

authorized

 Both the password / username as authorization  message can bring additional information, which

NAS needs to set up services (IP address, how to establish L2TP tunel, ...); depending on the service

 NAS may obtain additional information from other

services– files, LDAP, ...

44

slide-45
SLIDE 45

 proxy  distribution of users to areas (spheres) (realm)  area is defined by any set of letters, which is

usually similar to the domain name

 peter.zmeda@butale.isp  andrej.brodnik@fri.uni-lj.si

 Each area has its own RADIUS server

45

slide-46
SLIDE 46

 roaming  the service provider can - via the RADIUS server

  • allow hosting of users from other domains in

his own field

 user from another area may be granted the

right to use a service(Authorization)

 Establishing collaboration among areas  authentication to another area

46

slide-47
SLIDE 47

 proxy  Connections beetwen servers can be safe

(VPN)

 Middle server can transform the received

request and send it to the right server (almost, see RFC 2865):

 Middle server encrypts the message and sends it to

the parent server

 Parent server returns the encrypted response

 challenge: what can the middle ser

challenge: what can the middle server change and ho er change and how? w?

47

slide-48
SLIDE 48

 RADIUS protocol

 NAS sends: Accounting

Request

 RADIUS responds:

Accounting Response

 If no answer in a period of

time, the request is sent again

 RADIUS can send the

request forward – proxy

48

NAS RADIUS user

slide-49
SLIDE 49

 We can record three

types of events:

 The beginning of

service use

 further use or

correction of data

 End of use

 difference is in the

content of the package, while one pair of commands is for all.

49

slide-50
SLIDE 50

 defined commands(example. RPC, RMI):

 Access Request  Access Reject, Access Challenge, Access Accept  Accounting Request  Accounting Response

 each of the commands may have different

additional features / parameters (attributes)

50

slide-51
SLIDE 51

 RFC expects UDP transport protocol

 RADIUS is a transaction protocol– similar to http  Communication is step by step  Simplifying middle servers operations, because

they don’t have open connections

 UDP protocol is not safe

 Transition to TCP/SSL  security on lower layers: using VPN (IPSec)

51

slide-52
SLIDE 52

 signature is called autheticator and it is the

  • nly source of ensuring the authenticity of the

package sent

 NAS and RADIUS server share a common key

secret (shared secret)

52

slide-53
SLIDE 53

 Signing AA. packages:

 Client: 128-bit random number - salt  server (response): 128-bit number derived from the

secret, package content and client salt

 signature is used as the response authentication

and does not protect requirements of the client

 salt in the client signature is also used as salt for

protection of sent password

53

slide-54
SLIDE 54

 signing .. A packages:

 Client: 128-bit number derived from secret and

package content

 server (response): 128-bit number derived from the

secret, signature of client-package and package content

 signature protects the client's request for a

recording (trying to)

54

slide-55
SLIDE 55

 Protection:

 There is no protection against eavesdropping

(hidding)

 It’s (partial) protection of the authenticity of sent

packets

 There is no protection against denial of sent

contents

 challenge:

challenge: find ind in- in-depth security analysis of RADIUS depth security analysis of RADIUS pr protocol?

  • col??

55

slide-56
SLIDE 56

 Attacks:

 attack by repeating  Middle-attacker attack  difference whether it is AA. part or ..A part  how is it with the distribution of secret and how is it

distributed between the server and clients

 challenge: look

challenge: lookat ho at how handshaking with w handshaking with secre secret t wor

  • rks

ks? ?

56

slide-57
SLIDE 57

0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Code | Identifier | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | Authenticator | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Attributes ... +-+-+-+-+-+-+-+-+-+-+-+-+-

57

  • Code – code command:
  • (1) Access-Request
  • (2) Access-Accept
  • (3) Access-Reject
  • (4) Accounting-Request
  • (5) Accounting-Response
  • (11) Access-Challenge
  • (12) Status-Server (trial)
  • (13) Status-Client (trial)
  • (255) Reserved
slide-58
SLIDE 58

0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Code | Identifier | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | Authenticator | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Attributes ... +-+-+-+-+-+-+-+-+-+-+-+-+-

58

  • Identifier – RADIUS protocol

is a step-by-step protocol and client must know the answer to any request

  • received. Length – length of

the entire packet including the header in bytes

  • minimum length is 20

and the largest 4096

  • if the package is larger,

it is reduced to length, if it is shorter, it is discarded

slide-59
SLIDE 59

0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Code | Identifier | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | Authenticator | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Attributes ... +-+-+-+-+-+-+-+-+-+-+-+-+-

59

  • Autheticator – ,,signature’’ of

package of lenght 16 bytes:

  • AA. request: 128 bit random

number

  • AA. response: MD5(Code  ID 

Length  RequestAuth  Attributes  Secret)

  • ..A request: MD5(Code  ID 

Length  0016  Attributes  Secret)

  • ..A response: MD5(Code  ID 

Length  RequestAuth  Attributes  Secret)

  • peration  is contact

(concatenation)

slide-60
SLIDE 60

0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Code | Identifier | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | Authenticator | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Attributes ... +-+-+-+-+-+-+-+-+-+-+-+-+-

60

  • Attributes – Additional

parameters of the command that was sent

slide-61
SLIDE 61

 number of possible attributes is 256  request: the users must have the option of

adding their own attributes

 Values of attributes are to be arbitrary: number,

date, time, string, ...

61

slide-62
SLIDE 62

0 1 2 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- | Type | Length | Value ... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

62

  • TLV record
  • Type – which attribute it is
  • Length – number of bytes to record

the value of the attribute

  • Value – value of attribute
  • text: UTF-8 encoded, length

greater than 0 and a maximum length of 256 bytes

  • series: an arbitrary string,

length greater than 0 and a maximum length of 256 bytes

  • Address: 32-bit recording
  • Integer: 32 bit recording
  • Time: 32 bit value from

00:00:00 1.1.1970 UTC (standard attributes do no use)

slide-63
SLIDE 63

 Attributes walk-through:

 (1) User-Name  (2) User-Password  (3) CHAP-Password

63

slide-64
SLIDE 64

 Password is encrypted using salt in

authenticator (RA) and shared secret (S):

 Password is divided into 128-bit parts p [1. n]  b[1]= MD5(S  RA); c[1]= p[1] XOR b[1]  ...  b[i]= MD5(S  c[i-1]); c[i]= p[i] XOR b[i]

64

slide-65
SLIDE 65

 Attributes walk-through:

65

 (4) NAS-IP-

(4) NAS-IP-Address ddress

 (5) NAS-P

(5) NAS-Por

  • rt

t

 (6) Ser

(6) Service- vice-Type ype

 (7) F

(7) Framed-Pr ramed-Protocol

  • col

 (8) F

(8) Framed-IP- ramed-IP-Address ddress

 (9) F

(9) Framed-IP- ramed-IP-Ne Netmask tmask

 (1

(10) F 0) Framed-R ramed-Routing

  • uting

 (1

(11) Filt 1) Filter er-Id

  • Id

 (12) F

(12) Framed-MTU ramed-MTU

 (1

(13) F 3) Framed-Com ramed-Compression pression

 (1

(14) Login-IP-Host 4) Login-IP-Host

 (1

(15) Login-Ser 5) Login-Service vice

 (1

(16) Login- 6) Login-TCP-P CP-Por

  • rt

t

 (1

(17) 7) (unassigned) (unassigned)

 (1

(18) R 8) Reply eply-Message

  • Message

 (1

(19) Callback 9) Callback-N

  • Number

umber

 (20) Callback

(20) Callback-Id

  • Id

 (2

(21) 1) (unassigned) (unassigned)

 (22) Framed-Route  (23) Framed-IPX-Network  (24) State

slide-66
SLIDE 66

 Attributes walk-through:

66

 (25) Class  (26) Vendor

endor-Specif

  • Specific

ic

 (27) Session-Timeout  (28) Idle-Timeout  (29) Termination-Action  (30) Called-Station-Id  (31) Calling-Station-Id  (32) NAS-Identifier  (33) Proxy-State  (34) Login-LAT-Service  (35) Login-LAT-Node  (36) Login-LAT-Group  (37) Framed-AppleTalk-Link  (38) Framed-AppleTalk-

Network

 (39) Framed-AppleTalk-Zone  (40-59) recording  (60) CHAP-Challenge  (61) NAS-Port-Type  (62) Port-Limit  (63) Login-LAT-Port

slide-67
SLIDE 67

 Attributes walk-through:– recording:

67

 (40) Acct-Status-Type  (41) Acct-Delay-Time  (42) Acct-Input-Octets  (43) Acct-Output-Octets  (44) Acct-Session-Id  (45) Acct-Authentic  (46) Acct-Session-Time  (47) Acct-Input-Packets  (48) Acct-Output-Packets  (49) Acct-Terminate-Cause  (50) Acct-Multi-Session-Id  (51) Acct-Link-Count

 challenge: Ho

hallenge: How‘s it lik w‘s it like with e with attribut attributes 52-59 and es 52-59 and 64-255? 64-255?

 challenge: Ho

hallenge: How‘s it lik w‘s it like with e with attribut attributes 1 es 17 and 2 7 and 21? 1?

slide-68
SLIDE 68

 Acct-Status-Type and Acct-Session-Id serve to

support the record within one session on the service offered by NAS

68

status:

  • (1) Start
  • (2) Stop
  • (3) Interim-Update
  • (7) Accounting-On
  • (8) Accounting-Off
  • (9-14) Reserved for Tunnel

Accounting

  • (15) Reserved for Failed
slide-69
SLIDE 69

 On FreeBSD (Linux): freeradius  configuration in the/usr/local/etc/radiusd.conf

 challenge: find the manual and just set a file and

run the server.

 challenge: where is the shared secret stored and

how it is shared between the server and clients?

 challenge: where are notes being kept?  challenge: how can RADIUS use other services for

authentication

69

slide-70
SLIDE 70

 Defined in RFC 3588, Diameter Base Protocol

in RFC 5719, 5729

 req

required: f uired: find it on the int ind it on the interne ernet and read about it – lit t and read about it – literature! erature!

 challenge: f

challenge: find the remaining RFC documents dealing with tf ind the remaining RFC documents dealing with tftp tp and check what it sa and check what it says in them ys in them. .

 Primarily security response to the RADIUS  is not entirely consistent with the RADIUS

70

slide-71
SLIDE 71

 differences between RADIUS and DIAMETER:

 More secure transmission protocols (TCP, ...)  integrated network security (SSL, IPsec)  More attributes are possible (32-bit)

 Software: freeDiameter

71