skip to main content
article

XML access control using static analysis

Published:01 August 2006Publication History
Skip Abstract Section

Abstract

Access control policies for XML typically use regular path expressions such as XPath for specifying the objects for access-control policies. However such access-control policies are burdens to the query engines for XML documents. To relieve this burden, we introduce static analysis for XML access-control. Given an access-control policy, query expression, and an optional schema, static analysis determines if this query expression is guaranteed not to access elements or attributes that are hidden by the access-control policy but permitted by the schema. Static analysis can be performed without evaluating any query expression against actual XML documents. Run-time checking is required only when static analysis is unable to determine whether to grant or deny access requests. A side effect of static analysis is query optimization: access-denied expressions in queries can be evaluated to empty lists at compile time. We further extend static analysis for handling value-based access-control policies and introduce view schemas.

References

  1. Altinel, M. and Franklin, M. J. 2000. Efficient filtering of XML documents for selective dissemination of information. In Proceedings of the 26th International Conference on Very Large Data Bases. Morgan Kaufmann, Cairo. 53--64.]] Google ScholarGoogle Scholar
  2. Atkinson, B. 2002. Schema centric XML canonicalization version 1.0. OASIS Committee Specification. http://uddi.org/pubs/SchemaCentricCanonicalization.htm.]]Google ScholarGoogle Scholar
  3. Baeza-Yates, R. A. and Navarro, G. 2002. XQL and proximal nodes. Journal of the American Society for Information Science and Technology 53, 6, 504--514.]] Google ScholarGoogle Scholar
  4. Barton, C., Charles, P., Goyal, D., Raghavachari, M., Fontoura, M., and Josifovski, V. 2003. An algorithm for streaming XPath processing with forward and backward axes. In Proceedings of the 19th International Conference on Data Engineering. IEEE Computer Society. 455--466.]]Google ScholarGoogle Scholar
  5. Bertino, E. 1992. Data hiding and security in object-oriented databases. In Proceedings of the 8th International Conference on Data Engineering. IEEE Computer Society, Tempe. 338--347.]] Google ScholarGoogle Scholar
  6. Bertino, E., Castano, S., Ferrari, E., and Mesiti, M. 1999. Controlled access and dissemination of XML documents. In The 2nd Workshop on Web Information and Data Management. ACM, New York. 22--27.]] Google ScholarGoogle Scholar
  7. Bertino, E., Castano, S., Ferrari, E., and Mesiti, M. 2001. Author-X: a Java-based system for XML data protection. In 14th IFIP Workshop on Database Security. IFIP Conference Proceedings, vol. 201. Kluwer, Academic Publ., Boston, MA. 15--26.]] Google ScholarGoogle Scholar
  8. Boag, S., Chamberlin, D., Fernández, M. F., Florescu, D., Robie, J., and Siméon, J. 2003. XQuery 1.0: An XML query language. W3C working draft 12 November 2003. http://www.w3.org/TR/xquery/.]]Google ScholarGoogle Scholar
  9. Boyer, J. 2001. Canonical XML version 1.0. W3C Recommendation. http://www.w3.org/TR/xml-c14n/.]]Google ScholarGoogle Scholar
  10. Bray, T., Paoli, J., Sperberg-McQueen, C. M., Maler, E., and Yergeau, F. 2004. Extensible Markup Language (XML) 1.0. W3C Recommendation. http://www.w3.org/TR/REC-xml.]]Google ScholarGoogle Scholar
  11. Chan, C. Y., Felber, P., Garofalakis, M. N., and Rastogi, R. 2002. Efficient filtering of XML documents with XPath expressions. In Proceedings of the 18th International Conference on Data Engineering. 225--234.]] Google ScholarGoogle Scholar
  12. Clark, J. 1999. XML Transformations (XSLT) version 1.0. W3C Recommendation. http://www.w3.org/TR/xslt.]]Google ScholarGoogle Scholar
  13. Clark, J. and DeRose, S. 1999. XML Path Language (XPath) version 1.0. W3C Recommendation. http://www.w3.org/TR/xpath.]]Google ScholarGoogle Scholar
  14. Clark, J. and Murata, M. 2001. RELAX NG specification. OASIS Committee Specification. http://www.oasis-open.org/committees/relax-ng/spec-20011203.html.]]Google ScholarGoogle Scholar
  15. Comon, H., Dauchet, M., Gilleron, R., Jacquemard, F., Lugiez, D., Tison, S., and Tommasi, M. 1997. Tree automata techniques and applications. Available at http://www.grappa.univ-lille3.fr/tata. release October, 1st 2002.]]Google ScholarGoogle Scholar
  16. Damiani, E., di Vimercati, S. D. C., Paraboschi, S., and Samarati, P. 2000. Securing XML documents. In Proceedings of the 7th International Conference on Extending Database Technology (EDBT). Lecture Notes in Computer Science, vol. 1777. Springer, Konstanz. 121--135.]] Google ScholarGoogle Scholar
  17. Deutsch, A. and Tannen, V. 2001. Containment and integrity constraints for XPath fragments. In Proceedings of 8th International Workshop on Knowledge Representation Meets Databases.]]Google ScholarGoogle Scholar
  18. Draper, D., Frankhauser, P., Fernández, M., Malhotra, A., Rose, K., Rys, M., Simeon, J., and Wadler, P. 2004. XQuery 1.0 and XPath 2.0 formal semantics. W3C working draft 20 February 2004.]]Google ScholarGoogle Scholar
  19. Fan, W. and Libkin, L. 2002. On XML integrity constraints in the presence of DTDs. J. ACM 49, 3, 368--406.]] Google ScholarGoogle Scholar
  20. Fan, W., Chan, C. Y., and Garofalakis, M. N. 2004. Secure XML querying with security views. In Proceedings of the 23rd SIGMOD International Conference on Management of Data, to appear. ACM, New York.]] Google ScholarGoogle Scholar
  21. Fernández, M. F. and Suciu, D. 1998. Optimizing regular path expressions using graph schemas. In Proceedings of the 14th International Conference on Data Engineering. 14--23.]] Google ScholarGoogle Scholar
  22. Gabillon, A. and Bruno, E. 2001. Regulating access to XML documents. In Proceedings of the 15th IFIP WG 11.3 Working Conference on Database Security. 299--314.]] Google ScholarGoogle Scholar
  23. Godik, S. and Moses, T., Eds. 2003. Extensible access-control markup language (XACML) version 1.0. OASIS Standard http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=xacml.]]Google ScholarGoogle Scholar
  24. Gottlob, G., Koch, C., and Pichler, R. 2002. Efficient algorithms for processing XPath queries. In Proceedings of the 28th International Conference on Very Large Data Bases. 95--106.]]Google ScholarGoogle Scholar
  25. Green, T. J., Miklau, G., Onizuka, M., and Suciu, D. 2002. Processing XML streams with deterministic automata. In Proceedings of the 9th International Conference on Database Theory. Springer-Verlag, New York. 173--189.]] Google ScholarGoogle Scholar
  26. Hopcroft, J. E. 1971. An n log n algorithm for minimizing states in a finite automaton. Theory of Machines and Computations. 189--196.]]Google ScholarGoogle Scholar
  27. Hopcroft, J. E. and Ullman, J. D. 1979. Introduction to Automata Theory, Languages, and Computation. Addison-Wesley, Reading, MA.]] Google ScholarGoogle Scholar
  28. Hosoya, H. and Murata, M. 2002. Validation and boolean operations for attribute-element constraints. In Programming Languages Technologies for XML (PLAN-X).]]Google ScholarGoogle Scholar
  29. Hosoya, H. and Pierce, B. C. 2003. XDuce: A typed XML processing language. ACM Transactions on Internet Technology 3, 2, 117--148.]] Google ScholarGoogle Scholar
  30. Kudo, M. and Hada, S. 2000. XML document security based on provisional authorization. In Proceedings of the 7th Conference on Computer and Communications Security. ACM, New York. 87--96.]] Google ScholarGoogle Scholar
  31. Li, Q. and Moon, B. 2001. Indexing and querying XML data for regular path expressions. In Proceedings of the 27th International Conference on Very Large Databases. 361--370.]] Google ScholarGoogle Scholar
  32. Luo, B., Lee, D., Lee, W.-C., and Liu, P. 2004. QFilter: Practical and scalable XML access controls via NFA-based query filtering. Tech. rep., Penn State University. Februrary.]]Google ScholarGoogle Scholar
  33. Miklau, G. and Suciu, D. 2004. Containment and equivalence for a fragment of XPath. J. ACM 51, 1, 2--45.]] Google ScholarGoogle Scholar
  34. Murata, M. 2001. Extended path expressions for XML. In Proceedings of the 20th Symposium on Principles of database systems. Santa Barbara, CA. 126--137.]] Google ScholarGoogle Scholar
  35. Murata, M., Tozawa, A., Kudo, M., and Hada, S. 2003. XML access-control using static analysis. In Proceedings of the 10th ACM Conference on Computer and Communication Security. ACM Press, New York. 73--84.]] Google ScholarGoogle Scholar
  36. Murata, M., Lee, D., Mani, M., and Kawaguchi, K. 2005. Taxonomy of XML schema languages using formal language theory. ACM Transactions on Internet Technology 5, 4, 660--704.]] Google ScholarGoogle Scholar
  37. Naishin Qi, M. K. 2005. XML access-control with policy matching tree. In 10th European Symposium On Research In Computer Security.]] Google ScholarGoogle Scholar
  38. Neven, F. and Schwentick, T. 2003. XPath containment in the presence of disjunction, DTDs, and variables. In The 9th International Conference on Database Theory. 315--329.]] Google ScholarGoogle Scholar
  39. Olteanu, D., Meuss, H., Furche, T., and Bry, F. 2002. XPath: Looking forward. In Proceedings of the EDBT Workshop on XML Data Management (XMLDM). Vol. 2490. Springer, New York. 109--127.]] Google ScholarGoogle Scholar
  40. Papakonstantinou, Y. and Vassalos, V. 1999. Query rewriting for semistructured data. In Proceedings of the 1999 ACM SIGMOD international conference on Management of data. ACM Press, New York. 455--466.]] Google ScholarGoogle Scholar
  41. Rabitti, F., Bertino, E., Kim, W., and Woelk, D. 1991. A model of authorization for next-generation database systems. ACM Trans. Database Syst. 16, 1, 88--131.]] Google ScholarGoogle Scholar
  42. Thompson, H. S., Beech, D., Maloney, M., and Mendelsohn, N. 2001. XML Schema part 1: Structures. W3C Recommendation. http://www.w3.org/TR/xmlschema-1/.]]Google ScholarGoogle Scholar
  43. Wood, P. T. 2003. Containment for XPath fragments under DTD constraints. In The 9th International Conference on Database Theory. 297--311.]] Google ScholarGoogle Scholar

Index Terms

  1. XML access control using static analysis

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in

          Full Access

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader