Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where John D. Ramsdell is active.

Publication


Featured researches published by John D. Ramsdell.


Journal of Computer Security | 2005

Verifying information flow goals in security-enhanced Linux

Joshua D. Guttman; Amy L. Herzog; John D. Ramsdell; Clement W. Skorupka

In this paper, we present a systematic way to determine the information flow security goals achieved by systems running a secure O/S, specifically systems running Security-Enhanced Linux. A formalization of the access control mechanism of the SELinux security server, together with a labeled transition system representing an SELinux configuration, provides our framework. Information flow security goal statements expressed in linear temporal logic provide a clear description of the objectives that SELinux is intended to achieve. We use model checking to determine whether security goals hold in a given system. These formal models combined with appropriate algorithms have led to automated tools for the verification of security properties in an SELinux system. Our approach has been used in other security management contexts over the past decade, under the name rigorous automated security management.


International Journal of Information Security | 2011

Principles of remote attestation

George Coker; Joshua D. Guttman; Peter Loscocco; Amy L. Herzog; Jonathan K. Millen; Brian O’Hanlon; John D. Ramsdell; Justin Sheehy; Brian T. Sniffen

Remote attestation is the activity of making a claim about properties of a target by supplying evidence to an appraiser over a network. We identify five central principles to guide development of attestation systems. We argue that (i) attestation must be able to deliver temporally fresh evidence; (ii) comprehensive information about the target should be accessible; (iii) the target, or its owner, should be able to constrain disclosure of information about the target; (iv) attestation claims should have explicit semantics to allow decisions to be derived from several claims; and (v) the underlying attestation mechanism must be trustworthy. We illustrate how to acquire evidence from a running system, and how to transport it via protocols to remote appraisers. We propose an architecture for attestation guided by these principles. Virtualized platforms, which are increasingly well supported on stock hardware, provide a natural basis for our attestation architecture.


european symposium on programming | 2004

Trust Management in Strand Spaces: A Rely-Guarantee Method

Joshua D. Guttman; F. Javier Thayer; Jay A. Carlson; Jonathan Herzog; John D. Ramsdell; Brian T. Sniffen

We show how to combine trust management theories with nonce-based cryptographic protocols. The strand space framework for protocol analysis is extended by associating formulas from a trust management logic with the transmit and receive actions of the protocol principals. The formula on a transmission is a guarantee; the sender must ensure that this formula is true before sending the message. The formula on a receive event is an assumption that the recipient may rely on in deducing future guarantee formulas. The strand space framework allows us to prove that a protocol is sound, in the sense that when a principal relies on a formula, another principal has previously guaranteed it. We explain the ideas in reference to a simple new electronic commerce protocol, in which a customer obtains a money order from a bank to pay a merchant to ship some goods.


Higher-order and Symbolic Computation \/ Lisp and Symbolic Computation | 1995

VLISP: a verified implementation of Scheme

Joshua D. Guttman; John D. Ramsdell; Mitchell Wand

The VLISP project showed how to produce a comprehensively verified implementation for a programming language, namely Scheme. This paper introduces two more detailed studies on VLISP [13, 21]. It summarizes the basic techniques that were used repeatedly throughout the effort. It presents scientific conclusions about the applicability of the these techniques as well as engineering conclusions about the crucial choices that allowed the verification to succeed.


Siam Journal on Algebraic and Discrete Methods | 1983

Estimation of Sparse Jacobian Matrices

Garry N. Newsam; John D. Ramsdell

When finding a numerical solution to a system of nonlinear equations, one often estimates the Jacobian by finite differences. Curtis, Powell and Reid [J. Inst. Math. Applics.,13 (1974), pp. 117–119] presented an algorithm that reduces the number of function evaluations required to estimate the Jacobian by taking advantage of sparsity. We show that the problem of finding the best of the Curtis, Powell and Reid type algorithms is NP-complete, and then propose two procedures for estimating the Jacobian that may use fewer function evaluations.


trustworthy global computing | 2005

Programming cryptographic protocols

Joshua D. Guttman; Jonathan Herzog; John D. Ramsdell; Brian T. Sniffen

Cryptographic protocols are useful for trust engineering in distributed transactions. Transactions require specific degrees of confidentiality and agreement between the principals engaging in it. Moreover, trust management assertions may be attached to protocol actions, constraining the behavior of a principal to be compatible with its own trust policy. We embody these ideas in a cryptographic protocol programming language cppl at the Dolev-Yao level of abstraction. A strand space semantics for cppl shaped our compiler development, and allows a protocol designer to prove that a protocol is sound.


Higher-order and Symbolic Computation \/ Lisp and Symbolic Computation | 1995

The VLISP verified PreScheme compiler

Dino P. Oliva; John D. Ramsdell; Mitchell Wand

This paper describes a verified compiler for PreScheme, the implementation language for thevlisp run-time system. The compiler and proof were divided into three parts: A transformational front end that translates source text into a core language, a syntax-directed compiler that translates the core language into a combinator-based tree-manipulation language, and a linearizer that translates combinator code into code for an abstract stored-program machine with linear memory for both data and code. This factorization enabled different proof techniques to be used for the different phases of the compiler, and also allowed the generation of good code. Finally, the whole process was made possible by carefully defining the semantics ofvlisp PreScheme rather than just adopting Schemes. We believe that the architecture of the compiler and its correctness proof can easily be applied to compilers for languages other than PreScheme.


Higher-order and Symbolic Computation \/ Lisp and Symbolic Computation | 1995

The VLISP verified Scheme system

Joshua D. Guttman; John D. Ramsdell; Vipin Swarup

The VLISP project has produced a rigorously verified compiler from Scheme to byte codes, and a verified interpreter for the resulting byte codes. The official denotational semantics for Scheme provides the main criterion of correctness. The Wand-Clinger technique was used to prove correctness of the primary compiler step. Then a state machine operational semantics is proved to be faithful to the denotational semantics. The remainder of the implementation is verified by a succession of state machine refinement proofs. These include proofs that garbage collection is a sound implementation strategy, and that a particular garbage collection algorithm is correct.


ACM Sigplan Lisp Pointers | 1992

An operational semantics for Scheme

John D. Ramsdell

In the informal description of Scheme, the order of evaluating the operands and the operator of each application is unspecified. This paper presents an operational semantics for Scheme which faithfully reflects this fact. Furthermore, when the semantics is restricted so as to assume there is one unspecified order used throughout a program, the semantics is shown to be sound with respect to the denotational semantics of Scheme.


ACM Transactions on Programming Languages and Systems | 1990

A correctness proof for combinator reduction with cycles

William M. Farmer; John D. Ramsdell; Ronald J. Watro

Turner popularized a technique of Wadsworth in which a cyclic graph rewriting rule is used to implement reduction of the fixed point combinator Y. We examine the theoretical foundation of this approach. Previous work has concentrated on proving that graph methods are, in a certain sense, sound and complete implementations of term methods. This work is inapplicable to the cyclic Y rule, which is unsound in this sense since graph normal forms can exist without corresponding term normal forms. We define and prove the correctness of combinator head reduction using the cyclic Y rule; the correctness of normal reduction is an immediate consequence. Our proof avoids the use of infinite trees to explain cyclic graphs. Instead, we show how to consider reduction with cycles as an optimization of reduction without cycles.

Collaboration


Dive into the John D. Ramsdell's collaboration.

Top Co-Authors

Avatar

Joshua D. Guttman

Worcester Polytechnic Institute

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Daniel J. Dougherty

Worcester Polytechnic Institute

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge