Method for anonymizing client MAC address for cloud report

文档序号:91097 发布日期:2021-10-08 浏览:7次 中文

阅读说明:本技术 对用于云报告的客户端mac地址进行匿名化的方法 (Method for anonymizing client MAC address for cloud report ) 是由 K·A·鲁姆巴提斯 W·C·小哈雷 A·内佳达尔 于 2020-02-28 设计创作,主要内容包括:一种用于对待传输到本地网络之外的用户可识别信息进行匿名化的方法包括:基于(i)分配给本地网络的客户端站的第一MAC地址,(ii)分配给本地网络的网络网关装置的第二MAC地址,以及(iii)客户端站的数据要被传输到的外部网络的云实体的标识符,生成网络实体散列输入。所述方法还包括使用散列化函数基于网络实体散列输入和随机令牌值生成散列值输出,基于散列值输出生成与客户端站相关联的匿名化MAC地址,以及将与客户端站相关联的匿名化MAC地址传输到外部网络的云实体。(A method for anonymizing user identifiable information to be transmitted outside a local network, comprising: a network entity hash input is generated based on (i) a first MAC address assigned to a client station of a local network, (ii) a second MAC address assigned to a network gateway device of the local network, and (iii) an identifier of a cloud entity of an external network to which data of the client station is to be transmitted. The method also includes generating a hash value output based on the network entity hash input and the random token value using a hashing function, generating an anonymized MAC address associated with the client station based on the hash value output, and transmitting the anonymized MAC address associated with the client station to a cloud entity of the external network.)

1. A method for anonymizing user identifiable information to be transmitted outside a local network, the method comprising:

generating a first network entity hash input based on (i) a first MAC address assigned to a client station of the local network, (ii) a second MAC address assigned to a network gateway device of the local network, and (iii) a first identifier of a first cloud entity of a first external network to which data of the client station is to be transmitted;

generating a first hash value output based on the first network entity hash input and a random token value using a hashing function;

generating a first anonymized MAC address associated with the client station based on the first hash value output; and

transmitting a first anonymized MAC address associated with the client station to a first cloud entity of the first external network.

2. The method of claim 1, wherein:

generating a first anonymized MAC address associated with the client station includes generating the first anonymized MAC address based on the first hash value output according to an offset selection function, and

applying the offset selection function comprises using a first offset value as an index to the first hash value output, the index indicating a location within the first hash value output of data to be used as a basis for the first anonymized MAC address.

3. The method of claim 1, further comprising:

generating N additional network entity hash inputs based on (i) a first MAC address assigned to a client station of the local network, (ii) a second MAC address assigned to a network gateway device of the local network, and (iii) N additional identifiers of N additional cloud entities of N additional external networks;

generating N additional hash value outputs based on the N additional network entity hash inputs and the random token value using the hashing function, respectively;

generating N additional anonymized MAC addresses associated with the client station based on the N additional hash value outputs, respectively; and

transmitting N additional anonymized MAC addresses associated with the client station to N additional cloud entities of the N additional external networks, respectively,

wherein N is a value corresponding to a total number of additional cloud entities of additional external networks to which data of the client station is to be transmitted.

4. The method of claim 3, wherein the first identifier of the first cloud entity and each of the N additional identifiers of the N additional cloud entities are different from each other such that the first anonymized MAC address and each of the N additional anonymized MAC addresses are different from each other.

5. The method of claim 3, wherein:

the first cloud entity and the N additional cloud entities are upper network functions or network servers, and

the first identifier of the first cloud entity and the N additional identifiers of the N additional cloud entities are different URL addresses or unique names.

6. The method of claim 3, wherein in response to the client station leaving the local network and rejoining the local network, the method further comprises:

regenerating a same first anonymized MAC address associated with the client station for a first cloud entity of the first external network; and

regenerating the same N additional anonymized MAC addresses associated with the client station for N additional cloud entities of the N additional external networks, respectively.

7. A network gateway device for anonymizing user identifiable information to be transmitted outside a local network, the network gateway device comprising:

a memory storing computer readable instructions; and

a processor configured to execute the computer readable instructions to,

generating a first network entity hash input based on (i) a first MAC address assigned to a client station of the local network, (ii) a second MAC address assigned to a network gateway device of the local network, and (iii) a first identifier of a first cloud entity of a first external network to which data of the client station is to be transmitted;

generating a first hash value output based on the first network entity hash input and a random token value using a hashing function;

generating a first anonymized MAC address associated with the client station based on the first hash value output; and

transmitting a first anonymized MAC address associated with the client station to a first cloud entity of the first external network.

8. The network gateway device of claim 7, wherein:

generating a first anonymized MAC address associated with the client station includes generating the first anonymized MAC address based on the first hash value output according to an offset selection function, and

applying the offset selection function comprises using a first offset value as an index to the first hash value output, the index indicating a location within the first hash value output of data to be used as a basis for the first anonymized MAC address.

9. The network gateway device of claim 7, wherein the processor is further configured to execute the computer-readable instructions to:

generating N additional network entity hash inputs based on (i) a first MAC address assigned to a client station of the local network, (ii) a second MAC address assigned to a network gateway device of the local network, and (iii) N additional identifiers of N additional cloud entities of N additional external networks;

generating N additional hash value outputs based on the N additional network entity hash inputs and the random token value using the hashing function, respectively;

generating N additional anonymized MAC addresses associated with the client station based on the N additional hash value outputs, respectively; and

transmitting N additional anonymized MAC addresses associated with the client station to N additional cloud entities of the N additional external networks, respectively,

wherein N is a value corresponding to a total number of additional cloud entities of additional external networks to which data of the client station is to be transmitted.

10. The network gateway device of claim 9, wherein the first identifier of the first cloud entity and each of the N additional identifiers of the N additional cloud entities are different from each other such that the first anonymized MAC address and each of the N additional anonymized MAC addresses are different from each other.

11. The network gateway device of claim 9, wherein:

the first cloud entity and the N additional cloud entities are upper network functions or network servers,

the first identifier of the first cloud entity and the N additional identifiers of the N additional cloud entities are different URL addresses or unique names.

12. The network gateway device of claim 9, wherein, in response to the client station leaving the local network and rejoining the local network, the processor is further configured to execute the computer-readable instructions to:

regenerating a same first anonymized MAC address associated with the client station for a first cloud entity of the first external network; and

regenerating the same N additional anonymized MAC addresses associated with the client station for N additional cloud entities of the N additional external networks, respectively.

13. A non-transitory computer readable storage medium containing program instructions for anonymizing user identifiable information to be transmitted outside a local network, the program instructions, when executed by a processor of a network gateway device, cause the network gateway device to:

generating a first network entity hash input based on (i) a first MAC address assigned to a client station of the local network, (ii) a second MAC address assigned to a network gateway device of the local network, and (iii) a first identifier of a first cloud entity of a first external network to which data of the client station is to be transmitted;

generating a first hash value output based on the first network entity hash input and a random token value using a hashing function;

generating a first anonymized MAC address associated with the client station based on the first hash value output; and

transmitting a first anonymized MAC address associated with the client station to a first cloud entity of the first external network.

14. The computer-readable storage medium of claim 13, wherein:

generating a first anonymized MAC address associated with the client station includes generating the first anonymized MAC address based on the first hash value output according to an offset selection function, and

applying the offset selection function comprises using a first offset value as an index to the first hash value output, the index indicating a location within the first hash value output of data to be used as a basis for the first anonymized MAC address.

15. The computer readable storage medium of claim 13, wherein the program instructions, when executed by the processor, further cause the network gateway apparatus to:

generating N additional network entity hash inputs based on (i) a first MAC address assigned to a client station of the local network, (ii) a second MAC address assigned to a network gateway device of the local network, and (iii) N additional identifiers of N additional cloud entities of N additional external networks;

generating N additional hash value outputs based on the N additional network entity hash inputs and the random token value using the hashing function, respectively;

generating N additional anonymized MAC addresses associated with the client station based on the N additional hash value outputs, respectively; and

transmitting N additional anonymized MAC addresses associated with the client station to N additional cloud entities of the N additional external networks, respectively,

wherein N is a value corresponding to a total number of additional cloud entities of additional external networks to which data of the client station is to be transmitted.

16. The computer-readable storage medium of claim 15, wherein the first identifier of the first cloud entity and each of the N additional identifiers of the N additional cloud entities are different from each other such that the first anonymized MAC address and each of the N additional anonymized MAC addresses are different from each other.

17. The computer-readable storage medium of claim 15, wherein:

the first cloud entity and the N additional cloud entities are upper network functions or network servers,

the first identifier of the first cloud entity and the N additional identifiers of the N additional cloud entities are different URL addresses or unique names.

18. The computer readable storage medium of claim 15, wherein, in response to the client station leaving the local network and rejoining the local network, the program instructions, when executed by the processor, further cause the network gateway device to:

regenerating a same first anonymized MAC address associated with the client station for a first cloud entity of the first external network; and

regenerating the same N additional anonymized MAC addresses associated with the client station for N additional cloud entities of the N additional external networks, respectively.

Background

In wireless or wired networks, the transmission of incidental client identification information (e.g., a media access control address in 48-bit extended unique identifier format, also referred to herein as an EUI-48 MAC address) outside of the local ecosystem is not permitted due to existing or emerging privacy laws. It is therefore desirable to anonymize client identifying information transmitted to an external network in a reproducible manner, such that the same anonymized MAC address derived for a given client is always provided to, but unique to, a given network entity.

Disclosure of Invention

According to some exemplary embodiments of the inventive concepts described herein, a method for anonymizing user identifiable information to be transmitted outside a local network is provided. The method may include generating a first network entity hash input based on (i) a first MAC address assigned to a client station of the local network, (ii) a second MAC address assigned to a network gateway device of the local network, and (iii) a first identifier of a first cloud entity of a first external network to which data of the client station is to be transmitted. The method may further comprise: generating a first hash value output based on the first network entity hash input and the random token value using a hashing function; generating a first anonymized MAC address associated with the client station based on the first hash value output; and transmitting a first anonymized MAC address associated with the client station to a first cloud entity of a first external network.

In some exemplary embodiments, the method may include: generating the first anonymized MAC address associated with the client station includes generating the first anonymized MAC address based on the first hash value output according to an offset selection function, and applying the offset selection function includes using the first offset value as an index of the first hash value output, the index indicating a location within the first hash value output of data to be used as a basis for the first anonymized MAC address.

In some exemplary embodiments, the method may include: n additional network entity hash inputs are generated based on (i) a first MAC address assigned to a client station of the local network, (ii) a second MAC address assigned to a network gateway device of the local network, and (iii) N additional identifiers of N additional cloud entities of N additional external networks. The method may further comprise: generating N additional hash value outputs based on the N additional network entity hash inputs and the random token value, respectively, using a hashing function; generating N additional anonymized MAC addresses associated with the client station based on the N additional hash value outputs, respectively; and transmitting N additional anonymized MAC addresses associated with the client station to N additional cloud entities of N additional external networks, wherein N is a value corresponding to a total number of additional cloud entities of the additional external networks to which data of the client station is to be transmitted.

In some exemplary embodiments, the first identifier of the first cloud entity and each of the N additional identifiers of the N additional cloud entities are different from each other such that the first anonymized MAC address and each of the N additional anonymized MAC addresses are different from each other.

In some exemplary embodiments, the first cloud entity and the N additional cloud entities are upper network functions or network servers, and the first identifier of the first cloud entity and the N additional identifiers of the N additional cloud entities are different URL addresses or unique names.

In some example embodiments, in response to the client station leaving the local network and rejoining the local network, the method may further comprise: regenerating the same first anonymized MAC address associated with the client station for a first cloud entity of the first external network; and regenerating the same N additional anonymized MAC addresses associated with the client station for N additional cloud entities of the N additional external networks, respectively.

According to some other example embodiments of the inventive concepts disclosed herein, a network gateway apparatus may be provided for anonymizing user identifiable information to be transmitted outside a local network. The network gateway apparatus may include a memory storing computer readable instructions and a processor configured to execute the computer readable instructions to perform the steps of the above-described method.

According to still other exemplary embodiments of the inventive concepts disclosed herein, a non-transitory computer-readable medium containing program instructions for anonymizing user-identifiable information to be transmitted outside a local network may be provided. The program instructions, when executed by a processor of a network gateway apparatus, cause the network gateway apparatus to perform the steps of the above-described method.

Drawings

Fig. 1 is an illustration of an example of a network, according to some example embodiments.

Fig. 2 depicts an example of an anonymization module, according to some example embodiments.

Fig. 3 depicts details of an example of an anonymization method according to some example embodiments.

Fig. 4 is a diagram illustrating an example of an offset selection function, according to some example embodiments.

Fig. 5 is a block diagram of an example of a network gateway apparatus, according to some example embodiments.

Detailed Description

For simplicity and illustrative purposes, the principles of the embodiments are described by referring mainly to examples thereof. In the following description, numerous specific details are set forth in order to provide a thorough understanding of some example embodiments. It will be apparent, however, to one skilled in the art that some other exemplary embodiments may be practiced without limitation to these specific details. In some instances, well known methods and structures have not been described in detail so as not to unnecessarily obscure the exemplary embodiments.

