1 Andrew Hanushevsky - CHEP, February 7-11, 2000 Practical Security In Large Scale Distributed Object Oriented Databases

Slides:



Advertisements
Similar presentations
Andrew Hanushevsky7-Feb Andrew Hanushevsky Stanford Linear Accelerator Center Produced under contract DE-AC03-76SF00515 between Stanford University.
Advertisements

Overview Network security involves protecting a host (or a group of hosts) connected to a network Many of the same problems as with stand-alone computer.
Authentication Applications. will consider authentication functions will consider authentication functions developed to support application-level authentication.
Key distribution and certification In the case of public key encryption model the authenticity of the public key of each partner in the communication must.
ICS 434 Advanced Database Systems
Authenticating Users. Objectives Explain why authentication is a critical aspect of network security Explain why firewalls authenticate and how they identify.
How did we get here? (CMIS v0.5) F2F, January 2009.
Kerberized Credential Translation Olga Kornievskaia Peter Honeyman Bill Doster Kevin Coffman Center for Information Technology Integration University of.
Chapter 14 From Cryptography and Network Security Fourth Edition written by William Stallings, and Lecture slides by Lawrie Brown, the Australian Defence.
Connect. Communicate. Collaborate Click to edit Master title style MODULE 1: perfSONAR TECHNICAL OVERVIEW.
Kerberos Jean-Anne Fitzpatrick Jennifer English. What is Kerberos? Network authentication protocol Developed at MIT in the mid 1980s Available as open.
8.
6/4/2015Page 1 Enterprise Service Bus (ESB) B. Ramamurthy.
A Model for Grid User Management Rich Baker Dantong Yu Tomasz Wlodek Brookhaven National Lab.
Chapter 13 Physical Architecture Layer Design
Lesson 11-Virtual Private Networks. Overview Define Virtual Private Networks (VPNs). Deploy User VPNs. Deploy Site VPNs. Understand standard VPN techniques.
1 Lecture 13: Database Heterogeneity Debriefing Project Phase 2.
ISA 3200 NETWORK SECURITY Chapter 10: Authenticating Users.
FIREWALLS & NETWORK SECURITY with Intrusion Detection and VPNs, 2 nd ed. 10 Authenticating Users By Whitman, Mattord, & Austin© 2008 Course Technology.
NFS. The Sun Network File System (NFS) An implementation and a specification of a software system for accessing remote files across LANs. The implementation.
Module 10: Designing an AD RMS Infrastructure in Windows Server 2008.
The Design Discipline.
Database System Concepts and Architecture Lecture # 3 22 June 2012 National University of Computer and Emerging Sciences.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
Hands-On Microsoft Windows Server 2008 Chapter 1 Introduction to Windows Server 2008.
Xrootd Authentication & Authorization Andrew Hanushevsky Stanford Linear Accelerator Center 6-June-06.
File System Access (XRootd) Andrew Hanushevsky Stanford Linear Accelerator Center 13-Jan-03.
Technology Overview. Agenda What’s New and Better in Windows Server 2003? Why Upgrade to Windows Server 2003 ?  From Windows NT 4.0  From Windows 2000.
Institute of Computer and Communication Network Engineering OFC/NFOEC, 6-10 March 2011, Los Angeles, CA Lessons Learned From Implementing a Path Computation.
Internet Security - Farkas1 CSCE 813 Midterm Topics Overview.
Advanced Web Forms with Databases Programming Right from the Start with Visual Basic.NET 1/e 13.
M i SMob i S Mob i Store - Mobile i nternet File Storage Platform Chetna Kaur.
Presented by: Sanketh Beerabbi University of Central Florida COP Cloud Computing.
20411B 8: Installing, Configuring, and Troubleshooting the Network Policy Server Role Presentation: 60 minutes Lab: 60 minutes After completing this module,
SAMANVITHA RAMAYANAM 18 TH FEBRUARY 2010 CPE 691 LAYERED APPLICATION.
Chapter 21 Distributed System Security Copyright © 2008.
Database Design and Management CPTG /23/2015Chapter 12 of 38 Functions of a Database Store data Store data School: student records, class schedules,
Network access security methods Unit objective Explain the methods of ensuring network access security Explain methods of user authentication.
NOVA Networked Object-based EnVironment for Analysis P. Nevski, A. Vaniachine, T. Wenaus NOVA is a project to develop distributed object oriented physics.
1 CS 502: Computing Methods for Digital Libraries Lecture 19 Interoperability Z39.50.
© 2008 Cisco Systems, Inc. All rights reserved.Cisco ConfidentialPresentation_ID 1 Chapter 1: Introduction to Scaling Networks Scaling Networks.
Copyright © cs-tutorial.com. Overview Introduction Architecture Implementation Evaluation.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED.
Data Access and Security in Multiple Heterogeneous Databases Afroz Deepti.
Secure Systems Research Group - FAU SW Development methodology using patterns and model checking 8/13/2009 Maha B Abbey PhD Candidate.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
NA-MIC National Alliance for Medical Image Computing UCSD: Engineering Core 2 Portal and Grid Infrastructure.
Getting Started with OPC.NET OPC.NET Software Client Interface Client Base Server Base OPC Wrapper OPC COM Server Server Interface WCF Alternate.
Part VII: Design Continuous
Lesson 19-E-Commerce Security Needs. Overview Understand e-commerce services. Understand the importance of availability. Implement client-side security.
1 Kerberos – Private Key System Ahmad Ibrahim. History Cerberus, the hound of Hades, (Kerberos in Greek) Developed at MIT in the mid 1980s Available as.
Department of Computing, School of Electrical Engineering and Computer Sciences, NUST - Islamabad KTH Applied Information Security Lab Secure Sharding.
Copyright © Clifford Neuman - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE September Integrating Policy with Applications.
NeuroLOG ANR-06-TLOG-024 Software technologies for integration of process and data in medical imaging A transitional.
Object storage and object interoperability
Scalla Authorization xrootd /cmsd Andrew Hanushevsky SLAC National Accelerator Laboratory CERN Seminar 10-November-08
Java Programming: Advanced Topics 1 Enterprise JavaBeans Chapter 14.
Advanced Authentication Campus-Booster ID: Copyright © SUPINFO. All rights reserved Kerberos.
Virtual Smart Card Andrew Hanushevsky Robert Cowles Stanford Linear Accelerator Center.
AFS/OSD Project R.Belloni, L.Giammarino, A.Maslennikov, G.Palumbo, H.Reuter, R.Toebbicke.
Enterprise Wrappers OASIS PI Meeting March 12, 2002 Bob Balzer Neil Goldman Mahindra
Lect 8 Tahani al jehain. Types of attack Remote code execution: occurs when an attacker exploits a software and runs a program that the user does not.
Distributed Systems Ryan Chris Van Kevin. Kinds of Systems Distributed Operating System –Offers Transparent View of Network –Controls multiprocessors.
1 Example security systems n Kerberos n Secure shell.
What is Kerberos? Network authentication protocol Developed at MIT in the mid 1980s Kerberos is a three-headed dog Available as open source or in supported.
Architecture Review 10/11/2004
Radius, LDAP, Radius used in Authenticating Users
Enterprise Service Bus (ESB) (Chapter 9)
Designing IIS Security (IIS – Internet Information Service)
Presentation transcript:

1 Andrew Hanushevsky - CHEP, February 7-11, 2000 Practical Security In Large Scale Distributed Object Oriented Databases Andrew Hanushevsky Stanford Linear Accelerator Center Produced under contract DE-AC03-76SF00515 between Stanford University and the Department of Energy

2 Andrew Hanushevsky - CHEP, February 7-11, 2000 Our Motivation & Challenge n Motivation u Protect data from unauthorized access or modification n Challenge u Supply security to an existing DBMS, Objectivity/DB F Authentication ( who am I ), Authorization ( what can I do ), Enforcement F Handle very large database collections ( tera-databases and peta-bytes ) u Support any authentication or authorization model F At least private (e.g., Kerberos) and public key models F Authentication and authorization models are independent F Sufficiently extensible to handle future protocols and models u Easily implementable an deployable F Ability to use existing security infrastructure F Package system in installation replaceable units

3 Andrew Hanushevsky - CHEP, February 7-11, 2000 Critical Solution Areas n Packaging u Determines ease of deployment F Replaceable shared libraries n Architecture u Determines ease of implementation F Layered object-oriented components n Protocol u Determines extensibility F Tunneled, single-challenge, optionally arbitrated protocol

4 Andrew Hanushevsky - CHEP, February 7-11, 2000 AMS Generic Authentication Protocol Architecture Security & Database Protocol libooseccl.so protocol oofs ooss Objectivity Kernel application Authentication and Authorization  Replaceable

5 Andrew Hanushevsky - CHEP, February 7-11, 2000 Effects of Architecture & Packaging n Security protocol is tunneled via database protocol u Protocols are effectively independent F Changes in one do not affect the other n Objectivity kernel mediates client interactions u Same security used by every application and objectivity tool n Replaceable oofs mediates server interactions u Can implement any kind of enforcement policy n Security “linked” in via replaceable shared library u Can implement any kind of authentication or authorization model F Standard authentication model is Kerberos F Standard authorization model is capability-based

6 Andrew Hanushevsky - CHEP, February 7-11, 2000 Generic Authentication Protocol n Extensible u Can accommodate diverse authentication models u Example follows F Private vs public key authentication

