20
TRANSMISSION SUBMITTED BY- MEENAL AGRAWAL 10103464 CSE DEPARTMENT

Secure data transmission using video embedding

Embed Size (px)

Citation preview

Page 1: Secure data transmission using video embedding

SECURE DATA TRANSMISSION

SUBMITTED BY-

MEENAL AGRAWAL 10103464CSE DEPARTMENT

Page 2: Secure data transmission using video embedding

INTRODUCTION

In computer science, Secure Transmission refers to the transfer of data such as confidential or proprietary information over a secure channel. Many secure transmission methods require a type of encryption. Secure transmissions are put in place to prevent attacks such as ARP spoofing and general data loss. Software and hardware implementations which attempt to prevent the unauthorized transmission of information from the computer systems to an organization on the outside.

The project aims at designing a secure method to transfer files from one machine to another machine in a secured way i.e. to prevent any kind of intrusion in the data being transferred. . The client can send a normal text file to the server asking the IP address of the server machine. The client can also send an encrypted file to the server to secure data transmission using a secret key. The server on receiving the encrypting the file can view the data by decrypting the file using the same secret key. Also, the proposed scheme in our project is that it provides the ability to hide a significant quality of information making it different from typical data hiding mechanisms because here we consider application that require significantly larger payloads like video-in-video. Although AVI videos are large in size but it can be transmitted from source to target over network after processing the source video by using these Data Hiding and Extraction procedure securely.

Page 3: Secure data transmission using video embedding

PROBLEM STATEMENT

 

Protected and encrypted data sent electronically is vulnerable to various attacks such as spyware and attempts in breaking and revealing the data. With the recent advances in computing technology and its intrusion in our day to day life, the need for private and personal communication has increased. Privacy in digital communication is desired when confidential information is being shared between two entities using computer communication. To provide secrecy in communication we use various techniques. One such technique is Steganography that is the art of hiding the fact that communication is taking place, by hiding information in other information. In this project we will make an attempt to take out a solution of the existing security issues posing a threat to secure transmission of data.

Page 4: Secure data transmission using video embedding

TECHNOLOGY USED

Memory : 1 GB RAM Operating System : Windows 7 Environment : NetBeans IDE 7.4 Database connection : SQL yog Algorithms used : Least significant bit algorithm

Tiny encryption algorithm Languages used : Java, SQL queries

Approach will include first encrypting the data using TEA algorithm and then embedding the encrypted data behind a video. This embedded video will be sent to the receiver using IP address of the receiver and then the receiver will de-embed the data and finally decrypt it using the long security key set by the sender.

Page 5: Secure data transmission using video embedding

EXISTING APPROACHES & SOLUTIONS S No. Approach/Solution Details

1. Parity coding in audio signal

Instead of breaking a signal down into individual samples, the parity coding method breaks a signal down into

separate regions of samples and encodes each bit from the secret message in a sample region's parity bit. If the

parity bit of a selected region does not match the secret bit to be encoded, the process flips the LSB of one of

the samples in the region.

2. Phase coding in audio signal

Phase coding relies on the fact that the phase components of sound are not as perceptible to the human ear as

noise is. It “works by substituting the phase of an initial audio segment with a reference phase that represents

the data. The phase of subsequent segments is then adjusted in order to preserve the relative phase between

segments”.

3. Masking approaches in steganography.

These techniques are similar to visible watermarking in which pixel values in masked areas are raised or

lowered by some percentage. Reducing the increment to a certain degree makes the mark invisible. In the

patchwork method, pairs of patches are selected pseudo-randomly; pixel values in each pair are raised by a

small constant value in one patch and lowered by the same amount in the other.

4. Transform domain techniques

Data embedding performed in the transform domain is widely used for robust watermarking. By being

embedded in the transform domain, the hidden data resides in more robust areas, spread across the entire

image, and provides better resistance against signal processing. We can perform a block DCT and, depending

on payload and robustness, choose one or more components in each block to form a new data group that, in

turn, is pseudo randomly scrambled and undergoes a second-layer transformation.

Page 6: Secure data transmission using video embedding

FUNCTIONAL REQUIREMENTS

Functional requirements define the fundamental actions that must take place in SECURE DATA TRANSMISSION in accepting and processing the inputs and in processing and generating the outputs.

The tool shall take the input of the file in extensions that are acceptable by Afilter in JAVA

The tool shall be able to accept and match the password during encryption and decryption.

The tool shall be able to take large size multimedia file that has to be hidden.

The tool is able to take the input of multimedia file and encrypt and decrypt it and also accordingly embed and de-embed behind a video file.

The tool shall be able to save the encrypted and embedded file at a desired location.

The user is able to use both the algorithms efficiently. The password matching is done successfully by the tool. The tool shall be able to retrieve the file at the desired location as input

by the user.

Page 7: Secure data transmission using video embedding

NON-FUNCTIONAL REQUIREMENTS

Error handlingTool shall handle expected and non-expected errors in ways that prevent loss in information and hidden data.

Performance RequirementsUser should be able to enter the values of field without any lag. User must be able to try to run the tool without any kind of compatible or

supporting problems. Safety RequirementsTool use shall not cause any harm to human users.  Reliability The tool shall ensure that the user actions are performed correctly as the user

requires: Tool shall be as accurate as possible and easy to use.Tool shall not give an output for empty input, the tool shall be able to recover

and react robustly with the error, by sending a message back to the user. Correctness All algorithms implemented in the system shall be correct which means that

they should be performed as required.

Page 8: Secure data transmission using video embedding

DESIGN IMPLEMENTATION

The users will first register and login from the username,

password chosen by them.

Then user will select a file from the system. This file can be

a text file which can be in a .txt extension or .pdf

extension. Also an image/video can be selected for

encryption and decryption by the user.

Sometimes the encrypted file may arise a suspicion of

some message being concealed in it so we have designed

a way of embedding data behind a video and transferring it

to the intended location so that the intruder does not know

the fact of message being hidden behind a video.

Page 9: Secure data transmission using video embedding

INFORMATION FLOWS

First in the project the user has to login or register if he has not done it yet. When the user registers the database connection that has been made in the project by the name (public class dbconnection) the information related to user is stored in fields such as user id, user phone number, user DOB etc.

The queries implemented in the

code are mentioned in the process section.

Below are level wise diagrams showing the ER diagram for database and database connection

Page 10: Secure data transmission using video embedding

GUI DESIGN MODEL

User interfaces are a medium of human and computer interaction. In this project following modules are the user interface where the user will input the file to be encrypted and embedded. Also a database connection has been done to store the information of each user’s account that has been created in the starting.

Following modules have been implemented in the project and it is a modified design.

 MODULES:RegisterLogin.Forgot PasswordEncryptionDecryption Embed MULTIMEDIA file in video files De-embed MULTIMEDIA files from video files.Transfer file one system to another system

Page 11: Secure data transmission using video embedding
Page 12: Secure data transmission using video embedding

ALGORITHMS IMPLEMENTED Spatial steganography technique mainly uses Least Significant bit (LSB)

algorithm for data embedding. In this technique for the insertion process a cover frame is selected. The least significant bit that is the 8th bit of some or all of the bytes of a binary image is modified to form the secret message. Basically there are many kinds of power level transforms that exist to transfer an image to its frequency domain, some of which are Discrete Cosine Transform and Discrete Wavelet Transform.

In least significant bit technique data can be hiding in an image by changing the LSB of each color byte as data bit. In a 24- bit image, one can store 3 bits in each pixel by changing a bit of each of the red, green and blue color components, since they are each represented by a byte. A 600×500 pixel image, can thus store a total amount of 900,000 bits or 112,500 bytes of embedded data. As an example, suppose that we have three adjacent pixels (9 bytes) with the RGB encoding.

