IEEE Access (Jan 2021)
Key Agreement Over Inter-Process Communication
Abstract
Today’s computer is often infected by malwares and conventional communication channels such as inter-process communication (IPC) are attractive attack surface for attackers because important information such as user’s personal data and passwords are transmitted between processes over IPC. In addition, there is no other protection other than the access control mechanism provided by the underlying OS, but it is not always sufficient. To improve the situation, this paper proposes a key agreement protocol between processes using a network socket, which is one of the IPC methods. Our protocol provides a means for legitimate processes to cryptographically communicate over the IPC. We use an uncertain channel for secure key agreement over IPC and we found that the IPC channel behaves as the uncertain communication channel due to the process scheduling of the OS. The proposed protocol is based on random number sharing using the messages that the attacker probabilistically fails to obtain and attacker detection who interrupts the protocol. Our protocol provides secure key sharing against an attacker that interrupts the protocol and impersonates legitimate processes. We experiment on the behavior of the uncertain channel on an actual device and confirm that our protocol achieves 128-bit security in a realistic execution time within 8.5 ms. To our best knowledge, our proposal is the first countermeasure for IPC with cryptographic strength under reasonable assumptions.
Keywords