Method-Specific Access Control in Java via Proxy Objects using Annotations

dc.contributor.authorZarnett, Jeffrey
dc.date.accessioned2010-03-31T13:48:16Z
dc.date.available2010-03-31T13:48:16Z
dc.date.issued2010-03-31T13:48:16Z
dc.date.submitted2010
dc.description.abstractPartially restricting access to objects enables system designers to finely control the security of their systems. We propose a novel approach that allows granting partial access at method granularity on arbitrary objects to remote clients, using proxy objects. Our initial approach considers methods to be either safe (may be invoked by anyone) or unsafe (may be invoked only by trusted users). We next generalize this approach by supporting Role-Based Access Control (RBAC) for methods in objects. In our approach, a policy implementer annotates methods, interfaces, and classes with roles. Our system automatically creates proxy objects for each role, which contain only methods to which that role is authorized. This thesis explains the method annotation process, the semantics of annotations, how we derive proxy objects based on annotations, and how clients invoke methods via proxy objects. We present the advantages to our approach, and distinguish it from existing approaches to method-granularity access control. We provide detailed semantics of our system, in First Order Logic, to describe its operation. We have implemented our system in the Java programming language and evaluated its performance and usability. Proxy objects have minimal overhead: creation of a proxy object takes an order of magnitude less time than retrieving a reference to a remote object. Deriving the interface---a one-time cost---is on the same order as retrieval. We present 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; even large software projects can be annotated in less than a day.en
dc.identifier.urihttp://hdl.handle.net/10012/5054
dc.language.isoenen
dc.pendingfalseen
dc.publisherUniversity of Waterlooen
dc.subjectAccess Controlen
dc.subjectJavaen
dc.subjectProxy Objecten
dc.subjectAnnotationen
dc.subjectSecurityen
dc.subject.programElectrical and Computer Engineeringen
dc.titleMethod-Specific Access Control in Java via Proxy Objects using Annotationsen
dc.typeMaster Thesisen
uws-etd.degreeMaster of Applied Scienceen
uws-etd.degree.departmentElectrical and Computer Engineeringen
uws.peerReviewStatusUnrevieweden
uws.scholarLevelGraduateen
uws.typeOfResourceTexten

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
jzarnett-thesis.pdf
Size:
2.95 MB
Format:
Adobe Portable Document Format

License bundle

Now showing 1 - 1 of 1
No Thumbnail Available
Name:
license.txt
Size:
258 B
Format:
Item-specific license agreed upon to submission
Description: