How to Implement Fiber Optical Security in NS2

To implement the Fiber Optical Security within NS2, which contains the replicating secure communication over fiber optic links whereas addressing potential security concerns such as tapping, eavesdropping, and unauthorized access. While NS2 does not natively support optical networking or fiber optic security features, we can be replicated the performance of the optical networks and execute the security mechanisms (e.g., encryption, authentication) over fiber optic links. Below is a stepwise implementation process to replicate the Fiber Optical Security in NS2:

Step-by-Step Implementation:

  1. Set Up NS2

Make certain that NS2 is installed on the machine. If it not installed then we can using the below command:

sudo apt-get install ns2

  1. Define the Network Topology

In this configure, we will describe a basic network topology including a sender and receiver connected by a fiber optic link. We will replicate the fiber optic communication, with the potential security risks and solutions.

set ns [new Simulator]

set tracefile [open fiber_optical_security.tr w]

$ns trace-all $tracefile

# Create sender and receiver nodes

set sender [$ns node]

set receiver [$ns node]

# Create a fiber optic link between the sender and receiver

# For simplicity, we’ll model this as a high bandwidth link with low latency

$ns duplex-link $sender $receiver 10Gb 1ms DropTail

  1. Simulate Optical Fiber Security Threats

Before executing security mechanisms, let’s mimic the possible fiber optic security threats, like eavesdropping or data tampering. We can mimic these threats by intercepting messages and manipulating them.

(A) Simulate Eavesdropping

To replicate eavesdropping, we can log and capture the transferred message at an intermediate point. It will be specified an unauthorized entity intercepting the fiber optic communication.

# Simulate eavesdropping: Capturing and logging the message

proc eavesdrop {message} {

puts “Eavesdropping: Intercepted message: ‘$message'”

}

# Simulate the message being intercepted at 1 second

$ns at 1.0 “eavesdrop ‘Hello Receiver'”

  1. Implement Security Mechanisms: Encryption

To secure the communication over the fiber optic link, we can execute the encryption. The sender will encrypt the message before transferring it, also the receiver will decrypt the message after receiving it. It will be secured the communication from eavesdropping.

(A) Encrypt Message Before Transmission

Mimic an encryption by applying a basic encryption function to the message.

# Simulate encryption of the message

proc encrypt_message {message key} {

puts “Encrypting message: ‘$message’ with key: $key”

return “encrypted_$message_with_$key”  ;# Simulate encryption result

}

# Simulate key for encryption

set encryption_key “fiber_optic_secure_key”

# Encrypt the message before transmission

$ns at 1.0 “set encrypted_message [encrypt_message ‘Hello Receiver!’ $encryption_key]”

(B) Send Encrypted Message

Configure the real transmission of the encrypted message using UDP and CBR (Constant Bit Rate) traffic generator within NS2. The encrypted message will transfer from the sender to the receiver.

# Set up UDP agents for sender and receiver

set udp_sender [new Agent/UDP]

set null_receiver [new Agent/Null]

$ns attach-agent $sender $udp_sender

$ns attach-agent $receiver $null_receiver

$ns connect $udp_sender $null_receiver

# Create a CBR traffic generator to simulate the transmission of the encrypted message

set cbr_sender [new Application/Traffic/CBR]

$cbr_sender set packetSize_ 512

$cbr_sender set rate_ 1Mb

$cbr_sender attach-agent $udp_sender

# Send the encrypted message at 2 seconds

$ns at 2.0 “$cbr_sender start”

  1. Decrypt Message at the Receiver

When the encrypted message is received then the receiver will decrypt it using the similar encryption key. It will make certain that the message is secure during transmission across the fiber optic link.

(A) Decrypt the Message

Mimic the decryption procedure by reversing the encryption.

# Simulate decryption of the message using the shared key

proc decrypt_message {encrypted_message key} {

puts “Decrypting message: ‘$encrypted_message’ with key: $key”

return “decrypted_message”  ;# Simulate decrypted message

}

# Decrypt the message at the receiver

$ns at 3.0 “set decrypted_message [decrypt_message $encrypted_message $encryption_key]”

  1. Simulate Data Integrity Check: Hashing

To more secure the transmission, we can be executed a hashing mechanism, which make certain that the integrity of the data. The sender will create a hash of the novel message and transfer it together with the encrypted message. The receiver will check the hash to make certain that the message was not tampered with.

(A) Generate Hash of the Message

Replicate the generation of a cryptographic hash for the original message. This hash will use to check the integrity of the message at the receiver.

# Simulate cryptographic hash generation

proc generate_hash {message} {

puts “Generating hash for message: $message”

return “hash_of_$message”  ;# Simulate hash value

}

# Generate a hash for the original message

$ns at 1.0 “set message_hash [generate_hash ‘Hello Receiver!’]”

(B) Verify Hash at the Receiver

After the receiver decrypts the message then it will also check the hash to make certain that the message was not changed during transmission.

# Simulate hash verification

proc verify_hash {received_message received_hash} {

puts “Verifying hash for received message: $received_message”

set recalculated_hash [generate_hash $received_message]

if { $recalculated_hash == $received_hash } {

puts “Hash verification successful: Message is intact”

} else {

puts “Hash verification failed: Message integrity compromised”

}

}

# Simulate receiving and verifying the hash

$ns at 3.5 “verify_hash ‘Hello Receiver!’ $message_hash”

  1. Log the Encryption, Decryption, and Hashing Process

To observe the encryption, decryption, and integrity check process, we will be logged every stage in the console to check that the message is securely transmitted over the fiber optic link.

# Log the encryption and decryption process

proc log_security_process {message encrypted_message decrypted_message hash_status} {

puts “Original message: ‘$message’ was encrypted as: ‘$encrypted_message'”

puts “Decrypted message: ‘$decrypted_message’, Integrity check: $hash_status”

}

# Log the entire security process after decryption and hash verification

$ns at 4.0 “log_security_process ‘Hello Receiver!’ $encrypted_message $decrypted_message ‘Success'”

  1. Run the Simulation

When the script is ready then run the simulation using NS2:

ns your_script.tcl

  1. Analyze the Results

After running the simulation, we can verify the trace file (fiber_optical_security.tr) and console the results to check:

  • The message was encrypted and securely transmitted across the fiber optic link.
  • The message was decrypted appropriately at the receiver.
  • The integrity of the message was checked using the hash.

Also we can be used the NAM (Network Animator) to envision the transmission of the encrypted message among the sender and receiver over the fiber optic link.

  1. Extend the Simulation

We can extend this simulation by:

  • Adding key management protocols: Replicate the secure key exchange protocols, like Diffie-Hellman, to establish shared keys among the sender and receiver.
  • Simulating more advanced attacks: Launch more advanced attacks, like fiber tapping or man-in-the-middle attacks, to examine the security of the communication.
  • Implementing advanced encryption algorithms: Swap the basic encryption algorithm including a real-world lightweight encryption algorithm (such as AES, PRESENT, or Speck) to replicate a more realistic cryptographic environment.
  • Introducing multi-hop fiber links: Mimic the fiber optic links with several intermediate nodes or repeaters and execute the security mechanisms to defend the data over all links.

In this set up, we successfully demonstrated the procedure on how to simulate and how to implement the Fiber Optical Security within the virtual environment NS2. Furthermore, if you need additional details we will offer that too. Get best implementation done by our team we provide you with tailored services as per your needs