SUMMARY

Aspects of the present disclosure provide systems and methods for uniquely anonymizing user-identifiable information (e.g., the EUI-48 MAC address of a client station) transmitted outside of a local network ecosystem. Some example embodiments may be implemented, for example, on a Gateway (GW) device and/or any device in a network ecosystem that provides client data outside of a local network ecosystem to an external entity (e.g., of a cloud network). In some example embodiments, the local network gateway device may be a Cable Modem (CM), an Optical Network Unit (ONU), an Optical Network Terminal (ONT), or any other similar device that becomes a gateway for the local network to an external cloud network.

For example, a method is defined and described in this disclosure to satisfy privacy requirements for anonymizing client device data so that privacy laws are met. This approach ensures that any client identification information (e.g., EUI-48 MAC address) provided outside of the local network ecosystem is unique to the local network ecosystem to which the client device is connected, and is also unique to the different cloud entities to which the client identification information is provided. Anonymized client identifying information will be provided to any external network outside of the local ecosystem (so that the cloud entity of the external network does not receive the "true" EUI-48 MAC address assigned to the client device). In addition, for a given client device, different cloud entities of different external networks may each be provided with different anonymized client identifying information.

In some exemplary embodiments, the key to the method is to utilize a combination of local network information, client information, and a unique identifier of the cloud device receiving the data from the home ecosystem in conjunction with a hashing algorithm to anonymize the client device data on a per local network and per external network cloud entity basis. The hashing method defined is HMAC-SHA256, but according to some other exemplary embodiments, other hashing algorithms known or that may be developed in the future may be utilized. The data being used are:

1) CM EUI-48 MAC address or other local network GW device EUI-48 MAC address,

2) the seed value (or token) is randomized,

3) the client station EUI-48 MAC address,

4) a cloud entity unique identifier, an

5) An offset key (or offset value), which is used as an index to the generated hash, indicates the location of the data to be used as the basis for anonymizing the EUI-48 MAC address, thereby providing an additional layer of obfuscation.

Thus, anonymized client device data is unique not only to each local network, but also to each cloud entity of the external network to which the anonymized client device data is provided.

For client devices or Stations (STAs), it must be noted that the "real" STA EUI-48 MAC address will continue to be used for data plane (DATA PLANE) communications. However, any external network entity that is collecting data about the STA should receive the anonymized EUI-48 MAC address associated with the STA created for that particular external network entity. This will prevent data mining of the connected STA devices so that each individual external network entity will receive a different anonymized EUI-48 MAC address for any given STA.

It should also be noted that the anonymized EUI-48 MAC address for each STA is unique, but may be generated repeatedly for each external network entity. Thus, if a STA leaves a Local Area Network (LAN) and then rejoins the same LAN, the GW device of that LAN may regenerate the same anonymized EUI-48 MAC address for each external network entity to which client data is provisioned, respectively.

Implementation-network topology

Fig. 1 is an illustration of an example of a network, according to some example embodiments. Fig. 1 shows a possible embodiment of a network1 anonymized with client device information. Note that in the figure, the STA represents the network client device 20 as defined in the 802.11-2016 specification. In the exemplary network1 of fig. 1, there may be multiple client STA devices 20 and multiple cloud entities 30 of multiple external networks 40, and the particular number of client STAs 20, cloud entities 30, and/or external networks 40 may be few or many according to various exemplary embodiments.

In the network diagram of fig. 1 (network 1 example):

1) each connected client device 20 (e.g., STA 1, STA 2, [. ], STA M) has a unique EUI-48 MAC address (STA MAC address) assigned to it by its manufacturer.

2) Each network1 connected to the cloud 40 has other subtending devices through which the gateway 10 or higher layer entities (clouds) know the network. This may be a cable modem, an ONU, an ONT or any device that becomes a gateway 10 to the network1 to the cloud 40. This device will also have a manufacturer assigned EUI-48 MAC address (GW MAC address).

3) This gateway device 10 may provide wired LAN network access, wireless LAN network access, or some other physical layer access so that STAs gain higher level network access through the network gateway device. The local network may also include one or more network switches 12 and/or one or more network repeaters 14.

4) Each cloud entity 30 (e.g., cloud entity 1, cloud entity 2, [. ], cloud entity N) has a method of establishing communication between the network gateway apparatus 10 and itself. This is typically a URL or some other identifier (cloud entity identifier) that uniquely identifies the cloud entity 30 to the network gateway apparatus 10.

System information

Fig. 2 depicts an example of an anonymization module, according to some example embodiments. Fig. 2 shows an example of an anonymization module 200 that generates an anonymization STA MAC address 260 that is passed to a higher layer cloud entity 30. For example, anonymization module 200 may include circuitry and/or processing that, in conjunction with network gateway apparatus 10, performs anonymization algorithm 250. In some exemplary embodiments, the anonymization module 200 may be implemented by a computer processor executing software in the form of computer-readable instructions stored on a memory device. Thus, the network gateway device 10 may include a combination of hardware and software programmed to generate anonymized STA MAC addresses 260 that are unique to each local network1 and unique to the cloud 30 of the external network 40. However, in some other exemplary embodiments, the described method does not preclude the use of hardware blocks (e.g., various logic gates) to execute the anonymization algorithm 250.

A detailed description of exemplary internal structural components of the network gateway device 10 shown in fig. 1 implementing the anonymization module 200 shown in fig. 2 will be provided below with reference to fig. 5. In general, the present disclosure contemplates that local network gateway 10 is a hardware device comprising an electronic component or electronic computing device operable to receive, transmit, process, store, and/or manage data and information associated with a system, encompassing any suitable processing device or control circuitry adapted to perform computing tasks consistent with the execution of computer-readable instructions stored in a memory or non-transitory computer-readable medium.

As part of an embodiment of this anonymization method, a software process will be executed by the processor to collect the respective MAC addresses 210 and 220 of the network gateway device 10 and each connected STA device 20, providing data to the external network cloud 40 through the network gateway device 10 for each connected STA device. Furthermore, the software process executed by the processor should collect information about the connection to the cloud-based network entity 30, which collects information from the local network 1. The defined method utilizes the collected pieces of information (STA MAC address 220 and network interface address such as CM MAC address or other GW MAC address 210) and encryption techniques to generate a plurality of randomized data associated with each connected STA device 20 for presentation outside the local network1 (e.g., cloud entity 30 for transmission to external network 40).

Anonymized MAC address generation

Fig. 3 depicts details of an example of an anonymization method according to some example embodiments. Fig. 3 is a flowchart of a process performed by the network gateway apparatus 10 for anonymizing client identification information (e.g., STA MAC address 220). To generate the anonymized client STA MAC address 260, according to some example embodiments, a processor of the network gateway apparatus 10 may execute an anonymization algorithm 250 stored in a memory of the network gateway apparatus 10.

In some exemplary embodiments, the key to the illustrative anonymization method 250 is the HMAC-SHA256 hashing algorithm 254, which takes as input:

1) a local network gateway device MAC address 210 (e.g., 12 hexadecimal characters) in EUI-48 format.

2) A cloud entity identifier 230, which is a value that uniquely identifies each cloud entity of the external network entity 30 to which STA data is to be transferred. In some example embodiments, this may be a URL address of a web server or any other data that uniquely identifies the web server addressed for STA data. - (variable character length). In some other example embodiments, this may also be a Network identifier (or name) assigned by the local Network, such as "Network 1", "ACS Server 1", or another identifier that is unique among all other external Network servers that access STA data.

3) A client STA MAC address 220 (e.g., 12 hexadecimal characters) in EUI-48 format.

4) A token value 240 that is a randomized seed value that meets the requirements of a FIPS-198 compatible token. It is proposed that this token value 240 be at least 32 hexadecimal characters in length. In some example embodiments, the token value 240 may be generated by and stored in the network gateway apparatus 10.

5) An offset key (or offset value) 257, which is an index of the 256-bit (64 hexadecimal characters) output 256 generated by the HMAC-SHA256 from the HMAC-SHA256 hashing algorithm 254, from which the anonymized STA MAC address 260 in the EUI-48 format (e.g., 12 hexadecimal characters) of the resulting report will be extracted according to an offset selection function 258. This would provide an additional layer of data obfuscation for those users that do not own the "real" EUI-48 MAC address 220 of the client. For example, in the case of a 64 hexadecimal character hash value output 256, the "least significant bits" (e.g., the last character) of the original client STA MAC address 220 may be used as the offset key 257 (e.g., a hexadecimal value ranging from 0 to f, which is converted to a decimal offset value ranging from 0 to 15). In another example, the sum of the 4 smallest or least significant hexadecimal characters of the STA MAC address 220 may be used as the bias key 257. These examples will make the offset selection function 258 unique on a per client STA device basis. However, some other example embodiments are not so limited, and any offset value 257 (e.g., programmatically or randomly) ranging between 0 and 50 may be selected into the 64 hexadecimal character hash groups 256.

