System and method for radio frequency fingerprinting
A computer-implemented method comprising: monitoring transmissions representing estimation of a wireless channel, between at least one beamformer communication device and a plurality of beamformee communication devices; at a training stage, training a machine learning model on a training dataset comprising: (i) a plurality dataframes of a standard beamforming protocol associated with at least some of the monitored transmissions, and (ii) labels indicating an association between the dataframes and the STAs; and at an inference stage, applying the trained machine learning model to a target transmission representing estimation of a wireless channel, to predict whether the target transmission was transmitted from one of the STAs.
1 . A system comprising:
at least one hardware processor; and
a non-transitory computer-readable storage medium having stored thereon program instructions, the program instructions executable by the at least one hardware processor to:
monitor wireless data transmissions representing a beamforming process of a wireless communication protocol between a beamformer communication device and a beamformee communication device, to obtain a plurality of beamforming dataframes transmitted by said beamformee communication device,
calculate, from said beamforming dataframes, a feature vector representing said beamforming dataframes, wherein said feature vector is calculated from said beamforming dataframes by: (i) extracting angle parameters from said beamforming dataframes, (ii) calculating at least one pre-steering matrix, based on the extracted angle parameters, and (iii) producing, from the at least one pre-steering matrix, said feature vector, and
generate, from said feature vector, a radio frequency (RF) fingerprint for said beamformee communication device.
2 . The system of claim 1 , wherein said program instructions are further executable to:
(i) receive target wireless data transmissions associated with said beamformee communication device; and
ii determine that said target wireless data transmissions originated from said beamformee communication device, based on said generated RF fingerprint.
3 . The system of claim 1 , wherein said feature vector represents steering data pertaining to at least one of: (i) a specific subcarrier of the wireless channel, (ii) a specific antenna of the beamformer communication device, and (iii) a specific antenna of the beamformee communication device.
4 . The system of claim 1 , wherein calculating the feature vector further comprises:
(i) obtaining, from a memory device associated with said beamformer communication device, at least one data element pertaining to Channel Status Information (CSI) associated with said beamforming dataframes; and
(ii) calculating said feature vector based on the angle parameters and the at least one CSI data element.
5 . The system of claim 1 , wherein calculating the feature vector further comprises:
(i) extracting one or more subcarrier-specific signal to noise ratio (SNR) values from the data frames of the standard beamforming protocol;
(ii) calculating said feature vector based on the angle parameters and the one or more subcarrier-specific SNR values.
6 . The system of claim 1 , wherein said beamforming dataframes may comprise one or more single user (SU) compressed beamforming action frames, and/or one or more multiple user (MU) compressed beamforming action frames.
7 . A computer-implemented method comprising:
monitoring wireless data transmissions representing a beamforming process of a wireless communication protocol between a beamformer communication device and a beamformee communication device, to obtain a plurality of beamforming dataframes transmitted by said beamformee communication device;
calculating, from said beamforming dataframes, a feature vector representing said beamforming dataframes, wherein said feature vector is calculated from said beamforming dataframes by: (i) extracting angle parameters from said beamforming dataframes, (ii) calculating at least one pre-steering matrix, based on the extracted angle parameters, and (iii) producing, from the at least one pre-steering matrix, said feature vector; and
generating, from said feature vector, a radio frequency (RF) fingerprint for said beamformee communication device.
8 . The computer-implemented method of claim 7 , further comprising:
(i) receiving target wireless data transmissions associated with said beamformee communication device; and
(ii) determining that said target wireless data transmissions originated from said beamformee communication device, based on said generated RF fingerprint.
9 . The computer-implemented method of claim 7 , wherein said feature vector represents steering data pertaining to at least one of: (i) a specific subcarrier of the wireless channel, (ii) a specific antenna of the beamformer communication device, and (iii) a specific antenna of the beamformee communication device.
10 . The computer-implemented method of claim 7 , wherein calculating the feature vector further comprises:
(i) obtaining, from a memory device associated with said beamformer communication device, at least one data element pertaining to Channel Status Information (CSI) associated with said beamforming dataframes; and
(ii) calculating said feature vector based on the angle parameters and the at least one CSI data element.
11 . The computer-implemented method of claim 10 , wherein calculating the feature vector further comprises:
(i) extracting one or more subcarrier-specific signal to noise ratio (SNR) values from the data frames of the standard beamforming protocol;
(ii) calculating said feature vector based on the angle parameters and the one or more subcarrier-specific SNR values.
12 . The computer-implemented method of claim 7 , wherein said beamforming dataframes may comprise one or more single user (SU) compressed beamforming action frames, and/or one or more multiple user (MU) compressed beamforming action frames.
13 . A computer program product comprising a non-transitory computer-readable storage medium having program instructions embodied therewith, the program instructions executable by at least one hardware processor to:
monitor wireless data transmissions representing a beamforming process of a wireless communication protocol between a beamformer communication device and a beamformee communication device, to obtain a plurality of beamforming dataframes transmitted by said beamformee communication device;
calculate, from said beamforming dataframes, a feature vector representing said beamforming dataframes, wherein said feature vector is calculated from said beamforming dataframes by: (i) extracting angle parameters from said beamforming dataframes, (ii) calculating at least one pre-steering matrix, based on the extracted angle parameters, and (iii) producing, from the at least one pre-steering matrix, said feature vector; and
generate, from said feature vector, a radio frequency (RF) fingerprint for said beamformee communication device.
14 . The computer program product of claim 13 , wherein said program instructions are further executable to:
(i) receive target wireless data transmissions associated with said beamformee communication device; and
(ii) determine that said target wireless data transmissions originated from said beamformee communication device, based on said generated RF fingerprint.
15 . The computer program product of claim 13 , wherein said feature vector represents steering data pertaining to at least one of: (i) a specific subcarrier of the wireless channel, (ii) a specific antenna of the beamformer communication device, and (iii) a specific antenna of the beamformee communication device.
16 . The computer program product of claim 13 , wherein calculating the feature vector further comprises:
(i) obtaining, from a memory device associated with said beamformer communication device, at least one data element pertaining to Channel Status Information (CSI) associated with said beamforming dataframes; and
(ii) calculating said feature vector based on the angle parameters and the at least one CSI data element.
17 . The computer program product of claim 13 , wherein calculating the feature vector further comprises:
(i) extracting one or more subcarrier-specific signal to noise ratio (SNR) values from the data frames of the standard beamforming protocol;
(ii) calculating said feature vector based on the angle parameters and the one or more subcarrier-specific SNR values.