SlideShare a Scribd company logo
 i4M Lab
1
ΕΛΛΑΚ Μονάδες Αριστείας (ΜΑ. ΕΛΛΑΚ)
Σχολείο Ανοικτού Κώδικα ΕΛ / ΛΑΚ: e-Identity & e-Government
(Hλεκτρονική ταυτότητα στη Δημόσια Διοίκηση και Τοπική Αυτοδιοίκηση)
UAegean Center of Excellence (CoE) – Open Source Software in Transport
and Shipping
University of the Aegean
Dpt of Financial and Management Engineering & Dpt of Shipping and Transportation Services
Session: II
Stelios Lelis , i4M Lab, UAegean
Harris Papadakis, i4M Lab, UAegean
@ i-nformation M-anagement Lab
i4M Lab
 i4M Lab
Ταυτότητα Σεμιναρίου
 Το Πανεπιστήμιο Αιγαίου, στα πλαίσια του έργου Μονάδες Αριστείας
Ελεύθερου Λογισμικού / Λογισμικού Ανοικτού Κώδικα (ΕΛ/ΛΑΚ)1,
διοργανώνει Σχολείο Ανοικτού Κώδικα ΕΛ / ΛΑΚ με θέμα «e-Identity &
e-Government (Hλεκτρονική ταυτότητα στη Δημόσια Διοίκηση και
Τοπική Αυτοδιοίκηση)».
1 Το υποέργο Μονάδες Αριστείας ΕΛ/ΛΑΚ υλοποιείται στο πλαίσιο του έργου «Ηλεκτρονικές Υπηρεσίες για την Ανάπτυξη και
Διάδοση του Ανοιχτού Λογισμικού» του Προγράμματος «Ψηφιακή Σύγκλιση». Το έργο συγχρηματοδοτείται από το ΕΤΠΑ.
2
 i4M Lab
Σήμερα 03.11.2015
3
STORK2.0 Interconnection
Supporting Service Architecture,
Aplication Protocol Interfaces,
hands-on experienc
16:00 - 20:00 4 ώρες
Στέλιος Λέλης
Χαράλαμπος
Παπαδάκης
 i4M Lab
Online tools και άλλα
 Βασική αναφορά για την ύλη του μαθήματος
 https://openeclass.aegean.gr/courses/OPENSOURCE102/
 Επικοινωνία
 seminar e-mailing list: e-identity-iss-community@googlegroups.com
 Αποθετήριο κώδικα ISS
 https://github.com/adanar/SSS-2.0
 Ομάδα διδασκαλίας και συντονισμού
 Στέλιος Λέλης
 Χάρης Παπαδάκης
 Πέτρος Καβάσαλης
4
 i4M Lab
STORK2.0 INTERCONNECTION SUPPORTING
SERVICE ARCHITECTURE, APPLICATION
PROTOCOL INTERFACES, HANDS-ON
EXPERIENCE
Session II
5
 i4M Lab
Session II: agenda
 Security Assertion Markup Language (SAML)
 ISS Architecture - APIs
 ISS Hands-on Experience
6
 i4M Lab
Session II: agenda
 Security Assertion Markup Language (SAML)
 ISS Architecture - APIs
 ISS Hands-on Experience
7
 i4M Lab
SAML – Security Assertion Markup Language
 An XML-based, open-standard data format for
exchanging authentication and authorization data between parties.
 Parties (IdPs, SPs, PEPSes, etc.) exchange SAML documents that
contain SAML assertions
 A SAML assertion contains a packet of security information
“Assertion A was issued at time t by issuer R regarding
subject S provided conditions C are valid”
 On the basis of assertions, SPs make access control decisions – in other
words it can decide whether to provide access to the service to the user.
 SAML documents are signed and their origin cross-checked (circle of
trust)
8
 i4M Lab
SAML Assertion Statements
 Assertions contain three types of statements
 Authentication statements
o Assert to the SP that the principal did indeed authenticate with the identity provider
at a particular time using a particular method of authentication
 Attribute statements
o Asserts that a subject is associated with certain attributes.
 Authorization decision statements
o Asserts that a subject is permitted to perform action A on resource R given
evidence E (intentionally limited)
9
 i4M Lab
SAML Protocols
 A SAML protocol describes how certain SAML elements (including
assertions) are packaged within SAML request and response elements,
and gives the processing rules that SAML entities must follow when
producing or consuming these elements.
 SAML protocol is a simple request-response protocol
 Autehtncitation Query – Authentication Response
 Attribute Query – Attribute Response
 Authorization Decision Query - Authorization Decision Response
10
 i4M Lab
SAML Bindings
 A SAML binding is a mapping of a SAML protocol message onto
standard messaging formats and/or communications protocols.
 SAML SOAP Binding
o specifies how a SAML message is encapsulated in a SOAP envelope, which itself
is bound to an HTTP message
 Reverse SOAP (PAOS) Binding
 HTTP Redirect (GET) Binding
 HTTP POST Binding
o specifies how a SAML message is posted to the party, which itself is bound to an
HTTP message
 HTTP Artifact Binding
 SAML URI Binding
11
 i4M Lab
STORK2.0 SAML Protocol
 Extension of the standard SAML2.0 protocol
 Mandatory QAA Level (Quality Authentication Assurance)
 Optional eIDSectorShare, eIDCrossSectorShare, eIDCrossBorderShare
