Unformatted text preview:

Slide 1Objective of the UnitOutline of the UnitWhat is XML all about?XML ElementsSlide 6Slide 7Slide 8XML AttributesXML DTDXML SchemaXML NamespacesSlide 13Federations/DistributionXML QueryPresentations of XML DocumentsCredentials in XMLPolicies in XMLAccess Control StrategySystem Architecture for Access ControlThird-Party ArchitectureXML DatabasesInference/Privacy ControlExample PoliciesPrivacy PoliciesSummary and DirectionsDr. Bhavani ThuraisinghamSeptember 2006Building Trustworthy Semantic WebsLecture #5]XML and XML Security5-201/14/19 10:25 Objective of the Unit0This unit will provide an overview of XML and then discuss some security issues5-301/14/19 10:25 Outline of the Unit0XML Elements0XML Attributes0XML DTD0XML Schema0XML Namespaces0Federations0Policy/Credential0Access Control0Third Party Publication0XML Databases0Inference Control5-401/14/19 10:25 What is XML all about?0XML is needed due to the limitations of HTML and complexities of SGML0It is an extensible markup language specified by the W3C (World Wide Web Consortium)0Designed to make the interchange of structured documents over the Internet easier0Key to XML used to be Document Type Definitions (DTDs)-Defines the role of each element of text in a formal model0XML schemas have now become critical to specify the structure-XML schemas are also XML documents5-501/14/19 10:25 XML ElementsXML StatementJohn Smith is a Professor in TexasThis can be expressed as follows:<Professor><name> John Smith </name><state> Texas </state></Professor>5-601/14/19 10:25 XML ElementsNow suppose this data can be read by anyone then we can augment the XML statement by an additional element called access as follows.<Professor><name> John Smith </name><state> Texas </state><access> All, Read </access></Professor>5-701/14/19 10:25 XML ElementsIf only HR can update this XML statement, then we have the following:<Professor><name> John Smith </name><state> Texas </state><access> HR department, Write </access></Professor>5-801/14/19 10:25 XML ElementsWe may not wish for everyone to know that John Smith is a professor, but we can give out the information that this professor is in Texas. This can be expressed as:<Professor><name> John Smith, Govt-official, Read </name><state> Texas, All, Read </state><access> HR department, Write </access></Professor>5-901/14/19 10:25 XML AttributesSuppose we want to specify to access based on attribute values. One way to specify such access is given below.<ProfessorName = “John Smith”, Access = All, ReadSalary = “60K”, Access = Administrator, Read, WriteDepartment = “Security” Access = All, Read</ProfessorHere we assume that everyone can read the name John Smith and Department Security. But only the administrator can read and write the salary attribute.5-1001/14/19 10:25 XML DTDDTDs essentially specify the structure of XML documents. Consider the following DTD for Professor with elements Name and State. This will be specified as:<!ELEMENT Professor Officer (Name, State)><!ELEMENT name (#PCDATA)><!ELEMENR state (#PCDATA)><!ELEMENT access (#PCDATA).>5-1101/14/19 10:25 XML SchemaWhile DTDs were the early attempts to specify structure for XML documents, XML schemas are far more elegant to specify structures. Unlike DTDs XML schemas essentially use the XML syntax for specification. Consider the following example:<ComplexType = name = “ProfessorType”><Sequence><element name = “name” type = “string”/><element name = “state” type = “string”/><element name = “access” type = “strong/><Sequence></ComplexType>5-1201/14/19 10:25 XML NamespacesNamespaces are used for DISAMBIGUATION<CountryX: Academic-InstitutionXmlns: CountryX = http://www.CountryX.edu/Instution DTD”Xmlns: USA = “http://www.USA.edu/Instution DTD”Xmlns: UK = “http://www.UK.edu/Instution DTD” <USA: Title = CollegeUSA: Name = “University of Texas at Dallas”USA: State = Texas”<UK: Title = UniversityUK: Name = “Cambridge University”UK: State = Cambs</CountryX: Acedmic-Instiution>5-1301/14/19 10:25 XML Namespaces<Country: Academic-Institution<Access = Government-official, Read </Access>Xmlns: CountryX = http://www.CountryX.edu/Instution DTD”Xmlns: USA = “http://www.USA.edu/Instution DTD”Xmlns: UK = “http://www.UK.edu/Instution DTD” <USA: Title = CollegeUSA: Name = “University of Texas at Dallas”USA: State = Texas”<UK: Title = UniversityUK: Name = “Cambridge University”UK: State = Cambs</CountryX: Academic-Institution>5-1401/14/19 10:25 Federations/DistributionSite 1 document:<Professor-name><ID> 111 </ID><Name> John Smith </name><State> Texas </state></Professor-name>Site 2 document:<Professor-salary><ID> 111 </ID><salary> 60K </salary><Professor-salary>5-1501/14/19 10:25 XML Query0XML-QL, XQuery, etc. are query languages for XML0XPath is used for query specification5-1601/14/19 10:25 Presentations of XML Documents0XSLT5-1701/14/19 10:25 Credentials in XML<Professor credID=“9” subID = “16: CIssuer = “2”><name> Alice Brown </name><university> University of X <university/><department> CS </department><research-group> Security </research-group></Professor><Secretary credID=“12” subID = “4: CIssuer = “2”><name> John James </name><university> University of X <university/><department> CS </department><level> Senior </level></Secretary>5-1801/14/19 10:25 Policies in XML<? Xml VERSION = “1.0” ENCODING = “utf-8”?> <Policy–base> <policy-spec cred-expr = “//Professor[department = ‘CS’]” target = “annual_ report.xml” path = “//Patent[@Dept = ‘CS’]//Node()” priv = “VIEW”/> <policy-spec cred-expr = “//Professor[department = ‘CS’]” target = “annual_ report.xml” path = “//Patent[@Dept = ‘EE’] /Short-descr/Node() and //Patent [@Dept = ‘EE’]/authors” priv = “VIEW”/> <policy-spec cred-expr = - - - - <policy-spec cred-expr = - - --</Policy-base>Explantaion: CS professors are entitled to access all the patents of their department. They are entitled to see only the short descriptions and authors of patents of the EE department5-1901/14/19 10:25 Access Control Strategy0Subjects request access to XML documents under two modes: Browsing and authoring-With browsing access subject can read/navigate documents-Authoring access is needed to modify, delete, append documents0Access control module checks the policy based and applies policy specs0Views of the


View Full Document

UTD CS 7301 - LECTURE NOTES

Documents in this Course
Load more
Download LECTURE NOTES
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view LECTURE NOTES and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view LECTURE NOTES 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?