Reaves.dev

v0.1.0

built using

Phoenix v1.7.12

Security In Andrew

Stephen M. Reaves

::

2024-04-27

Notes about Lecture 11b for CS-6210

Summary

State of Computing circa 1988

Workstations conneccted to central server over lan

Andrew Architecture

Client workstation

Servers are clusted in secure environment

Clients need to access servers over insecure links

Process called Venus used for auth and client caching

Encryption Primer

Private Key System

Public Key System

Challenges for Andrew File System

Private key crypto system

Identity of sender in cleartext

Overuse of both username and password is a security hole

Solution

3 classes of client-server interaction

Login Process

2 Data strucutures:

Venus uses secretoken as the client id and the RPC messages are encoded with HKC

RPC Session Establishment

serverclientserverclientclientIdent is secret tokenX & Y are random numbersclientIdent,E[X, HKC]Decrypt message using HKCE[X+1, Y, HKC]Decrypt message using HKCE[Y+1, HKC]Generate session key (sk)E[sk, num, HKC]

Incrementing random number by 1 proves that sender is genuine

num is the starting sequence number for RPC

Login is a Special Case of Bind

Putting it All Together

vicevenusvicevenuslogin(user,pass)secret, clearRPC(secret, HKC)skfs calls(secret, sk)response

Username and password are only used once per login session

HKC used only for a new RPC session

SK used for all RPC calls to a filesystem