6/28/20151 Bringing Semantic Security to Semantic Web Services B. Ramamurthy.

Slides:



Advertisements
Similar presentations
Public Key Infrastructure A Quick Look Inside PKI Technology Investigation Center 3/27/2002.
Advertisements

Web Service Security CS409 Application Services Even Semester 2007.
Using Multi-Encryption to Provide Secure and Controlled Access to XML Documents Tomasz Müldner, Jodrey School of Computer Science, Acadia University, Wolfville,
II.I Selected Database Issues: 1 - SecuritySlide 1/20 II. Selected Database Issues Part 1: Security Lecture 2 Lecturer: Chris Clack 3C13/D6.
CMSC 414 Computer (and Network) Security Lecture 13 Jonathan Katz.
Digital Signatures and Hash Functions. Digital Signatures.
1 Supplement III: Security Controls What security services should network systems provide? Confidentiality Access Control Integrity Non-repudiation Authentication.
Lect. 18: Cryptographic Protocols. 2 1.Cryptographic Protocols 2.Special Signatures 3.Secret Sharing and Threshold Cryptography 4.Zero-knowledge Proofs.
Lecture 5: security: PGP Anish Arora CIS694K Introduction to Network Security.
Environmental Council of States Network Authentication and Authorization Services The Shared Security Component February 28, 2005.
Web Services and the Semantic Web: Open Discussion Session Diana Geangalau Ryan Layfield.
6/2/2015B.Ramamurthy1 Security B.Ramamurthy. 6/2/2015B.Ramamurthy2 Computer Security Collection of tools designed to thwart hackers Became necessary with.
An Introduction to Security Concepts and Public Key Infrastructure (PKI) Mary Thompson.
Lecture III : Communication Security, Services & Mechanisms Internet Security: Principles & Practices John K. Zao, PhD SMIEEE National Chiao-Tung University.
Database Security and Auditing: Protecting Data Integrity and Accessibility Chapter 5 Database Application Security Models.
Introduction to PKI Seminar What is PKI? Robert Brentrup July 13, 2004.
Security Chapters 14,15. The Security Environment Threats Security goals and threats.
Security Chapters 14,15. The Security Environment Threats Security goals and threats.
Security Chapter The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system 9.5 Attacks from.
1 Security and Protection Chapter 9. 2 The Security Environment Threats Security goals and threats.
Chapter 5 Database Application Security Models
BR1 Protection and Security B. Ramamurthy Chapters 18 and 19.
Lecture 7 Access Control
Lecture slides prepared for “Computer Security: Principles and Practice”, 2/e, by William Stallings and Lawrie Brown, Chapter 4 “Overview”.
Web services security I
Alexander Potapov.  Authentication definition  Protocol architectures  Cryptographic properties  Freshness  Types of attack on protocols  Two-way.
Understanding Security Lesson 6. Objective Domain Matrix Skills/ConceptsMTA Exam Objectives Understanding the System.Security Namespace Understand the.
Digital Signature Xiaoyan Guo/ Xiaohang Luo/
Secure Systems Research Group - FAU Patterns for Digital Signature using hashing Presented by Keiko Hashizume.
SMUCSE 5349/49 Security. SMUCSE 5349/7349 Threats Threats to the security of itself –Loss of confidentiality s are sent in clear over.
X.509 Certificate management in.Net By, Vishnu Kamisetty
Effectively Integrating Information Technology (IT) Security into the Acquisition Process Section 5: Security Controls.
Chapter 3 Mohammad Fozlul Haque Bhuiyan Assistant Professor CITI Jahangirnagar University.
70-294: MCSE Guide to Microsoft Windows Server 2003 Active Directory Chapter 9: Active Directory Authentication and Security.
Lecture 23 Internet Authentication Applications modified from slides of Lawrie Brown.
WS-Security: SOAP Message Security Web-enhanced Information Management (WHIM) Justin R. Wang Professor Kaiser.
Database Application Security Models Database Application Security Models 1.
Java Security Pingping Ma Nov 2 nd, Overview Platform Security Cryptography Authentication and Access Control Public Key Infrastructure (PKI)
Web Services Security Standards Overview for the Non-Specialist Hal Lockhart Office of the CTO BEA Systems.
Computer Security: Principles and Practice First Edition by William Stallings and Lawrie Brown Lecture slides by Lawrie Brown Chapter 4 – Access Control.
1. 2 Overview In Exchange security is managed by assigning permissions in Active Directory Exchange objects are secured with DACL and ACEs Permissions.
Advanced Database Course (ESED5204) Eng. Hanan Alyazji University of Palestine Software Engineering Department.
31.1 Chapter 31 Network Security Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Public Key Infrastructure (PKI) Chien-Chung Shen
Computer Science and Engineering Computer System Security CSE 5339/7339 Lecture 14 October 5, 2004.
Computer Security: Principles and Practice
Understanding Security
2/19/2016clicktechsolution.com Security. 2/19/2016clicktechsolution.com Threats Threats to the security of itself –Loss of confidentiality.
LAB#8 PKI & DIGITAL CERTIFICATE CPIT 425. Public Key Infrastructure PKI 2  Public key infrastructure is the term used to describe the laws, policies,
Chapter 14: System Protection
Chapter 5: The Art of Ensuring Integrity
Chapter 9 Security 9.1 The security environment
Chapters 14,15 Security.
Fundamental Concepts in Security and its Application Cloud Computing
Instructor Materials Chapter 5: The Art of Ensuring Integrity
ELECTRONIC MAIL SECURITY
ELECTRONIC MAIL SECURITY
Enabling Technology1: Cryptography
OS Access Control Mauricio Sifontes.
Instructor Materials Chapter 5: The Art of Ensuring Integrity
Chapter 14: Protection.
Chapters 14,15 Security.
Protection and Security
Electronic Payment Security Technologies
Instructor Materials Chapter 5: Ensuring Integrity
Presentation transcript:

