HOME

TheInfoList



OR:

Colin A. Percival (born 1980) is a Canadian
computer scientist A computer scientist is a person who is trained in the academic study of computer science. Computer scientists typically work on the theoretical side of computation, as opposed to the hardware side on which computer engineers mainly focus (al ...
and
computer security Computer security, cybersecurity (cyber security), or information technology security (IT security) is the protection of computer systems and networks from attack by malicious actors that may result in unauthorized information disclosure, the ...
researcher. He completed his undergraduate education at
Simon Fraser University Simon Fraser University (SFU) is a public research university in British Columbia, Canada, with three campuses, all in Greater Vancouver: Burnaby (main campus), Surrey, and Vancouver. The main Burnaby campus on Burnaby Mountain, located from ...
and a doctorate at the
University of Oxford , mottoeng = The Lord is my light , established = , endowment = £6.1 billion (including colleges) (2019) , budget = £2.145 billion (2019–20) , chancellor ...
. While at university he joined the
FreeBSD FreeBSD is a free and open-source Unix-like operating system descended from the Berkeley Software Distribution (BSD), which was based on Research Unix. The first version of FreeBSD was released in 1993. In 2005, FreeBSD was the most popular ...
project, and achieved some notoriety for discovering a security weakness in
Intel Intel Corporation is an American multinational corporation and technology company headquartered in Santa Clara, California. It is the world's largest semiconductor chip manufacturer by revenue, and is one of the developers of the x86 seri ...
's
hyper-threading Hyper-threading (officially called Hyper-Threading Technology or HT Technology and abbreviated as HTT or HT) is Intel's proprietary simultaneous multithreading (SMT) implementation used to improve parallelization of computations (doing multip ...
technology. Besides his work in
delta compression Delta encoding is a way of storing or transmitting data in the form of '' differences'' (deltas) between sequential data rather than complete files; more generally this is known as data differencing. Delta encoding is sometimes called delta compre ...
and the introduction of
memory-hard function In cryptography, a memory-hard function (MHF) is a function that costs a significant amount of memory to evaluate. It differs from a memory-bound function, which incurs cost by slowing down computation through memory latency. MHFs can be used as ...
s, he is also known for developing the
Tarsnap Tarsnap is a secure online backup service for UNIX-like operating systems, including BSD, Linux, and OS X. It was created in 2008 by Colin Percival. Tarsnap encrypts data, and then stores it on Amazon S3. Service The service is designed for eff ...
online backup service, which became his full-time job.


Education

Percival began taking mathematics courses at
Simon Fraser University Simon Fraser University (SFU) is a public research university in British Columbia, Canada, with three campuses, all in Greater Vancouver: Burnaby (main campus), Surrey, and Vancouver. The main Burnaby campus on Burnaby Mountain, located from ...
(SFU) at age 13, as a student at
Burnaby Central Secondary School Burnaby Central Secondary School is a public high school in Burnaby, British Columbia. It is located across from Burnaby City Hall and is adjacent to Deer Lake Park. Burnaby Central is a part of Burnaby School District 41. As of 2015, there ar ...
. He graduated from Burnaby Central and officially enrolled at SFU in 1998. At SFU he studied
number theory Number theory (or arithmetic or higher arithmetic in older usage) is a branch of pure mathematics devoted primarily to the study of the integers and arithmetic function, integer-valued functions. German mathematician Carl Friedrich Gauss (1777 ...
under
Peter Borwein Peter Benjamin Borwein (born St. Andrews, Scotland, May 10, 1953 – 23 August 2020) was a Canadian mathematician and a professor at Simon Fraser University. He is known as a co-author of the paper which presented the Bailey–Borwein–Plo ...
, and competed in the
William Lowell Putnam Mathematical Competition The William Lowell Putnam Mathematical Competition, often abbreviated to Putnam Competition, is an annual list of mathematics competitions, mathematics competition for undergraduate college students enrolled at institutions of higher learning in th ...
, placing in the top 15 in 1998 and as a Putnam Fellow (in the top six) in 1999. From 1998 to 2000 he ran the
PiHex PiHex was a distributed computing project organized by Colin Percival to calculate specific bits of . 1,246 contributors used idle time slices on almost two thousand computers to make its calculations. The software used for the project made use of ...
project, organizing contributors from all over the world to help calculate specific
bit The bit is the most basic unit of information in computing and digital communications. The name is a portmanteau of binary digit. The bit represents a logical state with one of two possible values. These values are most commonly represente ...
s of pi. Percival graduated from SFU in 2001 and was awarded a
Commonwealth Scholarship The Commonwealth Scholarship and Fellowship Plan (CSFP) is an international programme under which Commonwealth governments offer scholarships and fellowships to citizens of other Commonwealth countries. History The plan was originally proposed b ...
to the
University of Oxford , mottoeng = The Lord is my light , established = , endowment = £6.1 billion (including colleges) (2019) , budget = £2.145 billion (2019–20) , chancellor ...
. In Oxford, Percival set out to do research in
distributed computing A distributed system is a system whose components are located on different computer network, networked computers, which communicate and coordinate their actions by message passing, passing messages to one another from any system. Distributed com ...
, building on his experience with PiHex. When a serious illness in 2003 interrupted this work for months, he turned his attention to the problem of building a
software update A patch is a set of changes to a computer program or its supporting data designed to update, fix, or improve it. This includes fixing security vulnerabilities and other bugs, with such patches usually being called bugfixes or bug fixes. Patches ...
system for the
FreeBSD FreeBSD is a free and open-source Unix-like operating system descended from the Berkeley Software Distribution (BSD), which was based on Research Unix. The first version of FreeBSD was released in 1993. In 2005, FreeBSD was the most popular ...
operating system An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs. Time-sharing operating systems schedule tasks for efficient use of the system and may also in ...
. At the time, FreeBSD updates were distributed only as
source code In computing, source code, or simply code, is any collection of code, with or without comments, written using a human-readable programming language, usually as plain text. The source code of a program is specially designed to facilitate the wo ...
patches, making it difficult to keep systems updated. After a commenter on a mailing list suggested using
xdelta xdelta is a command line program for delta encoding, which generates the difference between two files. This is similar to diff and patch, but it is targeted for binary files and does not generate human readable output. It was first released in 1 ...
to reduce the size of the files to be transferred, Percival began working on a more efficient
delta compression Delta encoding is a way of storing or transmitting data in the form of '' differences'' (deltas) between sequential data rather than complete files; more generally this is known as data differencing. Delta encoding is sometimes called delta compre ...
algorithm. This new algorithm, called ''bsdiff'', became the new focus of his doctoral research, and later a widely-used standard, and his ''freebsd-update'' became a part of FreeBSD. In 2004 he contributed
portsnap Portsnap is a system written by Colin Percival for secure distribution of compressed, digitally signed snapshots of the FreeBSD ports tree. The distribution follows the client–server model and uses the transport protocol HTTP (pipelined HTTP ...
, which uses bsdiff to distribute snapshots of the FreeBSD ports tree. His 2006 doctoral thesis, supervised by William F. McColl and
Richard P. Brent Richard Peirce Brent is an Australian mathematician and computer scientist. He is an emeritus professor at the Australian National University. From March 2005 to March 2010 he was a Federation Fellow at the Australian National University. His ...
, is called "Matching with Mismatches and Assorted Applications". It describes further improvements to the compression of bsdiff.


Career

After joining the FreeBSD Security Team in 2004, Percival analyzed the behaviour of
hyper-threading Hyper-threading (officially called Hyper-Threading Technology or HT Technology and abbreviated as HTT or HT) is Intel's proprietary simultaneous multithreading (SMT) implementation used to improve parallelization of computations (doing multip ...
as then implemented on
Intel Intel Corporation is an American multinational corporation and technology company headquartered in Santa Clara, California. It is the world's largest semiconductor chip manufacturer by revenue, and is one of the developers of the x86 seri ...
's
Pentium 4 Pentium 4 is a series of single-core CPUs for desktops, laptops and entry-level servers manufactured by Intel. The processors were shipped from November 20, 2000 until August 8, 2008. The production of Netburst processors was active from 2000 ...
CPU A central processing unit (CPU), also called a central processor, main processor or just processor, is the electronic circuitry that executes instructions comprising a computer program. The CPU performs basic arithmetic, logic, controlling, and ...
s. He discovered a security flaw that would allow a malicious thread to use a timing-based
side-channel attack In computer security, a side-channel attack is any attack based on extra information that can be gathered because of the fundamental way a computer protocol or algorithm is implemented, rather than flaws in the design of the protocol or algorit ...
to steal secret data from another thread executing on the same processor core and sharing its cache. Some months after reporting the problem to Intel and operating system vendors, with suggestions on how to mitigate it in system software, he made the details public in May 2005. Having finished his thesis, he returned to SFU as a
visiting researcher In academia, a visiting scholar, visiting researcher, visiting fellow, visiting lecturer, or visiting professor is a scholar from an institution who visits a host university to teach, lecture, or perform research on a topic for which the visitor ...
. He went on to serve as the FreeBSD Security Officer, from August 2005 to May 2012. He was also elected to the
FreeBSD Core Team The FreeBSD Project is run by FreeBSD committers, or developers who have direct commit access to the master Git repository. The FreeBSD Core Team exists to provide direction and is responsible for setting goals for the FreeBSD Project and to provi ...
, for the 2010–2012 term. In 2008 he released the client for
Tarsnap Tarsnap is a secure online backup service for UNIX-like operating systems, including BSD, Linux, and OS X. It was created in 2008 by Colin Percival. Tarsnap encrypts data, and then stores it on Amazon S3. Service The service is designed for eff ...
, his encrypted online backup service. He had already been trying for some two years to get FreeBSD running on the
Amazon EC2 Amazon Elastic Compute Cloud (EC2) is a part of Amazon.com's cloud-computing platform, Amazon Web Services (AWS), that allows users to rent virtual computers on which to run their own computer applications. EC2 encourages scalable deployment of ...
platform, and he increased these efforts. Building disk images himself, debugging kernel crashes, and coordinating with people at both
Amazon Amazon most often refers to: * Amazons, a tribe of female warriors in Greek mythology * Amazon rainforest, a rainforest covering most of the Amazon basin * Amazon River, in South America * Amazon (company), an American multinational technology c ...
and FreeBSD, he eventually overcame the technical obstacles, and Amazon announced official support for FreeBSD on EC2 in November 2012. Percival has continued to support FreeBSD on EC2, and in 2019 he was recognized as an ''AWS Community Hero'' for his work and enthusiasm. In 2009 Percival uncovered a fatal flaw in AWS' use of cryptographic signatures used to authenticate EC2, SimpleDB, SQS, and S3
REST Rest or REST may refer to: Relief from activity * Sleep ** Bed rest * Kneeling * Lying (position) * Sitting * Squatting position Structural support * Structural support ** Rest (cue sports) ** Armrest ** Headrest ** Footrest Arts and entert ...
APIs. The same year, while working to add
passphrase A passphrase is a sequence of words or other text used to control access to a computer system, program or data. It is similar to a password in usage, but a passphrase is generally longer for added security. Passphrases are often used to control ...
protection to Tarsnap keys, he became dissatisfied with existing
key derivation function In cryptography, a key derivation function (KDF) is a cryptographic algorithm that derives one or more secret keys from a secret value such as a master key, a password, or a passphrase using a pseudorandom function (which typically uses a crypto ...
s. Drawing on his experience in distributed computing, Percival modeled an attacker using specialized hardware to massively parallelize a
brute-force search In computer science, brute-force search or exhaustive search, also known as generate and test, is a very general problem-solving technique and algorithmic paradigm that consists of systematically enumerating all possible candidates for the soluti ...
for the passphrase. He concluded that the key derivation functions in use were vulnerable to such an attack, and sought to make these attacks cost-prohibitive by designing an algorithm that must use an amount of memory nearly proportional to its run time. He defined
memory-hard function In cryptography, a memory-hard function (MHF) is a function that costs a significant amount of memory to evaluate. It differs from a memory-bound function, which incurs cost by slowing down computation through memory latency. MHFs can be used as ...
s in these terms, and presented
scrypt In cryptography, scrypt (pronounced "ess crypt") is a password-based key derivation function created by Colin Percival in March 2009, originally for the Tarsnap online backup service. The algorithm was specifically designed to make it costly ...
as a specific example, which he used as the key derivation function for Tarsnap. Memory-hard functions have since become an active area of research in
cryptography Cryptography, or cryptology (from grc, , translit=kryptós "hidden, secret"; and ''graphein'', "to write", or ''-logia'', "study", respectively), is the practice and study of techniques for secure communication in the presence of adver ...
, and scrypt is used as the basis of
proof of work Proof of work (PoW) is a form of Cryptography, cryptographic proof (truth), proof in which one party (the ''prover'') proves to others (the ''verifiers'') that a certain amount of a specific computational effort has been expended. Verifiers can s ...
in
Litecoin Litecoin (Abbreviation: LTC; sign: Ł) is a decentralized peer-to-peer cryptocurrency and open-source software project released under the MIT/X11 license. Inspired by Bitcoin, Litecoin was among the earliest altcoins, starting in October 2011. ...
and some other
cryptocurrencies A cryptocurrency, crypto-currency, or crypto is a digital currency designed to work as a medium of exchange through a computer network that is not reliant on any central authority, such as a government or bank A bank is a financial i ...
. Since 2020 he is part of FreeBSD's primary release engineering team. Having left academia after his doctorate, Percival has only a few published papers. He has collaborated with mathematicians such as Peter Borwein and Richard P. Brent, giving him an
Erdős number The Erdős number () describes the "collaborative distance" between mathematician Paul Erdős and another person, as measured by authorship of mathematical papers. The same principle has been applied in other fields where a particular individual ...
of 3. In the past he has announced new work on a blog he has maintained since 2005, then presented his results at BSD conferences.


Personal life

Percival has Type-I diabetes.


References

{{DEFAULTSORT:Percival, Colin Alumni of Wadham College, Oxford Canadian computer scientists Computer security specialists FreeBSD people Modern cryptographers People from Burnaby Putnam Fellows Simon Fraser University alumni 1980s births Living people