SlideShare a Scribd company logo
ICW Developer Conference - May 2008




                                        Instance-based Security with the
                                        Security Annotation Framework (SAF)
                                        ICW Developer Conference

                                        Martin Krasser / 07.05.2008




                      Martin Krasser

                      •   Software Architect @ Professional Gate


                      •   Focus
                               -   Application Security
                               -   Application Integration Platforms
                               -   Application Integration Solutions
                               -   Research & Development



                  07.05.2008        ICW Developer Conference




Security - Instance-based Security with SAF                                   13 - 1
ICW Developer Conference - May 2008




                     Agenda

                      •   Introduction


                      •   Architecture


                      •   Code Examples


                      •   Outlook


                      •   Live Demo




                  07.05.2008   ICW Developer Conference




                     Overview

                      •   Open Source Security Project @ sourceforge.net
                           - Instance-level access control
                           - Attribute-level encryption


                      •   Driven by Java 5 Annotations
                           - @Secure and @Filter annotations to enforce access decisions
                           - @Encrypt annotation to trigger encryption/decryption operations


                      •   Framework with provider interfaces (SPI) for
                           - Authorization Providers
                           - Encryption Providers
                           - Reference implementations available

                  07.05.2008   ICW Developer Conference




Security - Instance-based Security with SAF                                                    13 - 2
ICW Developer Conference - May 2008




                     Motivations
                      •   Java EE doesn‘t provide instance-level access control mechanisms
                           - Access decisions and policy definitions in Java EE only based on static
                             application properties (methods, ...)
                           - Instance-level access control is additionally based on runtime application
                             properties (domain object state, ...)

                      •   Encryption mechanisms decoupled from data storage/binding mechanisms
                           - No Hibernate-specific encryption interceptors ...
                           - No JAXB-specific marshal/unmarshal listeners ...


                      •   Avoid complex configurations
                           - No need to deal with Spring/AspectJ AOP details
                           - Place security interceptors using annotations


                      •   Support for pluggable authorization and crypto providers
                           - Access control and encryption logic provided by plugins/providers
                           - Different applications have significantly different access control and encryption
                             requirements


                  07.05.2008        ICW Developer Conference




                     History

                      •   SAF initially developed as part of the eHF
                               -   Refactoring of complex Spring/AspectJ AOP configurations


                      •   Open source since March 2007
                               -   Apache 2.0 License


                      •   Three releases so far
                               -   Latest release is 0.8.2 (production-stable)
                               -   Current development on 0.9-SNAPSHOT




                  07.05.2008        ICW Developer Conference




Security - Instance-based Security with SAF                                                                      13 - 3
ICW Developer Conference - May 2008




                          SAF Access Control Architecture
                                                                Security     Domain      SAF Core
                                Requestor
                                                              Interceptor    Object




                                                   AccessManager

                                                                                         SAF JAAS
                                                             Authorization
                                                                                         Spring Security
                                                               Provider
                                                                                         ...

                  •       Security Interceptor (Policy Enforcement Point)
                           - Implemented by annotating domain objects, methods and method parameters


                  •       Authorization Providers (Policy Decision Point)
                           - Makes access decisions based on class instances
                           - Reference implementation based on JAAS extensions



                  07.05.2008      ICW Developer Conference




                          SAF Crypto Architecture
                                                                Crypto       Instance    SAF Core
                                Requestor
                                                              Interceptor    Attribute




                                                   CryptoProvider

                                                                                         SAF Crypto
                                                                 Crypto
                                                                                         ...
                                                                Provider


                      •   Crypto Interceptor
                            -   Implemented by annotating instance attributes


                      •   Crypto Service Provider
                            -   Runs encrypt/decrypt operations
                            -   Reference implementation coming soon
                  07.05.2008      ICW Developer Conference




Security - Instance-based Security with SAF                                                                13 - 4
ICW Developer Conference - May 2008




                   Code Example – Access Control




                  07.05.2008   ICW Developer Conference




                       Code Example – Attribute Encryption




                   •   BUT: No crypto operations for access via reflection
                   •   Hibernate can be configured for reflective access (field access)
                        - Encrypted storage of attribute values in databases
                   •   JAXB2 can be configured for reflective access (field access)
                        - XML binding of encrypted attribute values

                  07.05.2008   ICW Developer Conference