6/28/20151 Bringing Semantic Security to Semantic Web Services B. Ramamurthy

6/28/20152 Introduction Humans can read web pages and understand them, but their inherent meaning is not shown in a way that allows their interpretation by a computer (program). One way to enable machine-to-machine exchange and automated processing is to provide the information in such as way that computers can understand it. This is precisely the objective of the semantic web. The next generation of the Web will combine existing Web technologies with knowledge representation formalisms.

6/28/20153 Semantic Web Services Web Services WWW Semantic Web Semantic Web Services dynamic static

6/28/20154 RDF, OWL, WSDL-S RDF is a standard for creating descriptions of information. RDF is for simple semantics. OWL provides a language for defining structured web-based ontologies which allows a richer integration and interoperability of data among communities and domains. WSDL-S establishes a mapping between WSDL descriptions and ontological concepts.

6/28/20155 WSDL-S Example Semantics can be added to operations, messages, preconditions and efforts xmlns:sm=

6/28/20156 Authoring Tool for WSDL-S To create, represent, and manipulate WSDL- S documents WSDL4J can be used. WSDL4J provides Java APIs for WSDL parsing and generation. WSDL4J supports extensibility elements providing an easy mechanism to add new extensions.

6/28/20157 Web Services Security Background Standards are proposed or accepted regarding authentication, encryption, and identity management. RSA encryption, XML signatures, SAML – Security Assertion Markup Language There are 5 fundamental areas to consider: Message level protection, Message privacy, parameter checking, authentication, and authorization. This is application layer security (not network layer security).

6/28/20158 Application of RSA Lets say a person in Atlanta wants to send a message M to a person in Buffalo: Atlanta encrypts message using Buffalo’s public key B  E(M,B) Only Buffalo can read it using it private key b: E(b, E(M,B))  M In other words for any public/private key pair determined as previously shown, the encrypting function holds two properties: E(p, E(M,P))  M E(P, E(M,p))  M

6/28/20159 How can you authenticate “sender”? In real life you will use signatures: we will look at concept of digital signatures next. Instead of sending just a simple message, Atlanta will send a signed message signed by Atlanta’s private key: E(B,E(M,a)) Buffalo will first decrypt using its private key and use Atlanta’s public key to decrypt the signed message: E(b, E(B,E(M,a))  E(M,a) E(A,E(M,a))  M

6/28/ Digital Signatures Strong digital signatures are essential requirements of a secure system. These are needed to verify that a document is: Authentic : source Not forged : not fake Non-repudiable : The signer cannot credibly deny that the document was signed by them.

6/28/ Digest Functions Are functions generated to serve a signatures. Also called secure hash functions. It is message dependent. Only the Digest is encrypted using the private key.

6/28/ Alice’s bank account certificate 1.Certificate type:Account number 2.Name:Alice 3.Account: Certifying authority:Bob’s Bank 5.Signature:{Digest(field 2 + field 3)} K Bpriv

6/28/ Digital signatures with public keys

6/28/ Message Privacy Deals with confidentiality of messages. Message header has token and signature. Typically WS are chained together to form a complex service. In this situation we need end-to-end encryption schemes. Scheme such as SSL will not suffice. Solution: XML encryption allows for encryption of any combination of the message body, header, attachments, and sub-structures.

6/28/ XML Signature Service requestor encrypts the message and the signature information in the header it may specify in the header that it used providers public key. Private key of the provider is then used decrypt the XML request. XML Encryption allows for multiple keys to be used for encrypting different sections thus allowing intermediaries to access parts of the message.

6/28/ Message level Protection Message level protection has to with message integrity. How do assure that the message has not been modified? This is done by creating a message digest. Digest is a cryptographic checksum of an octet stream which is created using an algorithm, say, SHA-1 algorithm. Provider gets the message, its digest as signature and type of algorithm used to create the digest. It creates the digest and compares with the one from the sender and verifies the integrity of the messages.

6/28/ Message validity Message validity is ensuring that the contents of a message are appropriate to the service and that they are well formed. You check the types used and operations used are valid. SQL injection is a common malicious code. Typical identification method is to look for “;’ (semicolon) that allows for SQL commands to follow.

6/28/ Authentication Authentication is verifying that the requester is who he/she claims to be. In a typically closed environment: user name / password If the sender previously unknown: send credential to verify oneself. Trusted authorities issues certificates that can be used as credential. (Verified by Verisign)

6/28/ Authorization In any organization, data located may have levels of sensitivity. Ex: grades and student personal information in a university: Infosource at UB. Authorization is granting of rights which includes the granting of access based on access rights. This typically takes place after authentication. Three most common access control implementations: Access matrix Access Control List (ACL) Role Based Access Control (RBAC)

6/28/ Access Matrix A general model of access control as exercised by a file or database management system is that of an access matrix. Basic elements of the model are: Subject: An entity capable of accessing objects. The concept of subject equates that of a process. Object: Anything to which access is controlled. Ex: files, programs, segments of memory. Access right: The way in which an object is accesses by the subject. Examples: read, write, and execute.

6/28/ Access Matrix (contd.) userA userB userC File 1 File 2File 3 File 4 Acct1 Acct2 Printer1 Own R, W Own R, W Own R, W Own R, W R R WR Inquiry Credit Inquiry Credit Inquiry Debit Inquiry Debit P

6/28/ Access Matrix Details Row index corresponds to subjects and column index the objects. Entries in the cell represent the access privileges/rights. In practice, access matrix is quite sparse and is implemented as either access control lists (ACLs) or capability tickets.

6/28/ ACLs Access matrix can be decomposed by columns, yielding access control lists. For each object access control list lists the users and their permitted access rights. The access control list may also have a default or public entry to covers subjects that are not explicitly listed in the list. Elements of the list may include individual as well group of users.

6/28/ WS Security Access Control Scheme name/password access token associated with each process object indicating privileges associated with a user security descriptor access control list used to compare with access control list for object

6/28/ Access Token (per user/subject) Security ID (SID) Group SIDs Privileges Default Owner Default ACL

6/28/ Security Descriptor (per Object) Flags Owner System Access Control List (SACL) Discretionary Access Control List (DACL)

6/28/ Access Control List ACL Header ACE Header Access Mask SID ACE Header Access Mask SID......

6/28/ Access Mask Generic All Generic Execute Generic Write Generic Read Access System Security Maximum allowed Delete Read Control Write DAC Write Owner Synchronize Generic Access Types Standard Access Types Specific Access Types

6/28/ Access Control Using ACLs When a process attempts to access an object, the object manager in security executive reads the SID and group SIDs from the access token and scans down the object’s DACL. If a match is found in SID, then the corresponding ACE Access Mask provides the access rights available to the process.

6/28/ RBAC In 2004 the National Institute of Standards and Technology (NIST) published a standard for defining the features of the Role Based Access Control (RBAC). Two parts: (i) Reference model and (ii) System and Administrative functions. Reference model: objects, operations, permissions, roles and users (in-band artifacts) Administrative model: system functionality, administrative operations and reviews.

6/28/ RBAC Details RBAC starts with Permission sets. Permission express a privilege to access a resource. Examples of permission: “create a file”, “access grades information” (ublearns) Next steps is defines Roles and assigning permissions to Roles. Examples of roles: “Physician”, “Reviewer” Scenario driven approach is typically used to connect roles to permissions. Upper level ontology in SWS should map Users, Roles, Groups etc. to the ontology.