Design and Implementation of Multilevel Access Control in Synchronized Audio to Audio Steganography Using Symmetric Polynomial Scheme

Steganography techniques are used in Multimedia data transfer to prevent adversaries from eaves dropping. Synchronized audio to audio steganography deals with recording the secret audio, hiding it in another audio file and subsequently sending to multiple receivers. This paper proposes a Multilevel Access control in Synchronized audio steganography, so that Audio files which are meant for the users of low level class can be listened by higher level users, whereas the vice-versa is not allowed. To provide multilevel access control, symmetric polynomial based scheme is used. The steganography scheme makes it possible to hide the audio in different bit locations of host media without inviting suspicion. The Secret file is embedded in a cover media with a key. At the receiving end the key can be derived by all the classes which are higher in the hierarchy using symmetric polynomial and the audio file is played. The system is implemented and found to be secure, fast and scalable. Simulation results show that the system is dynamic in nature and allows any type of hierarchy. The proposed approach is better even during frequent member joins and leaves. The computation cost is reduced as the same algorithm is used for key computation and descendant key derivation. Steganography technique used in this paper does not use the conventional LSB’s and uses two bit positions and the hidden data occurs only from a frame which is dictated by the key that is used. Hence the quality of stego data is improved.


Introduction
Transmission of audio files is very important for many applications and it is found that this transmission takes place through an insecure medium.For a live session where on the go audio transmission takes place, efficient techniques should be used.One way of preventing the dissemination of secret audio is through digital audio stenography.This protects valuable information from unauthorized persons.For real time audio transmissions the secret data is recorded and send subsequently to the receivers.For hiding the message there is a need for a secret key that is available with all receivers.This key has to be changed to preserve forward and backward secrecy.There is an additional very important requirement called the multilevel access control.There are many scenarios in which situation arises, that only some users should be able to hear the data or all higher level users should also be able to hear the message that are relayed to the descendant users.To implement such a multilevel access control in steganography symmetric polynomial approach is used.In most existing schemes, key derivation is different from key computation.Key derivation needs iterative computation of keys for nodes along the path from a node to its descendant, which is inefficient if the path is long.In this scheme, both operations are same by substituting (different) parameters in the same polynomial function assigned to node v. Thus, the key derivation efficiency can be improved.Our scheme also supports full dynamics at both node and user levels and permits any random access hierarchies.More importantly, removing nodes and/or users is an operation as simple as adding nodes and/or users in the hierarchy.A trusted Central Authority (CA) can assign secrets (i.e., polynomials) to corresponding nodes so that nodes can compute their keys.Also, nodes can derive their descendants' keys without involvement of the CA once polynomial functions were distributed to them.In addition, the storage requirement and computation complexity at the CA are almost same as that at individual nodes, thus, the CA would not be a performance bottleneck and can deal with dynamic operations efficiently.
The rest of the paper is as follows, Section 2 deals with related work Section 3 gives an insight into multilevel access control problem.Section 4 gives the system Overview, Section 5 describes the audio steganography method Section 6 deals about the symmetric polynomial approach Section 7 shows the simulation results and Section 8 gives the performance analysis and Section 8 concludes the paper.

Related Work in Steganography
Information hiding using steganography [1] relates to protection of text, image, audio and digital content on a cover medium [2][3][4][5].The cover media in many cases has been an image [1].Aoki presented a method in which information that is useful for widening the base band is hidden into the speech data [6].Sub band Phase shifting was also proposed for acoustic data hiding [3].All these schemes focus on data that is stored in a hard disk or any other hardware whereas there are many applications like military warfare where the audio data is to be given in real time as in live broadcast system.Techniques for hiding the audio in real time came into existence [7] and systems for synchronized audio steganography has been developed and evaluated [8].In our scheme secret speech data is recorded and at the same time it is sent to the receiver and a trusted receiver extracts the speech from the stego data using the key which is shared between the server and the receiver.

Related Work in Multilevel Access Control
The first multi level access solution was proposed by Akl et al. [9,10] in 1983 and followed by many others [11][12][13][14][15][16][17][18][19][20][21].These schemes basically rely on a one-way function so that a node v can easily compute v's descendants' keys whereas v's key is computationally difficult to compute by v's descendant nodes.In this paper, we propose a new scheme based on symmetric polynomials for synchronized audio data.Unlike many existing schemes based on one-way functions, our scheme is based on a secret sharing method which makes the scheme unconditionally secure [21,22].Also, this multilevel access con-trol requires two types of key operations: (1) key computation.A node v computes its own key and (2) key derivation.A node v computes its descendants' keys.

Multi Level Access Control Problem
In practice, many group applications contain multiple related data streams and have the members with various access privileges.These applications prevail in various scenarios.
1) Multimedia applications distributing data in multilayer coding format.For example, in a video broadcast, users with a normal TV receiver can receive the normal format, while others with HDTV receivers can receive both the normal format and the extra information needed to achieve HDTV resolution.
2) Communications in hierarchically managed organizations, such as military group communications where participants have different access authorizations.
3) Multilevel access control can be effectively used in Audio library and patient monitoring system.
4) E-newspaper subscription service may have multiple data streams.The service provider classifies the users into membership groups and provides data streams according to the subscription.
5) Video multicasting service in which users can subscribe to services with different video quality.Defense messaging systems where the server sends messages and one or more can see the message according to the access rights.
In these applications, group members subscribe to different data streams, or possibly multiple of them.Thus, it is necessary to develop group access control mechanism that supports the multi-level access privilege, which is referred to as the Multilevel Access Control.

System Overview
Multilevel Access Control applied to real time audio to audio steganography is useful for organizations which have a hierarchical structure.e.g., in the Indian Military system the following hierarchy exists in "Figure 1".In such a type of system, audio messages sent to a lower class should be heard by the active members of lower class and also by all active members of the higher class.It is not only essential to maintain the access control but the data should be hidden as well.The sequence of events is as follows.
At the server: 1) Generate a general polynomial.
2) Give a symmetric polynomial to each of the classes.
3) Record the real time audio on a microphone.4) Use Steganography technique to hide the audio into another audio.
5) A text can also be hidden in an audio file.
6) The file is encrypted by the class key for whom the Message is to be relayed.
7) The symmetric polynomial generates a key in this case.The server takes care to include class dynamics so the hierarchy can be changed at any time.
8) Users can join or leave a class at all instances.Keys are recalculated so that Forward and Backward secrecy is maintained.9) If the users within the group need to transfer message among themselves.The private key of the users is used.
The above steps are given pictorially in "Figure 2".At the receiver: 1) All the active receivers will receive the audio file.
2) If the recipient belongs to the actual intended class he can use the polynomial to get the hidden audio file instantaneously.
3) If the recipient belongs to a class lower than the Actual intended class in the hierarchy, he will not be able to derive the key .The polynomial derivation method will give a null value.
4) If the recipient belongs to a higher class he can derive the key and hear to the audio file and in case a text message was sent it can be seen.
5) The users at the same class can transfer messages among them.
6) When a user leaves or joins.The new polynomials are given by the server and the private keys also get updated according to the new polynomial.Other classes are not affected by this.
7) Service messages can be sent from higher class users to lower class users.
The above steps are explained pictorially in "Figure 3".

Stego data frames
Trusted receiver

Features of our Model
Solutions of a synchronized steganography have been given in past [8].In this once the stego data reaches the destination the audio can be listened by the trusted receiver.Our contributions are 1) The key is used during the embedding process also.
2) The key is not a simple key it identifies a class of users.
3) If the key used belongs to a low level group in the hierarchy, the higher level class of user can derive the key using the symmetric polynomial approach and listen to it.
4) There can be normal message transfer among the Group elements and also service messages from higher classes.
5) Forward and backward secrecy is maintained.
6) It is a dynamic one where new hierarchies can be introduced, User level and class level dynamics are taken care.

Synchronized Audio to Audio Steganography
The data to be sent is not available.It is recorded in real time before starting the steganography scheme.When the covering media is being played at the same time the audio file is recorded and put into the cover file.The stego bit stream is then transmitted to the receivers.Multilevel Access control using symmetric polynomial is used at this stage to generate the key to make secure transmission of the audio file.According to the hierarchy the trusted users are able to retrieve the hidden audio file.In this system, both of cover data and secret data are divided into fix-sized frames according to pulse code modulation setting.To cover low size and high phonetic quality the sampling rate of the hidden audio is set to 8 kHz.Three main processes are involved in the synchronized audio to audio steganography. 1) Using data sampling, acoustic signals are embedded into another audio.
2) Bit Embedding: The key used helps in hiding the audio file in bit positions and once the bit positions are found data is hidden after performing an operation on secret data and the key.
3) Synchronized Process: Malicious and intentional attacks can be avoided as the secret data is real time.
Step 4: Decide two bit locations in each frame and clear the bit in the locations.
hide the secret data bits into these bit locations by again performing an operation on the secret data along with the key.The cover media has two channels so data is written on both the channels.Other bits are not changed.
Step 5: The next set of data will go to the next frame.
Step 6: Do the repetitive process till the recoding is over.
Step 9: At the receiving end, use the key and play the audio.
Step 10: If the receiving user belongs to higher class, he can derive the key and listen to the audio.

Symmetric Polynomial
A CA selects a large positive integer P as the system modulus, p need not be a prime and a threshold number t so that less than t + 1 users cannot collaborate together to disclose their ancestors' keys.Then, the CA can randomly generate a symmetric polynomial in m variables with co-efficient from Z p in which the degree of any variables is at most t as: where 1 2 , , , m i i i a  are randomly generated coefficients by the CA.The polynomial function , , , m P x x x  is kept as a secret to the CA.Every class in the hierarchy has a polynomial function which is derived from and the polynomial function is transmitted to each class securely by the CA.

Example for Symmetric Polynomial
The following polynomial function is a suitable example for symmetric polynomials.

Polynomial Function
To derive proper keys in the hierarchy, the CA generates some publicly known numbers 1) n random numbers s i associated with C i for i = 1, 2, ... n and 2) and (m − 1) additional random numbers r j for j =1, 2, ..., m -1 (Note: s i and r j belong to Z p ).
For each class C i with an ancestor set where i j is an ordinal number such that Here m is the number of parameter in the polynomial function P, where P is to construct our multi level access control scheme.
We illustrate with a sample hierarchy "Figure 4" Here we have nine classes Ancestral classes' sets are From the previous step, we need to choose m such that m ≥ max{m 1 , m 2 , m 3 , …, m 9 }.Let us choose m = 7, it will allow to expand the hierarchy without changing the value of m.
Symmetric polynomial, we are using here is as follows , , , , , ', ', , ' Key Derivation: In key derivation, we are using a term Sj/I which is , , , Consider a class C i which is ancestor to class C j and key K j can be calculated by C i as, It can be seen that when the class derives its own key and when a ancestor of this class derives the key same parameters are passed in the polynomial but the combination differs when a wrong ancestor derives the key, the parameters are not the same.
2) If m ≥ max{m 1 , m 2 , ..., m n , m r } + 1, the CA selects a random number s r for the new class C r so that a new polynomial function g r can be computed and transmitted to class C r securely.However, if class C r is added as a parent class of any existing classes, we need to modify keys of C r 's descendant classes to prevent class C r from obtaining old keys of its descendant.

Deleting a Class
When a class C r is removed from the hierarchy, we need to determine whether the class C r is a leaf node or a parent node.Here, a leaf node is defined as a node without any descendant: 1) class C r is a leaf node: The CA can simply discard the public parameter s r without changing any other keys.
2) class C r is a parent node: Once class C r is deleted from the hierarchy, we cannot allow it to compute keys of C r 's descendant classes using polynomial function g r .We need to prevent class C r from accessing its descendants' resources.

Moving a Class
A class C r can be moved from one node to another node in the hierarchy.There are four cases: 1) leaf node to another leaf node: the CA simply recomputes new polynomial function g r according the new hierarchy and securely transmits g r to C r .
2) leaf node to parent node: the CA recomputes polynomial functions of class C r and C r 's new descendant classes according to the new hierarchy.The CA securely transmits polynomial functions to the affected classes; 3) parent node to leaf node: the CA recomputes polynomial functions of previous descendant classes of C r and class C r according to the new hierarchy and then, securely transmits these polynomial functions to the affected classes 4) parent node to parent node: the CA recomputes polynomial functions of previous and present descendant classes of C r and class C r according to the new hierarchy and then, securely transmits these polynomial functions to the affected classes.