7 Andrew Hanushevsky - CHEP, February 7-11, 2000 Private Key (symmetric) Authentication Protocol Get tgs ticket for client c Ktgs, Ks1>Kc Get ticket for service x Ktgs Ks1 Kx, Ks2>Ks1 Kx Ks2 Perform action y Kservice Ksession TicketAuthenticator E -1 k-private (E k-private (text)) = text

8 Andrew Hanushevsky - CHEP, February 7-11, 2000 AMS Generic Authentication Protocol (Private Key) Get security information Database request Kx Ks2 libooseccl.so

9 Andrew Hanushevsky - CHEP, February 7-11, 2000 Public Key (asymmetric) Authentication Protocol Authenticate challenge Kx-prv Get public key x c Kc-prv Perform action y Kx-pub Get public key c Kc-pub E -1 k-public (E k-private (text)) = text = E -1 k-private (E k-public (text))

10 Andrew Hanushevsky - CHEP, February 7-11, 2000 AMS Generic Authentication Protocol (Public Key) Get security information Database request c Kc-prv &P-dass,challenge Kx-prv libooseccl.so Get public key x Kx-pub Get public key c Kc-pub

11 Andrew Hanushevsky - CHEP, February 7-11, 2000 Why is Generic Authentication Protocol Extensible? n Tunneling u GAP is simply a wrapper for an arbitrary authentication protocol u Database protocol forwards wrapped data without inspection F Wrapper added and removed by shared library code n GAP can support virtually any protocol u Allows out-of-band arbitration n CAP can support multiple protocols u Server determines which protocols are available

12 Andrew Hanushevsky - CHEP, February 7-11, 2000 AMS Generic Authentication Protocol (Arbitrary) Get security information Database request Authentication protocol specific information &P-krb5,  &P=dass,  &P=pgp2,  libooseccl.so Out of band communications Can be heterogenous

13 Andrew Hanushevsky - CHEP, February 7-11, 2000 Distributed Heterogeneous Environments Each object independent Object created based on “info” One per physical ams connection Handles credential generation Always ams-specific Interface Handles It

14 Andrew Hanushevsky - CHEP, February 7-11, 2000 Client Security Interface oofsAMSClientSecurity *oofs_createSecurityContext( const struct sock_addr_in &netaddr_of_ams, const oofsAMSSecurityIdentifiers &ams_security_info); createSecurityContext() creates an ams-specific security object: class oofsAMSClientSecurity { public: int getCredentials(ooUInt32 operation. const char *pathname, oofsAMSSecurityCredentials &cred); oofsAMSClientSecurity.getCredentials() called by the ams client-side kernel prior to each ams interaction based on indicated operation & path: void oofs_deleteSecurityContext(oofsAMSClientSecurity *security_object); deleteSecurityContext() delete the security object when connection closed:

15 Andrew Hanushevsky - CHEP, February 7-11, 2000 Server Authentication Interface getSecurityToken() provides ams-specific security information sent to client: class oofsAMSAuthentication { public: oofsClientInfo *getClientInfo(oofsCredentials *credentials, oofsErro &error_object); int Authenticate(oofsCredentials *credentials, oofsClientInfo *information); oofsAMSAuthentication.getClientInfo() called by the oofs at open time and cretain file meta-data operations (e.g., deletion) while Authenticate() is called on subsequent operations: class oofsFileSystemDesc { public: int getSecurityToken(oofsSecurityToken &buffer. struct sock_addr_in &netaddr_of_client, oofsError &error_object);

16 Andrew Hanushevsky - CHEP, February 7-11, 2000 Authorization Challenge n Unencumbered AMS u Can only protect what AMS understands F Database files n Size of all federations u Billions and billions of databases F Amount of data is a moot point n Access control list model unmanageable u Too many databases to protect F Don’t want to record usernames in many places n Capability model is manageable u Few users relative to number of databases F Usernames recorded only once F Each user given access to arbitrary regions of any federation

17 Andrew Hanushevsky - CHEP, February 7-11, 2000 Standard Capability Model libooseccl.so u abh rw /objy/databases/usr/abh r /objy/databases access()yes or no client database request

18 Andrew Hanushevsky - CHEP, February 7-11, 2000 Server Authorization Interface oofsClientInfo class provides username, instance, and security realm: class oofsAMSAuthorization { public: int Access(oofsClientInfo *information, char *path, int operation); oofsAMSAuthorization.Access() called by the oofs at open time and certain file meta-data operations (e.g. deleteion): class oofsClientInfo { public: char *Id(); char *Instance(); char *Realm(); char *User();

19 Andrew Hanushevsky - CHEP, February 7-11, 2000 Summary n Scalable u Standard is Kerberos & capabilities n Extensible u Can support virtually any authentication & authorization model n Replaceable u Packaging allows installation to easily use existing infrastructure n Automatic u Applications and Objectivity tools automatically use supplied security u Circumvention detected and rejected