Page 15/5/2015 CSE 542: Graduate Operating Systems Outline  Chapter 18: Protection  Chapter 19: Security  A Method for Obtaining Digital Signatures.

Slides:



Advertisements
Similar presentations
Security by Design A Prequel for COMPSCI 702. Perspective “Any fool can know. The point is to understand.” - Albert Einstein “Sometimes it's not enough.
Advertisements

Dr. Kalpakis CMSC 421, Operating Systems. Fall 2008 URL: Security.
Security  The Security Problem  Authentication  Program Threats  System Threats  Securing Systems  Intrusion (unwanted involvement) Detection  Encryption.
Environmental Council of States Network Authentication and Authorization Services The Shared Security Component February 28, 2005.
Public Key Infrastructure (PKI) Providing secure communications and authentication over an open network.
Encryption and Firewalls Chapter 7. Learning Objectives Understand the role encryption plays in firewall architecture Know how digital certificates work.
19.1 Silberschatz, Galvin and Gagne ©2003 Operating System Concepts with Java Chapter 19: Security The Security Problem Authentication Program Threats.
Security Overview Hofstra University University College for Continuing Education - Advanced Java Programming Lecturer: Engin Yalt May 24, 2006.
6/4/2015National Digital Certification Agency1 Security Engineering and PKI Applications in Modern Enterprises Mohamed HAMDI National.
Protection. Goals of Protection Operating system consists of a collection of objects, hardware or software Each object has a unique name and can be accessed.
EEC 693/793 Special Topics in Electrical Engineering Secure and Dependable Computing Lecture 6 Wenbing Zhao Department of Electrical and Computer Engineering.
Bilkent University Department of Computer Engineering
Cryptography Basic (cont)
Wireless Security In wireless networks. Security and Assurance - Goals Integrity Modified only in acceptable ways Modified only by authorized people Modified.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 14: Protection.
Business Data Communications, Fourth Edition Chapter 10: Network Security.
Silberschatz, Galvin and Gagne  Operating System Concepts Module 19: Security The Security Problem Authentication Program Threats System Threats.
Chapter 14: Protection.
Security on the Internet Jan Damsgaard Dept. of Informatics Copenhagen Business School
Protection and Security CSCI 444/544 Operating Systems Fall 2008.
Dr. Kalpakis CMSC 421, Operating Systems. Fall 2008 URL: Protection.
Computer Security Tran, Van Hoai Department of Systems & Networking Faculty of Computer Science & Engineering HCMC University of Technology.
Chapter 10: Authentication Guide to Computer Network Security.
Page 19/4/2015 CSE 30341: Operating Systems Principles Raid storage  Raid – 0: Striping  Good I/O performance if spread across disks (equivalent to n.
Networks and Security. Types of Attacks/Security Issues  Malware  Viruses  Worms  Trojan Horse  Rootkit  Phishing  Spyware  Denial of Service.
Operating Systems Protection & Security.
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science Emery Berger University of Massachusetts, Amherst Operating Systems CMPSCI 377 Lecture.
Cryptography and Network Security Chapter 14 Fifth Edition by William Stallings Lecture slides by Lawrie Brown.
Page 19/15/2015 CSE 542: Graduate Operating Systems Virtual memory  separation of user logical memory from physical memory  Only part of the program.
_______________________________________________________________________________________________________________ E-Commerce: Fundamentals and Applications1.
E-Commerce Security Technologies : Theft of credit card numbers Denial of service attacks (System not availability ) Consumer privacy (Confidentiality.
Mar 13, 2001CSCI {4,6}900: Ubiquitous Computing1 Announcements HW 4 due Thursday – 11:00 AM If you have any questions regarding HW3, Project Proposal and.
Chapter 9: Using and Managing Keys Security+ Guide to Network Security Fundamentals Second Edition.
Krerk Piromsopa. Network Security Krerk Piromsopa. Department of Computer Engineering. Chulalongkorn University.
Protecting Internet Communications: Encryption  Encryption: Process of transforming plain text or data into cipher text that cannot be read by anyone.
Cryptography, Authentication and Digital Signatures
© Oxford University Press 2011 DISTRIBUTED COMPUTING Sunita Mahajan Sunita Mahajan, Principal, Institute of Computer Science, MET League of Colleges, Mumbai.
Network Security Jiuqin Wang June, 2000 Security & Operating system To protect the system, we must take security measures at two levels: Physical level:
Chapter 14: Protection Silberschatz, Galvin and Gagne ©2005 AE4B33OSS Chapter 14: Protection Goals of Protection Principles of Protection Domain.
Symmetric Cryptography, Asymmetric Cryptography, and Digital Signatures.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Protection (Chapter 14)
Protection Nadeem Majeed Choudhary
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED.
Public Key Encryption.
Security Many secure IT systems are like a house with a locked front door but with a side window open -somebody.
3/15/01CSCI {4,6}900: Ubiquitous Computing1 Announcements.
IT Security. What is Information Security? Information security describes efforts to protect computer and non computer equipment, facilities, data, and.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Security.
Security fundamentals Topic 5 Using a Public Key Infrastructure.
18.1 Silberschatz, Galvin and Gagne ©2003 Operating System Concepts with Java Chapter 18: Protection Goals of Protection Domain of Protection Access Matrix.
Chapter 17: System Protection Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 17: Protection Goals of Protection Principles.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Saurav Karmakar. Chapter 14: Protection  Goals of Protection  Principles of Protection  Domain of Protection  Access Matrix  Implementation of Access.
Key management issues in PGP
Chapter 14: System Protection
OPERATING SYSTEMS CS 3502 Fall 2017
Chapter 14: Protection.
Chapter 14: Protection.
Message Digest Cryptographic checksum One-way function Relevance
Chapter 14: Protection.
CSE 542: Operating Systems
Chapter 14: Protection.
Security.
Security Outline Encryption Algorithms Authentication Protocols
CSE 542: Operating Systems
Chapter 14: Protection.
Chapter 14: Protection.
Operating System Concepts
CSE 542: Operating Systems
CSE 542: Operating Systems
Presentation transcript:

page 15/5/2015 CSE 542: Graduate Operating Systems Outline  Chapter 18: Protection  Chapter 19: Security  A Method for Obtaining Digital Signatures and Public-Key Cryptosystems Ronald L. Rivest, Adi Shamir, and Leonard M. Adleman. Communications of the ACM 21,2 (Feb. 1978)  RSA Algorithm – First practical public key crypto system  Authentication in Distributed Systems: Theory and Practice, Butler Lampson, Martin Abadi, Michael Burrows, Edward Wobber

page 25/5/2015 CSE 542: Graduate Operating Systems Protection  Protect computer resources from being accessed by processes that should not have access  Access right: Operations allowed on an object  Domain: Set of all access rights  UNIX: domain is userid, setuid bit in file switches domains  Multics: rings, tasks can get access based on entry points  Access Matrix defines protection: rows represent domains & columns represent objects  Global table  Access list for objects: easier to program  Capability list for domains/users:  Hybrid: lock-key mechanism  Revocation of rights:  Immediate vs delayed, selective vs general, partial vs total, temporary vs permanent

page 35/5/2015 CSE 542: Graduate Operating Systems Revocation  Access List – Delete access rights from access list.  Simple  Immediate  Capability List – Scheme required to locate capability in the system before capability can be revoked.  Reacquisition  Back-pointers  Indirection  Keys

page 45/5/2015 CSE 542: Graduate Operating Systems Compiler/language based mechanism  Compiler based enforcement  Specification of protection in a programming language allows the high-level description of policies for the allocation and use of resources  Java VM  Multiple threads within a single JVM have different access rights  A class is assigned a protection domain when it is loaded by the JVM. The protection domain indicates what operations the class can (and cannot) perform  Protection enforced using stack inspection

page 55/5/2015 CSE 542: Graduate Operating Systems Security  Security problem: protection from unauthorized access, malicious modification or destruction  User authentication:  Passwords  Encrypted passwords –Encrypted form should be secret because attacker can check offline  One-time passwords  Biometrics  Threats:  Trojan horse  Trap door/stack and buffer overflow  Worms/viruses  Denial of service  Intrusion and detection

page 65/5/2015 CSE 542: Graduate Operating Systems Risk analysis  Important to understand threat and perform risk analysis  No system is “secure”, systems usually trade security for performance, ease of use etc.  If information is worth x and it costs y to break into system and if (x < y), then not worth encryption  Wasteful to build a system that is more secure than is necessary  Ssh in CSE dept – good  Palm pilots may not require powerful encryption systems if they are expected to be physically secure

page 75/5/2015 CSE 542: Graduate Operating Systems Security classification  U.S. Department of Defense outlines four divisions of computer security: A, B, C, and D  D – Minimal security  C – Provides discretionary protection through auditing. Divided into C1 and C2. C1 identifies cooperating users with the same level of protection. C2 allows user-level access control  B – All the properties of C, however each object may have unique sensitivity labels. Divided into B1, B2, and B3  A – Uses formal design and verification techniques to ensure security  Windows NT: Configurable security from D to C2  SuSE Linux Enterprise Server 8 on IBM eServer xSeries - Evaluation Assurance Level 2+ certification (EAL2) 

page 85/5/2015 CSE 542: Graduate Operating Systems Security Attacks  Social engineering attacks  Preys on people gullibility (good nature), hardest to defend  E.g. I once got an unlisted number from a telephone operator because I sounded desperate (I was, but that was not the point)  E.g. Anna kour*va virus, Nigerian scam, MS update scam  E.g. If I walk in with coupla heavy looking boxes into the elevator to go to Fitz 3 rd floor (at night) would you let me in? You can get into “secure” companies by looking like you “belong” there  Denial of service attacks  Network flooding, Distributed DOS, holding resources, viruses

page 95/5/2015 CSE 542: Graduate Operating Systems Common technology - firewalls  Firewalls are used to restrict the kinds of network traffic in/out of companies  Application level proxies  Packet level firewalls  Does not prevent end-to-end security violations  People sometimes list of internal computer users outside firewall to scrupulous “researchers”  s viruses exploit certain vulnerabilities in VBS to get around firewalls

page 105/5/2015 CSE 542: Graduate Operating Systems Intrusion detection  Detect attempts to intrude into computer systems.  Detection methods:  Auditing and logging  Tripwire (UNIX software that checks if certain files and directories have been altered – I.e. password files)  System call monitoring

page 115/5/2015 CSE 542: Graduate Operating Systems RSA Paper - Encryption  Properties of good encryption technique:  Relatively simple for authorized users to encrypt and decrypt data.  Encryption scheme depends not on the secrecy of the algorithm but on a parameter of the algorithm called the encryption key.  Extremely difficult for an intruder to determine the encryption key.

page 125/5/2015 CSE 542: Graduate Operating Systems Strength  Strength of crypto system depends on the strengths of the keys  Computers get faster – keys have to become harder to keep up  If it takes more effort to break a code than is worth, it is okay  Transferring money from my bank to my credit card and Citibank transferring billions of dollars with another bank should not have the same key strength

page 135/5/2015 CSE 542: Graduate Operating Systems Encryption methods  Symmetric cryptography  Sender and receiver know the secret key (apriori )  Fast encryption, but key exchange should happen outside the system  Asymmetric cryptography  Each person maintains two keys, public and private  M  PrivateKey(PublicKey(M))  M  PublicKey (PrivateKey(M))  Public part is available to anyone, private part is only known to the sender  E.g. Pretty Good Privacy (PGP), RSA

page 145/5/2015 CSE 542: Graduate Operating Systems My Public Key -----BEGIN PGP PUBLIC KEY BLOCK----- Version: PGPfreeware for non-commercial use mQGiBDqtLPwRBADnG0+9IkDvI8t/3wdL3CSO4DytEH0NjrNwAYYIaewp3MklsxkP p6iVblwiiCH4T4Nqkaru+kaEQ1hSTa7E/F9yQCWN5J0u1U7mtgTKFyt7VG0txAVx tV7TuyxNogJkpm2BqoKqqUdCdbm+GurX/G2ynbINjEOvhcy0i1ttxgyDrwCg/8HZ tM0i06VVNcR/QCmA+JdHGwMEAIjXLVV97huEtpuWDiq4J53ecV3HXQm6XoUZq4Sc n+nsvXe4UD+6ldub/riOqBy22fBBAKhUsM3lGFgr7h19X3RGdw/yBVox+BLajpW+ F+ddjJAVSFeTvNanhnXL9a3nwCThb4aEUTdD61kgoUWJl2BnsK1DUSo2X6AsZYo+ GknOA/92dUNYUzspPLkXvPjOo+uJErZA4aN+UYsJwD3AlYugVLkc3nQBQySO4bAR XitjnN0DA6Kz/j6e+cqReCyEuBnPtaY/Nn/dAn1lgUlJ/EtKQ9J4krI3+RxRmlpY UtWyTaakV/QCXkB/yB9i6iAfsCprlcRSpmZAGuNXr+pHTHB0ILQmU3VyZW5kYXIg Q2hhbmRyYSA8c3VyZW5kYXJAY3MudWdhLmVkdT6JAFgEEBECABgFAjqtLPwICwMJ CAcCAQoCGQEFGwMAAAAACgkQlU7dFVWfeisqTACfXxU9a1mbouW2nbWdx6MHatQ6 TOgAoM9W1PBRW8Iz3BIgcnSsZ2UPNJHDuQINBDqtLPwQCAD2Qle3CH8IF3Kiutap QvMF6PlTETlPtvFuuUs4INoBp1ajFOmPQFXz0AfGy0OplK33TGSGSfgMg71l6RfU odNQ+PVZX9x2Uk89PY3bzpnhV5JZzf24rnRPxfx2vIPFRzBhznzJZv8V+bv9kV7H AarTW56NoKVyOtQa8L9GAFgr5fSI/VhOSdvNILSd5JEHNmszbDgNRR0PfIizHHxb LY7288kjwEPwpVsYjY67VYy4XTjTNP18F1dDox0YbN4zISy1Kv884bEpQBgRjXyE pwpy1obEAxnIByl6ypUM2Zafq9AKUJsCRtMIPWakXUGfnHy9iUsiGSa6q6Jew1Xp Mgs7AAICCACLxNC3Vth553Y90JCVyM9mPWzvrkjfEGfBiCFDZ0HONW81ywUyV6jT O/1sUsgR7jGB26XBsnIY96a9WTpUoI+20YstFLRj8sXOVXuaP/YTmgSLv82O6SWd Bze1S0YJcU31/zdCftsz67UWT8vg39yeGyQ5KQP83p9DKpi4Z5K4M29p8eCt9BY+ kid94h9+16ZT8JLF0iEwGapZvpaTucCNoC8t6CKPto0dGpkYp7uBYoSzLgNvUh2n BjGVEmLuioabqbOaomDErITY2iNcW3CCgjjYvgg/Hnu7HB2xKzuVUN1NTGogcuNI Yx88mi+d/HxTY6YNr9xNW0f0pWkZDVB0iQBMBBgRAgAMBQI6rSz8BRsMAAAAAAoJ EJVO3RVVn3orYhIAoIQPxGvHmX8c6kaAZqko1zYCeixcAJ9tp5h/KQZrIN/BpyTW 9Xgv4qxKEA== =Pv5O -----END PGP PUBLIC KEY BLOCK-----

page 155/5/2015 CSE 542: Graduate Operating Systems Public Key Infrastructure (PKI)  Process of issuing, delivering, managing and revoking public keys  E.g. Secure Socket Layer (SSL)  Client C connects to Server S 1.C requests server certificate from S 2.S sends server certificate with Spublic to C 3.C verifies validity of Spublic 4.C generate symmetric key for session 5.C encrypts Csymmetric using Spublic 6.C transmits Csymmetric(data) and Spublic(Csymmetric) to S

page 165/5/2015 CSE 542: Graduate Operating Systems Authentication  Identification verification process  E.g. kerberos certificates, digital certificates, smart cards  Used to grant resources to authorized users

page 175/5/2015 CSE 542: Graduate Operating Systems RSA  Named after Rivest, Shamir and Adleman  Only receiver receives message:  Encode message using receivers public key  Only sender could’ve sent the message  Encode message using sender’s private key  Only sender could’ve sent the message and only receiver can read the message  Encode message using receivers public key and then encode using our private key

page 185/5/2015 CSE 542: Graduate Operating Systems Practical Public Key Cryptosystem 1.Decrypt(Encrypt(Message)) = Message 2.Encrypt() and Decrypt() are easy to compute 3.Encrypt() does not reveal Decrypt() 4.Encrypt(Decrypt(Message)) = Message  Function satisfying 1-3: Trap-door one-way function  One way: easy to compute in one direction, difficult in the other direction  Trap-door: Inverse functions are easy to compute once certain private “trap-door” information is known.

page 195/5/2015 CSE 542: Graduate Operating Systems Signature  Encrypt using private key of sender. Anyone can decrypt using the public key of sender to verify signature -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hello world!! -----BEGIN PGP SIGNATURE----- Version: PGPfreeware for non-commercial use iQA/AwUBOq8LO5VO3RVVn3orEQLFZwCdGi9AWvlhollaYmr9TP vtdbKoe20AoLLr vbJ8SgkIZ73lCy6SXDi91osd =L3Sh -----END PGP SIGNATURE-----

page 205/5/2015 CSE 542: Graduate Operating Systems Privacy  Encrypt with receivers public key -----BEGIN PGP MESSAGE----- Version: PGPfreeware for non-commercial use qANQR1DBwU4D30m79rqmjHMQB/4q1mu3IP8AsMBYSUW6udXZnF0/LVL51eYzVnAW IxgbxhHmBoZf9YEltoXw82gkgVebz+3Xfj6T5mLNy5FA6cgKKw57AY9Bl3aEKlJK /nV5qR8E/VZOhaPoog8dtV1Hpi5Z0vNCI7s5Ibp3C2tlrgYtvyYfe86bqCNe3yAI btTUT+bA9HL3pXqhOoWlRB+N58T9ybn/9FyonYYfGuPdMTj+ZciK37R+ezWg5YmZ jdDMf/CxgllMF/Tv2jQ8KgmrKIyi6gWQmEtWzFUlAPgdpOC7TQC3sQqVjK4GyOY6 WnrXiWqO3895ukBGyHzqyssUTJFe5qnclkrmCvA3tph+uc7pCACKrYaGLSWWoQSB L6zch2GnhG4+JpDCVKF/poJ1URkB2Odd9/OCReR0sFXZFvW14IJQznu3HOhjtA+y g7Nn736fqMD9jpBZFfUtKv/v4JMyWcRdp3R3icm03zi24n+244r1DQj+cVlFYPfd zRAGTLORVjXH2amGqilKyxqMU7ZYXIMI43bFIviu4tabKYnZJxpM8keUKA3u+vPs X9ksSoBSiT6Kow3Lac2t3Qo5TimYlS5ODFnC6Pp9aRZzNcBOKmiYO4IIbdFH2jta RbcmesEjH5RpbDV4BfcOMdm2UGWZe6kAaKkSdxHlUVZAJnesbT+lQf4AZjXkmsOM 8qnBKi5xyS/wrhS4zamV/Mp+5qIGNASXUHPsp3rukovaZANdZ/Y6zNQQVim0kphd 5ECybmVrHQ== =S9ph -----END PGP MESSAGE-----

page 215/5/2015 CSE 542: Graduate Operating Systems Algorithm  To break their algorithm requires that you factor a large prime  Computationally very hard. Can’t be “proven” yet  With present technology, 512 bit key takes a few months to factor using “super computers”, 1024 takes a long time and 2048 takes a very long time  Takes 2 seconds to generate a 2048 bit key on a 933 Mhz Pentium, 1 seconds in a 2.4 GHz Xeon  Algorithm has remained secure for the past ~20 years  One of the most successful public key system

page 225/5/2015 CSE 542: Graduate Operating Systems Authentication  Method for obtaining the source of the request  Who said this?  Interpreting the access rule – authorization  Who is trusted to access this?  Access control list (ACL)  Easier in central servers because the server knows all the sources

page 235/5/2015 CSE 542: Graduate Operating Systems Distributed authentication  Autonomy: Request might come through a number of untrusted nodes  Size: Multiple authentication sources  Heterogeneity: Different methods of connecting  Fault-tolerance: Parts of the system may be broken

page 245/5/2015 CSE 542: Graduate Operating Systems Access Control Model  Principal: source for requests  Requests to perform operations on objects  Reference monitor: a guard for each object that examines each request for the object and decides whether to grant it  Objects: Resource such as files, processes.. Principal Do operation Reference Monitor Object

page 255/5/2015 CSE 542: Graduate Operating Systems Trusted Computing Base  A small amount of software and hardware that security depends upon  You have to trust something  Possible to obtain trusted statements from untrusted source  end-to-end argument  TCB typically includes:  Operating system  Hardware  Encryption mechanisms  Algorithms for authentication and authorization

page 265/5/2015 CSE 542: Graduate Operating Systems Example scenario  One user, two machines, two operating systems, two subsystems, and two channels  All communication over channels (no direct comm.) Accounting Application Workstation Operating System File Server Server Operating System Network channel request Keyboard/ Display channel

page 275/5/2015 CSE 542: Graduate Operating Systems Encryption channels  Shared vs public key cryptography  Shared is fast  Public key systems are easy to manage  Hybrids offer best of both worlds (e.g. SSL)  Broadcast encryption channels  Public key channel is broadcast channel: you can send a message without knowing who will receive it  Shows how you can implement broadcast channel using shared keys  Node-to-node secure channels

page 285/5/2015 CSE 542: Graduate Operating Systems Principals with names  When requests arrive on a channel it is granted only if the channel speaks for one of the principals on the ACL  Push: sender collects A’s credentials and presents them when needed  Pull: receiver looks up A in some database to get credentials for A

page 295/5/2015 CSE 542: Graduate Operating Systems Man in the middle attach 1.C requests server certificate from S 2.S sends server certificate with Spublic to C 3.C verifies validity of Spublic 4.C generate symmetric key for session 5.C encrypts Csymmetric using Spublic 6.C transmits Csymmetric(data) and Spublic(Csymmetric) to S Principal (C) Resource (S)

page 305/5/2015 CSE 542: Graduate Operating Systems Principal (C) Resource (S) Intruder S1/C2 Man in the middle attach  C requests server certificate from S  S sends server certificate with Spublic to C  C verifies validity of Spublic  C generate symmetric key for session  C encrypts Csymmetric using Spublic  C transmits Csymmetric(data) and Spublic(Csymmetric) to S  Certification authorities

page 315/5/2015 CSE 542: Graduate Operating Systems Certification Authority  Difficult to make system highly available and highly secure  Leave CA offline, endorse certificates with long timeout  Online agent highly available, countersign with shorter timeout  Cache while both timeouts fresh  Invalidation at cache granularity  Simple Certification Authority  CA speaks for A and is trusted when it says that C speaks for A  Everyone trusts CA to speak for named principal  Everyone knows public key of CA  Pathnames and Multiple authorities  Decentralized authority, parents cannot unconditionally speak for children

page 325/5/2015 CSE 542: Graduate Operating Systems Groups  Each principal speaks for the group  Group membership certificates  Impossible to tell the membership  Alternate approach is to distribute certificates to all principals  Revocation?

page 335/5/2015 CSE 542: Graduate Operating Systems Roles and programs  Role that a user play; a normal user or sysadmin?  ACL may distinguish the role  Delegation:  Users delegate to compute server

page 345/5/2015 CSE 542: Graduate Operating Systems Auditing  Formal proof for every access control decision