10110011 01101101 11001101

10011010 01001111 11001111

10010111 01010010 10011011 When the number 330, can be which binary representation is 101001010 embedded

into the least significant bits of this part of the image. If we overlay these 9 bits over the LSB of the 9 bytes above, we get the following (where bits in bold have been changed)

10110011 01101100 11001101

10011010 01001110 11001111

10010110 01010011 10011010

Page 13: Secure data transmission using video embedding

EMBEDDING PROCESS IN VIDEO

Steps followed in this algorithm are as follows-:

Algorithm for embedding process:- Step 1: Read the cover Frame and

Image which is to be hidden in the cover image.

Step 2: Convert the Image into binary format.

Step 3: Calculate the Least Significant Bit(LSB) of every pixels of the cover image.

Step 4: Replace the Most Significant Bit(MSB) of cover image with secret message by using Least Significant Bit(LSB) Algorithm for the secret image which is to be embedded.

Step 5: Write the STEGO Frame.

Page 14: Secure data transmission using video embedding

DE-EMEDDING PROCESS IN VIDEO In retrieval of the encrypted file (De-embedding)

First we will take the original video and text file in which we have to embed into original image. Then we have to convert the video file into number of frames, we consider each frame as an image. Here we set the counter value to frames. Then we have converted the text data into binary format. Binary conversion is done by taking the ASCII value of each character and converting those ASCII values into binary format. We are going to set the counter value to the length of the binary message, so that the loop re[peats that much times. The LSB bit of the image pixel is replaced by the binary data. This encoded image called as stego video is ready for transmission through the internet. Algorithm for Extraction Process:-

Step 1: Read the STEGO Frame. Step 2: STEGO Frame is broken into Logo and cover Frame. Step 3: Calculate LSB of each pixels of STEGO Frame. Step 4: Retrieve bits and convert each 8 bit into one character. Step 5: Extract the Secret Logo

Page 15: Secure data transmission using video embedding

TINY ENCRYPTION ALGORITHM

The specification for TEA states a 128-bit key is to be divided into four 32-bit key words and the block size of each encryption is 64 bits, of which is to be divided into two 32-bit words. TEA utilizes a Feistel scheme for its encryption rounds in which 1 round of TEA includes 2 Feistel operations and a number of additions and bitwise XOR operations.

All addition operations are (mod 2^32).  R goes through a left shift of 4 and then

is added to K [0] R is added to Delta R goes through a right shift of 5 and then

is added to K [1]. An XOR operation is then applied to the result of those three operations and finally, the result of the XOR operation is added to L. This result then becomes R for the next feistel round, because of the swap.

Page 16: Secure data transmission using video embedding

SOCKET PROGRAMMING

Sockets provide the communication mechanism between two computers using TCP. A client program creates a socket on its end of the communication and attempts to connect that socket to a server. When the connection is made, the server creates a socket object on its end of the communication. The client and server can now communicate by writing to and reading from the socket.

The java.net.Socket class represents a socket, and the java.net.ServerSocket class provides a mechanism for the server program to listen for clients and establish connections with them. The following steps occur when establishing a TCP connection between two computers using sockets:

The server instantiates a ServerSocket object, denoting which port number communication is to occur on.

The server invokes the accept() method of the ServerSocket class. This method waits until a client connects to the server on the given port.

After the server is waiting, a client instantiates a Socket object, specifying the server name and port number to connect to.

The constructor of the Socket class attempts to connect the client to the specified server and port number. If communication is established, the client now has a Socket object capable of communicating with the server.

On the server side, the accept() method returns a reference to a new socket on the server that is connected to the client's socket.

After the connections are established, communication can take place using I/O streams. Each socket has both an OutputStream and an InputStream. The client's OutputStream is connected to the server's InputStream, and the client's InputStream is connected to the server's OutputStream.

Page 17: Secure data transmission using video embedding

Test ID INPUT EXPECTED OUTPUT ACTUAL OUTPUT STATUS

1 Multimedia file send between client and server.

The same file received at the server side.

Same file is retrieved. PASS

2 Hiding .txt, .pdf, .jpeg behind the encrypted file.

The encrypted file received on the other end.

Data not visible and hidden behind the encrypted text.

PASS

3 Try to give another password for specified user.

The user was not recognized.

Corrupt output. PASS

4 The key is entered same at the both ends.

The decrypted data at the other end visible.

The decrypted file visible. PASS

5 When wrong key is entered.

Absurd data visible. File is saved original data not visible.

PASS

6 If IP address entered wrong on both the sides.

File not received. The device not recognized. PASS

7 If file size is too small. The decryption is not done fully.

Some of the file is visible. FAIL

8 If file received but not found.

Encryption decryption failed.

Error in receiving file. Dialog box prompts.

FAIL

TEST CASES

Page 18: Secure data transmission using video embedding

TEST CASES

9 Multimedia file sent between client and server hidden in a video

The video received with the hidden data behind it.

The hidden data received at the other end and retrieved successfully.

PASS

10 The multimedia file embedded in a video.

The multimedia file successfully embedded.

A change in video size (even if minimal) observed.

PASS

11 The hidden data send in a video.

The hidden data retrieved. The video showed an error while loading hence process unsuccessful

FAIL

12 The data properly hidden within frames.

The frames successfully received and data hidden retrieved.

Error with the frames loading hence the data not retrieved

FAIL

13 The size of the multimedia file is very low.

The file not recognized within data.

The hidden data not received.

FAIL

14 The file size is heavy. The file successfully embedded within the video.

The minimal size change in video observed and file successfully retrieved.

PASS

Page 19: Secure data transmission using video embedding

FINDINGSIn this project while implementing two algorithms one Least Significant Bit and other Tiny Encryption Algorithm it was found out that both of them in their respective fields of steganography and cryptography are simple efficient and easy to implement. Thus these algorithms gave successful results with every multimedia file used. Also the file was successfully sent from client to server using socket programming and by inputting the correct IP address.

 CONCLUSIONThe requirements and aim we took at the beginning was successfully achieved. The application has been implemented and tested successfully. The outputs for the various inputs are observed and found 90% correct (1 test case fail in 10 tests). In future, the multimedia size can be increased to facilitate quick computation of complex files. Finally it was a nice and unique experience to be a part of such project and looking forward to take this project to a higher level.

  

6.3. FUTURE WORKFuture work involves setting up a channel for secure transmission of data from client to server in which cloud computing virtual monitor will be used. Also, as image and text files were encrypted and embedded the same process will be extended to video and audio. Submitted the paper 1569973173 ('Performance Evaluation of LSB and LSD in Steganography') to 2014 Seventh International Conference on Contemporary Computing (IC3), IC3-2014.

FINDINGS AND CONCLUSIONS

Page 20: Secure data transmission using video embedding

RESUME OF STUDENT

NAME - Meenal AgrawalBRANCH - Computer ScienceBATCH - B-3 (4TH YEAR)

TECHNICAL SKILLSBasic Programming: C, C++, Computer NetworksWeb Development: PHP, HTML, AJAX, CSS, XML.Database: SQL.Interests: Adobe Photoshop CS5 and Adobe Illustrator

PROJECTS UNDERTAKENMAJOR I: MULTIMEDIA HIDING TOOL USING STEGANOGRAPHY MINOR II: INTRUSION PREVENTION SYSTEM MINOR I: EDUCATION DOMAIN BASED SEARCH ENGINE AND ITS PERSONALIZATION

EDUCATIONAL QUALIFICATIONS CLASS 12TH - DELHI PUBLIC SCHOOL, RK PURAM CLASS 10TH - RYAN INTERNATIONAL SCHOOL, VASANT KUNJ GRADUATION- JAYPEE INSTITUTE OF INFORMATION TECHNOLOGY,SECTOR-62, NOIDA