According to the above exemplary embodiment, the reported anonymized STA MAC address 260 is 12 hexadecimal characters to maintain consistency with the current EUI-48 MAC address content. However, some other exemplary embodiments are not limited thereto.

The following sections will define and demonstrate how anonymized STA MAC addresses 260 may be generated with these inputs for subsequent transmission to higher layer network entities (e.g., of an external cloud network), according to some example embodiments.

1.1.1 cloud entity identifier 230

Each external network device (cloud entity) 30 to which client data is to be provided should be assigned a unique identifier. This identifier must be unique for each external network device 30 to which the requesting client data or client data is provided. The identifier 230 may be a URL of a web server, a unique string assigned to the cloud entity 30, or any other value that is different from other cloud entity identifiers.

1.1.2 token 240

A value generated by an encrypted random process unique to the network gateway apparatus 10. In some exemplary embodiments, the length of this value should be at least 32 hexadecimal characters, and should be sufficiently random that it cannot be derived from any information collected from the network gateway apparatus 10. This token 240 should be used for the calculations described below.

1.1.3STA MAC Address 220

A value assigned to a client station device connected to the local network. This value is typically assigned by the manufacturer of the client STA device. In the EUI-48 format, the value is 12 hexadecimal characters in length.

1.1.4 gateway MAC Address 210

A value assigned to the network gateway device 10 by the manufacturer of the GW device. In the EUI-48 format, the value is 12 hexadecimal characters in length.

1.1.5 scattered data offset 257

The offset key (or offset value) used as an index to the HMAC-SHA256 data (hash value output) 256 from which the resulting anonymized client STA MAC address 260 to be reported to the particular cloud entity 30 of the external network 40 will be extracted. For example, in the case of 64 hexadecimal character hash value output 256, the skew key 257 could be any value ranging from 0 to 50. However, some other exemplary embodiments of the offset are not limited thereto, as long as the offset 257 does not exceed the total length of the hashed output 256 minus 12 hexadecimal characters.

1.2 Hash Generation

To generate a hash value 252 for each cloud entity for a particular STA 20, the network gateway device 10 performing the first step (S1) of the anonymization method 250 would aggregate (e.g., concatenate or otherwise combine) the following:

a. the STA MAC address 220 assigned to the client device 20 for which anonymized data is to be inferred,

b. a GW MAC address 210 assigned to the local network gateway device 10 that is providing STA data, an

c. A cloud entity identifier 230 assigned to the cloud entity 30 of the external network 40.

This resulting data is a string or value called the network entity hash input 252.

Thereafter, the second step (S2) of the network gateway device 10 performing the anonymization method 250 will subsequently be:

1) network entity hash inputs 252 and

2) the token 240 (as described above) is input into a hash function (e.g., HMAC-SHA256 hashing algorithm 254). However, it is contemplated that other known or future developed hashing algorithms may be used in some other example embodiments.

In some exemplary embodiments, the output (256 bits) 256 of the HMAC-SHA256 hashing algorithm will be converted to 64 hexadecimal strings by this method.

Finally, the third step (S3) of the network gateway device 10 performing the anonymization method 250 uses the offset algorithm (offset selection function) 258 to select how far out of the 64 hexadecimal characters of the generated output data (hash value output) 256 to step to collect the 12 hexadecimal characters of the resulting MAC address based on the offset key (or offset value) 257 for reporting to this given client device 20 of a given cloud entity 30 of the external network 40 as the anonymized STA MAC address 260 of the client device 20. Once the anonymized STA MAC address 260 is generated, it may be securely transmitted to the corresponding cloud entity 30 of the external network 40 through the network gateway apparatus 10.

Fig. 4 is a diagram illustrating an example of an offset selection function, according to some example embodiments. Fig. 4 depicts two non-limiting examples relating to the selected offset value 257 and the resulting anonymized client STA MAC address 260 in connection with step S3 of fig. 3.

An exemplary STA MAC address 220 having 12 hexadecimal characters may be (004096241625). In FIG. 4, an exemplary HMAC SHA-256 output 256 with 64 hexadecimal characters is provided (217 d 4b 9716 fa 1a 8a fd 543 a 937 c 0b c4 a 03 c 929854 d5 b 7c 3 ed 19 ab 90 c 84 d cc 3099).

In a first example of the offset selection function 258, the "least significant bits" (last hexadecimal character) of the example STA MAC address 220 may be used as the offset 257 in the generated hash value output 256. Thus, in example 1 of fig. 4, the offset key 257 is '5'. Then, in the example HMAC SHA-256 output 256, an offset value 257 may be applied to skip the first 5 hexadecimal characters (217 d 4) and select the next 12 hexadecimal characters (b 9716 f a 1a 8 af) as the resulting anonymized STA MAC address 260 in example 1.

In the second example of the offset selection function 258 of fig. 4, the sum of the 4 lowest hexadecimal characters (the last 4 hexadecimal characters) of the example STA MAC address 220 may be used as the offset 257 in the generated hash value output 256. Thus, in example 2 of fig. 4, the offset key 257 is 1+6+2+5 is 14. Then, in the example HMAC SHA-256 output 256, this offset value 257 may be applied to skip the first 14 hexadecimal characters (217 d 4b 9716 fa 1a) and select the next 12 hexadecimal characters (8a fd 543 a 937 c) as the resulting anonymized STA MAC address 260 in example 2.

It should be appreciated, however, that the example given in fig. 4 is merely intended to illustrate how the offset selection function 258 functions in practice, and that any particular MAC address, offset selection function, offset value, and selected character are not intended to limit the scope of the claimed invention in any way. In some exemplary embodiments, the offset value 257 may be calculated, alternated, randomized, or otherwise programmatically generated (as long as the offset value 257 is at least 12 hexadecimal characters less than the total length of the hashed output 256). For example, in the case of 64 hexadecimal character hash value output 256, the skew key 257 could be any value ranging from 0 to 50 (e.g., to allow the remaining 12 hexadecimal characters required by the MAC address). Thus, depending on the particular offset value 257 used, the characters selected for the anonymized client STA MAC address 260 according to the offset selection function 258 may be the first 12 hexadecimal characters, the last 12 hexadecimal characters, or the 12 hexadecimal characters located somewhere in the middle of the 64 hexadecimal character hash value output 256. However, in some other exemplary embodiments, the (wrap) index calculation may also be wrapped across the character boundaries of the hash value output 256, such that in the case of 64 hexadecimal character hash value outputs 256, the offset value 257 is not necessarily limited to a range of 0 to 50. For example, the offset selection function 258 may select the last "x" hexadecimal characters of the hash value output 256 based on the offset value 257 and wrap (wrap back) to the beginning to select the first "y" hexadecimal characters of the hash value output 256 (x + y ═ 12 hexadecimal characters in total) as the anonymized STA MAC address 260. Thus, many different possible algorithms are contemplated in conjunction with the offset selection function 258.

Fig. 5 is a block diagram of an example of a network gateway apparatus, according to some example embodiments. As shown in fig. 5, network gateway apparatus 10 includes a processor 101, memory 102, and a bus 103, as well as other electronic components (e.g., for wired or wireless communication).

Processor 101 controls the general operation of network gateway device 10 and may include, but is not limited to, a Central Processing Unit (CPU), a dedicated control circuit, a hardware microprocessor, a multi-core processor, a single-core processor, a Field Programmable Gate Array (FPGA), a microcontroller, an Integrated Circuit (IC), an Application Specific Integrated Circuit (ASIC), a large scale integrated circuit (LSI), a system LSI, a super LSU or super LSI component, a Digital Signal Processor (DSP), or other similar processing device capable of executing any type of instructions, algorithms, programs, or software for controlling circuitry and performing the functions described above for network gateway device 10.

The memory 102 may be a non-transitory computer readable medium that stores various programming code (e.g., software instructions) and data for implementing an anonymization algorithm when executed by the processor 101. The memory 102 may include a single memory or multiple memories or memory locations including, but not limited to, Random Access Memory (RAM), Dynamic Random Access Memory (DRAM), memory buffers, hard drives, databases, erasable programmable read-only memory (EEPROM), read-only memory (ROM), flash memory, logic blocks of a Field Programmable Gate Array (FPGA), a hard disk, or any other various layers of a memory hierarchy. Memory 102 may be used to store any type of software instructions, including anonymization programs associated with algorithms, processes, or operations for controlling the general functions and operations of network gateway apparatus 10 and performing anonymization methods for client station apparatuses. For example, the memory 102 may include RAM as working memory of the processor 101 and/or non-volatile memory provided for storing program code, software, applications, device information, user data, and various other data associated with anonymization of client STA MAC addresses in the network.