whether an eId can be shared
 Optional <RequestAttribtues> element to allow additional STORK attributes
to be rrequested
 Additional attributes necessary for processing the authentication
12
 i4M Lab
STORK
SAML
Example
Part I
13
 i4M Lab 14
STORK
SAML
Example
Part II
 i4M Lab 15
STORK
SAML
Example
Part III
 i4M Lab
STORK2.0 PAL – Personal Attribute List
 Simple object representation of the attributes information transferred
trough SAML documents
 Utilized internally at PEPS, Demo SP, Demo AP and ISS
 Methods for setting and getting attributes
 public PersonalAttribute put(final String key, final PersonalAttribute val)
 public void add(final PersonalAttribute value)
 public PersonalAttribute get(final Object key)
 IPersonalAttributeList getMandatoryAttributes() …
 PersonalAttribute: representation of an attribute
 Fields: name, value, complexValue, required, status, friendlyName
16
 i4M Lab
Session II: agenda
 Security Assertion Markup Language (SAML)
 ISS Architecture - APIs
 ISS Hands-on Experience
17
 i4M Lab
Struts 2.0 framework
 Supporting Service 2.0 is a Struts 2.0-based web application
 Struts 2.0 is a pull-MVC framework based on Actions. Actions are have
trigger points and results actions
 Example:
<action name="ValidateToken" class="eu.stork.ss.specific.json.RetrieveDummySP">
<result name="success" type="redirectAction">
<param name="actionName">CountrySelector</param>
</result>
<result name="error">/errorPage.jsp</result>
</action>
 action name : Name of the action. Part of the trigger URL (http://server/webapp/ValidateToken)
 Class: the corresponding class containing the execute method to be activated when the corresponding
action is triggered.
 Result name: what happened on success and failure
 Success: automatic struts redirection-to-action trigger
 Failure: display a JSP page
 i4M Lab
Supporting Service operation lifecycle
 <!-- Step1: Validate token, create session and set token -->
<action name="ValidateToken“ class="eu.stork.ss.specific.json.RetrieveDummySP">
<result name="success" type="redirectAction"><param name="actionName">CountrySelector</param>
</result>
<result name="error">/errorPage.jsp</result></action>
 <!-- Step3: Validate user selection and create SAML (session must contain TOKEN and PAL) -->
<action name="ValidateSelection" class="eu.stork.ss.ValidateSelection">
<result name="success">/samlRedirect.jsp</result>
<result name="error">/errorPage.jsp</result> </action>
 #Sp return url sp.return=https://stork2.atlantis-group.gr/SP/ServiceRedirect
 <!-- Step4: Validate SAML, save values to PAL (session must contain TOKEN and PAL) -->
<action name="ServiceRedirect" class="eu.stork.ss.ServiceRedirect">
<result name="success" type="chain"><param name="actionName">ReturnToken</param>
</result><result name="error">/redirect.jsp</result></action>
 <!-- Step5: Provided a PAL we save the values and redirect to the SP -->
<action name="ReturnToken" class="eu.stork.ss.specific.json.SaveDummySP">
<result name="success">/tokenRedirect.jsp</result>
<result name="error">/errorPage.jsp</result></action>
 i4M Lab
Step1:
Validate token, create session and set token
 Action Name: ValidateToken
 Abstract action class: eu.stork.ss.RetreivePersonalAttributeList
 Specific class: eu.stork.ss.specific.xx.RetrieveDummySP
 Method of interest: IPersonalAttributeList
retrievePersonalAttributeList(String token)
 Retrieve configuration information
 Perform SP communication and retrieve requested attributes
 Construct the corresponding PAL
 Let’s look into the code!
 i4M Lab
Step3:
Validate user selection and create SAML
 Action Name: ValidateSelection
 Action class: eu.stork.ss.ValidateSelection
 Constructs the Authentication Request (Main class to represent a request to
the STORK service)
 Uses the STORK SAML engine to encode the PAL into the SAML document
 Retrieves PEPS URL from configuration file
 Sends the request to PEPS (STORK) through user redirection
(samlRedirect.jsp)
 i4M Lab
Step4:
Validate SAML, save values to PAL
 Action Name: ServiceRedirect
 Action class: eu.stork.ss.ServiceRedirect
 Receives the SAML document which contains the reply from STORK
 Checks whether the response contains some error code
 Otherwise, decodes the document, retrieving all necessary information, esp.
the PAL
 PAL now also contains the requested attribute values
 i4M Lab
Step5:
Provided a PAL we save the values and
redirect to the SP
 Action Name: ReturnToken
 Abstract action class: eu.stork.ssSavePersonalAttributeList
 Specific class: eu.stork.ss.specific.xx.SaveDummySP
 Method of interest: String savePersonalAttributeList(String token,
IPersonalAttributeList pal)
 Constructs the SP request message from PAL
 Performs the necessary communication to the SP
 Retrieves the SP reply
 Redirects the user to the corresponding URL (success or failure)
 Let’s look into the code!
 i4M Lab
Session II: agenda
 Security Assertion Markup Language (SAML)
 ISS Architecture - APIs
 ISS Hands-on Experience
24
 i4M Lab
ISS Code…
25
 i4M Lab
Thank You
 Λέλης Στέλιος
 Χάρης Παπαδάκης
 Αύριο, 05 Νοεμβρίου 2015 @ 16:00
 «Assignments Presentation»
26

More Related Content

Similar to e-Idenity-and-e-Government_ELAK-Code-Camp-Lecture_II

Railsplitter: Simplify Your CRUD
Railsplitter: Simplify Your CRUDRailsplitter: Simplify Your CRUD
Railsplitter: Simplify Your CRUD
Flurry, Inc.
 
Simple Web service Offering Repository Deposit (SWORD)‏
Simple Web service Offering Repository Deposit (SWORD)‏Simple Web service Offering Repository Deposit (SWORD)‏
Simple Web service Offering Repository Deposit (SWORD)‏Julie Allinson
 
Automated rock testing tracker
Automated rock testing trackerAutomated rock testing tracker
Automated rock testing trackerMir Mustafa Ali
 
Web Services Automated Testing via SoapUI Tool
Web Services Automated Testing via SoapUI ToolWeb Services Automated Testing via SoapUI Tool
Web Services Automated Testing via SoapUI Tool
Sperasoft
 
Web Service
Web ServiceWeb Service
Web Service
Ashwani kumar
 
OWASP_Top_Ten_Proactive_Controls_v2.pptx
OWASP_Top_Ten_Proactive_Controls_v2.pptxOWASP_Top_Ten_Proactive_Controls_v2.pptx
OWASP_Top_Ten_Proactive_Controls_v2.pptx
FernandoVizer
 
Detection as Code, Automation, and Testing: The Key to Unlocking the Power of...
Detection as Code, Automation, and Testing: The Key to Unlocking the Power of...Detection as Code, Automation, and Testing: The Key to Unlocking the Power of...
Detection as Code, Automation, and Testing: The Key to Unlocking the Power of...
MITRE ATT&CK
 
Oracle API Gateway
Oracle API GatewayOracle API Gateway
Oracle API Gateway
Rakesh Gujjarlapudi
 
Sword Cetis 2007 06 29
Sword Cetis 2007 06 29Sword Cetis 2007 06 29
Sword Cetis 2007 06 29
Julie Allinson
 
Sword Cetis 2007 06 29
Sword Cetis 2007 06 29Sword Cetis 2007 06 29
Sword Cetis 2007 06 29
Sheila MacNeill
 
CamelOne 2013 Karaf A-MQ Camel CXF Security
CamelOne 2013 Karaf A-MQ Camel CXF SecurityCamelOne 2013 Karaf A-MQ Camel CXF Security
CamelOne 2013 Karaf A-MQ Camel CXF Security
Kenneth Peeples
 
OSMC 2021 | inspectIT Ocelot: Dynamic OpenTelemetry Instrumentation at Runtime
OSMC 2021 | inspectIT Ocelot: Dynamic OpenTelemetry Instrumentation at RuntimeOSMC 2021 | inspectIT Ocelot: Dynamic OpenTelemetry Instrumentation at Runtime
OSMC 2021 | inspectIT Ocelot: Dynamic OpenTelemetry Instrumentation at Runtime
NETWAYS
 
audit_blog.ppt
audit_blog.pptaudit_blog.ppt
audit_blog.ppt
ssuserb9407e
 
Qtp Presentation
Qtp PresentationQtp Presentation
Qtp Presentationtechgajanan
 
Spring framework
Spring frameworkSpring framework
Spring frameworksrmelody
 

Similar to e-Idenity-and-e-Government_ELAK-Code-Camp-Lecture_II (20)

Railsplitter: Simplify Your CRUD
Railsplitter: Simplify Your CRUDRailsplitter: Simplify Your CRUD
Railsplitter: Simplify Your CRUD
 
Sword Crig 2007 12 06
Sword Crig 2007 12 06Sword Crig 2007 12 06
Sword Crig 2007 12 06
 
Simple Web service Offering Repository Deposit (SWORD)‏
Simple Web service Offering Repository Deposit (SWORD)‏Simple Web service Offering Repository Deposit (SWORD)‏
Simple Web service Offering Repository Deposit (SWORD)‏
 
Web Services
Web ServicesWeb Services
Web Services
 
Web Services
Web ServicesWeb Services
Web Services
 
Icoper webinar
Icoper webinar Icoper webinar
Icoper webinar
 
Automated rock testing tracker
Automated rock testing trackerAutomated rock testing tracker
Automated rock testing tracker
 
Web Services Automated Testing via SoapUI Tool
Web Services Automated Testing via SoapUI ToolWeb Services Automated Testing via SoapUI Tool
Web Services Automated Testing via SoapUI Tool
 
Web Service
Web ServiceWeb Service
Web Service
 
OWASP_Top_Ten_Proactive_Controls_v2.pptx
OWASP_Top_Ten_Proactive_Controls_v2.pptxOWASP_Top_Ten_Proactive_Controls_v2.pptx
OWASP_Top_Ten_Proactive_Controls_v2.pptx
 
Detection as Code, Automation, and Testing: The Key to Unlocking the Power of...
Detection as Code, Automation, and Testing: The Key to Unlocking the Power of...Detection as Code, Automation, and Testing: The Key to Unlocking the Power of...
Detection as Code, Automation, and Testing: The Key to Unlocking the Power of...
 
Oracle API Gateway
Oracle API GatewayOracle API Gateway
Oracle API Gateway
 
Sword Cetis 2007 06 29
Sword Cetis 2007 06 29Sword Cetis 2007 06 29
Sword Cetis 2007 06 29
 
Sword Cetis 2007 06 29
Sword Cetis 2007 06 29Sword Cetis 2007 06 29
Sword Cetis 2007 06 29
 
CamelOne 2013 Karaf A-MQ Camel CXF Security
CamelOne 2013 Karaf A-MQ Camel CXF SecurityCamelOne 2013 Karaf A-MQ Camel CXF Security
CamelOne 2013 Karaf A-MQ Camel CXF Security
 
OSMC 2021 | inspectIT Ocelot: Dynamic OpenTelemetry Instrumentation at Runtime
OSMC 2021 | inspectIT Ocelot: Dynamic OpenTelemetry Instrumentation at RuntimeOSMC 2021 | inspectIT Ocelot: Dynamic OpenTelemetry Instrumentation at Runtime
OSMC 2021 | inspectIT Ocelot: Dynamic OpenTelemetry Instrumentation at Runtime
 
audit_blog.ppt
audit_blog.pptaudit_blog.ppt
audit_blog.ppt
 
Qtp Presentation
Qtp PresentationQtp Presentation
Qtp Presentation
 
Spring framework
Spring frameworkSpring framework
Spring framework
 
Report
ReportReport
Report
 

More from Connected Islands

e-Idenity-and-e-Government_ELAK-Code-Camp-Lecture_III
e-Idenity-and-e-Government_ELAK-Code-Camp-Lecture_IIIe-Idenity-and-e-Government_ELAK-Code-Camp-Lecture_III
e-Idenity-and-e-Government_ELAK-Code-Camp-Lecture_III
Connected Islands
 
e-Idenity-and-e-Government_ELAK-Code-Camp-Lecture_I
e-Idenity-and-e-Government_ELAK-Code-Camp-Lecture_Ie-Idenity-and-e-Government_ELAK-Code-Camp-Lecture_I
e-Idenity-and-e-Government_ELAK-Code-Camp-Lecture_I
Connected Islands
 
Blue Helix Community
Blue Helix CommunityBlue Helix Community
Blue Helix Community
Connected Islands
 
Short Sea Shipping
Short Sea ShippingShort Sea Shipping
Short Sea Shipping
Connected Islands
 
Island Hopping
Island HoppingIsland Hopping
Island Hopping
Connected Islands
 
Blue Correlation
Blue Correlation  Blue Correlation
Blue Correlation
Connected Islands
 
Blue Hacathon- Φ. Ρούτσης
Blue Hacathon- Φ. ΡούτσηςBlue Hacathon- Φ. Ρούτσης
Blue Hacathon- Φ. Ρούτσης
Connected Islands
 
Blue Hacathon-Γ. Ρεμούνδος
Blue Hacathon-Γ. ΡεμούνδοςBlue Hacathon-Γ. Ρεμούνδος
Blue Hacathon-Γ. Ρεμούνδος
Connected Islands
 
Blue Hacathon-Ι. Σπιλάνης
Blue Hacathon-Ι. ΣπιλάνηςBlue Hacathon-Ι. Σπιλάνης
Blue Hacathon-Ι. Σπιλάνης
Connected Islands
 

More from Connected Islands (9)

e-Idenity-and-e-Government_ELAK-Code-Camp-Lecture_III
e-Idenity-and-e-Government_ELAK-Code-Camp-Lecture_IIIe-Idenity-and-e-Government_ELAK-Code-Camp-Lecture_III
e-Idenity-and-e-Government_ELAK-Code-Camp-Lecture_III
 
e-Idenity-and-e-Government_ELAK-Code-Camp-Lecture_I
e-Idenity-and-e-Government_ELAK-Code-Camp-Lecture_Ie-Idenity-and-e-Government_ELAK-Code-Camp-Lecture_I
e-Idenity-and-e-Government_ELAK-Code-Camp-Lecture_I
 
Blue Helix Community
Blue Helix CommunityBlue Helix Community
Blue Helix Community
 
Short Sea Shipping
Short Sea ShippingShort Sea Shipping
Short Sea Shipping
 
Island Hopping
Island HoppingIsland Hopping
Island Hopping
 
Blue Correlation
Blue Correlation  Blue Correlation
Blue Correlation
 
Blue Hacathon- Φ. Ρούτσης
Blue Hacathon- Φ. ΡούτσηςBlue Hacathon- Φ. Ρούτσης
Blue Hacathon- Φ. Ρούτσης
 
Blue Hacathon-Γ. Ρεμούνδος
Blue Hacathon-Γ. ΡεμούνδοςBlue Hacathon-Γ. Ρεμούνδος
Blue Hacathon-Γ. Ρεμούνδος
 
Blue Hacathon-Ι. Σπιλάνης
Blue Hacathon-Ι. ΣπιλάνηςBlue Hacathon-Ι. Σπιλάνης
Blue Hacathon-Ι. Σπιλάνης
 

Recently uploaded

如何办理(uoit毕业证书)加拿大安大略理工大学毕业证文凭证书录取通知原版一模一样
如何办理(uoit毕业证书)加拿大安大略理工大学毕业证文凭证书录取通知原版一模一样如何办理(uoit毕业证书)加拿大安大略理工大学毕业证文凭证书录取通知原版一模一样
如何办理(uoit毕业证书)加拿大安大略理工大学毕业证文凭证书录取通知原版一模一样
850fcj96
 
PACT launching workshop presentation-Final.pdf
PACT launching workshop presentation-Final.pdfPACT launching workshop presentation-Final.pdf
PACT launching workshop presentation-Final.pdf
Mohammed325561
 
PPT Item # 7 - BB Inspection Services Agmt
PPT Item # 7 - BB Inspection Services AgmtPPT Item # 7 - BB Inspection Services Agmt
PPT Item # 7 - BB Inspection Services Agmt
ahcitycouncil
 
Opinions on EVs: Metro Atlanta Speaks 2023
Opinions on EVs: Metro Atlanta Speaks 2023Opinions on EVs: Metro Atlanta Speaks 2023
Opinions on EVs: Metro Atlanta Speaks 2023
ARCResearch
 
一比一原版(UOW毕业证)伍伦贡大学毕业证成绩单
一比一原版(UOW毕业证)伍伦贡大学毕业证成绩单一比一原版(UOW毕业证)伍伦贡大学毕业证成绩单
一比一原版(UOW毕业证)伍伦贡大学毕业证成绩单
ehbuaw
 
一比一原版(Adelaide毕业证)阿德莱德大学毕业证成绩单
一比一原版(Adelaide毕业证)阿德莱德大学毕业证成绩单一比一原版(Adelaide毕业证)阿德莱德大学毕业证成绩单
一比一原版(Adelaide毕业证)阿德莱德大学毕业证成绩单
ehbuaw
 
What is the point of small housing associations.pptx
What is the point of small housing associations.pptxWhat is the point of small housing associations.pptx
What is the point of small housing associations.pptx
Paul Smith
 
Get Government Grants and Assistance Program
Get Government Grants and Assistance ProgramGet Government Grants and Assistance Program
Get Government Grants and Assistance Program
Get Government Grants
 
PPT Item # 5 - 5330 Broadway ARB Case # 930F
PPT Item # 5 - 5330 Broadway ARB Case # 930FPPT Item # 5 - 5330 Broadway ARB Case # 930F
PPT Item # 5 - 5330 Broadway ARB Case # 930F
ahcitycouncil
 
PD-1602-as-amended-by-RA-9287-Anti-Illegal-Gambling-Law.pptx
PD-1602-as-amended-by-RA-9287-Anti-Illegal-Gambling-Law.pptxPD-1602-as-amended-by-RA-9287-Anti-Illegal-Gambling-Law.pptx
PD-1602-as-amended-by-RA-9287-Anti-Illegal-Gambling-Law.pptx
RIDPRO11
 
Uniform Guidance 3.0 - The New 2 CFR 200
Uniform Guidance 3.0 - The New 2 CFR 200Uniform Guidance 3.0 - The New 2 CFR 200
Uniform Guidance 3.0 - The New 2 CFR 200
GrantManagementInsti
 
一比一原版(QUT毕业证)昆士兰科技大学毕业证成绩单
一比一原版(QUT毕业证)昆士兰科技大学毕业证成绩单一比一原版(QUT毕业证)昆士兰科技大学毕业证成绩单
一比一原版(QUT毕业证)昆士兰科技大学毕业证成绩单
ukyewh
 
PPT Item # 6 - 7001 Broadway ARB Case # 933F
PPT Item # 6 - 7001 Broadway ARB Case # 933FPPT Item # 6 - 7001 Broadway ARB Case # 933F
PPT Item # 6 - 7001 Broadway ARB Case # 933F
ahcitycouncil
 
一比一原版(UQ毕业证)昆士兰大学毕业证成绩单
一比一原版(UQ毕业证)昆士兰大学毕业证成绩单一比一原版(UQ毕业证)昆士兰大学毕业证成绩单
一比一原版(UQ毕业证)昆士兰大学毕业证成绩单
ehbuaw
 
PPT Item # 9 - 2024 Street Maintenance Program(SMP) Amendment
PPT Item # 9 - 2024 Street Maintenance Program(SMP) AmendmentPPT Item # 9 - 2024 Street Maintenance Program(SMP) Amendment
PPT Item # 9 - 2024 Street Maintenance Program(SMP) Amendment
ahcitycouncil
 
Russian anarchist and anti-war movement in the third year of full-scale war
Russian anarchist and anti-war movement in the third year of full-scale warRussian anarchist and anti-war movement in the third year of full-scale war
Russian anarchist and anti-war movement in the third year of full-scale war
Antti Rautiainen
 
PNRR MADRID GREENTECH FOR BROWN NETWORKS NETWORKS MUR_MUSA_TEBALDI.pdf
PNRR MADRID GREENTECH FOR BROWN NETWORKS NETWORKS MUR_MUSA_TEBALDI.pdfPNRR MADRID GREENTECH FOR BROWN NETWORKS NETWORKS MUR_MUSA_TEBALDI.pdf
PNRR MADRID GREENTECH FOR BROWN NETWORKS NETWORKS MUR_MUSA_TEBALDI.pdf
ClaudioTebaldi2
 
Many ways to support street children.pptx
Many ways to support street children.pptxMany ways to support street children.pptx
Many ways to support street children.pptx
SERUDS INDIA
 
2024: The FAR - Federal Acquisition Regulations, Part 36
2024: The FAR - Federal Acquisition Regulations, Part 362024: The FAR - Federal Acquisition Regulations, Part 36
2024: The FAR - Federal Acquisition Regulations, Part 36
JSchaus & Associates
 
Understanding the Challenges of Street Children
Understanding the Challenges of Street ChildrenUnderstanding the Challenges of Street Children
Understanding the Challenges of Street Children
SERUDS INDIA
 

Recently uploaded (20)

如何办理(uoit毕业证书)加拿大安大略理工大学毕业证文凭证书录取通知原版一模一样
如何办理(uoit毕业证书)加拿大安大略理工大学毕业证文凭证书录取通知原版一模一样如何办理(uoit毕业证书)加拿大安大略理工大学毕业证文凭证书录取通知原版一模一样
如何办理(uoit毕业证书)加拿大安大略理工大学毕业证文凭证书录取通知原版一模一样
 
PACT launching workshop presentation-Final.pdf
PACT launching workshop presentation-Final.pdfPACT launching workshop presentation-Final.pdf
PACT launching workshop presentation-Final.pdf
 
PPT Item # 7 - BB Inspection Services Agmt
PPT Item # 7 - BB Inspection Services AgmtPPT Item # 7 - BB Inspection Services Agmt
PPT Item # 7 - BB Inspection Services Agmt
 
Opinions on EVs: Metro Atlanta Speaks 2023
Opinions on EVs: Metro Atlanta Speaks 2023Opinions on EVs: Metro Atlanta Speaks 2023
Opinions on EVs: Metro Atlanta Speaks 2023
 
一比一原版(UOW毕业证)伍伦贡大学毕业证成绩单
一比一原版(UOW毕业证)伍伦贡大学毕业证成绩单一比一原版(UOW毕业证)伍伦贡大学毕业证成绩单
一比一原版(UOW毕业证)伍伦贡大学毕业证成绩单
 
一比一原版(Adelaide毕业证)阿德莱德大学毕业证成绩单
一比一原版(Adelaide毕业证)阿德莱德大学毕业证成绩单一比一原版(Adelaide毕业证)阿德莱德大学毕业证成绩单
一比一原版(Adelaide毕业证)阿德莱德大学毕业证成绩单
 
What is the point of small housing associations.pptx
What is the point of small housing associations.pptxWhat is the point of small housing associations.pptx
What is the point of small housing associations.pptx
 
Get Government Grants and Assistance Program
Get Government Grants and Assistance ProgramGet Government Grants and Assistance Program
Get Government Grants and Assistance Program
 
PPT Item # 5 - 5330 Broadway ARB Case # 930F
PPT Item # 5 - 5330 Broadway ARB Case # 930FPPT Item # 5 - 5330 Broadway ARB Case # 930F
PPT Item # 5 - 5330 Broadway ARB Case # 930F
 
PD-1602-as-amended-by-RA-9287-Anti-Illegal-Gambling-Law.pptx
PD-1602-as-amended-by-RA-9287-Anti-Illegal-Gambling-Law.pptxPD-1602-as-amended-by-RA-9287-Anti-Illegal-Gambling-Law.pptx
PD-1602-as-amended-by-RA-9287-Anti-Illegal-Gambling-Law.pptx
 
Uniform Guidance 3.0 - The New 2 CFR 200
Uniform Guidance 3.0 - The New 2 CFR 200Uniform Guidance 3.0 - The New 2 CFR 200
Uniform Guidance 3.0 - The New 2 CFR 200
 
一比一原版(QUT毕业证)昆士兰科技大学毕业证成绩单
一比一原版(QUT毕业证)昆士兰科技大学毕业证成绩单一比一原版(QUT毕业证)昆士兰科技大学毕业证成绩单
一比一原版(QUT毕业证)昆士兰科技大学毕业证成绩单
 
PPT Item # 6 - 7001 Broadway ARB Case # 933F
PPT Item # 6 - 7001 Broadway ARB Case # 933FPPT Item # 6 - 7001 Broadway ARB Case # 933F
PPT Item # 6 - 7001 Broadway ARB Case # 933F
 
一比一原版(UQ毕业证)昆士兰大学毕业证成绩单
一比一原版(UQ毕业证)昆士兰大学毕业证成绩单一比一原版(UQ毕业证)昆士兰大学毕业证成绩单
一比一原版(UQ毕业证)昆士兰大学毕业证成绩单
 
PPT Item # 9 - 2024 Street Maintenance Program(SMP) Amendment
PPT Item # 9 - 2024 Street Maintenance Program(SMP) AmendmentPPT Item # 9 - 2024 Street Maintenance Program(SMP) Amendment
PPT Item # 9 - 2024 Street Maintenance Program(SMP) Amendment
 
Russian anarchist and anti-war movement in the third year of full-scale war
Russian anarchist and anti-war movement in the third year of full-scale warRussian anarchist and anti-war movement in the third year of full-scale war
Russian anarchist and anti-war movement in the third year of full-scale war
 
PNRR MADRID GREENTECH FOR BROWN NETWORKS NETWORKS MUR_MUSA_TEBALDI.pdf
PNRR MADRID GREENTECH FOR BROWN NETWORKS NETWORKS MUR_MUSA_TEBALDI.pdfPNRR MADRID GREENTECH FOR BROWN NETWORKS NETWORKS MUR_MUSA_TEBALDI.pdf
PNRR MADRID GREENTECH FOR BROWN NETWORKS NETWORKS MUR_MUSA_TEBALDI.pdf
 
Many ways to support street children.pptx
Many ways to support street children.pptxMany ways to support street children.pptx
Many ways to support street children.pptx
 
2024: The FAR - Federal Acquisition Regulations, Part 36
2024: The FAR - Federal Acquisition Regulations, Part 362024: The FAR - Federal Acquisition Regulations, Part 36
2024: The FAR - Federal Acquisition Regulations, Part 36
 
Understanding the Challenges of Street Children
Understanding the Challenges of Street ChildrenUnderstanding the Challenges of Street Children
Understanding the Challenges of Street Children
 

e-Idenity-and-e-Government_ELAK-Code-Camp-Lecture_II

  • 1.  i4M Lab 1 ΕΛΛΑΚ Μονάδες Αριστείας (ΜΑ. ΕΛΛΑΚ) Σχολείο Ανοικτού Κώδικα ΕΛ / ΛΑΚ: e-Identity & e-Government (Hλεκτρονική ταυτότητα στη Δημόσια Διοίκηση και Τοπική Αυτοδιοίκηση) UAegean Center of Excellence (CoE) – Open Source Software in Transport and Shipping University of the Aegean Dpt of Financial and Management Engineering & Dpt of Shipping and Transportation Services Session: II Stelios Lelis , i4M Lab, UAegean Harris Papadakis, i4M Lab, UAegean @ i-nformation M-anagement Lab i4M Lab
  • 2.  i4M Lab Ταυτότητα Σεμιναρίου  Το Πανεπιστήμιο Αιγαίου, στα πλαίσια του έργου Μονάδες Αριστείας Ελεύθερου Λογισμικού / Λογισμικού Ανοικτού Κώδικα (ΕΛ/ΛΑΚ)1, διοργανώνει Σχολείο Ανοικτού Κώδικα ΕΛ / ΛΑΚ με θέμα «e-Identity & e-Government (Hλεκτρονική ταυτότητα στη Δημόσια Διοίκηση και Τοπική Αυτοδιοίκηση)». 1 Το υποέργο Μονάδες Αριστείας ΕΛ/ΛΑΚ υλοποιείται στο πλαίσιο του έργου «Ηλεκτρονικές Υπηρεσίες για την Ανάπτυξη και Διάδοση του Ανοιχτού Λογισμικού» του Προγράμματος «Ψηφιακή Σύγκλιση». Το έργο συγχρηματοδοτείται από το ΕΤΠΑ. 2
  • 3.  i4M Lab Σήμερα 03.11.2015 3 STORK2.0 Interconnection Supporting Service Architecture, Aplication Protocol Interfaces, hands-on experienc 16:00 - 20:00 4 ώρες Στέλιος Λέλης Χαράλαμπος Παπαδάκης
  • 4.  i4M Lab Online tools και άλλα  Βασική αναφορά για την ύλη του μαθήματος  https://openeclass.aegean.gr/courses/OPENSOURCE102/  Επικοινωνία  seminar e-mailing list: e-identity-iss-community@googlegroups.com  Αποθετήριο κώδικα ISS  https://github.com/adanar/SSS-2.0  Ομάδα διδασκαλίας και συντονισμού  Στέλιος Λέλης  Χάρης Παπαδάκης  Πέτρος Καβάσαλης 4
  • 5.  i4M Lab STORK2.0 INTERCONNECTION SUPPORTING SERVICE ARCHITECTURE, APPLICATION PROTOCOL INTERFACES, HANDS-ON EXPERIENCE Session II 5
  • 6.  i4M Lab Session II: agenda  Security Assertion Markup Language (SAML)  ISS Architecture - APIs  ISS Hands-on Experience 6
  • 7.  i4M Lab Session II: agenda  Security Assertion Markup Language (SAML)  ISS Architecture - APIs  ISS Hands-on Experience 7
  • 8.  i4M Lab SAML – Security Assertion Markup Language  An XML-based, open-standard data format for exchanging authentication and authorization data between parties.  Parties (IdPs, SPs, PEPSes, etc.) exchange SAML documents that contain SAML assertions  A SAML assertion contains a packet of security information “Assertion A was issued at time t by issuer R regarding subject S provided conditions C are valid”  On the basis of assertions, SPs make access control decisions – in other words it can decide whether to provide access to the service to the user.  SAML documents are signed and their origin cross-checked (circle of trust) 8
  • 9.  i4M Lab SAML Assertion Statements  Assertions contain three types of statements  Authentication statements o Assert to the SP that the principal did indeed authenticate with the identity provider at a particular time using a particular method of authentication  Attribute statements o Asserts that a subject is associated with certain attributes.  Authorization decision statements o Asserts that a subject is permitted to perform action A on resource R given evidence E (intentionally limited) 9
  • 10.  i4M Lab SAML Protocols  A SAML protocol describes how certain SAML elements (including assertions) are packaged within SAML request and response elements, and gives the processing rules that SAML entities must follow when producing or consuming these elements.  SAML protocol is a simple request-response protocol  Autehtncitation Query – Authentication Response  Attribute Query – Attribute Response  Authorization Decision Query - Authorization Decision Response 10
  • 11.  i4M Lab SAML Bindings  A SAML binding is a mapping of a SAML protocol message onto standard messaging formats and/or communications protocols.  SAML SOAP Binding o specifies how a SAML message is encapsulated in a SOAP envelope, which itself is bound to an HTTP message  Reverse SOAP (PAOS) Binding  HTTP Redirect (GET) Binding  HTTP POST Binding o specifies how a SAML message is posted to the party, which itself is bound to an HTTP message  HTTP Artifact Binding  SAML URI Binding 11
  • 12.  i4M Lab STORK2.0 SAML Protocol  Extension of the standard SAML2.0 protocol  Mandatory QAA Level (Quality Authentication Assurance)  Optional eIDSectorShare, eIDCrossSectorShare, eIDCrossBorderShare whether an eId can be shared  Optional <RequestAttribtues> element to allow additional STORK attributes to be rrequested  Additional attributes necessary for processing the authentication 12
  • 14.  i4M Lab 14 STORK SAML Example Part II
  • 15.  i4M Lab 15 STORK SAML Example Part III
  • 16.  i4M Lab STORK2.0 PAL – Personal Attribute List  Simple object representation of the attributes information transferred trough SAML documents  Utilized internally at PEPS, Demo SP, Demo AP and ISS  Methods for setting and getting attributes  public PersonalAttribute put(final String key, final PersonalAttribute val)  public void add(final PersonalAttribute value)  public PersonalAttribute get(final Object key)  IPersonalAttributeList getMandatoryAttributes() …  PersonalAttribute: representation of an attribute  Fields: name, value, complexValue, required, status, friendlyName 16
  • 17.  i4M Lab Session II: agenda  Security Assertion Markup Language (SAML)  ISS Architecture - APIs  ISS Hands-on Experience 17
  • 18.  i4M Lab Struts 2.0 framework  Supporting Service 2.0 is a Struts 2.0-based web application  Struts 2.0 is a pull-MVC framework based on Actions. Actions are have trigger points and results actions  Example: <action name="ValidateToken" class="eu.stork.ss.specific.json.RetrieveDummySP"> <result name="success" type="redirectAction"> <param name="actionName">CountrySelector</param> </result> <result name="error">/errorPage.jsp</result> </action>  action name : Name of the action. Part of the trigger URL (http://server/webapp/ValidateToken)  Class: the corresponding class containing the execute method to be activated when the corresponding action is triggered.  Result name: what happened on success and failure  Success: automatic struts redirection-to-action trigger  Failure: display a JSP page
  • 19.  i4M Lab Supporting Service operation lifecycle  <!-- Step1: Validate token, create session and set token --> <action name="ValidateToken“ class="eu.stork.ss.specific.json.RetrieveDummySP"> <result name="success" type="redirectAction"><param name="actionName">CountrySelector</param> </result> <result name="error">/errorPage.jsp</result></action>  <!-- Step3: Validate user selection and create SAML (session must contain TOKEN and PAL) --> <action name="ValidateSelection" class="eu.stork.ss.ValidateSelection"> <result name="success">/samlRedirect.jsp</result> <result name="error">/errorPage.jsp</result> </action>  #Sp return url sp.return=https://stork2.atlantis-group.gr/SP/ServiceRedirect  <!-- Step4: Validate SAML, save values to PAL (session must contain TOKEN and PAL) --> <action name="ServiceRedirect" class="eu.stork.ss.ServiceRedirect"> <result name="success" type="chain"><param name="actionName">ReturnToken</param> </result><result name="error">/redirect.jsp</result></action>  <!-- Step5: Provided a PAL we save the values and redirect to the SP --> <action name="ReturnToken" class="eu.stork.ss.specific.json.SaveDummySP"> <result name="success">/tokenRedirect.jsp</result> <result name="error">/errorPage.jsp</result></action>
  • 20.  i4M Lab Step1: Validate token, create session and set token  Action Name: ValidateToken  Abstract action class: eu.stork.ss.RetreivePersonalAttributeList  Specific class: eu.stork.ss.specific.xx.RetrieveDummySP  Method of interest: IPersonalAttributeList retrievePersonalAttributeList(String token)  Retrieve configuration information  Perform SP communication and retrieve requested attributes  Construct the corresponding PAL  Let’s look into the code!
  • 21.  i4M Lab Step3: Validate user selection and create SAML  Action Name: ValidateSelection  Action class: eu.stork.ss.ValidateSelection  Constructs the Authentication Request (Main class to represent a request to the STORK service)  Uses the STORK SAML engine to encode the PAL into the SAML document  Retrieves PEPS URL from configuration file  Sends the request to PEPS (STORK) through user redirection (samlRedirect.jsp)
  • 22.  i4M Lab Step4: Validate SAML, save values to PAL  Action Name: ServiceRedirect  Action class: eu.stork.ss.ServiceRedirect  Receives the SAML document which contains the reply from STORK  Checks whether the response contains some error code  Otherwise, decodes the document, retrieving all necessary information, esp. the PAL  PAL now also contains the requested attribute values
  • 23.  i4M Lab Step5: Provided a PAL we save the values and redirect to the SP  Action Name: ReturnToken  Abstract action class: eu.stork.ssSavePersonalAttributeList  Specific class: eu.stork.ss.specific.xx.SaveDummySP  Method of interest: String savePersonalAttributeList(String token, IPersonalAttributeList pal)  Constructs the SP request message from PAL  Performs the necessary communication to the SP  Retrieves the SP reply  Redirects the user to the corresponding URL (success or failure)  Let’s look into the code!
  • 24.  i4M Lab Session II: agenda  Security Assertion Markup Language (SAML)  ISS Architecture - APIs  ISS Hands-on Experience 24
  • 25.  i4M Lab ISS Code… 25
  • 26.  i4M Lab Thank You  Λέλης Στέλιος  Χάρης Παπαδάκης  Αύριο, 05 Νοεμβρίου 2015 @ 16:00  «Assignments Presentation» 26