The well-founded semantics for general logic programs
Journal of the ACM (JACM)
Role-Based Access Control Models
Computer
Role-based access control in Java
RBAC '98 Proceedings of the third ACM workshop on Role-based access control
Role-based access control on the Web using Java
RBAC '99 Proceedings of the fourth ACM workshop on Role-based access control
An approach to safe object sharing
OOPSLA '00 Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
SAFKASI: a security mechanism for language-based systems
ACM Transactions on Software Engineering and Methodology (TOSEM)
Reflections on remote reflection
ACSC '01 Proceedings of the 24th Australasian conference on Computer science
Stack inspection: Theory and variants
ACM Transactions on Programming Languages and Systems (TOPLAS)
Logic in Computer Science: Modelling and Reasoning about Systems
Logic in Computer Science: Modelling and Reasoning about Systems
Java(TM) Language Specification, The (3rd Edition) (Java (Addison-Wesley))
Java(TM) Language Specification, The (3rd Edition) (Java (Addison-Wesley))
Securing Java RMI-Based Distributed Applications
ACSAC '04 Proceedings of the 20th Annual Computer Security Applications Conference
Role-Based Access Control, Second Edition
Role-Based Access Control, Second Edition
Towards realizing a formal RBAC model in real systems
Proceedings of the 12th ACM symposium on Access control models and technologies
J2ee™ security for servlets, ejbs and web services: applying theory and standards to practice
J2ee™ security for servlets, ejbs and web services: applying theory and standards to practice
DBSec'11 Proceedings of the 25th annual IFIP WG 11.3 conference on Data and applications security and privacy
Hi-index | 0.01 |
We propose a new approach for applying Role-Based Access Control (RBAC) to methods in objects in the Java programming language. In our approach, a policy implementer (usually a developer) annotates methods, interfaces, and classes with roles. Our system automatically creates proxy objects which only contain methods to which a client is authorized access based on the role specifications. Potentially untrusted clients that use Remote Method Invocation (RMI) then receive proxy objects rather than the originals. We discuss the method annotation process, the semantics of annotations, how we derive proxy objects based on annotations, and how RMI clients invoke methods via proxy objects. We present the advantages to our approach, and distinguish it from existing approaches to method-granularity access control in Java. We demonstrate empirical evidence of the effectiveness of our approach by discussing its application to software projects that range from thousands to hundreds of thousands of lines of code.