Merging a Class
Two or more classes can merge together and become one class C r .Similarly, the CA needs to find previous and present descendant classes of the merging classes.The CA randomly chooses a new number sr and then, generates polynomial functions for all corresponding classes.

Splitting a Class
A class C r splits into two classes C r1 and C r2 .Depending on whether C r is a parent node or leaf node, the CA has to determine what previous and present descendant cla-sses are associated with these classes (C r , C r1 and C r2 ).The CA then selects two new numbers s j1 and s j2 and generates polynomial functions for these affected classes.

Adding a Link
If two classes C r and C k are linked together, we establish a new direct parent-child relationship between two classes, say class C r is the parent of class C k .There are two different cases: 1) class C r was an ancestor of class C k through other classes.The CA does not need to perform anything; and 2) class C r is the only parent for class C k in the new hierarchy.The CA selects a new number S k , and generates new polynomial functions for class C k and its descendants classes.The CA securely transmits new polynomial functions to these affected classes.

Deleting a Link
If two linked classes C r and C k are disconnected, we destroy a direct parent-child relationship between two classes, say class C r will not be the parent of class C k in the new hierarchy.Again, there are two different cases: 1) class C r is still an ancestor of class C k through other classes in the new hierarchy.The CA does not need to perform anything; and 2) class C r is not an ancestor for class C k in the new hierarchy.The CA selects a new number S k , and generates new polynomial functions for class C k and its descendants classes.The CA securely transmits new polynomial functions to these affected classes.

User Level Dynamics
In this scheme, every class represents certain access privileges.Also, a group of users in a class can share a key if they belong to the same class.For example, all users in class C j can compute the keys of class C j and its descendant classes.Dynamic user operations deal with how a user can join in a class or leave from a class, and possible displacement from one class to a different class.They all require the class key to be changed after any user operation is completed so that the issue of backward secrecy and forward secrecy can be addressed.Specifically, our scheme can revoke a user from a class C j .It is as quick and efficient as to join a user in the class C j .Both operations require that the CA randomly select a new public parameter s j for C j and recompute a new polynomial function g j by using the new s j .Since the polynomial function g j is newly produced, other polynomial functions and keys are also recomputed for the descendant classes of C j .This will guarantee both backward secrecy and forward secrecy.The efficiency can be improved if backward secrecy or forward secrecy is not required.Another common user operation is to allow a user to move from one class C j to another class C k .Here, the CA will randomly choose two new public parameters s j and sk for C j and C k so that new polynomial functions and keys are recomputed and transmitted to C j , C k and their descendants respectively.Thus, both backward secrecy and forward secrecy are guaranteed.

User Join
Every time if a single user wants to join a group the CA just allows the user to be added to the hierarchy and generates a private for that user by providing the corresponding group key.When a new user joins the hierarchy, it should be provided with a group key and there are no changes to be made on the user's key.

User Leave
When a user wants to leave from the hierarchy the CA change the group key by making changes on anyone of the following changing the polynomial or changing the value factor P.

Simulation Results
The system is developed using .NET and found to be secure and fast.The system takes care of USER level and class level dynamics.The large number of numbers prevents a possible guessing.e.g., for a eight parameter polynomial, 16 (i.e., 10922789888000) combinations possible.Bursty leave and join operations also are possible and the system can be used for any hierarchy.The outputs are shown in Figures 6-10.

Performance Analysis
Performance and security: Each user u i will receive     The time complexity for computing the group key is O (w 2n ).An important measure for a secure group com munication scheme is the number of rekeying messages.Suppose that t users will be joining the group.The TA will send k and g i to each of them respectively (2t messages) and broadcast one message to tell which users are joining.The total number of rekeying messages is O (2t).Suppose that t users are leaving the group.The TA only broadcasts one message to tell which users are leaving, thus the number of rekeying messages is O (1).Suppose that t users are joining and another v users are leaving the group, the total number of rekeying messages is still O (2t).
As for the security of the scheme, if w + 1 class collude, then they can Figure out the function f entirely.Therefore, the scheme is w-resilient.Moreover, if less than w + 1 classes collude, they cannot get any information about the key, i.e., any value in the key space looks like a valid and equiprobable key to these colluding users.It follows that the scheme is unconditionally secure.

Memory
Each user will be able to calculate the key based on the   polynomial and hence very less memory is used.All parameters are publicly available and using the same method keys of lower hierarchy can be derived by substituting the corresponding parameters as given by the derivation module.The steganography module does not involve any storage for storing the already recorded data as always data is recorded and subsequently sent to the receivers.The size of the cover medium does not in-crease because only two bits are used in each channel.

Computation Cost
When the user joins there is no need for recalculation because the recorded message has already been played.When a user leaves a group key is recalculated and given to the class.Private keys are generated from this.The  value of the new key involves not a change of parameters but a change of mod P value.Hence each class will be able to get a new polynomial value by passing the same parameters.Any left user will not be able to get the key.Only one key is used during creation of stego data.The higher class users need not remember the keys of all their descendant classes but rather using a simple scheme derive the exact parameters to generate the key.Hence the computation cost is reduced.

Communication Cost
The P value is changed by the Trusted Authority and when the users try to calculate the key the new key will be generated.The computation cost is reduced because, the class users are not bothered about the key transmis-sion.Once the polynomial is given the users can calculate their own key.

Dynamics
Class joining, Class leaving, Dynamic Hierarchy and New user joining a class are all done by the trusted authority in a phased manner thereby allowing the scheme to scale to greater hierarchy.Additionally local messaging and service messages are taken care in this system.

No of Rekeys
To calculate the no of changes might be made on the user's key based on user join/leave.Key must be changed when a new user is being joined/left from the hierarchy In the Hierarchy "Figure 11" for analyzing the no. of rekeys there are 50 classes and Let every classes consists of four users each, then we can calculate an unique key for every class based on this group key, we can generate a private key for every single user.
Classes: Totally fifty classes of eight levels Users: Every class is consists of 4 users User joins: Every time if a single user wants to join a group the CA just allows the user to be added to the hierarchy and generates a private for that user by providing the corresponding group key.The secrecy is maintained as the audio is real time.User leave: When a user wants to leave from the hierarchy the CA change the group key by making changes on anyone of the following Changing the polynomial, or by Changing the value factor P. The total no of key changes to be made = No. of Ancestor classes + 1 as shown in Table 1.show that any type of hierarchy can be introduced and all dynamics can be done.For a 8 parameter polynomial that can have use 8 among the 16 values there are 16 combinations.Also, nodes can derive their descendants' keys without involvement of the CA once polynomial functions were distributed to them.In addition, the storage requirement and computation complexity at the CA are almost same as that at individual nodes, thus, the CA would not be a performance bottleneck and can deal with dynamic operations efficiently.

Future Work
1) The Trusted authority can still made secure by changing the value of the parameters.
2) A symmetric polynomial can be changed by the trusted authority.
3) Bit selection for steganography can be made by using some pseudo random generator.

Figure 2 .
Figure 2. At the server.
given a polynomial function, g i derived by the CA as, based scheme:A is an set of n classes -{C 1 , C 2 , C 3 ,…, C n } B isa set of ancestral classes of set A. B = {S 1 , S 2 , S 3 , …, S n } mi is calculated as the number of the ancestral classes m i = |S i |.We choose m such that m ≥ max{m 1 , m 2 , …, m n } + 1.
Example Key DerivationConsider that C 3 is an ancestor class to class C 7 .

,
Key Derivation of class 7 by class 3 using Equation(2)


Which is equal to the key calculated by class7 itself.Key Derivation of class 3 by class 7 using Equation(2)

Figure 7 .
Figure 7. Key calculation for all classes.

Figure 11 .
Figure 11.Hierarchy analyzed for calculating the no. of rekeys.

9. 1 .
ConclusionsThus in this Paper, Design And Implementation Of Multilevel Access Control In Synchronized Audio To Audio Steganography Using Symmetric Polynomial Scheme is implemented successfully .The implementation results If m < max{m 1 , m 2 , ..., m n , m r } + 1, a new m value will be generated so that m ≥ max{m 1 , m 2 , ..., m n , m r } + 1.Also, the CA will regenerate a new polynomial functions