seemoo-lab / csicloak

15 stars 3 forks source link

CSI randomizer preambles #1

Open zikunliu6 opened 2 years ago

zikunliu6 commented 2 years ago

Hi there, thanks for sharing your code. I just have a question about the send_randomized_csi.m script.

If I get it right, this script is to modify the WLAN packet and let the router get the disturbed CSI through Nexmon_CSI. I assume that CSI is extracted through the VHT-LTF in nexmon_CSI, why did you modify every field of the WLAN packet including STF, LTF, and even the data field of the packet? Any specific reasons for that? Thanks!

marcocominelli commented 2 years ago

The CSI is computed from the VHT-LTF indeed. However, the receiver uses this information to equalize the entire frame (especially the payload).

If we modify the VHT-LTF only, there will be a mismatch between the CSI and the channel response of every other field. The receiver will apply the wrong equalization and eventually fail to decode the frame. Hence, the entire WLAN frame should undergo the same "change" in order not to impede communication.

I hope this answer solves your doubts!

zikunliu6 commented 2 years ago

Thanks for your prompt response! This is really helpful. I also tried to just modify the PHY preambles and kept the data field untouched, then I found out that CSI received by Nexmon is the same as the case when there is no modification. This looks weird to me and I am wondering if you have any ideas about this. Thanks in advance!

gringoli commented 2 years ago

Hi,

quick hint: the CSI is extracted (almost entirely) from the preamble. But the equalisation of the data part of the frame works better if the data part undergoes the same “channel” as the preamble. Best regards, -FG

On 2 Jun 2022, at 21:51, Zikun Liu @.***> wrote:

Thanks for your prompt response! This is really helpful. I also tried to just modify the PHY preambles and kept the data field untouched, then I found out that CSI received by Nexmon is the same as the case when there is no modification. This looks weird to me and I am wondering if you have any ideas about this. Thanks in advance!

— Reply to this email directly, view it on GitHub https://github.com/seemoo-lab/csicloak/issues/1#issuecomment-1145280558, or unsubscribe https://github.com/notifications/unsubscribe-auth/AARLCZWFCYL26MCZWNZ474DVNEGE7ANCNFSM5XO4DFHA. You are receiving this because you are subscribed to this thread.

--

Informativa sulla Privacy: https://www.unibs.it/it/node/1452 https://www.unibs.it/it/node/1452

zikunliu6 commented 2 years ago

Hello, thanks for your response. One follow-up question, do you know how the data part affects the CSI estimation in Nexmon? Thanks!