Image:Kiosknet-title.png

Table of contents

Security

We would like KioskNet to be secure enough to serve as the basis for secure transactions that arise in applications such as rural banking, microfinance, tax and bill payment, and land registry. This requires it to meet the requirements of four distinct groups:

  • KioskNet Franchisers: Franchisers, usually non-governmental organizations (NGOs)deploying KioskNet, are concerned with the integrity of their KioskNet components (gateways, ferries, kiosk controllers and proxies) and would want to detect, if not prevent, the misuse of their infrastructure.
  • KioskNet Franchisees: Franchisees (i.e. kiosk operators) are concerned with the security of their kiosk terminals and would want protection against malware. The would also want to prevent any attacks from being launched through KioskNet.
  • KioskNet Users: Users are concerned with the confidentiality and integrity of their data despite using untrusted ferries and snooping kiosk operators.
  • Application Service Providers: Depending on the type of service they provide, application service providers (ASPs) would want franchisers to guarantee the integrity of their software when deployed on a KioskNet.


We satisfy these requirements through a combination of standard cryptographic techniques such as PKI and a transparent encrypted file systems. Though our mechanisms may appear to be complex, they are the least necessary to meet the security requirements listed above.

Certificates

To enable the authentication and end-to-end encryption of in-flight data, all the entities named above are issued unique credentials including a 2048-bit RSA private key and a corresponding public key certificate. Certificates are issued and signed in a hierarchical fashion, forming chains: a secure central root CA server at the University of Waterloo issues certificates to franchisers, who then issue certificates to franchisees and ASPs operating in their region. Franchisees can then certify users registered at their kiosks. Similarly, all KioskNet components are issued unique credentials by the franchisers that maintain them. Public key certificates for users, franchisees and ASPs are periodically broadcast throughout a franchiser's region through the use of a public key database maintained at the proxy and replicated at all kiosk controllers.

Infrastructure integrity

Infrastructure integrity is ensured through the use of digital signatures on all remote commands and software updates issued by franchiser administrative personnel. Further, franchisees are not given root access to deployed kiosk controllers, preventing them from modifying the software on these systems. An encrypted root directory on each KioskNet component prevents attackers from removing the device's hard disk and booting it with a LiveCD to access the node's private key. Industry-standard practices such as the use of intrusion detection systems and firewalls can be additionally used to protect KioskNet components against remote attack through their network interfaces.

Protecting recycled PCs

Recycled PCs (or terminals) are protected against viruses and other malware by forcing them to boot from read-only disk images stored in reasonably tamper-proof kiosk controllers. Because only franchiser administrative personnel are permitted to update these disk images, franchisees can be assured of the integrity and security of the operating system and applications running on their kiosks.

The measures taken to protect rural kiosks described above also provide ASPs with assurance of the integrity of the platform their applications are deployed on. Additional security can be provided by ASPs issuing signed certificates for their application binaries, allowing users and franchisees to verify their integrity as required.

User data protection

User data stored in kiosk controllers is secured by creating encrypted virtual volumes for each user's home directory keyed with the user's kiosk login password. These volumes are stored in encrypted form on the kiosk controller and exported over NFS for mounting at kiosk terminals when users login with a valid password. Linux's Pluggable Authentication Module (PAM) is used to automate the decryption of these volumes when users login and their encryption when users logout. Users can transparently read and write to their encrypted home directories through our use of the Linux DM-Crypt disk encryption module. Because user data, including private keys, is stored in these encrypted home directories, even attackers with root access are unable to view or modify the data. To support privacy for users who are not comfortable using passwords, we envision the use of biometric devices, such as thumbprint readers. We have not, however, incorporated these devices into our system.

Communication privacy and integrity

In-flight user data that requires privacy and authenticity is encrypted and signed at kiosk terminals before it is transferred to the kiosk controller for forwarding to other KioskNet components along its way to the proxy. This ensures secure user data cannot be read, fabricated or tampered with while in transit within KioskNet. %Note that the traditional approach to ensuring end-to-end secure communication, %such as that used in SSL, is to use Public Key encryption to generate a shared secret and use it as a session key for ciphers such as AES. However due to the delay-tolerant nature of the network the time taken by the handshake necessary for generating a shared secret precludes this approach. Using Public Key encryption exclusively is also not feasible as it is computationally expensive for large data sizes. We therefore use AES-CBC with randomly generated 256 bit keys to encrypt data. This key is encrypted using the public key of the recipient and appended to the bundle. Hence recipients can decrypt the data by first decrypting the AES key using their own private keys.

When combined, the security measures described above serve to protect KioskNet against a diverse set of attacks, ranging from simple wireless packet sniffing to more sophisticated attacks that involve removing an KioskNet component's hard disk and booting it with a LiveCD to gain root access and read or modify the data stored in it.

Retrieved from "http://blizzard.cs.uwaterloo.ca/tetherless/index.php/KioskNet_security"

This page has been accessed 1122 times. This page was last modified 14:48, 18 Aug 2008.


Main Page

About

Current Projects

Downloads

Documents

Internal

Old Projects

Meta