John Viega - Profile on Academia.edu (original) (raw)
Papers by John Viega
19 Deadly Sins of Software Security
... Sample Bug CVE-2004-0115 Microsoft Virtual PC for Macintosh The VirtualPC Services for ... more ... Sample Bug CVE-2004-0115 Microsoft Virtual PC for Macintosh The VirtualPC Services for Mac 6.0 and 6.1 allowed local attackers to truncate ... Chuck Willis, MANDIANT Michael Howard, Microsoft Bruce Lowenthal, Oracle Corporation Mark J. Cox, Red Hat Inc. ...
24 Deadly Sins of Software Security: Programming Flaws and How to Fix Them
Building Secure Software : ソフトウェアセキュリティについて開発者が知っているべきこと
Building secure software: how to avoid security problems the right way
... Building Secure Software : How to Avoid Security Problems the Right Way. ... Commentaire. Rés... more ... Building Secure Software : How to Avoid Security Problems the Right Way. ... Commentaire. Résumé. In the age of e-Business, information security is no longer a minor detail: its at the heart of every business process and relationship. ...
The Galois/Counter Mode of Operation (GCM)
... authenticated encryption at speeds of 10 gigabits per second and above in hardware, perform w... more ... authenticated encryption at speeds of 10 gigabits per second and above in hardware, perform well in ... is summarized in Section 7. Appendix A describes the use of GCM for 64-bit block ciphers. Test data that can be used for validating AES GCM implementations is contained in ...
The Security and Performance of the Galois/Counter Mode of Operation (Full Version)
The recently introduced Galois/Counter Mode (GCM) of op- eration for block ciphers provides both ... more The recently introduced Galois/Counter Mode (GCM) of op- eration for block ciphers provides both encryption and message authenti- cation, using universal hashing based on multiplication in a binary finite field. We analyze its security and performance, and show that it is the most ecient mode of operation for high speed packet networks, by using a realistic model of a network crypto module and empirical data from studies of Internet trac in conjunction with software experiments and hardware designs. GCM has several useful features: it can accept IVs of arbitrary length, can act as a stand-alone message authentication code (MAC), and can be used as an incremental MAC. We show that GCM is secure in the standard model of concrete security, even when these fea- tures are used. We also consider several of its important system-security aspects.
Building Secure Software: How to Avoid Security Problems the Right Way (paperback) (Addison-Wesley Professional Computing Series)
Separation of Concerns for Security
... Examples of such systems include Naccio [ 4], Ariel [ 8]and PolicyMaker[ 1 ]. We anticipate i... more ... Examples of such systems include Naccio [ 4], Ariel [ 8]and PolicyMaker[ 1 ]. We anticipate incorporating this sort of tool as a small part of our total functionality. 6 C onc lusion We have identified some of the major problems plaguing software security, and discussed how sepa ...
We introduce CWC, a new block cipher mode of operation for protecting both the privacy and the au... more We introduce CWC, a new block cipher mode of operation for protecting both the privacy and the authenticity of encapsulated data. CWC is currently the only such mode having all five of the following properties: provable security, parallelizability, high performance in hardware, high performance in software, and no intellectual property concerns. We believe that having all five of these properties makes CWC a powerful tool for use in many performance-critical cryptographic applications. CWC is also the only appropriate solution for some applications; e.g., standardization bodies like the IETF and NIST prefer patent-free modes, and CWC is the only such mode capable of processing data at 10Gbps in hardware, which will be important for future IPsec (and other) network devices. As part of our design, we also introduce a new parallelizable universal hash function optimized for performance in both hardware and software.
Flexible and Efficient Message Authentication in Hardware and Software
Coping with Java Programming Stress M any developers view Java as the language solution to comple... more Coping with Java Programming Stress M any developers view Java as the language solution to complex software engineering problems. They expect Java programs to resist system crashes, to be written once and run everywhere, and to withstand malicious attacks. For the most part, these expectations are reasonable. Java has many attributes that promote reliable, bug-free software: memory management to prevent memory leaks, strong type checking to prevent the misuse of objects, and built-in support for exception handling. Java's virtual machine model increases portability and its security model provides a degree of safety when importing externally developed code. All these features are a great improvement over C++, Java's nominal predecessor. Indeed, initial experimental results show greater programmer productivity and fewer program bugs for development with Java versus C++. 1 Unfortunately, however, no language is ideal, and some features of Java contribute to rather than alleviate programmer stress because they create obscure places for bugs to hide. We have identified seven features that can lead to particularly resistant bugs. Our goal is not to indict Java-we are strong supporters, and our own organizations have adopted Java as their primary programming language. Rather, we want programmers to better understand Java's weaknesses and know how to cope with them. In some cases, the strategies we suggest can prevent the weakness from affecting implementation. In other cases, they can minimize the damage. By being aware of these pitfalls and coping mechanisms, programmers can make sure that Java's design flaws don't make implementation more painful than it has to be.
Protocol Expander System and Method
Quality Time - Can Aspect-Oriented Programming Lead to More Reliable Software?
Software, 2000
Beautiful Security - Leading Security Experts Explain How They Think
Flexible and Ecient Message Authentication in Hardware and Software
We present the Galois Message Authentication Code (GMAC), a generic construction based on univers... more We present the Galois Message Authentication Code (GMAC), a generic construction based on universal hashing using multiplication in the finite field GF(2128). We also present GCM, a block cipher mode of operation that provides both encryption and message integrity in a single primitive, and is based on GMAC. The inherent parallelism in our con- structs enable hardware implementations to achieve
The Security and Performance of the Galois/Counter Mode (GCM) of Operation
Progress in Cryptology - INDOCRYPT 2004, 2004
The recently introduced Galois/Counter Mode (GCM) of op- eration for block ciphers provides both ... more The recently introduced Galois/Counter Mode (GCM) of op- eration for block ciphers provides both encryption and message authenti- cation, using universal hashing based on multiplication in a binary finite field. We analyze its security and performance, and show that it is the most ecient mode of operation for high speed packet networks, by using a realistic model of a network crypto module and empirical data from studies of Internet trac in conjunction with software experiments and hardware designs. GCM has several useful features: it can accept IVs of arbitrary length, can act as a stand-alone message authentication code (MAC), and can be used as an incremental MAC. We show that GCM is secure in the standard model of concrete security, even when these fea- tures are used. We also consider several of its important system-security aspects.
How Vulnerable Are Unprotected Machines on the Internet?
Lecture Notes in Computer Science, 2014
The pros and cons of Unix and Windows security policies
IT Professional, 2000
Supporters frequently tout Windows NT as being the most secure commercially available operating s... more Supporters frequently tout Windows NT as being the most secure commercially available operating system. Others tend to believe this opinion after hearing of Unix's many infamous security vulnerabilities. In reality, the two operating systems have far more in common from a security point of view than people expect. This, then, makes it difficult to honestly assert that NT is more
The recently introduced Galois/Counter Mode (GCM) of op- eration for block ciphers provides both ... more The recently introduced Galois/Counter Mode (GCM) of op- eration for block ciphers provides both encryption and message authenti- cation, using universal hashing based on multiplication in a binary finite field. We analyze its security and performance, and show that it is the most ecient mode of operation for high speed packet networks, by using a realistic model of a network
19 Deadly Sins of Software Security
... Sample Bug CVE-2004-0115 Microsoft Virtual PC for Macintosh The VirtualPC Services for ... more ... Sample Bug CVE-2004-0115 Microsoft Virtual PC for Macintosh The VirtualPC Services for Mac 6.0 and 6.1 allowed local attackers to truncate ... Chuck Willis, MANDIANT Michael Howard, Microsoft Bruce Lowenthal, Oracle Corporation Mark J. Cox, Red Hat Inc. ...
24 Deadly Sins of Software Security: Programming Flaws and How to Fix Them
Building Secure Software : ソフトウェアセキュリティについて開発者が知っているべきこと
Building secure software: how to avoid security problems the right way
... Building Secure Software : How to Avoid Security Problems the Right Way. ... Commentaire. Rés... more ... Building Secure Software : How to Avoid Security Problems the Right Way. ... Commentaire. Résumé. In the age of e-Business, information security is no longer a minor detail: its at the heart of every business process and relationship. ...
The Galois/Counter Mode of Operation (GCM)
... authenticated encryption at speeds of 10 gigabits per second and above in hardware, perform w... more ... authenticated encryption at speeds of 10 gigabits per second and above in hardware, perform well in ... is summarized in Section 7. Appendix A describes the use of GCM for 64-bit block ciphers. Test data that can be used for validating AES GCM implementations is contained in ...
The Security and Performance of the Galois/Counter Mode of Operation (Full Version)
The recently introduced Galois/Counter Mode (GCM) of op- eration for block ciphers provides both ... more The recently introduced Galois/Counter Mode (GCM) of op- eration for block ciphers provides both encryption and message authenti- cation, using universal hashing based on multiplication in a binary finite field. We analyze its security and performance, and show that it is the most ecient mode of operation for high speed packet networks, by using a realistic model of a network crypto module and empirical data from studies of Internet trac in conjunction with software experiments and hardware designs. GCM has several useful features: it can accept IVs of arbitrary length, can act as a stand-alone message authentication code (MAC), and can be used as an incremental MAC. We show that GCM is secure in the standard model of concrete security, even when these fea- tures are used. We also consider several of its important system-security aspects.
Building Secure Software: How to Avoid Security Problems the Right Way (paperback) (Addison-Wesley Professional Computing Series)
Separation of Concerns for Security
... Examples of such systems include Naccio [ 4], Ariel [ 8]and PolicyMaker[ 1 ]. We anticipate i... more ... Examples of such systems include Naccio [ 4], Ariel [ 8]and PolicyMaker[ 1 ]. We anticipate incorporating this sort of tool as a small part of our total functionality. 6 C onc lusion We have identified some of the major problems plaguing software security, and discussed how sepa ...
We introduce CWC, a new block cipher mode of operation for protecting both the privacy and the au... more We introduce CWC, a new block cipher mode of operation for protecting both the privacy and the authenticity of encapsulated data. CWC is currently the only such mode having all five of the following properties: provable security, parallelizability, high performance in hardware, high performance in software, and no intellectual property concerns. We believe that having all five of these properties makes CWC a powerful tool for use in many performance-critical cryptographic applications. CWC is also the only appropriate solution for some applications; e.g., standardization bodies like the IETF and NIST prefer patent-free modes, and CWC is the only such mode capable of processing data at 10Gbps in hardware, which will be important for future IPsec (and other) network devices. As part of our design, we also introduce a new parallelizable universal hash function optimized for performance in both hardware and software.
Flexible and Efficient Message Authentication in Hardware and Software
Coping with Java Programming Stress M any developers view Java as the language solution to comple... more Coping with Java Programming Stress M any developers view Java as the language solution to complex software engineering problems. They expect Java programs to resist system crashes, to be written once and run everywhere, and to withstand malicious attacks. For the most part, these expectations are reasonable. Java has many attributes that promote reliable, bug-free software: memory management to prevent memory leaks, strong type checking to prevent the misuse of objects, and built-in support for exception handling. Java's virtual machine model increases portability and its security model provides a degree of safety when importing externally developed code. All these features are a great improvement over C++, Java's nominal predecessor. Indeed, initial experimental results show greater programmer productivity and fewer program bugs for development with Java versus C++. 1 Unfortunately, however, no language is ideal, and some features of Java contribute to rather than alleviate programmer stress because they create obscure places for bugs to hide. We have identified seven features that can lead to particularly resistant bugs. Our goal is not to indict Java-we are strong supporters, and our own organizations have adopted Java as their primary programming language. Rather, we want programmers to better understand Java's weaknesses and know how to cope with them. In some cases, the strategies we suggest can prevent the weakness from affecting implementation. In other cases, they can minimize the damage. By being aware of these pitfalls and coping mechanisms, programmers can make sure that Java's design flaws don't make implementation more painful than it has to be.
Protocol Expander System and Method
Quality Time - Can Aspect-Oriented Programming Lead to More Reliable Software?
Software, 2000
Beautiful Security - Leading Security Experts Explain How They Think
Flexible and Ecient Message Authentication in Hardware and Software
We present the Galois Message Authentication Code (GMAC), a generic construction based on univers... more We present the Galois Message Authentication Code (GMAC), a generic construction based on universal hashing using multiplication in the finite field GF(2128). We also present GCM, a block cipher mode of operation that provides both encryption and message integrity in a single primitive, and is based on GMAC. The inherent parallelism in our con- structs enable hardware implementations to achieve
The Security and Performance of the Galois/Counter Mode (GCM) of Operation
Progress in Cryptology - INDOCRYPT 2004, 2004
The recently introduced Galois/Counter Mode (GCM) of op- eration for block ciphers provides both ... more The recently introduced Galois/Counter Mode (GCM) of op- eration for block ciphers provides both encryption and message authenti- cation, using universal hashing based on multiplication in a binary finite field. We analyze its security and performance, and show that it is the most ecient mode of operation for high speed packet networks, by using a realistic model of a network crypto module and empirical data from studies of Internet trac in conjunction with software experiments and hardware designs. GCM has several useful features: it can accept IVs of arbitrary length, can act as a stand-alone message authentication code (MAC), and can be used as an incremental MAC. We show that GCM is secure in the standard model of concrete security, even when these fea- tures are used. We also consider several of its important system-security aspects.
How Vulnerable Are Unprotected Machines on the Internet?
Lecture Notes in Computer Science, 2014
The pros and cons of Unix and Windows security policies
IT Professional, 2000
Supporters frequently tout Windows NT as being the most secure commercially available operating s... more Supporters frequently tout Windows NT as being the most secure commercially available operating system. Others tend to believe this opinion after hearing of Unix's many infamous security vulnerabilities. In reality, the two operating systems have far more in common from a security point of view than people expect. This, then, makes it difficult to honestly assert that NT is more
The recently introduced Galois/Counter Mode (GCM) of op- eration for block ciphers provides both ... more The recently introduced Galois/Counter Mode (GCM) of op- eration for block ciphers provides both encryption and message authenti- cation, using universal hashing based on multiplication in a binary finite field. We analyze its security and performance, and show that it is the most ecient mode of operation for high speed packet networks, by using a realistic model of a network