The bus 103 is an internal connection for realizing communication between the respective electronic components of the network gateway apparatus 10. For example, the processor 101 may store and retrieve from the memory 102 via the bus 103 program instructions and/or data related to an anonymization algorithm.

In summary, the anonymization method and network gateway apparatus described above provide enhanced privacy and security of client identification information using encryption techniques. In particular, the method and system may generate anonymized STA MAC addresses that are unique not only to each client STA device and local network, but also to each cloud entity of different external networks. Thus, any upper layer functions and/or server devices of the external cloud network will not have access to the "real" MAC address of the client STA device (and will be prevented from reverse engineering such client identifying information from the anonymized STA MAC address without knowing the specific details of the anonymization algorithm, the particular input data, the random token, the hash function, and the offset value used by the local network gateway device). Furthermore, the offset selection function (e.g., by using a different offset for each client STA device) provides an additional layer of protection and randomization for the client identification information. The inventive concepts described herein for anonymizing client STA device identification data may effectively prevent tracking of client STA device locations and/or analysis of client STA device data usage over external cloud networks, for example, in order to comply with privacy laws.

Each element of the invention may be configured by implementing in memory dedicated hardware or software programs that control the processor to perform the functions of any component or combination thereof. For example, any component may be implemented as a CPU or other processor that reads and executes a software program from a recording medium such as a hard disk or a semiconductor memory. The processes disclosed above constitute examples of algorithms that may be influenced by software, an application (application or mobile application), or a computer program. Software, applications, computer programs, or algorithms may be stored on a non-transitory computer readable medium for instructing a computer (e.g., a processor in an electronic device) to execute the methods or algorithms described herein and illustrated in the figures (fig. 1-4). Software and computer programs (which may also be referred to as programs, applications, components, or code) include machine instructions for a programmable processor, and may be implemented in a high-level procedural, object-oriented, functional, logical, or assembly language, or machine language.

The term "non-transitory computer-readable medium" refers to any computer program product, apparatus or device, such as magnetic disks, optical disks, solid State Storage Devices (SSDs), memories, and Programmable Logic Devices (PLDs), used to provide machine instructions or data to a programmable data processor, including a computer-readable medium that receives machine instructions as a computer-readable signal. By way of example, computer-readable media may comprise DRAM, RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium which may be used to carry or store desired computer-readable program code in the form of instructions or data structures and which may be accessed by a general-purpose or special-purpose computer, or a general-purpose or special-purpose processor. Disk or disc, as used herein, includes Compact Disc (CD), laser disc, optical disc (optical disc), Digital Versatile Disc (DVD), floppy disk and blu-ray disc. Combinations of the above are also included within the scope of computer-readable media.

While the principles of the inventive concepts have been described above in connection with specific apparatuses, devices, systems, algorithms, programs, and/or methods, it is to be clearly understood that this description is made only by way of example and not as a limitation. One of ordinary skill in the art appreciates that various modifications and changes can be made without departing from the scope of the claims below.

When used in the claims, the word "comprise" or its derivatives are used in a non-exclusive sense, which is not intended to exclude the presence of other elements or steps in the claimed structure or method. As used in the specification herein and throughout the claims that follow, "a" and "the" include plural references unless the context clearly dictates otherwise. Further, as used in the description herein and throughout the claims that follow, the meaning of "in … …" includes "in … …" and "on … …" unless the context clearly dictates otherwise. The use of the phrases "capable," "configured to," or "operable to" in one or more embodiments refers to some devices, logic, hardware, and/or elements designed to be usable in a particular manner.

The above description illustrates examples of how various embodiments, as well as aspects of particular embodiments, may be implemented and presented to illustrate the flexibility and advantages of particular embodiments as defined by the following claims, and should not be construed as the only embodiments. One of ordinary skill in the art will recognize, based on the foregoing disclosure and the following claims, that other arrangements, embodiments, implementations and equivalents may be employed without departing from the scope herein defined by the claims. It is contemplated that implementations of the components and functions of the present disclosure may be accomplished with any emerging technology that may replace any of the above-implemented technologies. Accordingly, the specification and figures are to be regarded in an illustrative rather than a restrictive sense, and all such modifications are intended to be included within the scope of present invention. The benefits, advantages, solutions to problems, and any element(s) that may cause any benefit, advantage, or solution to occur or become more pronounced are not to be construed as a critical, required, or essential feature or element of any or all the claims. The invention is defined solely by the appended claims including any amendments made during the pendency of this application and all equivalents of those claims as issued.

18页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:基于检测到的事件的计算设备的通信连接的动态控制

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类