Figure 2 depicts one-sided attack. In this attack, C impersonates A to talk to B. We assume that real A and B already have a link key established. Communication is requested by C (Ac). In order to make new connection Ac first pages B and then sends LMP_host_connection_req command to B. B accepts the connection request by sending back LMP_accepted. At the same time Bc pages A and starts the connection establishment procedure with A. After the first step, Ac sends LMP_au_rand to B. In this command Ac includes a dummy random number AU_RANDAc. B wrongfully thinks that real A requests authentication and sends back the corresponding authentication response SRESAc. Ac has no way to check the correctness of SRESAc, so it implicitly assumes that real B is indeed genuine. Having sent SRESAc, B sends its authentication challenge AU_RANDB to Ac. Ac should obtain SRESB, which is the SRES corresponding to AU_RANDB, so C sends out AU_RANDB to real A using its Bc interface. Real A mistakenly thinks that B requests authentication, and calculates and sends SRESB to Bc. Then Ac forwards SRESB to real B. The connection setup is completed by mutually sending LMP_setup_complete. These steps authenticate Ac to B as if Ac were the real A. At the end Bc sends an LMP_detach command to end its communication with real A, since A is not needed anymore.
đang được dịch, vui lòng đợi..