Security - Instance-based Security with SAF                                               13 - 5
ICW Developer Conference - May 2008




                      Configuration
                                                                                                Spring 2.5
                                                                                                Application Context




                                                                                                            Provider
                                                                                                            Implementations
                                                                        loads




                  07.05.2008      ICW Developer Conference




                  Behind the Scenes

                                                               Client


                                                             Spring AOP                           AspectJ

                                Spring                         Method                Enhanced   AspectJ
                   RT                                                           CT   Bytecode
                               AOP Proxy                     Interceptor                        Advice
                                                                                     Domain
                                                                                     Object
                                                                                                                      Application
                                Service
                                                                                                                      SAF
                               Spring Bean
                                                                                                                      Infrastructure


                 RT   Created at runtime
                                                                                      Access
                      Created at compile time
                                                                                     Manager
                 CT




                  07.05.2008      ICW Developer Conference




Security - Instance-based Security with SAF                                                                                            13 - 6
ICW Developer Conference - May 2008




                     Outlook – 1.0 Release
                      •   Crypto provider reference implementation
                      •   AspectJ load-time weaving
                      •   AspectJ 1.6 upgrade
                           - Support for parameter-level annotations
                      •   OSGi support
                               -   Make SAF components OSGi compliant bundles
                               -   OSGi sample application using SAF components
                      •   Security annotations on
                           - Static domain object methods
                           - Constructors
                      •   Documentation extensions
                               -   Document new features, more examples
                               -   Translate Java Magazin article to English
                      •   Acegi authorization provider integration (optional)
                  07.05.2008        ICW Developer Conference




                     Resources

                      •   Project Site

                               -   http://sourceforge.net/projects/safr



                      •   Web Site

                               -   http://safr.sourceforge.net/



                      •   Article

                               -   Instanz-basierte Zugriffskontrolle, Java Magazin 7.2007


                  07.05.2008        ICW Developer Conference




Security - Instance-based Security with SAF                                                  13 - 7
ICW Developer Conference - May 2008




                     Live Demo

                      •   Notebook web application




                  07.05.2008   ICW Developer Conference




                                                Thank you for your attention!
                                                martin.krasser@icw.de




Security - Instance-based Security with SAF                                     13 - 8

More Related Content

PDF
Cisco Study: State of Web Security
PDF
Netflow analyzer- Datasheet
PDF
HTLV - DSS @Vilnius 2010
PDF
Forecast 2012 Panel: Security POC NAB, Terremark, Trapezoid
PDF
OpSource Enterprise-Class Security
PPT
CCNA Security - Chapter 8
PDF
Security and Virtualization in the Data Center
PDF
Palo alto networks product overview
Cisco Study: State of Web Security
Netflow analyzer- Datasheet
HTLV - DSS @Vilnius 2010
Forecast 2012 Panel: Security POC NAB, Terremark, Trapezoid
OpSource Enterprise-Class Security
CCNA Security - Chapter 8
Security and Virtualization in the Data Center
Palo alto networks product overview

What's hot (20)

PDF
FortiGate-310B Datasheet
PDF
Datasheet stonegate ips-allinone
PDF
Datasheet stonegate fw-allinone
PPTX
Secure Your AWS Cloud Data by Porticor
PPTX
F5's IP Intelligence Service
PDF
Switch
PPSX
ISE_Pub
PPTX
F5 Networks: Introduction to Silverline WAF (web application firewall)
PPT
OCS LIA
PDF
Azure F5 Solutions
PPTX
Yes, you can be pci compliant using a public iaas cloud a case study by phi...
PPTX
Integrating Qualys into the patch and vulnerability management processes
PDF
Demystifying TrustSec, Identity, NAC and ISE
PPTX
Data Center Security Now and into the Future
PDF
VMworld 2013: VMware NSX with Next-Generation Security by Palo Alto Networks
PDF
Simplifying the secure data center
PDF
Key Policy Considerations When Implementing Next-Generation Firewalls
PDF
Data Center Security
PPTX
BIG-IP Data Center Firewall Solution
PPT
Refense Security Risk Briefing July 2009
FortiGate-310B Datasheet
Datasheet stonegate ips-allinone
Datasheet stonegate fw-allinone
Secure Your AWS Cloud Data by Porticor
F5's IP Intelligence Service
Switch
ISE_Pub
F5 Networks: Introduction to Silverline WAF (web application firewall)
OCS LIA
Azure F5 Solutions
Yes, you can be pci compliant using a public iaas cloud a case study by phi...
Integrating Qualys into the patch and vulnerability management processes
Demystifying TrustSec, Identity, NAC and ISE
Data Center Security Now and into the Future
VMworld 2013: VMware NSX with Next-Generation Security by Palo Alto Networks
Simplifying the secure data center
Key Policy Considerations When Implementing Next-Generation Firewalls
Data Center Security
BIG-IP Data Center Firewall Solution
Refense Security Risk Briefing July 2009
Ad

