BMC Genomics 2006, 7:93 http://www.biomedcentral.com/1471-2164/7/93 FGiegnuerPeIN1G main screen GenePING main screen. GenePING fits into the standard PING architecture. This screens shows the main PING screen with the added "Genotype Lab" option supported by the GenePING extension. HMAC is typically used to create an authentication "fin- gerprint" of a message using a secret key. It is often thought of as a keyed hash function: it is collision resist- ant, meaning that it is extremely unlikely to ever find two messages with the same MAC, and it is one-way, meaning that, given a random MAC value, it is extremely difficult to identify even a single message whose MAC will match. The secret key adds a further dimension above and beyond hash functions: with it, a MAC on any given mes- sage is easy to compute, but without it, it is nearly impos- sible. The HMAC is used to obfuscate the name of any record sent to the low-level block store. When GenePING wishes to store a record under the name patient@chip.org, the actual low-level block store will instead use the name HMACkey(patient@chip.org). Therefore, without the HMAC key, it is impossible to determine both whether a given record corresponds to a given Ping ID, or even whether a certain Ping ID is stored in the given system. In order to secure the data, we use straight-forward AES encryption in CBC mode [22]. Every time a record is stored via the low-level block interface, the data field is encrypted using AES with the single storage key and a new, random initialization vector used only that one time. The use of a new initialization vector prevents the inherent redundancy of genomic records from transpiring at the ciphertext level: two identical SNPs will never be recorded identically, since their initialization vectors will be differ- ent. Both the HMAC and AES algorithms are implemented as extensions to the block-level storage, so that all Gene- PING calls are automatically passed through these obfus- cation and security filters. Page 3 of 10 (page number not for citation purposes)