1. A method for coordinating beacon transmission times for a plurality of access points (APs) in a wireless local area network, comprising
generating a first neighboring AP list listing one or more neighboring AP(s) of a first AP, wherein the first AP and the one or more neighboring AP(s) are arranged to offer network services;
deriving a first beacon transmission time for the first AP according to the first neighboring AP list; and
transmitting a beacon message at the first beacon transmission time by the first AP.
2. The method as claimed in claim 1, wherein the first neighboring AP list further lists one or more hidden AP(s) that isare located in the wireless local area network but beyond coverage area of the first AP.
3. The method as claimed in claim 1, wherein the first AP and the one or more neighboring AP(s) occupy a same wireless channel.
4. The method as claimed in claim 1, wherein the step of generating the first neighboring AP list further comprises:
receiving a beacon message from at least one of the one or more neighboring AP(s); and
generating the first neighboring AP list based on the received beacon message.
5. The method as claimed in claim 4, further comprising:
comparing the first neighboring AP list with a second neighboring AP list obtained from the received beacon message; and
updating the first neighboring AP list according to the comparison.
6. The method as claimed in claim 1, further comprising:
receiving at least one response message from at least one station receiving the beacon message, wherein the at least one response message comprises a discovered AP list listing one or more AP(s) discovered by the station;
comparing the first neighboring AP list with the discovered AP list; and
updating the first neighboring AP list according to the comparison.
7. The method as claimed in claim 1, further comprising:
deriving a second beacon transmission time for at least one of the one or more neighboring AP(s); and
transmitting a beacon message at the second beacon transmission time by the at least one of the one or more neighboring AP(s),
wherein a span of the first beacon transmission time and the second beacon transmission time is less than one beacon interval.
8. The method as claimed in claim 1, wherein the step of deriving the first beacon transmission time further comprises:
equally dividing a beacon interval by a total number of APs in the wireless local area network to obtain a plurality of segments, wherein the total number of APs in the wireless local area network is derived by a total number of APs in the first neighboring AP list plus one;
selecting a predetermined segment from the plurality of segments; and
determining a time within the predetermined segment as the first beacon transmission time.
9. The method as claimed in claim 8, wherein the predetermined segment is selected from the plurality of segments by choosing one segment in which an original target beacon transmission time (TBTT) of the first AP falls.
10. The method as claimed in claim 8, further comprising:
selecting another segment, other than the predetermined segment, from the plurality of segments for deriving the first beacon transmission time for the first AP when receiving a beacon message from at least one of the one or more neighboring AP(s) during the predetermined segment.
11. The method as claimed in claim 8, wherein the time within the predetermined segment is randomly determined based on a random seed.
12. The method as claimed in claim 11, further comprising:
changing the random seed utilized for determining the time when transmission of the beacon message of the first AP is detected to collide with transmission of a beacon message of another AP.
13. A communications system with a plurality of access points (APs) forming a Hot Spot that offers network services over a wireless local area network, comprising:
a first AP, generating a first neighboring AP list listing one or more neighboring AP(s) of the first AP, deriving a first beacon transmission time according to the first neighboring AP list, and transmitting a first beacon message at the first beacon transmission time; and
a second AP, receiving the first beacon message, deriving a second beacon transmission time according to the first beacon message so as to coordinate beacon transmission times between the plurality of APs, and transmitting a second beacon message at the second beacon transmission time.
14. The communications system as claimed in claim 13, wherein the first AP further receives the second beacon message, compares the first neighboring AP list with a second neighboring AP list obtained from the second beacon message so as to find out one or more hidden AP(s) that isare located in the wireless local area network but beyond coverage area of the first AP, and updates the first neighboring AP list according to the comparison so as to add the one or more hidden AP(s) in the first neighboring AP list.
15. The communications system as claimed in claim 13, wherein the first AP further receives at least one response message from at least one station in the wireless local area network receiving the first beacon message, wherein the at least one response message comprises a discovered AP list listing one or more AP(s) discovered by the station, so as to find out one or more hidden AP(s) that isare located in the wireless local area network but beyond coverage area of the first AP, compares the first neighboring AP list with the discovered AP list, and updates the first neighboring AP list according to the comparison so as to add the one or more hidden AP(s) in the first neighboring AP list.
16. The communications system as claimed in claim 13, wherein the second AP further generates a second neighboring AP list listing one or more neighboring AP(s) of the second AP, compares the second neighboring AP list with the first neighboring AP list obtained from the first beacon message so as to find out one or more hidden AP(s) that isare located in the wireless local area network but beyond coverage area of the second AP, updates the second neighboring AP list according to the comparison so as to add the one or more hidden AP(s) in the second neighboring AP list and derives the second beacon transmission time according to the second neighboring AP list.
17. The communications system as claimed in claim 16, wherein the firstsecond AP derives the firstsecond beacon transmission time by equally dividing a beacon interval by a total number of APs in the wireless local area network to obtain a plurality of segments, wherein the total number of APs in the wireless local area network is derived from the firstsecond neighboring AP list, selects a predetermined segment from the plurality of segments, and determines a time within the predetermined segment as the firstsecond beacon transmission time.
18. The communications system as claimed in claim 17, wherein the predetermined segment is selected from the plurality of segments by choosing one segment in which an original target beacon transmission time (TBTT) of the firstsecond AP falls.
19. The communications system as claimed in claim 17, wherein the firstsecond AP further selects another segment other than the predetermined segment, from the plurality of segments for deriving the firstsecond beacon transmission time when receiving a third beacon message from another AP during the predetermined segment before transmitting the firstsecond beacon message.
20. The communications system as claimed in claim 17, wherein the time within the predetermined segment is randomly determined based on a random seed.
21. The communications system as claimed in claim 17, wherein the firstsecond AP further changes the random seed utilized for determining the time when transmission of the firstsecond beacon message is detected to collide with transmission of another beacon message.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
1. An apparatus for tamper protection of an application code based on self modification, the apparatus comprising:
an input unit that receives input codes to be used for an application;
a code separator that separates the inputted codes into sensitive codes requiring application tamper protection and general codes including a sensitive method calling routine for calling the sensitive codes by analyzing the input codes;
an encoder that encrypts the sensitive codes and inserts the address of a sensitive code connector storing the address information of the sensitive codes;
a controller that converts the sensitive method calling routine to be able to call dummy codes by inserting the dummy codes to the general codes, inserts a vector table generator for creating a vector table including vector information of the sensitive codes, to the sensitive codes, and inserts a sensitive method calling routine converter, which makes the sensitive method calling routine to call the sensitive codes when the application is executed, to the sensitive codes; and
a code combiner that creates the application by combining the general codes and the sensitive codes, wherein,
the sensitive code connector, the vector table generator, the sensitive method calling routine converter, and the sensitive codes are decoded,
the vector table generator creates the vector table, and
the sensitive method calling routine converter converts the sensitive method calling routine to call the sensitive codes, and when the sensitive method calling routine calls the sensitive codes through a vector value in the vector table, the sensitive code connector calls and executes a sensitive code corresponding to the vector value via the vector table and the address information of the sensitive codes.
2. The apparatus of claim 1, further comprising:
a first compiler that complies the sensitive codes added with the sensitive code connector, the vector table generator, and the sensitive method calling routine converter under a native environment; and
a second compiler that creates an execution file by compiling general codes converted so that the sensitive method calling routine calls dummy codes, under a managed environment.
3. The apparatus of claim 2, wherein the encoder encrypts a binary code by performing a code protection scheme based of self modification on the compiled sensitive codes.
4. The apparatus of claim 3, wherein a code converter adds a startup routine to be loaded with the sensitive codes to the general code.
5. The apparatus of claim 4, further comprising a scrambler that scrambles the sensitive codes and the general codes by replacing sensitive identifiers defined in the codes with meaningless characters or character strings.
6. The apparatus of claim 5, wherein when a client receiving the application executes the application, using the startup routine, the general code in the format of DEX file is converted into the format of an ODEX (Optimized DEX) file and loaded on a dalvik virtual machine.
7. A method of tamper protection of an application, using an apparatus for tamper protection of an application, the method comprising:
receiving input codes to be used for an application;
separating the inputted codes into sensitive codes requiring application tamper protection and general codes including a sensitive method calling routine for calling the sensitive codes by analyzing the input codes;
encrypting the sensitive codes and inserting the address of a sensitive code connector storing the address information of the sensitive codes;
converting the sensitive method calling routine to be able to call dummy codes by inserting the dummy codes to the general codes and inserting a vector table generator for creating a vector table including vector information of the sensitive codes, to the sensitive codes;
inserting a sensitive method calling routine converter, which makes the sensitive method calling routine call the sensitive codes when the application is executed, to the sensitive codes;
creating the application by combining the general codes and the sensitive codes;
performing a startup routine when a client receiving the application executes the application;
decoding the encrypted sensitive code connector, the vector table generator, the sensitive method calling routine converter, and the sensitive codes;
creating the vector table by the vector table generator; and
converting the sensitive method calling routine to call the sensitive codes by the sensitive method calling routine converter, wherein when the sensitive method calling routine calls the sensitive codes through a vector value in the vector table, the sensitive code connector calls and executes a sensitive code corresponding to the vector value via the vector table and the address information of the sensitive codes.
8. The method of claim 7, further comprising:
compiling the sensitive codes added with the sensitive code connector, the vector table generator, and the sensitive method calling routine converter under a native environment; and
creating an execution file by compiling general codes converted so that the sensitive method calling routine calls dummy codes, under a managed environment.
9. The method of claim 8, wherein an encoder encrypts a binary code by performing a code protection scheme based of self modification on the compiled sensitive codes.
10. The method of claim 9, wherein a general code in the format of DEX file is converted into the format of an ODEX (Optimized DEX) file and loaded on a dalvik virtual machine (DVM).