Similar to Instance-based Security with the Security Annotation Framework (SAF) (20)

PPTX
Identity Manager in Cloud with Openflow Switches
PPT
P hallam baker_keynote
PDF
Enterprise Security API (ESAPI) Java - Java User Group San Antonio
PPTX
iCode Security Architecture Framework
PDF
I Minds2009 Secure And Distributed Software Prof Wouter Joosen (Ibbt Distri...
PDF
[Chaco] Soluciones de Seguridad – Nicolás Pérez, Giux
PDF
Designing your applications with a security twist 2007
PPT
PCTY 2012, Risk Based Access Control v. Pat Wardrop
PPTX
Sådan undgår du misbrug af kundedata og fortrolig information
PDF
20071015 Architecting Enterprise Security
PDF
Security Awareness Training
PPTX
Enterprise API Security & Data Loss Prevention - Intel
PPTX
Df2012 securing information_assets_in_saa_s_clouds_3_0
PPTX
Don't Judge a Website by its Icon - Read the Label!
PDF
En arkitektonisk vy av en ledande och dynamisk IT-säkerhetsportfölj - PCTY 2011
PPTX
Private cloud day session 5 a solution for private cloud security
PDF
Security in the Cloud
PDF
Security in the Cloud
PDF
Unit 08: Security for Web Applications
PDF
Layer 7: Fine Grained Authorization for Web Services
Identity Manager in Cloud with Openflow Switches
P hallam baker_keynote
Enterprise Security API (ESAPI) Java - Java User Group San Antonio
iCode Security Architecture Framework
I Minds2009 Secure And Distributed Software Prof Wouter Joosen (Ibbt Distri...
[Chaco] Soluciones de Seguridad – Nicolás Pérez, Giux
Designing your applications with a security twist 2007
PCTY 2012, Risk Based Access Control v. Pat Wardrop
Sådan undgår du misbrug af kundedata og fortrolig information
20071015 Architecting Enterprise Security
Security Awareness Training
Enterprise API Security & Data Loss Prevention - Intel
Df2012 securing information_assets_in_saa_s_clouds_3_0
Don't Judge a Website by its Icon - Read the Label!
En arkitektonisk vy av en ledande och dynamisk IT-säkerhetsportfölj - PCTY 2011
Private cloud day session 5 a solution for private cloud security
Security in the Cloud
Security in the Cloud
Unit 08: Security for Web Applications
Layer 7: Fine Grained Authorization for Web Services
Ad

Recently uploaded (20)

PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
Cloud computing and distributed systems.
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
A Presentation on Artificial Intelligence
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
Approach and Philosophy of On baking technology
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Empathic Computing: Creating Shared Understanding
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
A comparative analysis of optical character recognition models for extracting...
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Cloud computing and distributed systems.
Digital-Transformation-Roadmap-for-Companies.pptx
The AUB Centre for AI in Media Proposal.docx
MIND Revenue Release Quarter 2 2025 Press Release
Advanced methodologies resolving dimensionality complications for autism neur...
Mobile App Security Testing_ A Comprehensive Guide.pdf
A Presentation on Artificial Intelligence
Per capita expenditure prediction using model stacking based on satellite ima...
Programs and apps: productivity, graphics, security and other tools
Agricultural_Statistics_at_a_Glance_2022_0.pdf
NewMind AI Weekly Chronicles - August'25-Week II
Approach and Philosophy of On baking technology
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
20250228 LYD VKU AI Blended-Learning.pptx
Empathic Computing: Creating Shared Understanding
Diabetes mellitus diagnosis method based random forest with bat algorithm
A comparative analysis of optical character recognition models for extracting...
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf

Instance-based Security with the Security Annotation Framework (SAF)

  • 1. ICW Developer Conference - May 2008 Instance-based Security with the Security Annotation Framework (SAF) ICW Developer Conference Martin Krasser / 07.05.2008 Martin Krasser • Software Architect @ Professional Gate • Focus - Application Security - Application Integration Platforms - Application Integration Solutions - Research & Development 07.05.2008 ICW Developer Conference Security - Instance-based Security with SAF 13 - 1
  • 2. ICW Developer Conference - May 2008 Agenda • Introduction • Architecture • Code Examples • Outlook • Live Demo 07.05.2008 ICW Developer Conference Overview • Open Source Security Project @ sourceforge.net - Instance-level access control - Attribute-level encryption • Driven by Java 5 Annotations - @Secure and @Filter annotations to enforce access decisions - @Encrypt annotation to trigger encryption/decryption operations • Framework with provider interfaces (SPI) for - Authorization Providers - Encryption Providers - Reference implementations available 07.05.2008 ICW Developer Conference Security - Instance-based Security with SAF 13 - 2
  • 3. ICW Developer Conference - May 2008 Motivations • Java EE doesn‘t provide instance-level access control mechanisms - Access decisions and policy definitions in Java EE only based on static application properties (methods, ...) - Instance-level access control is additionally based on runtime application properties (domain object state, ...) • Encryption mechanisms decoupled from data storage/binding mechanisms - No Hibernate-specific encryption interceptors ... - No JAXB-specific marshal/unmarshal listeners ... • Avoid complex configurations - No need to deal with Spring/AspectJ AOP details - Place security interceptors using annotations • Support for pluggable authorization and crypto providers - Access control and encryption logic provided by plugins/providers - Different applications have significantly different access control and encryption requirements 07.05.2008 ICW Developer Conference History • SAF initially developed as part of the eHF - Refactoring of complex Spring/AspectJ AOP configurations • Open source since March 2007 - Apache 2.0 License • Three releases so far - Latest release is 0.8.2 (production-stable) - Current development on 0.9-SNAPSHOT 07.05.2008 ICW Developer Conference Security - Instance-based Security with SAF 13 - 3
  • 4. ICW Developer Conference - May 2008 SAF Access Control Architecture Security Domain SAF Core Requestor Interceptor Object AccessManager SAF JAAS Authorization Spring Security Provider ... • Security Interceptor (Policy Enforcement Point) - Implemented by annotating domain objects, methods and method parameters • Authorization Providers (Policy Decision Point) - Makes access decisions based on class instances - Reference implementation based on JAAS extensions 07.05.2008 ICW Developer Conference SAF Crypto Architecture Crypto Instance SAF Core Requestor Interceptor Attribute CryptoProvider SAF Crypto Crypto ... Provider • Crypto Interceptor - Implemented by annotating instance attributes • Crypto Service Provider - Runs encrypt/decrypt operations - Reference implementation coming soon 07.05.2008 ICW Developer Conference Security - Instance-based Security with SAF 13 - 4
  • 5. ICW Developer Conference - May 2008 Code Example – Access Control 07.05.2008 ICW Developer Conference Code Example – Attribute Encryption • BUT: No crypto operations for access via reflection • Hibernate can be configured for reflective access (field access) - Encrypted storage of attribute values in databases • JAXB2 can be configured for reflective access (field access) - XML binding of encrypted attribute values 07.05.2008 ICW Developer Conference Security - Instance-based Security with SAF 13 - 5
  • 6. ICW Developer Conference - May 2008 Configuration Spring 2.5 Application Context Provider Implementations loads 07.05.2008 ICW Developer Conference Behind the Scenes Client Spring AOP AspectJ Spring Method Enhanced AspectJ RT CT Bytecode AOP Proxy Interceptor Advice Domain Object Application Service SAF Spring Bean Infrastructure RT Created at runtime Access Created at compile time Manager CT 07.05.2008 ICW Developer Conference Security - Instance-based Security with SAF 13 - 6
  • 7. ICW Developer Conference - May 2008 Outlook – 1.0 Release • Crypto provider reference implementation • AspectJ load-time weaving • AspectJ 1.6 upgrade - Support for parameter-level annotations • OSGi support - Make SAF components OSGi compliant bundles - OSGi sample application using SAF components • Security annotations on - Static domain object methods - Constructors • Documentation extensions - Document new features, more examples - Translate Java Magazin article to English • Acegi authorization provider integration (optional) 07.05.2008 ICW Developer Conference Resources • Project Site - http://sourceforge.net/projects/safr • Web Site - http://safr.sourceforge.net/ • Article - Instanz-basierte Zugriffskontrolle, Java Magazin 7.2007 07.05.2008 ICW Developer Conference Security - Instance-based Security with SAF 13 - 7
  • 8. ICW Developer Conference - May 2008 Live Demo • Notebook web application 07.05.2008 ICW Developer Conference Thank you for your attention! martin.krasser@icw.de Security - Instance-based Security with SAF 13 - 8