Now, what I wantedtotalkabouttodayis a reallycoolprotocol, butactuallysees a lotofuseparticularly, I mean, everywhere, rightonlotsofdifferentoperatingsystems, butparticularlyonactivedirectoryisitsmainauthenticationmechanism.
Let's imaginewehave a networkwith 10 machines, so I'm justgonnadraw 10 machines.
Shoulddoonefewermachine's list.
Youknowwhat?
I canundothis.
I cansayfivemachinesnowif I wannahave a sharedkey.
Butit's, let's saydifferentforsecurityreasons.
Betweenallofthesemachines, it's gonnalooksomethinglike, I thinkthat's allofthem, right?
I mean, if I hadanothermachine, a sickmachinehere, I'vegottodothison 1/7 machine.
Thisisanabsolutemess, butbecausewecan't dokeyexchangesonormallywhatyouwoulddoontheInternetisyouwouldjusttalkto a machineto a quickieexchange, andthenyou'vegotyourself a sessionkeyfortherestofthatconversation.
Wecan't dothatbecausethat's a publickeyprotocolwhichisvulnerabletothingslikeQuantum.
Andalsoactually, atthetime, I don't thinkifhellexistedwhenthiswasfirstdeveloped.
Right?
Atleasttheprotocolsunderpinningthissowe'renotgonnausepublickeyis a solution.
We'regonnacomeupwithsomethingdifferent.
Whatwe'regoingtotryanddoisusethefactthatwehavethisserver, which I'm gonnadrawSortofniceandbighere.
Server A big s onit, liketheSuperman, thisserverwealltrustonbecausewewilltrustthatserver.
Whatwedoisweasktheservertosendus a keythatwecanuseforthatconversation, anditjustgeneratesoneatrandomonprotectsitusingtheseencryptedchannelson, thenweakentemporarilyusethisgreenkeyforoursession.
Thefirstthingtodoistoapproachtheauthenticationserver a shooting.
We'vealreadyhadanaccountcreatedandsendhim a message.
Sowe'regonnasendhim a messagewhichsaysmynameis a I wouldliketotalktotheticketgrantingserveronhereis a randomnumberthat I'm goingtousetopreventreplayattacks.
Andthisisgonnabeencryptedusing K A s, whichis, ofcourse, ourlongtermkeybetween A ontheauthenticationserver.
What I candonowis I candecryptthismessageusing K s becausethatdrivesoffmypassword.
I canreadthissessionkeyandthen I canuseittotalkto T.
Theproblemisthathedoesn't havethissessionkeylikethisisnewsthatblandnewthiskeysoit's goingtosend S isgoingtosendmesomeorinformation.
It's gonnasendmethesame k 80.
It's goingtosaythisistotalkto a Andi.
Thisisthelifetimeofthatticket, andthisisgoingtobeencryptedwith K S t.
Sothistheauthenticationserver s isgoingtouse a longtermkey S t toencryptthismessage, which I can't need, right, Because I don't have s t I'm a Sothisis a ticketthat I canpasstoteaforittouse, andonlyitcanunderstand.
Sothisiscalled a wonderfullynamedticketgrantingticket.
It's a ticketthat's gonnaletmegetmoreticketsinthefuture.
So I takethisfirstmessagedecrypted, and I havethesession.
Kate, I need I forwardthismessageontotheticketgrantingserverItdecryptsit, andassumingit's okay, itnowhasthemessagethatitneeds.
Dhe I comealong, I getsoexcited, I'm gonnaforwardontheticket, right, Becausethat's theonethatitcoulddecrypt.
Ituseslongtermkeybttodecryptthis.
Andnowithasaccesstothissessionkey.
Italsoinsomesense, has a proofthat I'm allowedtotalktobebecauseotherwise I wouldn't havebeenabletoproducehisticketbecausethiswasencryptedbytheticketgrantingserver a bitlikehow a digitalsignatureontheInternetmightprovidesomesortofproofofauthenticity.
Thiskindofhasthatrole.
I wouldn't havetoproducehisticketiftheticketwant X over, hadn't encrypteditformetopasson.
So I passedontheticket, and I alsopasson a messagethatsays, verysimply, mynameis a is a con.
Timeon, I'm gonnaencryptthisusing K A B, whichisthenewkey.
I justgotgivenby a ticketgroundingserver, So I senditthat I alsosendittheticket.
I wantedtotalktoBay, and I alsowantedtoauthenticatetothisnetworkbecausethisnetworkis, let's say, myuniversitynetworkand I wantedtologin, andall I haveatthemomentis a password.
Sowhat I dois I send a messagetotheauthenticationserverthatsays, I'm A and I'd liketotalktotheticketgrantingserver.
Itsendsmebackanencryptedmessagethat I wouldnotbeabletoreadif I didn't havemypassword.
Sothat's howitauthenticatesme.
Anditalsocrucially, sendsme a ticket.
But I canusetopassontotheticketgrantingserverthestwothingsbothcontain a newsessionkeythat I canuseforencryption.
Sothen I talkedtotheticketgrantingserverontheexactsameprocesshappensagain.
I say I may I'd liketotalktobebethefileserver.
Theticketgrantingserverwilllookatthis.
Itwilllookatwhatbeersanddecide.
Okay, heisallowedtoaccessthisserversoitwillsendmeback a messagewith a newkeyon.
Itwillalsosendingback a tickettopassontobay.
Soit's theexactsameprocess.
Soeverytime I wanttotalktoanythingonthisnetwork, I canjustgototheticketgrantingserverwithmyticketandsay, Please, may I haveanotheroneforthis?
Anditwouldgivemenewticketsso I canjustgoandgettickets.
It's likelike a fairgroundondhe, youknow, you'vegot a Ferriswheelandotherstuffandyoujustgotoonedeskbyallthetickets, andthenyoucangototheactualrideslaterorsomethinglikethat, thatkindofidea.
So I thencantalktobay, andwehavethislittleexchangethatmakesureabout, youknow, there's noreplayattacksandyouknow, we'renotdoinganythinguntoward.
Soit's a reallyneatwayofjustusingsymmetricencryptiontogainactuallysomeprettygoodsecurity.
Thesetickets, Howlongdotheyhaveondoes a ticketlast?
Soitdependsontheticket, Butonauthenticationticket, liketheoneyouget a ticketgrantingticketrightfromfromfrom s, thatcouldlast 24 hoursorsomethinglikethat.