OpenPana Projects

OpenPana Projects

OpenPana Projects (Protocol for Carrying Authentication for Network Access) is an IP-based protocol. OpenPana Projects aims for a device to authenticate itself with the network. It does not define any authentication protocol, key agreement key distribution, or key derivation protocols.

PANA can be used in

  • Environments with link-layer security.
  • Environments-with physical layer security.
  • Environments where no lower security is available.

Architecture’s elements

  • PAC (PANA Client).
  • PAA (PANA Authentication Agent).
  • AS (Authentication Server).
  • EP (Enforcement Point).

PaC (PANA Client)

  • The client part of the protocol is defined as PaC.
  • It is placed in a node and easily reaches access network.

PAA (PANA Authentication Agent)

  • The server side of the PANA protocol is PAA.
  • It exchanges messages with PaC for authentication and authorization.
Authenticate multiple users using Openpana projects

AS (Authentication Server)

  • It is used to check the PaC’s credentials.
  • It receives the PaC’s credentials by the PAA.
  • Then it sends a packet with the result of the credential checking process.
  • It has a session time.
  • If this session expires, it should re-authenticate

EP (Enforcement Point)

  • It works on the basis of the filter of a packet.
  • It is a type of node which drops packet according to the parameters it sets.

PANA signaling flow

Platform Support

   We have listed below two platform which are support to implement Openpana projects.

Protocols supported in Openpana Projects,
  • UNIX
  • Windows

Sample code for OpenPana Projects

class PeerApplication : public PANA_ClientEventInterface

{

public:

PeerApplication(PANA_Node &n) : pacSession(n, *this),

handle(EapJobHandle(AAA_GroupedJob::Create(n.Task().Job(), this, “peer”))),

eap(boost::shared_ptr<MyPeerSwitchStateMachine>

(new MyPeerSwitchStateMachine(*n.Task().reactor(), handle))),

md5Method(EapContinuedPolicyElement(EapType(4)))

{

eap->Policy().CurrentPolicyElement(&md5Method);

}

virtual ~PeerApplication() {

pacSession.Stop();}

void Start()

{

pacSession.Start();

eap->Start();

}

MyPeerSwitchStateMachine& Eap() { return *eap; }

// called by PANA on incomming EAP request

void EapRequest(AAAMessageBlock *request,

PANA_PINFO provider,

const PANA_CfgProviderInfo *pInfo) {

eap->Receive(request);}

// called by PANA on incomming BIND request

void EapRequest(AAAMessageBlock *request,

ACE_UINT32 resultCode,

ACE_UINT32 pcap) { eap->Receive(request);}

Live Tasks
Technology Ph.D MS M.Tech
NS2 75 117 95
NS3 98 119 206
OMNET++ 103 95 87
OPNET 36 64 89
QULANET 30 76 60
MININET 71 62 74
MATLAB 96 185 180
LTESIM 38 32 16
COOJA SIMULATOR 35 67 28
CONTIKI OS 42 36 29
GNS3 35 89 14
NETSIM 35 11 21
EVE-NG 4 8 9
TRANS 9 5 4
PEERSIM 8 8 12
GLOMOSIM 6 10 6
RTOOL 13 15 8
KATHARA SHADOW 9 8 9
VNX and VNUML 8 7 8
WISTAR 9 9 8
CNET 6 8 4
ESCAPE 8 7 9
NETMIRAGE 7 11 7
BOSON NETSIM 6 8 9
VIRL 9 9 8
CISCO PACKET TRACER 7 7 10
SWAN 9 19 5
JAVASIM 40 68 69
SSFNET 7 9 8
TOSSIM 5 7 4
PSIM 7 8 6
PETRI NET 4 6 4
ONESIM 5 10 5
OPTISYSTEM 32 64 24
DIVERT 4 9 8
TINY OS 19 27 17
TRANS 7 8 6
OPENPANA 8 9 9
SECURE CRT 7 8 7
EXTENDSIM 6 7 5
CONSELF 7 19 6
ARENA 5 12 9
VENSIM 8 10 7
MARIONNET 5 7 9
NETKIT 6 8 7
GEOIP 9 17 8
REAL 7 5 5
NEST 5 10 9
PTOLEMY 7 8 4

Workflow

YouTube Channel

Unlimited Network Simulation Results available here.