| Java Training   Overview 
 
 
				
This advanced course introduces Java developers to key concepts and technology for developing secure web services and securing enterprise software architecture. Though consensus is forming, and standards have largely taken shape, this is still a broad and challenging field. We focus on a few well-defined approaches: XML cryptography, the WS-Security and WS-SecurityPolicy standards, and the Security Assertions Markup Language, or SAML. We also look XACML for authorization policies, and at trust and federation -- not only as envisioned by SAML but also through the WS-Trust and WS-Federation specifications.
 These approaches do overlap, and through our primary case studies we present a single, coherent story of assuring confidentiality, integrity and non-repudiation, user authenticity, and proper request authorization with a blend of policy-driven WS-Security, SAML, and even some application-coded digital signature. We also investigate the web-application end of SAML, with an in-depth study of single sign-on and federated identity.
 
 Although for practical purposes this course relies on a specific platform, which is Java EE, the great majority of the course content teaches interoperable specifications, and would be equally useful to developers working on other web-service-capable platforms such as .NET -- or to those who work with multiple platforms, and do need to understand the interoperable pieces in detail but perhaps don't need to delve into implementation strategies. In fact, customizations are available that essentially leave out the Java to stick more strictly to the XML.
 
 Java Training   Prerequisites
 
 
 
Java Training  Learning ObjectivesSolid Java programming experience is essential; Course "Java programming" provides excellent preparation.Experience developing Java Web services is likewise a hard requirement: labs will assume understanding of both SAAJ and JAX-WS. Course "Developing Java Web Services" is strongly recommended.Students are expected to be able to read and write XML fluently, and have some familiarity with XML Schema. 
 After completing this course, the student should be able to:
		 
		Java Training   Course durationUnderstand the unique challenges in securing interoperable XML-based services.Apply W3C standards to digitally sign and encrypt XML fragments and documents.Understand the importance of the WS-Security specifications to interoperably secure messaging.Use state-of-the-art tools to configure or implement signature, encryption, and various WS-Security header content for Java web services.Drive such WSS implementations from WS-SecurityPolicy documents."Vouch for" a user across domains to achieve request authorization without sharing credentials.Exchange security information between servers, applications, and components, using SAML assertion and protocol models.Understand the role of XACML in policy management and decision-making.Understand the WS-Trust and WS-Federation architectures for developing the trust relationships that enable service federations and service-oriented architectures.Build web applications that participate in SAML federation and single sign-on. 
 5 Days
 
 Java Training   Course outline
 
 Chapter 1. Securing the Service-Oriented Enterprise
 
Chapter 2. Transport SecuritySecurity for Web ServicesThreatsCIA GoalsSolution Levels: W3C, OASIS, Java EEScenario: Secure Multi-Party ConversationCryptographyWS-Security and WS-SecurityPolicyScenario: Sharing Security InformationSAML and XACMLScenario: Multiple User RealmsScenario: Single Sign-OnTechnology Stacks: WS-Federation and Liberty AllianceThe WS-I Basic Security Profile 
Chapter 3. XML SignatureUse Case: Secure TransportHTTP Authentication SchemesHTTP BASICHTTP DIGESTSecuring Web-Service URLsHTTPSJAX-WS SupportAxis Support 
Chapter 4. XML EncryptionUse Case: Non-RepudiationXML Digital SignatureCryptography BackgrounderCanonical XMLEnveloped, Enveloping, and Detached SignaturesSignedInfo and ReferencesThe Java Cryptography ArchitectureKeystoresWhy Keys Aren't EnoughX.509 Certificates and Certificate ChainsThe KeyStore APIJava XML Digital Signature APISteps to Sign and Verify XML ContentJAX-WS Message HandlersFoiling the Man in the Middle 
Chapter 5. WS-SecurityUse Case: ConfidentialityXML EncryptionEncryptedDataElement vs. Content EncryptionKey WrappingThe Java Cryptography ExtensionsApache XML SecuritySteps to Encrypt and Decrypt XML ContentChoosing Algorithms and Key Sizes 
Chapter 6. WS-SecurityPolicyUse Case: Secure Message ExchangeUse Case: User LoginThe WS-Security SpecificationsSecurity Token TypesTimestampsUsername TokensSignature and EncryptionTools for WS-SecurityXWSS and JAASFoiling Replay Attacks 
Chapter 7. Introduction to SAMLUse Case: Sharing MetadataWS-PolicyNormalized vs. Compact FormPolicy AttachmentPolicy ScopesWS-SecurityPolicyProtection AssertionsToken AssertionsSupporting and Endorsing TokensBindingsMetro and WSITImplementing CallbacksIntegrating Security Frameworks 
Chapter 8. SAML AssertionsHistory of SAMLAssertionsProtocolBindingsProfilesUsing OpenSAMLSAML and Web Services 
Chapter 9. SAML ProtocolUse Case: "Vouching for" a UserThe Assertions SchemaExtensibilityAssertions and SubjectsNameID TypesConditionsSubject ConfirmationConfirmation MethodsAuthntStatementAuthentication ContextsAttributeStatementAttribute ProfilesAuthzDecisionStatementsActions and EvidenceWS-Security and SAML TokensOpenSAML Assertions ModelCreating XML ObjectsMarshalling and Unmarshalling 
Chapter 10. XACMLUse Case: Back-Channel QueriesRequests, Queries, and ResponsesStatus and StatusCodeAuthnQueryAttributeQueryAuthzDecisionQueryOther Request and Response TypesOpenSAML Protocol ModelSAML and XML SignatureSAML and XML Encryption 
Chapter 11. Securing Federated ServicesUse Case: Back-Channel AuthorizationUse Case: Sharing Authorization PoliciesPolicies, Policy Sets, and TargetsRulesCombining AlgorithmsPolicy ContextRequest and Response TypesThe SAML Profile of XACMLAuthorization Decisions via XACML 
Chapter 12. SAML BindingsPublish, Find, Bind ... Execute!UDDIWS-BPELThe Trust ProblemWS-TrustThe Security Token ServiceMessaging Model: RST and RSTRDerived KeysWS-SecureConversationSecure Conversation MetricsWS-FederationValue Proposition 
Chapter 13. Federated IdentityUse Case: Speaking "Through" the BrowserThe SOAP BindingSAML Over HTTPThe Browser as MessengerThe Redirect, POST, and Artifact BindingsThe PAOS BindingThe URI Binding 
Appendix A.Learning
ResourcesWhat is Federation?Problems for Identity FederationSAML 2.0 FederationsSingle Sign-OnAccount Linking and Persistent PseudonymsTransient PseudonymsName ID MappingFederation TerminationOpenSSOFedlets 
 Appendix B. Web-Service Security Prefixes and Namespaces
 
 
 System Requirements
 
 Minimum Hardware Requirements
 
 
 Software Requirements1.5 GHz, 1 gig RAM, 2 gig disk space.
 
 
 
 
			    
All free downloadable tools.
 Hardware – recommended
 
 
 
			    
		              
		    Network and Security 2 GHz, 2 gig RAM, 3 gig disk space
 
 An internet connection is required for each student and instructor machine. Limited privileges required
 
 Operating system
 
 
 
			    
			    Tested on Windows XP Professional. Course software should be viable on all systems which support the Java EE 5.0 SDK.
 
 
 |