Ασφάλεια στο Internet - Έμπιστη Τρίτη Οντότητα
Διομήδης Σπινέλλης
Τμήμα Διοικητικής Επιστήμης και Τεχνολογίας
Οικονομικό Πανεπιστήμιο Αθηνών
dds@aueb.gr
Εισαγωγή - Δίκτυα δεδομένων
Καλώς ήρθατε
Διαχείριση Ασφάλειας Πληροφοριακών Συστημάτων:
Ασφάλεια στα δίκτυα και στο ηλεκτρονικό εμπόριο
Πρόγραμμα μαθημάτων
Ημερομηνία | Διδάσκων | Θέμα |
22/6/1999 | Δ. Σπινέλλης | Δίκτυα και Internet |
24/6/1999 | Β. Πρεβελάκης | Ασφάλεια στο Internet |
29/6/1999 | Δ. Σπινέλλης | Web και ενεργό περιεχόμενο |
30/6/1999 | Δ. Σπινέλλης | ΕΤΟ, πολιτικές ασφάλειας |
1/7/1999 | Β. Πρεβελάκης | Προστασία με firewall |
2/7/1999 | Β. Πρεβελάκης | Πληρωμές στο Internet |
Οι σημειώσεις
Τι περιλαμβάνει το μάθημα
- Εισαγωγή - Δίκτυα δεδομένων
- Τεχνολογίες internet
- Διάχυση πληροφοριών με το WWW
- Ενεργό περιεχόμενο στο Web
- Έμπιστη Τρίτη Οντότητα
- Πολιτικές τεχνολογίας ασφάλειας
Εισαγωγή
- Στόχοι και εφαρμογές δικτύων
- Δομή και ιεραρχίες
- Το μοντέλο αναφοράς OSI
- Υπηρεσίες, βασισμένες σε σύνδεση και όχι
- Πρότυπα
Φυσικό επίπεδο
- Θεωρία πληροφορίας
- Μέσα μεταφοράς
- Μαγνητικά
- Συνεστραμένο καλώδιο
- Ομοαξονικό καλώδιο
- Οπτική ίνα
- Ασύρματη μεταφορά οπτικής επαφής
- Δορυφορική επικοινωνία
- Αναλογική μετάδοση
- Το τηλεφωνικό δίκτυο
- MODEM
- RS-232
- Ψηφιακή μετάδοση
- Πολυπλεξία (multiplexing)
- Πακέτα και συνδέσεις
- Ψηφιακά δίκτυα
- ISDN
- GSM / UMTS
- ATM
- SONET
Επίπεδο σύνδεσης
Επίπεδο δικτύου
- Θέματα σχεδιασμού
- Αλγόριθμοι δρομολόγησης
- Αλγόριθμοι ελέγχου συμφόρησης
- Διαδικτύωση
Επίπεδο μεταφοράς
Επίπεδο συνόδου
Επίπεδο παρουσίασης
- Εμφάνιση δεδομένων
- Συμπίεση
- Κρυπτογραφία
Επίπεδο εφαρμογής
Βιβλιογραφία
Γενική βιβλιογραφία
Η παρακάτω γενική βιβλιογραφία σε θέματα ασφάλειας βασίζεται στο
RFC 2196 Site Security Handbook September 1997
- Appelman, Heller, Ehrman, White, and McAuliffe, The Law and The Internet, USENIX 1995 Technical Conference on UNIX and Advanced Computing, New Orleans, LA, January 16-20, 1995.
- American Bar Association, Section of Science and Technology, Guide to the Prosecution of Telecommunication Fraud by the Use of Computer Crime Statutes, American Bar Association, 1989.
- R. Aucoin, Computer Viruses: Checklist for Recovery, Computers in Libraries, Vol. 9, No. 2, Pg. 4, February 1989.
- D. Barrett, Bandits on the Information Superhighway, O'Reilly & Associates, Sebastopol, CA, 1996.
- R. Bates, Disaster Recovery Planning: Networks, Telecommunications and Data Communications, McGraw-Hill, 1992.
- S. Bellovin, Security Problems in the TCP/IP Protocol Suite, Computer Communication Review, Vol 19, 2, pp. 32-48, April 1989.Fraser, Ed. Informational
- S. Bellovin, and M. Merritt, Limitations of the Kerberos Authentication System, Computer Communications Review, October 1990.
- S. Bellovin, There Be Dragon, USENIX: Proceedings of the Third Usenix Security Symposium, Baltimore, MD. September, 1992.
- D. Bender, Computer Law: Evidence and Procedure, M. Bender, New York, NY, 1978-present.
- B. Bloombecker, Spectacular Computer Crimes, Dow Jones- Irwin, Homewood, IL. 1990.
- R. Brand, Coping with the Threat of Computer Security Incidents: A Primer from Prevention through Recovery, R. Brand, 8 June 1990.
- J. Brock, November 1988 Internet Computer Virus and the Vulnerability of National Telecommunications Networks to Computer Viruses, GAO/T-IMTEC-89-10, Washington, DC, 20 July 1989.
- British Standard, BS Tech Cttee BSFD/12, Info. Sec. Mgmt, BS 7799 : 1995 Code of Practice for Information Security Management, British Standards Institution, London, 54, Effective 15 February 1995.
- W. Caelli, Editor, Computer Security in the Age of Information, Proceedings of the Fifth IFIP International Conference on Computer Security, IFIP/Sec '88.
- J. Carroll, Computer Security, 2nd Edition, Butterworth Publishers, Stoneham, MA, 1987.
- E. Cavazos and G. Morin, Cyber-Space and The Law, MIT Press, Cambridge, MA, 1995.
- Commerce Clearing House, Guide to Computer Law, (Topical Law Reports), Chicago, IL., 1989.
- B. Chapman, Network(In) Security Through IP Packet Filtering, USENIX: Proceedings of the Third UNIX Security Symposium, Baltimore, MD, September 1992.
- B. Chapman and E. Zwicky, Building Internet Firewalls, O'Reilly and Associates, Sebastopol, CA, 1995.Fraser, Ed. Informational
- B. Cheswick, The Design of a Secure Internet Gateway, Proceedings of the Summer Usenix Conference, Anaheim, CA, June 1990.
- W. Cheswick, An Evening with Berferd In Which a Cracker is Lured, Endured, and Studied, AT&T Bell Laboratories.
- W. Cheswick and S. Bellovin, Firewalls and Internet Security: Repelling the Wily Hacker, Addison-Wesley, Reading, MA, 1994.
- C. Conly, Organizing for Computer Crime Investigation and Prosecution, U.S. Dept. of Justice, Office of Justice Programs, Under Contract Number OJP-86-C-002, National Institute of Justice, Washington, DC, July 1989.
- J. Cooper, Computer and Communications Security: Strategies for the 1990s, McGraw-Hill, 1989.
- Computer Professionals for Social Responsibility, CPSR Statement on the Computer Virus, CPSR, Communications of the ACM, Vol. 32, No. 6, Pg. 699, June 1989.
- Department of Defense, Password Management Guideline, CSC-STD-002-85, 12 April 1985, 31 pages.
- D. Curry, Improving the Security of Your UNIX System, SRI International Report ITSTD-721-FR-90-21, April 1990.
- D. Curry, UNIX System Security: A Guide for Users and Systems Administrators, Addision-Wesley, Reading, MA, 1992.
- Defense Data Network, BSD 4.2 and 4.3 Software Problem Resolution, DDN MGT Bulletin #43, DDN Network Information Center, 3 November 1988.
- DCA DDN Defense Communications System, DDN Security Bulletin 03, DDN Security Coordination Center, 17 October 1989.
- P. Denning, Editor, Computers Under Attack: Intruders, Worms, and Viruses, ACM Press, 1990.
- M. Eichin, and J. Rochlis, With Microscope and Tweezers: An Analysis of the Internet Virus of November 1988, Massachusetts Institute of Technology, February 1989.Fraser, Ed. Informational
- T. Eisenberg, D. Gries, J. Hartmanis, D. Holcomb, M. Lynn, and T. Santoro, The Computer Worm, Cornell University, 6 February 1989.
- D. Ermann, M. Williams, and C. Gutierrez, Editors, Computers, Ethics, and Society, Oxford University Press, NY, 1990. (376 pages, includes bibliographical references).
- D. Farmer and E. Spafford, The COPS Security Checker System, Proceedings of the Summer 1990 USENIX Conference, Anaheim, CA, Pgs. 165-170, June 1990.
- Rik Farrow, UNIX Systems Security, Addison-Wesley, Reading, MA, 1991.
- W. Fenwick, Chair, Computer Litigation, 1985: Trial Tactics and Techniques, Litigation Course Handbook Series No. 280, Prepared for distribution at the Computer Litigation, 1985: Trial Tactics and Techniques Program, February-March 1985.
- M. Fites, P. Kratz, and A. Brebner, Control and Security of Computer Information Systems, Computer Science Press, 1989.
- Fites, Johnson, and Kratz, The Computer Virus Crisis, Van Hostrand Reinhold, 2nd edition, 1992.
- T. Forester, and P. Morrison, Computer Ethics: Tales and Ethical Dilemmas in Computing, MIT Press, Cambridge, MA, 1990.
- T. Forester, and P. Morrison, Computer Ethics: Tales and Ethical Dilemmas in Computing, MIT Press, Cambridge, MA, 1990. (192 pages including index.)
- U.S. General Accounting Office, Computer Security - Virus Highlights Need for Improved Internet Management, United States General Accounting Office, Washington, DC, 1989.
- S. Garfinkel, and E. Spafford, Practical Unix Security, O'Reilly & Associates, ISBN 0-937175-72-2, May 1991.
- S. Garfinkel, PGP:Pretty Good Privacy, O'Reilly & Associates, Sebastopol, CA, 1996.Fraser, Ed. Informational
- S. Garfinkel and E. Spafford, Practical UNIX and Internet Security, O'Reilly & Associates, Sebastopol, CA, 1996.
- M. Gemignani, Viruses and Criminal Law, Communications of the ACM, Vol. 32, No. 6, Pgs. 669-671, June 1989.
- J. Goodell, The Cyberthief and the Samurai: The True Story of Kevin Mitnick-And The Man Who Hunted Him Down, Dell Publishing, 1996.
- C. Gould, Editor, The Information Web: Ethical and Social Implications of Computer Networking, Westview Press, Boulder, CO, 1989.
- M. Greenia, Computer Security Information Sourcebook, Lexikon Services, Sacramento, CA, 1989.
- K. Hafner and J. Markoff, Cyberpunk: Outlaws and Hackers on the Computer Frontier, Touchstone, Simon & Schuster, 1991.
- D. Hess, D. Safford, and U. Pooch, A Unix Network Protocol Security Study: Network Information Service, Texas A&M University.
- L. Hoffman, Rogue Programs: Viruses, Worms, and Trojan Horses, Van Nostrand Reinhold, NY, 1990. (384 pages, includes bibliographical references and index.)
- G. Howard, Introduction to Internet Security: From Basics to Beyond, Prima Publishing, Rocklin, CA, 1995.
- F. Huband, and R. Shelton, Editors, Protection of Computer Systems and Software: New Approaches for Combating Theft of Software and Unauthorized Intrusion, Papers presented at a workshop sponsored by the National Science Foundation, 1986.
- L. Hughes Jr., Actually Useful Internet Security Techniques, New Riders Publishing, Indianapolis, IN, 1995.
- Internet Activities Board, Ethics and the Internet, RFC 1087, IAB, January 1989. Also appears in the Communications of the ACM, Vol. 32, No. 6, Pg. 710, June 1989.Fraser, Ed. Informational
- D. Icove, K. Seger, and W. VonStorch, Computer Crime: A Crimefighter's Handbook, O'Reilly & Associates, Sebastopol, CA, 1995.
- IVPC, International Virus Prevention Conference '96 Proceedings, NCSA, 1996.
- D. Johnson, and J. Podesta, Formulating A Company Policy on Access to and Use and Disclosure of Electronic Mail on Company Computer Systems.
- P. Kane, PC Security and Virus Protection Handbook: The Ongoing War Against Information Sabotage, M&T Books, 1994.
- C. Kaufman, R. Perlman, and M. Speciner, Network Security: PRIVATE Communication in a PUBLIC World, Prentice Hall, Englewood Cliffs, NJ, 1995.
- S. Kent, E-Mail Privacy for the Internet: New Software and Strict Registration Procedures will be Implemented this Year, Business Communications Review, Vol. 20, No. 1, Pg. 55, 1 January 1990.
- S. Levy, Hacker: Heroes of the Computer Revolution, Delta, 1984.
- S. Lewis, Disaster Recovery Yellow Pages, The Systems Audit Group, 1996.
- J. Littleman, The Fugitive Game: Online with Kevin Mitnick, Little, Brown, Boston, MA., 1996.
- W. Lu and M. Sundareshan, Secure Communication in Internet Environments: A Hierarchical Key Management Scheme for End-to-End Encryption, IEEE Transactions on Communications, Vol. 37, No. 10, Pg. 1014, 1 October 1989.
- W. Lu and M. Sundareshan, A Model for Multilevel Security in Computer Networks, IEEE Transactions on Software Engineering, Vol. 16, No. 6, Page 647, 1 June 1990.
- M. Martin, and R. Schinzinger, Ethics in Engineering, McGraw Hill, 2nd Edition, 1989.
- R. Merkle, A Fast Software One Way Hash Function, Journal of Cryptology, Vol. 3, No. 1.Fraser, Ed. Informational
- J. McEwen, Dedicated Computer Crime Units, Report Contributors: D. Fester and H. Nugent, Prepared for the National Institute of Justice, U.S. Department of Justice, by Institute for Law and Justice, Inc., under contract number OJP-85-C-006, Washington, DC, 1989.
- Massachusetts Institute of Technology, Teaching Students About Responsible Use of Computers, MIT, 1985-1986. Also reprinted in the Communications of the ACM, Vol. 32, No. 6, Pg. 704, Athena Project, MIT, June 1989.
- Mogul, J., Simple and Flexible Datagram Access Controls for UNIX-based Gateways, Digital Western Research Laboratory Research Report 89/4, March 1989.
- A. Muffett, Crack Version 4.1: A Sensible Password Checker for Unix
- NCSA, NCSA Firewall Policy Guide, 1995.
- NCSA, NCSA's Corporate Computer Virus Prevention Policy Model, NCSA, 1995.
- NCSA, Firewalls & Internet Security Conference '96 Proceedings, 1996.
- National Computer Security Center, Guidelines for Formal Verification Systems, Shipping list no.: 89-660-P, The Center, Fort George G. Meade, MD, 1 April 1990.
- National Computer Security Center, Glossary of Computer Security Terms, Shipping list no.: 89-254-P, The Center, Fort George G. Meade, MD, 21 October 1988.
- Tinto, M., Computer Viruses: Prevention, Detection, and Treatment, National Computer Security Center C1 Technical Report C1-001-89, June 1989.
- National Computer Security Conference, 12th National Computer Security Conference: Baltimore Convention Center, Baltimore, MD, 10-13 October, 1989: Information Systems Security, Solutions for Today - Concepts for Tomorrow, National Institute of Standards and National Computer Security Center, 1989.
- National Computer Security Center, Guidance for Applying the Department of Defense Trusted Computer System Evaluation Criteria in Specific Environments, CSC-STD-003-85, NCSC, 25 June 1985.Fraser, Ed. Informational
- National Computer Security Center, Technical Rationale Behind CSC-STD-003-85: Computer Security Requirements, CSC-STD-004-85, NCSC, 25 June 1985.
- National Computer Security Center, Magnetic Remanence Security Guideline, CSC-STD-005-85, NCSC, 15 November 1985.
- National Computer Security Center, Trusted Computer System Evaluation Criteria, DoD 5200.28-STD, CSC-STD-001- 83, NCSC, December 1985.
- NCSC, A Guide to Understanding DISCRETIONARY ACCESS CONTROL in Trusted Systems, NCSC-TG-003, Version-1, 30 September 1987, 29 pages.
- NCSC, A Guide to Understanding AUDIT in Trusted Systems, NCSC-TG-001, Version-2, 1 June 1988, 25 pages.
- National Computer Security Center, Glossary of Computer Security Terms, NCSC-TG-004, NCSC, 21 October 1988.
- National Computer Security Center, Trusted Network Interpretation, NCSC-TG-005, NCSC, 31 July 1987.
- NCSC, A Guide to Understanding CONFIGURATION MANAGEMENT in Trusted Systems, NCSC-TG-006, Version-1, 28 March 1988, 31 pages.
- National Computer Security Center, Trusted UNIX Working Group (TRUSIX) rationale for selecting access control list features for the UNIX system, Shipping list no.: 90-076-P, The Center, Fort George G. Meade, MD, 1990.
- National Research Council, Computers at Risk: Safe Computing in the Information Age, National Academy Press, 1991.
- E. Nemeth, G. Snyder, S. Seebass, and T. Hein, UNIX Systems Administration Handbook, Prentice Hall PTR, Englewood Cliffs, NJ, 2nd ed. 1995.
- National Institute of Standards and Technology, Computer Viruses and Related Threats: A Management Guide, NIST Special Publication 500-166, August 1989.
- National Security Agency, Information Systems Security Products and Services Catalog, NSA, Quarterly Publication.Fraser, Ed. Informational
- National Science Foundation, NSF Poses Code of Networking Ethics, Communications of the ACM, Vol. 32, No. 6, Pg. 688, June 1989. Also appears in the minutes of the regular meeting of the Division Advisory Panel for Networking and Communications Research and Infrastructure, Dave Farber, Chair, November 29-30, 1988.
- NTISS, Advisory Memorandum on Office Automation Security Guideline, NTISSAM COMPUSEC/1-87, 16 January 1987, 58 pages.
- United States Congress, Office of Technology Assessment, Defending Secrets, Sharing Data: New Locks and Keys for Electronic Information, OTA-CIT-310, October 1987.
- Congress of the United States, Office of Technology Assessment, Information Security and Privacy in Network Environments, OTA-TCT-606, September 1994.
- I. Palmer, and G. Potter, Computer Security Risk Management, Van Nostrand Reinhold, NY, 1989.
- D. Parker, Computer Crime: Criminal Justice Resource Manual, U.S. Dept. of Justice, National Institute of Justice, Office of Justice Programs, Under Contract Number OJP-86-C-002, Washington, D.C., August 1989.
- D. Parker, S. Swope, and B. Baker, Ethical Conflicts: Information and Computer Science, Technology and Business, QED Information Sciences, Inc., Wellesley, MA. (245 pages).
- C. Pfleeger, Security in Computing, Prentice-Hall, Englewood Cliffs, NJ, 1989.
- J. Quarterman, J., The Matrix: Computer Networks and Conferencing Systems Worldwide, Digital Press, Bedford, MA, 1990.
- M. Ranum, An Internet Firewall, Proceedings of World Conference on Systems Management and Security, 1992.
- M. Ranum, A Network Firewall, Digital Equipment Corporation Washington Open Systems Resource Center, June 12, 1992.
- M. Ranum, Thinking About Firewalls, 1993.Fraser, Ed. Informational
- M. Ranum and F. Avolio, A Toolkit and Methods for Internet Firewalls, Trustest Information Systems, 1994.
- R. Reinhardt, An Architectural Overview of UNIX Network Security
- R. Reinhardt, An Architectural Overview of UNIX Network Security, ARINC Research Corporation, February 18, 1993.
- The Helminthiasis of the Internet, RFC 1135, USC/Information Sciences Institute, Marina del Rey, CA, December 1989.
- D. Russell and G. Gangemi, Computer Security Basics O'Reilly & Associates, Sebastopol, CA, 1991.
- B. Schneier, Applied Cryptography: Protocols, Algorithms, and Source Code in C, John Wiley & Sons, New York, second edition, 1996.
- D. Seeley, A Tour of the Worm, Proceedings of 1989 Winter USENIX Conference, Usenix Association, San Diego, CA, February 1989.
- E. Shaw Jr., Computer Fraud and Abuse Act of 1986, Congressional Record (3 June 1986), Washington, D.C., 3 June 1986.
- T. Shimomura with J. Markoff, Takedown:The Pursuit and Capture of Kevin Mitnick, America's Most Wanted Computer Outlaw- by the Man Who Did It, Hyperion, 1996.
- R. Shirey, Defense Data Network Security Architecture, Computer Communication Review, Vol. 20, No. 2, Page 66, 1 April 1990.
- M. Slatalla and J. Quittner, Masters of Deception: The Gang that Ruled Cyberspace, Harper Collins Publishers, 1995.
- M. Smith, Commonsense Computer Security: Your Practical Guide to Preventing Accidental and Deliberate Electronic Data Loss, McGraw-Hill, New York, NY, 1989.
- D. Smith, Forming an Incident Response Team, Sixth Annual Computer Security Incident Handling Workshop, Boston, MA, July 25-29, 1995.Fraser, Ed. Informational
- E. Spafford, The Internet Worm Program: An Analysis, Computer Communication Review, Vol. 19, No. 1, ACM SIGCOM, January 1989. Also issued as Purdue CS Technical Report CSD-TR-823, 28 November 1988.
- G. Spafford, An Analysis of the Internet Worm, Proceedings of the European Software Engineering Conference 1989, Warwick England, September 1989. Proceedings published by Springer- Verlag as: Lecture Notes in Computer Science #387. Also issued as Purdue Technical Report #CSD-TR-933.
- E. Spafford, K. Heaphy, and D. Ferbrache, Computer Viruses: Dealing with Electronic Vandalism and Programmed Threats, ADAPSO, 1989. (109 pages.)
- W. Stallings, Internet Security Handbook, IDG Books, Foster City CA, 1995.
- W. Stallings, Network and InterNetwork Security, Prentice Hall, , 1995.
- W. Stallings, Protect Your Privacy: A Guide for PGP Users PTR Prentice Hall, 1995.
- C. Stoll, Stalking the Wily Hacker, Communications of the ACM, Vol. 31, No. 5, Pgs. 484-497, ACM, New York, NY, May 1988.
- C. Stoll, The Cuckoo's Egg, ISBN 00385-24946-2, Doubleday, 1989.
- G. Treese and A. Wolman, X Through the Firewall, and Other Applications Relays, Digital Equipment Corporation, Cambridge Research Laboratory, CRL 93/10, May 3, 1993.
- P. Trible, The Computer Fraud and Abuse Act of 1986, U.S. Senate Committee on the Judiciary, 1986.
- W. Venema, TCP WRAPPER: Network monitoring, access control, and booby traps, Mathematics and Computing Science, Eindhoven University of Technology, The Netherlands.
- USENIX Association, USENIX Proceedings: UNIX Security Workshop, Portland, OR, August 29-30, 1988.
- USENIX Association, USENIX Proceedings: UNIX Security II Workshop, Portland, OR, August 27-28, 1990.Fraser, Ed. Informational
- USENIX Association, USENIX Symposium Proceedings: UNIX Security III, Baltimore, MD, September 14-16, 1992.
- USENIX Association, USENIX Symposium Proceedings: UNIX Security IV, Santa Clara, CA, October 4-6, 1993.
- USENIX Association, The Fifth USENIX UNIX Security Symposium, Salt Lake City, UT, June 5-7, 1995.
- C. Wood, W. Banks, S. Guarro, A. Garcia, V. Hampel, and H. Sartorio, Computer Security: A Comprehensive Controls Checklist, John Wiley and Sons, Interscience Publication, 1987.
- L. Wrobel, Writing Disaster Recovery Plans for Telecommunications Networks and LANS, Artech House, 1993.
- S. Vallabhaneni, Auditing Computer Security: A Manual with Case Studies, Wiley, New York, NY, 1989.
Ασφάλεια στο Internet
Τα πρωτόκολλα του Internet
Εφαρμογή
Το επίπεδο εφαρμογής στο Internet καλύπτει τα επίπεδα
εφαρμογής και παρουσίασης του OSI.
Τα πιο συχνά πρωτόκολλα που χρησιμοποιούνται από τους
χρήστες είναι:
- Telnet
- χρήση από απόσταση
- FTP
- μεταφορά αρχείων
- SMTP
- μεταφορά email
- POP/IMAP
- ανάγνωση email
- HTTP/HTML
- πρόσβαση στο Web
Μια σειρά από πρωτόκολλα στο επίπεδο αυτό υποστηρίζουν τη λειτουργία και
τη διαχείριση του δικτύου:
- DNS
- Κατανεμημένος κατάλογος ονομάτων
- SNMP
- Διαχείριση από απόσταση
- BOOTP
- Αρχικό φόρτωμα κώδικα
- RARP
- Αντίστροφη μετατροπή διευθύνσεων
Μεταφορά
Στο επίπεδο της μεταφοράς χρησιμοποιούνται δύο πρωτόκολλα:
- TCP
- Transmission Control Protocol
- UDP
- User Datagram Protoco
Δίκτυο
Στο επίπεδο του δικτύου το Internet Protocol (IP) μαζί με το
Internet Control Message Protocol εξασφαλίζουν τη μεταφορά δεδομένων
από τον αποστολέα στον παραλήπτη.
Το παρακάτω σχήμα παριστάνει τη σχέση ανάμεσα στα διάφορα πρωτόκολλα
του internet:
+------+ +-----+ +-----+ +-----+
|Telnet| | FTP | | TFTP| ... | ... |
+------+ +-----+ +-----+ +-----+
| | | |
+-----+ +-----+ +-----+
| TCP | | UDP | ... | ... |
+-----+ +-----+ +-----+
| | |
+--------------------------+----+
| Internet Protocol & ICMP |
+--------------------------+----+
|
+---------------------------+
| Local Network Protocol |
+---------------------------+
Σημείωση: Τα σχήματα της ενότητας αυτής προέρχονται από τα έντυπα RFC που
αναφέρονται στη βιβλιογραφία.
IP
Πακέτα στο επίπεδο του δικτύου internet έχουν την παρακάτω μορφή:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Version| IHL |Type of Service| Total Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Identification |Flags| Fragment Offset |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Time to Live | Protocol | Header Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Destination Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Options | Padding |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Οι διευθύνσεις αποστολέα και παραλήπτη χωρίζονται στις παρακάτω
κατηγορίες:
Αρχικά bit Μορφή Κλάση
--------------- ------------------------------- -----
0 7 bit δίκτυο, 24 υπολογιστής A
10 14 bit δίκτυο, 16 υπολογιστής B
110 21 bit δίκτυο, 8 υπολογιστής C
1110 Πολλαπλοί παραλήπτες D
ICMP
Το Internet Control Message Protocol (ICMP) επιτρέπει την επικοινωνία ανάμεσα
σε υπολογιστές και δίκτυα για την ομαλή λειτουργία του IP.
Αν και το ICMP χρησιμοποιεί το IP για τη μεταφορά του, αποτελεί
τμήμα του IP.
Το ICMP ορίζει τα παρακάτω μηνύματα:
- 0
- Echo Reply
- 3
- Destination Unreachable
- 4
- Source Quench
- 5
- Redirect
- 8
- Echo
- 11
- Time Exceeded
- 12
- Parameter Problem
- 13
- Timestamp
- 14
- Timestamp Reply
- 15
- Information Request
- 16
- Information Reply
UDP
Το πρωτόκολλο UDP επιτρέπει τη μεταφορά πακέτων μέσω ενός δικτύου IP.
Τα πακέτα μπορούν να χαθούν, να παραδοθούν με διαφορετική σειρά,
ή να εμφανιστούν διπλά.
Έτσι το πρωτόκολλο εξασφαλίζει αποδοτικότητα σε βάρος όμως της αξιοπιστίας.
Ένα πακέτο UDP μαζί με την επικεφαλίδα IP έχει την παρακάτω μορφή:
0 7 8 15 16 23 24 31
+--------+--------+--------+--------+
| source address | IP
+--------+--------+--------+--------+ IP
| destination address | IP
+--------+--------+--------+--------+
| zero |protocol| UDP length | UDP
+--------+--------+--------+--------+ UDP
| Source | Destination | UDP
| Port | Port | UDP
+--------+--------+--------+--------+ UDP
| | | UDP
| Length | Checksum | UDP
+--------+--------+--------+--------+ UDP
| UDP
| data octets ... UDP
+---------------- ...
TCP
Το πρωτόκολλο TCP (Transmission Control Protocol) επιτρέπει τη σύνδεση
δύο διεργασιών και τη μεταξύ τους επικοινωνία.
Το TCP θεωρεί ότι το δίκτυο στο οποίο βασίζεται παρέχει τη δυνατότητα μεταφοράς
πακέτων χωρίς εγγυήσεις σχετικά με τη σειρά που θα παραδοθούν,
την απώλεια πακέτων ή τη διπλή παράδοσή τους.
Πάνω από ένα τέτοιο δίκτυο το TCP παρέχει αξιόπιστη μεταφορά δεδομένων.
Οι βασικές υπηρεσίες που παρέχει το TCP είναι οι παρακάτω:
- Μεταφορά δεδομένων
- Αξιοπιστία
- Έλεγχο ροής
- Πολυπλεξία
- Συνδέσεις
- Προτεραιότητα
Η μορφή της επικεφαλίδας του TCP είναι η παρακάτω:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source Port | Destination Port |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sequence Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Acknowledgment Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Data | |U|A|P|R|S|F| |
| Offset| Reserved |R|C|S|S|Y|I| Window |
| | |G|K|H|T|N|N| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Checksum | Urgent Pointer |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Options | Padding |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| data |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Τα bit URG...FIN έχουν τους παρακάτω ρόλους:
- URG
- Το πεδίο Urgent Pointer περιέχει δεδομένα
- ACK
- Το πεδίο Acknowledgment περιέχει δεδομένα
- PSH
- Λειτουργία Push
- RST
- Επαναρύθμιση της σύνδεσης
- SYN
- Συγχρονισμός των αριθμών της σειράς
- FIN
- Δεν υπάρχουν άλλα δεδομένα από τον αποστολέα
Υπηρεσίες και ασφάλεια
Οι υπηρεσίες που παρέχονται από μηχανήματα που είναι συνδεδεμένα στο
Internet έχουν η κάθε μια τις δικές τους απαιτήσεις σχετικά με
την προστασία τους.
Οι απαιτήσεις προστασίας πρέπει να διαχωριστούν και να αντιμετωπιστούν
διαφορετικά ανάλογα με το αν:
- η υπηρεσία παρέχεται για πρόσβαση μόνο
τους εσωτερικούς χρήστης του οργανισμού
(π.χ. πρόσβαση σε αρχεία μέσω NFS ή SMB/CIFS, βάσεις δεδομένων ODBC),
- η υπηρεσία παρέχεται σε όλο το Internet (π.χ. Web, SMTP),
- η υπηρεσία εξυπηρετεί και απομακρυσμένους χρήστες του οργανισμού
(π.χ. IMAP, telnet) ή ένα εξωδίκτυο (extranet).
Οι υπηρεσίες που είναι προσβάσιμες από όλο το Internet και ειδικά
αυτές που εξυπηρετούν και χρήστες του οργανισμού μέσω του
Internet πρέπει να προστατεύονται με προσοχή.
Ακόμα, καλό είναι υπηρεσίες που εξυπηρετούν αποκλειστικά χρήστες
μέσα στον οργανισμό να μη βρίσκονται στο ίδιο μηχάνημα με υπηρεσίες
που είναι προσβάσιμες από το Internet.
Τα μηχανήματα των δύο κατηγοριών καλό είναι να διαχωρίζονται με
ένα (σωστά διαμορφωμένο) firewall.
Κατάλογοι ονομάτων
Η υπηρεσία Domain Name System (DNS) μεταφράζει μεταξύ
άλλον ονόματα σε διευθύνσεις.
Αν κάποιος εξασφαλίσει παράνομα τον έλεγχο της υπηρεσίας αυτής
μπορεί να αλλάξει τη ροή των πακέτων επηρεάζοντας το σύστημα ασφάλειας.
Για παράδειγμα με τον τρόπο αυτό οι χρήστες μπορεί να έχουν πρόσβαση σε
ένα μηχάνημα που ελέγχει ο εχθρός νομίζοντας πως έχουν πρόσβαση σε ένα
κανονικό μηχάνημα του οργανισμού.
Οι δευτερεύοντες εξυπηρετητές DNS πρέπει να είναι προστατευμένοι,
ενώ οι πρωτεύοντες πρέπει να προστατεύονται και από
επιθέσεις άρνησης εξυπηρέτησης (denial of service attacks)
με τη χρήση φίλτρων πακέτων.
Η υπηρεσία DNS δεν προσφέρει εξασφάλιση ακεραιότητας και εμπιστευτικότητας,
αν και η κατάσταση αυτή αλλάζει με τη χρήση ηλεκτρονικών υπογραφών
(βλ. RFC 2065 (ftp://ftp.internic.net/rfc/rfc2065.txt)).
Εξυπηρετητές κλειδιών
- Οι εξυπηρετητές που προσφέρουν έλεγχο κλειδιών (π.χ. NIS, NIS+, KDC, NT
primary domain controler) πρέπει να μην είναι προσβάσιμοι από
το Internet.
- Ακόμα και αν το αρχείο με τους κωδικούς είναι κρυπτογραφημένο με μη
αναστρέψιμο τρόπο ο εχθρός μπορεί να χρησιμοποιήσει
επίθεση με τη χρήση λεξικού.
- Πρόσβαση στους εξυπηρετητές αυτούς πρέπει να έχουν μόνο οι
διαχειριστές τους.
Εξυπηρετητές ηλεκτρονικού ταχυδρομείου
- Ο υπηρέτης ηλεκτρονικού ταχυδρομείου πρέπει εξ' ορισμού να είναι
προσβάσιμος απ' όλο το Internet.
Για το λόγο αυτό πρέπει να είναι προσεκτικά διαμορφωμένος και να περιέχει
όλες τις τελευταίες αλλαγές του κατασκευαστή.
- Η διαμόρφωση του υπηρέτη πρέπει να μην επιτρέπει τη χρήση
του για την αποστολή μηνυμάτων από χρήστες που δεν ανήκουν στον
οργανισμό.
- Για την ανάγνωση μηνυμάτων καλό είναι να προτιμούνται πρωτόκολλα
που να χρησιμοποιούν κρυπτογραφημένους κωδικούς πρόσβασης.
Εξυπηρετητές Web
Ο δημόσιος υπηρέτης Web (σε αντίθεση με έναν εσωτερικό υπηρέτη
εσωδικτύου (intranet))
είναι τυπικά προσβάσιμος απ' όλο το Internet.
Οι παρακάτω συστάσεις μπορούν να ελαττώσουν τους αντίστοιχους
κινδύνους:
- Ο υπηρέτης του Web να μην προσφέρει άλλες υπηρεσίες.
- Ο υπηρέτης να μην προσφέρει εμπιστευτικές πληροφορίες.
- Ο υπηρέτης του Web να βρίσκεται έξω από την περίμετρο ασφάλειας
του οργανισμού.
- Εσωτερικά μηχανήματα να μην εμπιστεύονται το δημόσιο υπηρέτη.
- Ο υπηρέτης πρέπει να είναι προσεκτικά διαμορφωμένος και να περιέχει
όλες τις τελευταίες αλλαγές του κατασκευαστή.
Εξυπηρετητές FTP
Ο δημόσιος υπηρέτης για μεταφορά αρχείων μέσω του
File Transfer Protocol (FTP) είναι τυπικά προσβάσιμος απ' όλο το Internet.
Οι παρακάτω συστάσεις μπορούν να ελαττώσουν τους αντίστοιχους
κινδύνους:
- Ο υπηρέτης FTP να μην προσφέρει άλλες υπηρεσίες.
- Ο υπηρέτης να μην προσφέρει ούτε και να περιέχει
εμπιστευτικές πληροφορίες (π.χ. αρχείο κωδικών χρηστών).
- Ο υπηρέτης FTP να μη χρησιμοποιεί το ίδιο μηχάνημα με τον
υπηρέτη του Web. Η πρόσβαση με FTP μπορεί να χρησιμοποιηθεί για
τη μεταβολή στοιχείων του Web, ή η πρόσβαση μέσω του Web για την
άντληση εμπιστευτικών στοιχείων του FTP.
- Ο υπηρέτης FTP να βρίσκεται έξω από την περίμετρο ασφάλειας
του οργανισμού.
- Ο υπηρέτης πρέπει να είναι προσεκτικά διαμορφωμένος και να περιέχει
όλες τις τελευταίες αλλαγές του κατασκευαστή.
- Η διαμόρφωση του υπηρέτη να επιτρέπει πρόσβαση μόνο στην περιοχή
των αρχείων.
Εξυπηρετητές αρχείων
- Οι εξυπηρετητές αρχείων (NFS, SMB, CIFS)
δεν είναι σχεδιασμένοι και υλοποιημένοι για ασφαλή πρόσβαση.
- Οι υπηρεσίες που προσφέρουν δεν πρέπει να εμφανίζονται στο Internet.
- Πακέτα για τις υπηρεσίες αυτές πρέπει να σταματούν στο επίπεδο του firewall.
Βιβλιογραφία
- R. Braden.
RFC 1122: Requirements for
Internet hosts — communication layers, October 1989.
See also STD3 [STD0003].
- R. Braden.
RFC 1123: Requirements for
Internet hosts — application and support, October 1989.
See also STD3 [STD0003].
- Douglas E. Comer and
David L. Stevens.
Internetworking with TCP/IP, volume II: Design, Implementation and
Internals.
Prentice-Hall, 1991.
- Douglas E. Comer and
David L. Stevens.
Internetworking with TCP/IP, volume III: Client-Server Programming and
Applications (BSD Socket Version.
Prentice-Hall, 1993.
- Douglas E. Comer.
Internetworking with TCP/IP, volume I: Principles, Protocols and
Architecture.
Prentice-Hall, second edition, 1991.
- D. Eastlake and
C. Kaufman.
RFC 2065: Domain Name System
security extensions, January 1997.
Updates RFC1035 [RFC1035].
- B. Fraser.
RFC 2196: Site security
handbook, September 1997.
- E. Krol.
RFC 1118: Hitchhikers guide to
the Internet, September 1989.
- J. Postel.
RFC 768: User Datagram
Protocol, August 1980.
See also STD6 [STD0006].
- J. Postel.
RFC 774: Internet protocol
handbook: Table of contents, October 1980.
Obsoletes RFC0766 [RFC0766].
- J. Postel.
RFC 791: Internet
protocol, September 1981.
Obsoletes RFC0760 [RFC0760].
- J. Postel.
RFC 792: Internet control
message protocol, September 1981.
Obsoletes RFC0777 [RFC0777]. See also STD5 [STD0005].
- J. Postel.
RFC 793: Transmission Control
Protocol, September 1981.
See also STD7 [STD0007]. Updates RFC0761 [RFC0761].
- W. Richard Stevens.
UNIX
Network Programming.
Prentice Hall, 1990.
Διάχυση πληροφοριών και ασφάλεια στον παγκόσμιο ιστό
Αρχιτεκτονική του παγκόσμιου ιστού
- Ο παγκόσμιος ιστός (world wide web)
είναι υλοποιημένες σύμφωνα με το μοντέλο
πελάτη-υπηρέτη (client-server).
- Υπηρέτες ακούν για εντολές του πρωτοκόλλου HTTP
στη θύρα TCP 80 και απαντούν ανάλογα με το περιεχόμενο της εντολής.
- Οι απαντήσεις είναι συνήθως υπερκείμενο (hypertext)
δομημένο σύμφωνα με το πρότυπο HTML.
- Παραπομπές σε άλλες σελίδες ή περιεχόμενο γίνονται με την
τυποποιημένη χρήση των Uniform Resource Locators (URL).
- Τόσο ο πελάτης, όσο και ο υπηρέτης μπορούν να προσαρμόσουν
δυναμικά το περιεχόμενο μιας σελίδας.
Προσδιορισμός στοιχείων με URI
Ο προσδιορισμός στοιχείων στο πρωτόκολλο HTTP
γίνεται με τη χρήση των Uniform Resource Identifiers.
Αυτά ορίζονται από την παρακάτω γραμματική (RFC 2068):
URI = ( absoluteURI | relativeURI ) [ "#" fragment ]
absoluteURI = scheme ":" *( uchar | reserved )
relativeURI = net_path | abs_path | rel_path
net_path = "//" net_loc [ abs_path ]
abs_path = "/" rel_path
rel_path = [ path ] [ ";" params ] [ "?" query ]
path = fsegment *( "/" segment )
fsegment = 1*pchar
segment = *pchar
params = param *( ";" param )
param = *( pchar | "/" )
scheme = 1*( ALPHA | DIGIT | "+" | "-" | "." )
net_loc = *( pchar | ";" | "?" )
query = *( uchar | reserved )
fragment = *( uchar | reserved )
pchar = uchar | ":" | "@" | "&" | "=" | "+"
uchar = unreserved | escape
unreserved = ALPHA | DIGIT | safe | extra | national
escape = "%" HEX HEX
reserved = ";" | "/" | "?" | ":" | "@" | "&" | "=" | "+"
extra = "!" | "*" | "'" | "(" | ")" | ","
safe = "$" | "-" | "_" | "."
unsafe = CTL | SP | <"> | "#" | "%" | "<" | ">"
national = <any OCTET excluding ALPHA, DIGIT,
reserved, extra, safe, and unsafe>
Η χρήση τους επιτρέπει τον προσδιορισμό άλλων σελίδων τοπικά, σε άλλα
μηχανήματα, καθώς και ερωτήσεων:
http://kerkis.math.aegean.gr/~dspin/
http://www.altavista.com/cgi-bin/query?pg=q&text=yes&q=link%3akerkis%2emath%2eaegean%2egr%2f%7edspin+%2dhost%3akerkis%2emath%2eaegean%2egr&stq=10&c9k
Σημαντικά προβλήματα ασφάλειας που μπορούν να προκύψουν είναι τα παρακάτω:
- Το σύστημα DNS που μετατρέπει τα ονόματα σε διευθύνσεις δεν είναι ασφαλές
- Οποιοσδήποτε μπορεί να δημιουργήσει ένα URI.
Δεν πρέπει η ασφάλειά μας να βασίζεται σε "κρυμμένα" αρχεία ή στη χρήση
συγκεκριμένων URI.
- Με τον προσδιορισμό άλλων θυρών μπορεί ένα "αθώο" URI να "μιλήσει" σε άλλο
πρωτόκολλο (όχι HTTP) με καταστροφικά αποτελέσματα.
- Όταν ένα URI περιέχει συνθηματικό αυτό δεν μπορεί να είναι εμπιστευτικό.
Το πρωτόκολλο HTTP
Το πρωτόκολλο HTTP υποστηρίζει τις παρακάτω μεθόδους επικοινωνίας:
- GET
- HEAD
- POST
- PUT
- DELETE
- TRACE
Παράδειγμα:
GET /pub/WWW/TheProject.html HTTP/1.1
Host: www.w3.org
Βασικά προβλήματα ασφάλειας που έχουν σχέση με το HTTP είναι τα παρακάτω:
Διασφάλιση συναλλαγών HTTP
Συναλλαγές που χρησιμοποιούν HTTP μπορούν να ασφαλιστούν ως προς
την εμπιστευτικότητα και την ακεραιότητα σε τρία διαφορετικά επίπεδα:
- Κάτω από το πρωτόκολλο HTTP μέσω SSL ή IPSEC
- Επεκτείνοντας το πρωτόκολλο HTTP (π.χ. secure HTTP)
- Πάνω από το πρωτόκολλο HTTP με λ.χ. με εξειδικευμένες εφαρμογές σε
Java που κρυπτογραφούν τα μηνύματα.
Περιγραφή σελίδων με HTML
H HTML είναι μια εφαρμογή της SGML για την περιγραφή σελίδων στο Web.
Περιοχές του κειμένου σημειώνονται με ετικέτες (tags).
Κάθε ετικέτα περιλαμβάνει το όνομά της και παραμέτρους.
Οι ετικέτες γράφονται ως εξής:
<όνομα ετικέτας παράμετροι>
Μια περιοχή του κειμένου μπορεί να σημειωθεί ως εξής:
<ετικέτα>
περιοχή που σημειώνεται
</ετικέτα>
Βασικές ετικέτες που υποστηρίζει η HTML είναι οι παρακάτω:
- HTML
- περιγραφή ολόκληρης σελίδας
- HEAD
- επικεφαλίδα της σελίδας
- BODY
- κείμενο της σελίδας
- H1-H6
- επικεφαλίδες του κειμένου
- P
- αλλαγή παραγράφου
- UL
- λίστα με τελείες
- OL
- αριθμημένη λίστας
- LI
- στοιχείο λίστας
- BR
- αλλαγή γραμμής
- HR
- οριζόντια γραμμή
- IMG
- εικόνα
- A
- (anchor) σημείο πρόσβασης από ή σε υπερκείμενο
- PRE
- προστοιχειοθετημένο κείμενο
- DL, DT, DD
- λίστα περιγραφών, περιγραφές
- I
- πλάγιοι χαρακτήρες
- B
- έντονοι χαρακτήρες
Παράδειγμα σελίδας:
<!doctype html public "-//IETF//DTD HTML//EN">
<HTML>
<HEAD>
<TITLE>Τίτλος της σελίδας</title>
<META NAME="GENERATOR" CONTENT="thread.pl">
<META NAME="AUTHOR" CONTENT="Diomidis Spinellis">
<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=ISO-8859-7">
<LINK REV="made" HREF="mailto:dspin@aegean.gr">
<LINK REL="ToC" href="./web/index.htm">
<LINK REV="Subdocument" href="./web/index.htm">
<LINK REL="previous" href="./web/http.htm">
<LINK REL="next" href="./web/cgi.htm">
</HEAD>
<BODY> <H1>Επικεφαλίδα πρώτου επιπέδου</H1><HR>
Κείμενο που περιέχει ένα σημείο κατάληξης υπερκειμένου
<a name="G42"> (<em>με έντονο κείμενο</em>)</a>
και μια λίστα:
<ul>
<li> στοιχείο 1
<li> στοιχείο 2
</ul>
<p>
Νέα παράγραφος με ένωση υπερκειμένου στο
<A HREF="http://www.aegean.gr">Πανεπιστήμιο Αιγαίου</A>
<HR>
</BODY>
</HTML>
Προβλήματα ασφάλειας που σχετίζονται με την HTML είναι τα εξής:
- Χρήση προβληματικών URI μέσω εικόνων ή anchors.
- Οι μέθοδοι αποστολής στοιχείων μέσω HTTP και SMTP δε διασφαλίζουν
την εμπιστευτικότητά τους.
Ενεργό περιεχόμενο με CGI
Προγράμματα CGI (Common Gateway Interface)
επικοινωνούν με τον εξυπηρετητή Web για να εκτελέσουν
κάποιες λειτουργίες που ζητά ο πελάτης, ή/και να δημιουργήσουν
ενεργό περιεχόμενο.
Το πρόγραμμα CGI δέχεται από τον εξυπηρετητή τις παραμέτρους που καθόρισε
ο χρήστης μέσω
μεταβλητών του περιβάλλοντος (environment variables).
Τυπικό δείγμα των μεταβλητών που μεταφέρονται στο πρόγραμμα CGI είναι
το παρακάτω:
SERVER_SOFTWARE=Apache/1.2.5
GATEWAY_INTERFACE=CGI/1.1
DOCUMENT_ROOT=/home/www/htdocs
REMOTE_ADDR=192.168.135.5
SERVER_PROTOCOL=HTTP/1.0
REQUEST_METHOD=GET
REMOTE_HOST=staffpc15.aegean.gr
QUERY_STRING=
HTTP_USER_AGENT=Mozilla/3.01 (Win95; I)
PATH=/bin:/usr/bin:
HTTP_CONNECTION=Keep-Alive
HTTP_ACCEPT=image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*
REMOTE_PORT=1124
SCRIPT_NAME=/cgi-bin/pe
SCRIPT_FILENAME=/home/www//cgi-bin/pe
SERVER_NAME=www.aegean.gr
REQUEST_URI=/cgi-bin/pe
SERVER_PORT=80
HTTP_HOST=www.aegean.gr
SERVER_ADMIN=webmaster@aegean.gr
Αφού το πρόγραμμα επεξεργαστεί τις παραμέτρους που όρισε ο χρήστης στη φόρμα
(που περιέχονται κωδικοποιημένες στη μεταβλητή QUERY_STRING)
δημιουργεί μια πλήρη απάντηση σύμφωνα με το πρωτόκολλο HTTP (επικεφαλίδα
και δεδομένα).
Για παράδειγμα, η εκτύπωση των πιο πάνω μεταβλητών έγινε από το εξής
πρόγραμμα σε Perl:
#!/usr/bin/perl
print "Content-Type: text/plain\n\n";
for $key (keys %ENV) {
print "$key=$ENV{$key}\n";
}
Σχετιζόμενα προβλήματα ασφάλειας είναι τα παρακάτω:
- Δυνατότητες εκτέλεσης άλλων εντολών στη γλώσσα υλοποίησης του
προγράμματος (sh, Perl, Tcl, Java, Python)
- Προσθήκη νέων αδυνάτων σημείων στον εξυπηρετητή
Παρόμοια προβλήματα μπορούν να εμφανίσουν και τα
server side includes που εκτελούν κώδικα.
Παράδειγμα
Το παρακάτω λανθασμένο και ανασφαλές πρόγραμμα σε Perl τρέχει την
εντολή finger σε σύστημα Unix για το χρήστη που έχει ζητήσει κάποιος
στο πεδίο USER μιας φόρμας HTML.
#!/usr/bin/perl
$query = $ENV{'QUERY_STRING'};
@pairs = split(/\&/, $query);
for (@pairs) {
($field, $val) = split(/=/);
$field =~ s/\+/ /g;
$field =~ s/\%(\w\w)/sprintf("%c", hex($1))/eg;
$val =~ s/\+/ /g;
$val =~ s/\%(\w\w)/sprintf("%c", hex($1))/eg;
$field{$field} = $val;
}
$|=1;
print "Content-Type: text/plain\n\n";
system "finger $field{USER}\n";
Αν το εκτελέσουμε με την παράμετρο USER να έχει την τιμή dds
http://www.senanet.com/cgi-bin/pe?USER=dds
θα εμφανιστεί το παρακάτω αποτέλεσμα:
Login: dds Name: Diomidis Spinellis
Directory: /home/dds Shell: /bin/bash
On since Wed Jun 30 12:18 (EET) on ttyp0
5 minutes 49 seconds idle
Αν όμως προσθέσουμε στο τέλος του URI ένα ερωτηματικό
(που διαχωρίζει τις εντολές στο φλοιό του Unix) και την εντολή cat /etc/passwd
http://www.senanet.com/cgi-bin/pe?USER=dds;cat%20/etc/passwd
θα λάβουμε και το περιεχόμενο του αρχείου passwd (περιέχει τους
κωδικοποιημένους κωδικούς χρηστών σε ορισμένες εκδόσεις του Unix)
στο τέλος της απάντησης:
Login: dds Name: Diomidis Spinellis
Directory: /home/dds Shell: /bin/bash
On since Wed Jun 30 12:18 (EET) on ttyp0
5 minutes 49 seconds idle
root:XXXXXXXXXXXXX:0:0:Charlie Root:/root:/bin/bash
bin:*:1:1:bin:/bin:
daemon:*:2:2:The Devil Himself:/sbin:
adm:*:3:4:adm:/var/adm:
lp:*:4:7:lp:/var/spool/lpd:
...
Για να αποφεύγουμε τέτοια προβλήματα πρέπει:
- Να μη γράφουμε εφαρμογές CGI αν δεν έχουμε μεγάλη πείρα στη γλώσσα
υλοποίησης και τους αντίστοιχους κινδύνους.
- Να μην εμπιστευόμαστε με κανέναν τρόπο στοιχεία που προέρχονται
από φόρμες.
- Να ελέγχουμε σχολαστικά όλες τις παραμέτρους του προγράμματος.
- Να εκτελούμε τα προγράμματα CGI σε προστατευμένο, όσο γίνεται,
περιβάλλον.
Αυθεντικοποίηση του χρήστη
Η αυθεντικοποίηση του χρήστη
γίνεται συχνά με τη χρήση της μεθόδου POST ή
με την χρήση του κατάλληλου URI.
Με τον τρόπο αυτό είναι πολύ εύκολη η επαναχρησιμοποίηση ενός
συνθηματικού ή η ανακάλυψή του παρακολουθώντας πακέτα στο δίκτυο.
Παράδειγμα εντολής POST με συνθηματικό:
POST /cgi-bin/smswww HTTP/1.0
Referer: http://www.netcs.com/pages/foo/send.html
Proxy-Connection: Keep-Alive
User-Agent: Mozilla/3.01 (Win95; I)
Host: www.netcs.com
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*
Content-type: application/x-www-form-urlencoded
Content-length: 143
Authorization: Basic aWV0ZopqZXRm
Προστασία προσωπικών στοιχείων
Ένας χρήστης μπορεί άθελά του να αποκαλύψει τα παρακάτω στοιχεία μέσω
της πρόσβασής του στο Web:
- Την ταυτότητά του (όνομα, email, κ.λπ.)
- Τη θέση του (διεύθυνση IP, όνομα, φυσική θέση)
- Ονόματα σελίδων που έχει επισκεφτεί
- Στοιχεία τα οποία έψαξε μέσω μηχανών έρευνας
- Καταναλωτικές συνήθειες
- Στοιχεία που γράφει σε φόρμες
Πολλά από τα στοιχεία μπορούν να αποκαλυφθούν και από ανάλυση της κίνησης
κοντά στο μηχάνημα του χρήστη.
Με τεχνικές όπως Chaum mixes και Onion routing μπορούμε να αποφύγουμε
ορισμένα από τα προβλήματα αυτά.
Cookies
Τα cookies χρησιμοποιούνται στο Web για να επιτρέψουν την εκτέλεση
προγραμμάτων που απαιτούν τη διατήρηση κατάστασης (state)
ανάμεσα στις εξ' ορισμού χωρίς κατάσταση (stateless)
αυτόνομες συναλλαγές HTTP.
Η διατήρηση κατάστασης είναι απαραίτητη για την υλοποίηση εφαρμογών ηλεκτρονικού
εμπορίου όπου ο υπηρέτης χρειάζεται π.χ. να γνωρίζει τα είδη που
έχει επιλέξει ο χρήστης να αγοράσει.
Τα cookies έχουν τη μορφή:
Name=VALUE; expires=DATE; domain=DOMAIN; path=PATH; secure
Παράδειγμα (από το αρχείο cookies.txt):
home.netscape.com FALSE / FALSE 942189160 NGUserID cfc84d23-4929-905788546-1
Προβλήματα ασφάλειας:
- Προσωπικά στοιχεία προτιμήσεων,
όπως οι σελίδες που έχει επισκεφτεί ένας χρήστης
για μεγάλο χρονικό διάστημα σε μια συγκεκριμένη περιοχή
μπορούν εύκολα να καταγραφούν.
- Επειδή βασίζονται στο DNS μπορούν να γίνουν στόχος επιθέσεων
με τη χρήση πλαστογραφίας του DNS.
- Με τον παραπάνω τρόπο μπορούν να διαγραφούν, να υποκλαπεί η
ταυτότητα ενός χρήστη, ή να αποκαλυφθούν προσωπικές προτιμήσεις του χρήστη.
- Επειδή τα cookies φυλάσσονται στο μηχάνημα του χρήστη μπορεί
εύκολα να χρησιμοποιηθούν ή να διαβαστούν
επίτηδες ή κατά λάθος από άλλους χρήστες.
Ασφάλεια στη Java
Η Java επιτρέπει τη μεταφορά εκτελέσιμου περιεχομένου και την εκτέλεσή
του σε οποιαδήποτε αρχιτεκτονική και λειτουργικό σύστημα έχει υλοποιηθεί
η ιδεατή μηχανή Java (Java virtual machine).
Οι περισσότεροι εξυπηρετητές υποστηρίζουν την μεταφορά και εκτέλεση προγραμμάτων
Java μέσα από τον ιστό με τη χρήση της ετικέτας της HTML applet.
Τέτοια προγράμματα περιέχουν ανέμπιστο (untrusted)
κώδικα.
Για την προστασία του χρήστη και του μηχανήματος ο ανέμπιστος κώδικας
ελέγχεται ως προς την ορθότητά του και
εκτελείται σε ένα περιβάλλον περιορισμένων δυνατοτήτων,
το σκάμμα (sandbox).
Οι περιορισμοί προγραμμάτων που εκτελούνται στο σκάμμα εξαρτώνται από
την πολιτική ασφάλειας που έχει οριστεί.
Μια τυπική πολιτική ασφάλειας περιέχει τους παρακάτω περιορισμούς:
- Ανάγνωση τοπικών αρχείων
- Εγγραφή τοπικών αρχείων
- Διαγραφή τοπικών αρχείων
- Αλλαγή ονόματος τοπικών αρχείων
- Δημιουργία τοπικού καταλόγου του τοπικού συστήματος
- Ανάγνωση στοιχείων καταλόγου του τοπικού συστήματος
- Έλεγχος για την ύπαρξη αρχείου
- Ανάγνωση στοιχείων ενός αρχείου
- Σύνδεση μέσω δικτύου με μηχάνημα άλλο από αυτό από το οποίο φορτώθηκε το πρόγραμμα
- Αναμονή για σύνδεση από το δίκτυο
- Δημιουργία παραθύρου με άσχετο όνομα
- Απόκτηση του ονόματος και του καταλόγου του χρήστη
- Αλλαγή των ιδιοτήτων του συστήματος
- Έξοδος από το διερμηνευτή της Java
- Φόρτωμα δυναμικών βιβλιοθηκών
- Δημιουργία νημάτων έξω από το ThreadGroup
- Δημιουργία ClassLoader
- Δημιουργία SecurityManager
- Δημιουργία κλάσεων που υπάρχουν στο σύστημα
Ο έλεγχος του κώδικα διασφαλίζει τις παρακάτω ιδιότητες:
- Το εκτελέσιμο αρχείο της κλάσης έχει την ορθή μορφή.
- Αποκλείεται η υπερχείλιση ή υπερχείλιση της στοίβας των παραμέτρων.
- Οι εντολές bytecode καλούνται με το σωστό τύπο.
- Δεν υπάρχουν απαγορευμένες μετατροπές μεταξύ τύπων (π.χ. Internet και Pointer)
- Δεν υπάρχει μη εξουσιοδοτημένη πρόσβαση (μέσω private, public, protected).
- Η κάθε πρόσβαση στους καταχωρητές είναι νόμιμη.
Στο JDK 1.1 υπάρχει η δυνατότητα φορτώματος μιας έμπιστης εφαρμογής
από το δίκτυο αν αυτή έχει την κατάλληλη ψηφιακή υπογραφή.
Τα προβλήματα ασφάλειας στην περίπτωση αυτή είναι παρόμοια με αυτά
της τεχνολογίας ActiveX.
Στην Java 2 υπάρχει δυνατότητα ορισμού διαφορετικής πολιτικής ασφάλειας
ανάλογα με την υπογραφή μιας εφαρμογής.
Ορισμένα προβλήματα ασφάλειας που δημιουργούνται από τη χρήση της Java είναι τα
εξής:
- Προβλήματα από λανθασμένη υλοποίηση της Java
(π.χ. των ελέγχων στο σύστημα των τύπων)
- Χρήση λανθασμένης πολιτικής ασφάλειας
Ασφάλεια στη Javascript
Η γλώσσα Javascript δεν έχει καμιά σχέση με τη Java.
Αποτελείται από απλές εντολές που περιέχονται μέσα στη σελίδα
HTML και διερμηνεύονται από το φυλλομετρητή.
Το κύριο πρόβλημα ασφάλειας που δημιουργεί η Javascript είναι η
δημιουργία επιθέσεων άρνησης υπηρεσίας ή διαρροής προσωπικών δεδομένων,
συχνά με την άθελη βοήθεια του μη έμπειρου χρήστη.
Οι παρακάτω είναι ορισμένες επιτυχημένες επιθέσεις που έχουν
γίνει με βάση της Javascript:
- Πρόσβαση στην ιστορία πρόσβασης σελίδων
- Ανάγνωση καταλόγων
- Ανάγνωση αρχείων (μέσω email που στέλνει ο χρήστης κατά λάθος)
- Δημιουργία αρχείων Java που απαγορεύει το firewall
(επαναδημιουργία του applet tag)
Ασφάλεια και ActiveX
- Η τεχνολογία ActiveX της Microsoft καλύπτει ένα πολύ ευρύ πλαίσιο
τεχνικών για τη δημιουργία ενεργών σελίδων.
- Η τεχνολογία βασίζεται στο Component Object Model (COM) και
μεταξύ άλλων υποστηρίζει τη μεταφορά
και εκτέλεση περιεχομένου σε υπολογιστές Windows/Intel (σήμερα)
και σε υπολογιστές Macintosh και Unix (στο μέλλον, κατά τη Microsoft).
- Προγράμματα ActiveX γραμμένα σε Java έχουν παρόμοια πλεονεκτήματα
και προβλήματα με τα Java Applets.
- Προγράμματα ActiveX γραμμένα σε Visual C ή Visual Basic έχουν
πλήρη πρόσβαση σε όλους τους πόρους και τα στοιχεία του υπολογιστή.
- Για το λόγο αυτό τέτοια προγράμματα σφραγίζονται με τη χρήση
ψηφιακών υπογραφών και κρυπτογραφικής σύνοψης του μηνύματος.
- Ο χρήστης εμπιστεύεται το πρόγραμμα που έγραψε αυτός που υπέγραψε
το ActiveX control όπως εμπιστεύεται ένα πρόγραμμα που αγόρασε από το
εμπόριο.
- Προγράμματα ActiveX σε Visual C έχοντας πλήρη πρόσβαση σε όλους
τους πόρους του επεξεργαστή μπορούν να δημιουργήσουν πρόβλημα με πολλούς
τρόπους:
- Με δόλο: πώς ξέρουμε ποιους κατασκευαστές ActiveX να εμπιστευτούμε;
- Χωρίς δόλο: πολλά προγράμματα έχουν λάθη τα οποία δημιουργούν νέα
προβλήματα ασφάλειας στον υπολογιστή.
- Ως φορείς για δόλια προγράμματα: ένα πρόγραμμα ActiveX μπορεί να περιέχει
μέσα του βιβλιοθήκες που δεν έχουν ελεγχθεί, ή να δημιουργήσει μια νέα δίοδο
στον υπολογιστή για εισροή δόλιου κώδικα.
Τρόπος προστασίας
Η τεχνολογία ActiveX είναι εγγενώς ανασφαλής.
Ο καλύτερος τρόπος προστασίας είναι
η απενεργοποίηση της δυνατότητας εκτέλεσης ActiveX στο φυλλομετρητή.
Βιβλιογραφία
- T. Berners-Lee and D. Connolly.
RFC 1866: Hypertext Markup
Language — 2.0, November 1995.
- T. Berners-Lee,
L. Masinter, and M. McCahill.
RFC 1738: Uniform Resource
Locators (URL), December 1994.
- R. Fielding,
J. Gettys, J. Mogul, H. Frystyk, T. Berners-Lee, et al.
RFC 2068: Hypertext transfer
protocol — HTTP/1.1, January 1997.
- Stefanos
Gritzalis and Diomidis Spinellis.
Addressing threats and security issues in World Wide Web
technology.
In Proceedings CMS '97 3rd IFIP TC6/TC11 International joint working
Conference on Communications and Multimedia Security, pages 33–46,
Athens, Greece, September 1997. IFIP, Chapman & Hall.
- Gary McGraw and
Edward W. Felten.
Securing Java.
Wiley, 1999.
- Aviel D. Rubin, Daniel
Geer, and Marcus J. Ranum.
Web
Security Sourcebook.
John Wiley & Sons, 1997.
Έμπιστη Τρίτη Οντότητα
Ο ρόλος της ΕΤΟ
Μια Έμπιστη Τρίτη Οντότητα (Trusted Third Party)
(ΕΤΟ (TTP)) αποτελεί την απαραίτητη υποδομή προκειμένου
να διασφαλιστεί η αυθεντικότητα, ακεραιότητα και εμπιστευτικότητα των
ηλεκτρονικών συναλλαγών που πραγματοποιούνται καθώς και οποιονδήποτε
πληροφοριών διακινούνται μεταξύ των οντοτήτων που έχουν πιστοποιηθεί από
την ΕΤΟ.
Οντότητες οι οποίες είναι δυνατόν να πιστοποιηθούν από μια ΕΤΟ είναι:
- οι χρήστες των υπηρεσιών ενός οργανισμού και
- οι υπηρέτες του οργανισμού που παρέχουν τις υπηρεσίες αυτές.
Ο σκοπός μιας ΕΤΟ είναι η υποστήριξη διενέργειας ασφαλών συναλλαγών,
μέσω της πιστοποίησης των προαναφερθέντων οντοτήτων.
Για την επίτευξη αυτού του σκοπού, η ΕΤΟ ενσωματώνει ειδικές λειτουργίες
και υπηρεσίες (πχ. Κατάλογος LDAP) για τη διάθεση και εκμετάλλευση
των πληροφοριών πιστοποίησης προς τις ενδιαφερόμενες οντότητες.
Το σχήμα απεικονίζει την υποδομή μιας ΕΤΟ.
Ο τελικός χρήστης, μέσω ενός Πελάτη Ιστού (Web client),
είναι σε θέση να επικοινωνήσει άμεσα με την
Αρχή Πιστοποίησης (certificate authority)
(ΑΠ (CA))
προκειμένου να κάνει αίτηση ή να παραλάβει ένα νέο πιστοποιητικό.
Αυτό είναι σε θέση να αυθεντικοποιεί το χρήστη σε υπηρέτες Ασφαλούς Ιστού
της ΕΤΟ ή άλλων οργανισμών.
Κάθε φορά που ο χρήστης προσπαθεί να επικοινωνήσει με υπηρέτες Ασφαλούς
Ιστού προκειμένου να πραγματοποιήσει μια οποιαδήποτε συναλλαγή ή απλώς
να λάβει ορισμένες πληροφορίες, το πιστοποιητικό του παρουσιάζεται στους
υπηρέτες.
Αυτοί είναι σε θέση να εξακριβώσουν την ορθότητα του πιστοποιητικού,
να αναγνωρίσουν το χρήστη και να παραχωρήσουν στο χρήστη τα ανάλογα
δικαιώματα επί των υπηρεσιών που προσφέρει ο υπηρέτης.
Η εξακρίβωση της ορθότητας του πιστοποιητικού του χρήστη πραγματοποιείται με
τον έλεγχο της ψηφιακής υπογραφής που φέρει το πιστοποιητικό, η οποία
ανήκει στην Αρχή Πιστοποίησης (CA).
Η παραχώρηση συγκεκριμένων δικαιωμάτων στο χρήστη από τον
υπηρέτη Ασφαλούς Ιστού, επί των υπηρεσιών που προσφέρει ο τελευταίος,
πραγματοποιείται ύστερα από έλεγχο της ομάδας στην οποία ανήκει ο χρήστης,
μέσω των Υπηρεσιών Καταλόγου (Directory Services).
Οι υπηρεσίες αυτές μπορούν να χρησιμοποιηθούν και από τον τελικό χρήστη,
προκειμένου να εντοπίσει άλλους χρήστες που έχουν πιστοποιηθεί από τη
συγκεκριμένη ΕΤΟ, και να επικοινωνήσει μαζί τους.
Λειτουργία της ΕΤΟ
Αρχιτεκτονική της ΕΤΟ
Βασικές υπηρεσίες
Αντιμετώπιση απειλών
- Παρακολούθηση καναλιών επικοινωνίας
- Κλοπή / εικασία διαμοιραζόμενου κλειδιού
- Μη εξουσιοδοτημένη τροποποίηση της μεταδιδόμενης πληροφορίας
- Προβολή πλαστής ηλεκτρονικής διεύθυνσης
- Κλοπή συνθηματικών
- Μη εξουσιοδοτημένη πρόσβαση
- Παραβίαση του ιδιωτικού κλειδιού
Παρακολούθηση των καναλιών επικοινωνίας
Η επικοινωνία μεταξύ δύο οντοτήτων είναι κρυπτογραφημένη με τη χρήση ενός
διαμοιραζόμενου κλειδιού που δημιουργείται με αλγόριθμους οι οποίοι
παράγουν κλειδιά με ικανοποιητική τυχαιότητα.
Το κλειδί αυτό είναι έγκυρο μόνο για μία περίοδο επικοινωνίας.
Εικασία/Υποκλοπή διαμοιραζόμενου κλειδιού
Η εικασία του διαμοιραζόμενου κλειδιού δεν είναι δυνατή διότι ο
αλγόριθμος παραγωγής του είναι ένας κρυπτολογικά ασφαλής αλγόριθμος
παραγωγής τυχαίων κλειδιών.
Η υποκλοπή του διαμοιραζόμενου κλειδιού δεν είναι δυνατή γιατί αυτό
μεταφέρεται από την μία οντότητα στην άλλη, όντας κρυπτογραφημένο με το
ιδιωτικό κλειδί της αποστέλουσας οντότητας.
Τροποποίηση της πληροφορίας κατά την μετάδοσή της, χωρίς την αντίστοιχη άδεια
Οι οντότητες που επικοινωνούν χρησιμοποιούν ασφαλείς αλγορίθμους
κατακερματισμού για
την δημιουργία Κωδικών Αυθεντικοποίησης Μυνήματος (Message Authentication Codes).
"Μεταμφίεση" - Προβολή πλαστής ηλεκτρονικής διεύθυνσης
Το DNS δεν αποτελεί ασφαλές κριτήριο για τον έλεγχο της πηγής μετάδοσης της
πληροφορίας.
Συμπληρωματικά ως προς αυτό είναι δυνατόν να χρησιμοποιηθούν τα
πιστοποιητικά, τα οποία αποτελούν ένα έμπιστο μέσο για τον έλεγχο της
πηγής της μετάδοσης της πληροφορίας και για την αυθεντικοποίηση μίας
οντότητας σε μία άλλη.
Υποκλοπή συνθηματικού
Συνθηματικά δεν μεταδίδονται ποτέ στο κανάλι επικοινωνίας.
Η μόνη περίπτωση στην οποία χρησιμοποιείται συνθηματικό (το οποίο όμως δεν
μεταδίδεται στο κανάλι επικοινωνίας) είναι όταν η οντότητα κρυπτογραφήσει
το ίδιο το ιδιωτικό της κλειδί (το οποίο βρίσκεται μόνο στο τοπικό
υπολογιστικό σύστημα) με την βοήθεια κάποιου αλγορίθμου ιδιωτικού κλειδιού.
Πρόσβαση χωρίς άδεια
Η χορήγηση άδειας πρόσβασης δίδεται σε μία οντότητα αφού αυθεντικοποιηθεί,
με βάση το πιστοποιητικό που διαθέτει.
Ο έλεγχος για την εγκυρότητα του πιστοποιητικού πραγματοποιείται με τη
χρήση των Υπηρεσιών Καταλόγου της Αρχής Πιστοποίησης.
Αφού αυθεντικοποιηθεί η οντότητα, της εκχωρούνται τα ανάλογα δικαιώματα,
σύμφωνα με μια τοπική Λίστα Ελέγχου Πρόσβασης.
Η ΛΕΠ είναι δυνατόν να αποθηκευθεί και στον Κατάλογο,
προσφέροντας έτσι κατανεμημένο έλεγχο των χρηστών σε ένα διεσπαρμένο
Πληροφοριακό Σύστημα.
Παραβίαση του ιδιωτικού κλειδιού
Μόλις ένα ιδιωτικό κλειδί παραβιασθεί, τα πιστοποιητικά που έχον εκδοθεί
και τα οποία περιέχουν το κλειδί αυτό πρέπει να ανακληθούν.
Η ανάκληση περιλαμβάνει τον χαρακτηρισμό τους ως "ανακληθέντα" στην
περιοχή αποθήκευσης της Αρχής Πιστοποίησης και την διαγραφή τους από
την Υπηρεσία Καταλόγου.
Υπηρέτης καταλόγου
Υπηρέτης πιστοποιητικών
Υπηρέτης ιστού
- Παρέχει με ασφάλεια πληροφορίες που σχετίζονται με την ΕΤΟ
- Αίτηση ψηφιακού πιστοποιητικού
- Συμφωνία συνδρομητή
Λειτουργίες ΕΤΟ
- Εγγραφή οντότητας στον Κατάλογο
- Επεξεργασία κλειδιών και πιστοποιητικών
- έκδοση/διάθεση
- αποθήκευση/ανάκτηση
- Λίστα Ανάκλησης Πιστοποιητικών
- Ασφαλής διάθεση πληροφοριών
Κατηγορίες πιστοποιητικών
Σύμφωνα με τη λειτουργικότητα
Τα πιστοποιητικά που εκδίδει μια ΕΤΟ μπορούν να λειτουργήσουν προκειμένου
να διασφαλίσουν:
- σύναψη ασφαλούς επικοινωνίας και συναλλαγών στον Παγκόσμιο Ιστό
- ασφαλή ανταλλαγή ηλεκτρονικού ταχυδρομείου
- ασφαλή σύνδεση και αυθεντικοποίηση Εξυπηρετητών Ιστού
Σύμφωνα με τις διαδικασίες έκδοσης
Σύμφωνα με τις διαδικασίες έκδοσης, τα πιστοιποιητικά μπορούν
να κατηγοριοποιούνται ως εξής:
- Πιστοποιητικά κατηγορίας 1.
-
Η έκδοση αυτών πραγματοποιείται κατόπιν απλής αίτησης ενός χρήστη
μέσω ηλεκτρονικού ταχυδρομείου.
Δεν πραγματοποιείται έλεγχος για την επαλήθευση των προσωπικών στοιχείων
του χρήστη και για αυτό το λόγο η ΕΤΟ δεν αναλαμβάνει καμία ευθύνη
όσον αφορά στην πιστοποίηση της ταυτότητας του χρήστη.
- Πιστοποιητικά κατηγορίας 2.
-
Η αίτηση για αυτά εξυπηρετείται μόνο κατόπιν ελέγχου των προσωπικών στοιχείων
του χρήστη.
Ο έλεγχος αυτός πραγματοποιείται παρουσία του χρήστη στο χώρο που υποδεικνύει
η ΕΤΟ προκειμένου να πιστοποιηθεί η ταυτότητά του με βάση έγκυρα νομικά
έγγραφα (π.χ. ταυτότητα).
- Πιστοποιητικά κατηγορίας 3.
-
Τα πιστοποιητικά αυτά απευθύνονται κυρίως σε οργανισμούς, είτε πρόκειται για
φυσικά πρόσωπα του οργανισμού είτε για Εξυπηρετητές του οργανισμού για
τους οποίους έχει ζητηθεί πιστοποίηση.
Η διαδικασία ελέγχου των στοιχείων του προσώπου προς πιστοποίηση είναι
αυστηρή και περιλαμβάνει τη φυσική παρουσία ενός (νομικά αποδεδειγμένα)
αντιπροσώπου του οργανισμού που αιτεί πιστοποίηση, προκειμένου να
προσκομίσει προς εξακρίβωση τα νομικά έγγραφα που πιστοποιούν τα στοιχεία
του οργανισμού, τα οποία και θα περιλαμβάνονται στο αιτηθέν πιστοποιητικό.
Εγγραφή οντότητας στον Κατάλογο
Κάθε οντότητα που επιθυμεί να πιστοποιηθεί πρέπει να επικοινωνήσει με την
Αρχή Πιστοποίησης (Certification Authority)
και να καταθέσει τα στοιχεία της.
Η αίτηση για πιστοποίηση μεταφέρεται στην
Αρχή Εγγραφής (Registration Authoriy)
η οποία πιστοποιεί το αληθές των στοιχείων της και ειδοποιεί την Αρχή
Πιστοποίησης να προχωρήσει στην έκδοση του πιστοποιητικού.
Αφού η οντότητα λάβει το πιστοποιητικό, αυτό αποθηκεύεται στην υπηρεσία
Καταλόγου που διαθέτει η Αρχή Εγγραφής, μαζί με τα υπόλοιπα στοιχεία της
οντότητας.
Εκδοση/Διάθεση πιστοποιητικών
Η ανάθεση κλειδιού σε μία οντότητα είναι η διαδικασία εκείνη μέσω της
οποίας ένα ζεύγος δημόσιου/ιδιωτικού κλειδιού συσχετίζεται με μία και
μόνο οντότητα.
Ο έλεγχος για την μοναδικότητα του κλειδιού πραγματοποιείται με τη χρήση της
βάσης δημόσιων κλειδιών, της Αρχής Πιστοποίησης.
Η οντότητα φέρει την ευθύνη της δημιουργίας του ζεύγους κλειδιών που θα
χρησιμοποιήσει.
Μετά την δημιουργία, το δημόσιο τμήμα του κλειδιού αποστέλλεται στην
Αρχή Πιστοποίησης για να ενσωματωθεί σε πιστοποιητικό και έτσι να πιστοποιηθεί
η εγκυρότητα αυτού και η συσχέτισή του με τα στοιχεία της οντότητας που
υπάρχουν στο πιστοποιητικό.
Το ιδιωτικό κλειδί δεν γνωστοποιείται στην Αρχή Πιστοποίησης ή σε οποιαδήποτε
άλλη οντότητα, σε καμία περίπτωση.
Η παραπάνω διαδικασία μπορεί να μεταβληθεί και η παραγωγή των κλειδιών
να γίνει από την Αρχή Πιστοποίησης.
Στην περίπτωση αυτή η αρχή πιστοποίησης αναλαμβάνει συχνά και το ρόλο της
διαφύλαξης των κλειδιών (key escrow) για νομικούς, πρακτικούς
ή επιχειρηματικούς λόγους.
Τα πιστοποιητικά παράγονται από τις ΕΤΟ και αποθηκεύονται σε μια τοπική
βάση δεδομένων.
Επίσης, αποστέλλονται στον Εξυπηρετητή Καταλόγου προκειμένου να
καταχωρηθούν στην εγγραφή της οντότητας την οποία
πιστοποιούν.
Αποθήκευση και ανάκτηση πιστοποιητικών
Μόλις ένα πιστοποιητικό δημιουργηθεί, αποστέλλεται στον νόμιμο
κάτοχό του.
Η ανάκτηση των πιστοποιητικών, από την Α.Π. ή από τρίτους φορείς που
επιθυμούν να ελέγξουν την εγκυρότητα ορισμένων πιστοποιητικών, είναι
δυνατή μέσω του Εξυπηρετητή Καταλόγου.
Λίστα ανάκλησης πιστοποιητικών
Η λίστα ανάκλησης πιστοποιητικών (certificate revocation list)
ΛΑΠ (CRL)
περιέχει πιστοποιητικά τα οποία δεν ισχύουν αν και δεν έχουν λήξει.
Στη λίστα περιέχονται πιστοποιητικά τα οποία έχουν ανακληθεί σύμφωνα
με κάποια συγκεκριμένη διαδικασία της Αρχής Πιστοποίησης
(π.χ. από τον κάτοχό τους ή από την Αρχή Πιστοποίησης).
Τυπικές λειτουργίες της ΛΑΠ είναι οι παρακάτω:
- έλεγχος πιστοποιητικού
- παράθεση των πιστοποιητικών που περιέχονται
- παραλαβή της ΛΑΠ
- εισαγωγή νέου πιστοποιητικού στην ΛΑΠ
Δήλωση πρακτικών πιστοποίησης
Η
Δήλωση Πρακτικών Πιστοποίησης (Certificate Practice Statement)
(ΔΠΠ (CPS))
της ΕΤΟ αναφέρεται σε όλες εκείνες τις διαδικασίες που απαιτούνται για την
ασφαλή και αποδοτική έκδοση και διαχείριση πιστοποιητικών που εκδίδονται
για όλους τους χρήστες που επιθυμούν υψηλών προδιαγραφών εξασφάλιση των
πληροφοριών τους, όταν αυτές μεταδίδονται μέσω δικτύου μετάδοσης δεδομένων.
Επίσης περιγράφει λεπτομερώς την διαδικασία πιστοποίησης ξεκινώντας από
την δημιουργία και έναρξη λειτουργίας Αρχής Πιστοποιητικών,
τις λειτουργίες που σχετίζονται με τη συντήρηση της αποθήκης εγγραφών της ΑΠ και
καταλήγοντας στην υποβολή αίτησης απόκτησης πιστοποιητικού από τους συνδρομητές.
Παράλληλα, συχνά περιγράφονται και οι διαδικασίες που απαιτούνται και εφαρμόζονται
από την ΕΤΟ για τη διαχείριση και διατήρηση της
υποδομής δημοσίου κλειδιού (public key infrastructure)
για την υποστήριξη των υπηρεσιών δημόσιας πιστοποίησης.
Οι υπηρεσίες δημόσιας πιστοποίησης εμπερικλείουν την έκδοση, διαχείριση, χρήση,
προσωρινή και μόνιμη ακύρωση και επανενεργοποίηση πιστοποιητικών.
Η ΔΠΠ της ΕΤΟ είναι ο κεντρικός συντονιστής μιας σειράς από επί μέρους
οντότητες που παρουσιάζονται στο παρακάτω σχήμα.
Οι επόμενες παράγραφοι περιγράφουν συνοπτικά τα ενδεικτικά στοιχεία
του κάθε τμήματος της ΔΠΠ.
Σχέσεις με άλλες οντότητες και καταλληλότητα αποδοχής
Η λειτουργία 1.1
σχέσεις με άλλες οντότητες και καταλληλότητα αποδοχής
αφορά στις σχέσεις με τις άλλες οντότητες και την
καταλληλότητα αποδοχής. Στη λειτουργία αυτή περιγράφονται εξής:
- Οι τύποι των υποκείμενων Αρχών Πιστοποίησης που μπορούν να ενσωματωθούν στη
ν υποδομή δημοσίου κλειδιού της ΕΤΟ καθώς και η σειρά τους στην ιεραρχική
δομή της υποδομής.
- Οι τύποι των Αρχών Καταχώρησης που πιστοποιούνται από την ΕΤΟ
καθώς και η σειρά τους στην ιεραρχική δομή της υποδομής δημοσίου κλειδιού
της ΕΤΟ.
- Οι τύποι των οντοτήτων που πιστοποιούνται από την ΕΤΟ.
Οι οντότητες αυτές αντιστοιχούν στους συνδρομητές ή χρήστες της ΕΤΟ.
- Εφαρμογές για τις οποίες είναι κατάλληλη η πολιτική πιστοποιητικών.
Επίσης περιγράφονται τυχόν εφαρμογές σε συνδυασμό με τις οποίες δεν
πρέπει να εφαρμόζεται η πολιτική πιστοποιητικών.
- Πρότυπα τα οποία ακολουθούνται για την λειτουργία της υποδομής,
οι διεπαφές που χρησιμοποιούνται για την επικοινωνία χρήστη και υποδομής.
Επίσης περιγράφονται τα πρότυπα που εμπεριέχονται στα δεδομένα που
δημιουργούνται και διανέμονται μέσω της υποδομής (π.χ. πιστοποιητικά,
Λίστες Ακυρωμένων Πιστοποιητικών, προσδιοριστές πολιτικών πιστοποιητικών κ.λ.π).
Μέθοδοι ταυτοποίησης και αυθεντικοποίησης
Η λειτουργία 1.2
μέθοδοι ταυτοποίησης και αυθεντικοποίησης
περιγράφει τις διαδικασίες που απαιτούνται για την
ακεραιότητα της αντιστοίχησης μεταξύ μιας οντότητας που χρησιμοποιεί το
πιστοποιητικό και του ίδιου του πιστοποιητικού.
Διαχείριση κλειδιών
Η λειτουργία 1.3
διαχείριση κλειδιών
παρουσιάζει τα μέτρα που λαμβάνονται από την ΕΤΟ για την
προστασία των κλειδιών κρυπτογράφησης και άλλων κρίσιμων παραμέτρων ασφαλείας
(πχ. η φύλαξη των συνθηματικών που χρησιμοποιούνται για την αυθεντικοποίηση
των διαχειριστών της υποδομής με τις λειτουργικές μονάδες που περιέχονται
στην υποδομή.
Η ασφαλής διαχείριση κλειδιών είναι κριτικής σημασίας για την λειτουργία της
ΕΤΟ και εξασφαλίζει ότι τα ιδιωτικά κλειδιά και οι κρίσιμες παράμετροι
ασφάλειας προστατεύονται και χρησιμοποιούνται μόνο από εξουσιοδοτημένους
χρήστες.
Τα δημόσια κλειδιά των οντοτήτων (ανθρώπων και οργανισμών) οι οποίοι
πιστοποιούνται από την ΕΤΟ φυλάσσονται σε κατάλληλα διαμορφωμένη βάση
δεδομένων, στους χώρους της ΕΤΟ.
Τα κλειδιά αποθηκεύονται στην ενσωματωμένη μορφή τους, μέσα στα
Χ.509 πιστοποιητικά.
Τα εκδοθέντα πιστοποιητικά φυλάσσονται επίσης στον Κατάλογο, ο οποίος είναι
προσβάσιμος από το κοινό.
Η πρόσβαση αυτή παρέχει τη δυνατότητα στις οντότητες που κατέχουν
πιστοποιητικά να ελέγξουν την εγκυρότητα του πιστοποιητικού της οντότητας
με την οποία συναλλάσσονται.
Συνήθως τα ιδιωτικά κλειδιά των πιστοποιούμεων οντοτήτων δεν γνωστοποιούνται
στην ΕΤΟ.
Το ζεύγος ιδιωτικού και δημόσιου κλειδιού παράγεται από τον εξοπλισμό Η/Υ
της προς πιστοποίηση οντότητας, κατά την πρώτη επικοινωνία της προαναφερθείσας
με την υπηρεσία αίτησης πιστοποιητικών της ΕΤΟ.
Μετά την παραγωγή του ζεύγους κλειδιών, το δημόσιο κλειδί αποστέλλεται
στην ΕΤΟ για να ενσωματωθεί στο αιτηθέν πιστοποιητικό.
Το ιδιωτικό κλειδί παραμένει μόνο στο μέσο δευτερεύουσας αποθήκευσης
της οντότητας που πραγματοποίησε την αίτηση πιστοποίησης και δεν
γνωστοποιείται ποτέ στην ΕΤΟ ή σε οποιαδήποτε άλλη οντότητα.
Αποτελεί ευθύνη της οντότητας που αιτεί πιστοποίηση, η φύλαξη του
ιδιωτικού κλειδιού και η διασφάλιση της τήρησης του απορρήτου του.
Συνήθως,
αν το ιδιωτικό κλειδί αποκαλυφθεί σε οποιαδήποτε άλλη οντότητα,
αν απολεσθεί ή αν οι πράξεις του κατόχου του κλειδιού οδηγήσουν με
οποιοδήποτε τρόπο στην παραβίαση του κλειδιού από τρίτους, η ΕΤΟ δεν
φέρει καμία ευθύνη για τις συνέπειες στις συναλλαγές της πιστοποιηθείσας
οντότητας με οποιαδήποτε άλλη οντότητα.
Πολιτική ασφάλειας της υποδομής δημόσιου κλειδιού της ΕΤΟ
Η λειτουργία 1.4
πολιτική ασφάλειας της υποδομής δημόσιου κλειδιού της ΕΤΟ
περιγράφει τις διαδικασίες, νόμους και ρυθμίσεις που
έχουν τεθεί σε λειτουργία για τη δημιουργία ενός ασφαλούς περιβάλλοντος
μέσα στο οποίο λειτουργεί η ΕΤΟ.
Παράλληλα περιγράφονται τυχόν πολιτικές ασφάλειας που θα πρέπει
να εφαρμόζουν οι υποκείμενες ΑΠ και ΑΚ και οι οντότητες που χρησιμοποιούν τα
πιστοποιητικά.
Η λειτουργία αυτή είναι πολύ σημαντική να εφαρμόζεται από όλες τις
οντότητες που συμμετέχουν στην υποδομή δημοσίου κλειδιού της ΕΤΟ,
διότι απουσία ελέγχων ασφάλειας σε οποιαδήποτε οντότητα μπορεί να θέσει
σε κίνδυνο όλη την υποδομή.
Πολιτκή ασφάλειας πιστοποιητικών
Η λειτουργία 1.5
πολιτκή ασφάλειας πιστοποιητικών
περιγράφει όλους τους ελέγχους ασφάλειας που χρησιμοποιούνται
από την ΕΤΟ, έτσι ώστε όλες οι λειτουργίες της ΕΤΟ να διεκπεραιώνονται
με ασφαλή τρόπο.
Οι λειτουργίες της ΕΤΟ περιλαμβάνουν τη δημιουργία κλειδιών,
την αυθεντικοποίηση χρηστών, την καταχώρηση πιστοποιητικών,
την ακύρωση πιστοποιητικών, τις διαδικασίες ελέγχου (audit)
και αρχειοθέτησης (archive).
Πολιτική λειτουργιών
Η λειτουργία 1.6
Πολιτική λειτουργιών
περιγράφει τη συχνότητα με την οποία διενεργούνται διάφοροι
έλεγχοι που σχετίζονται με τη σωστή λειτουργία της ΕΤΟ όπως η έκδοση
της Λίστας Ακυρωμένων Πιστοποιητικών, ο χρόνος διάρκειας του πιστοποιητικού
της ίδιας της ΕΤΟ, τους περιοδικούς ελέγχους ασφάλειας που διενεργούνται
για τον έλεγχο ασφάλειας της ΕΤΟ, τους υπεύθυνους για την κατάργηση ενός
πιστοποιητικού και κάτω από ποιες προϋποθέσεις μπορεί να γίνει αυτό και
άλλα επιπλέον στοιχεία.
Νομικές ρυθμίσεις και προβλέψεις
Η λειτουργία 1.7
νομικές ρυθμίσεις και προβλέψεις
περιγράφει την πολιτική αξιοπιστίας και εγγύησης και
της προϋποθέσεις ισχύος της εγγύησης.
Επιπλέον περιγράφονται οι υποχρεώσεις όλων των οντοτήτων (της ΕΤΟ,
άλλων Αρχών Πιστοποίησης, των ΑΚ και των οντοτήτων που χρησιμοποιούν
τα πιστοποιητικά).
Τέλος, περιγράφεται το θεσμικό πλαίσιο στο οποίο έχει ισχύ το έγγραφο
καθώς και οι διαδικασίες επίλυσης τυχόν διαφορών μεταξύ των οντοτήτων
που συμμετέχουν στη δημιουργία της υποδομής δημοσίου κλειδιού της ΕΤΟ.
Προφίλ πιστοποιητικών και ΛΑΠ
Η λειτουργία 1.8
προφίλ πιστοποιητικών και ΛΑΠ
περιγράφει τις εκδόσεις των πιστοποιητικών και
των ΛΑΠ που υποστηρίζονται από την υποδομή της ΕΤΟ.
Στην διαδικασία αυτή περιγράφονται οι τιμές των προεκτάσεων των πιστοποιητικών.
Τα πιστοποιητικά που εκδίδονται από την ΕΤΟ ακολουθούν συχνά το πρότυπο Χ509.
Οι Λίστες Ανακληθέντων Πιστοποιητικών που εκδίδονται από την ΕΤΟ
είναι συχνά διαθέσιμες τόσο διαμέσου του Καταλόγου όσο και μέσω της
γραφικής διεπαφής Ιστού των υπηρεσιών της Αρχής Πιστοποίησης.
Οι υπηρεσίες της Αρχής Πιστοποίησης προσφέρουν τις εξής δυνατότητες,
σχετικά με την ΛΑΠ :
- Ελεγχο της εγκυρότητας ενός συγκεκριμένου πιστοποιητικού,
- Ενσωμάτωση της ΛΑΠ στον φυλλομετρητή του ιστού
- Απόκτηση της ΛΑΠ, σε δυαδική μορφή, για έλεγχο και επεξεργασία από
μια οντότητα που διαθέτει τα ανάλογα μέσα,
- Προβολή της ΛΑΠ στην οθόνη του υπολογιστή.
Διαχείριση ΔΠΠ
Τέλος, η λειτουργία 1.9
διαχείριση ΔΠΠ
περιγράφει την αρχή που είναι υπεύθυνη
για την καταχώρηση, συντήρηση και εφαρμογή των πολιτικών που
περιγράφονται στην ΔΠΠ.
Βιβλιογραφία
- Sokratis Katsikas,
Diomidis Spinellis, John Iliadis, and Bernd Blobel.
Using trusted third parties for secure telemedical applications over
the WWW: The EUROMED-ETS approach.
International Journal of Medical Informatics, 49(1):59-68, March
1998.
- Dimitrios Lekkas,
Sokratis K. Katsikas, Diomidis D. Spinellis, Pavel Gladychev, and Ahmed
Patel.
User requirements of trusted third parties in Europe (http://kerkis.math.aegean.gr/~dspin/pubs/conf/1999-WISE-TTP/html/ttp.html).
In Simone Fisher-Hübner, Gerald Quirchmayr, and Louise Yngström,
editors, User Identification & Privacy Protection: Applications in
Public Administration & Electronic Commerce, pages 229-242, Kista,
Sweden, June 1999. IFIP WG 8.5 and WS 9.6.
- A. Rensburg and B. Solms.
A comparison of schemes for certification authorities.
In Proceedings of the IFIP SEC'97 International Information Security
Conference, pages 222-240. IFIP, Chapman & Hall, 1997.