Ασφάλεια στο 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

Οι σημειώσεις

Τι περιλαμβάνει το μάθημα

  1. Εισαγωγή - Δίκτυα δεδομένων
  2. Τεχνολογίες internet
  3. Διάχυση πληροφοριών με το WWW
  4. Ενεργό περιεχόμενο στο Web
  5. Έμπιστη Τρίτη Οντότητα
  6. Πολιτικές τεχνολογίας ασφάλειας

Εισαγωγή

Φυσικό επίπεδο

Επίπεδο σύνδεσης

Επίπεδο δικτύου

Επίπεδο μεταφοράς

Επίπεδο συνόδου

Επίπεδο παρουσίασης

Επίπεδο εφαρμογής

Βιβλιογραφία

Γενική βιβλιογραφία

Η παρακάτω γενική βιβλιογραφία σε θέματα ασφάλειας βασίζεται στο RFC 2196 Site Security Handbook September 1997

Ασφάλεια στο 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 έχουν η κάθε μια τις δικές τους απαιτήσεις σχετικά με την προστασία τους. Οι απαιτήσεις προστασίας πρέπει να διαχωριστούν και να αντιμετωπιστούν διαφορετικά ανάλογα με το αν: Οι υπηρεσίες που είναι προσβάσιμες από όλο το Internet και ειδικά αυτές που εξυπηρετούν και χρήστες του οργανισμού μέσω του Internet πρέπει να προστατεύονται με προσοχή. Ακόμα, καλό είναι υπηρεσίες που εξυπηρετούν αποκλειστικά χρήστες μέσα στον οργανισμό να μη βρίσκονται στο ίδιο μηχάνημα με υπηρεσίες που είναι προσβάσιμες από το Internet. Τα μηχανήματα των δύο κατηγοριών καλό είναι να διαχωρίζονται με ένα (σωστά διαμορφωμένο) firewall.

Κατάλογοι ονομάτων

Η υπηρεσία Domain Name System (DNS) μεταφράζει μεταξύ άλλον ονόματα σε διευθύνσεις. Αν κάποιος εξασφαλίσει παράνομα τον έλεγχο της υπηρεσίας αυτής μπορεί να αλλάξει τη ροή των πακέτων επηρεάζοντας το σύστημα ασφάλειας. Για παράδειγμα με τον τρόπο αυτό οι χρήστες μπορεί να έχουν πρόσβαση σε ένα μηχάνημα που ελέγχει ο εχθρός νομίζοντας πως έχουν πρόσβαση σε ένα κανονικό μηχάνημα του οργανισμού. Οι δευτερεύοντες εξυπηρετητές DNS πρέπει να είναι προστατευμένοι, ενώ οι πρωτεύοντες πρέπει να προστατεύονται και από επιθέσεις άρνησης εξυπηρέτησης (denial of service attacks) με τη χρήση φίλτρων πακέτων. Η υπηρεσία DNS δεν προσφέρει εξασφάλιση ακεραιότητας και εμπιστευτικότητας, αν και η κατάσταση αυτή αλλάζει με τη χρήση ηλεκτρονικών υπογραφών (βλ. RFC 2065 (ftp://ftp.internic.net/rfc/rfc2065.txt)).

Εξυπηρετητές κλειδιών

Εξυπηρετητές ηλεκτρονικού ταχυδρομείου

Εξυπηρετητές Web

Ο δημόσιος υπηρέτης Web (σε αντίθεση με έναν εσωτερικό υπηρέτη εσωδικτύου (intranet)) είναι τυπικά προσβάσιμος απ' όλο το Internet. Οι παρακάτω συστάσεις μπορούν να ελαττώσουν τους αντίστοιχους κινδύνους:

Εξυπηρετητές FTP

Ο δημόσιος υπηρέτης για μεταφορά αρχείων μέσω του File Transfer Protocol (FTP) είναι τυπικά προσβάσιμος απ' όλο το Internet. Οι παρακάτω συστάσεις μπορούν να ελαττώσουν τους αντίστοιχους κινδύνους:

Εξυπηρετητές αρχείων

Βιβλιογραφία

Διάχυση πληροφοριών και ασφάλεια στον παγκόσμιο ιστό

Αρχιτεκτονική του παγκόσμιου ιστού

Προσδιορισμός στοιχείων με 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
Σημαντικά προβλήματα ασφάλειας που μπορούν να προκύψουν είναι τα παρακάτω:
  1. Το σύστημα DNS που μετατρέπει τα ονόματα σε διευθύνσεις δεν είναι ασφαλές
  2. Οποιοσδήποτε μπορεί να δημιουργήσει ένα URI. Δεν πρέπει η ασφάλειά μας να βασίζεται σε "κρυμμένα" αρχεία ή στη χρήση συγκεκριμένων URI.
  3. Με τον προσδιορισμό άλλων θυρών μπορεί ένα "αθώο" URI να "μιλήσει" σε άλλο πρωτόκολλο (όχι HTTP) με καταστροφικά αποτελέσματα.
  4. Όταν ένα URI περιέχει συνθηματικό αυτό δεν μπορεί να είναι εμπιστευτικό.

Το πρωτόκολλο HTTP

Το πρωτόκολλο HTTP υποστηρίζει τις παρακάτω μεθόδους επικοινωνίας: Παράδειγμα:
GET /pub/WWW/TheProject.html HTTP/1.1
Host: www.w3.org
Βασικά προβλήματα ασφάλειας που έχουν σχέση με το HTTP είναι τα παρακάτω:

Διασφάλιση συναλλαγών HTTP

Συναλλαγές που χρησιμοποιούν HTTP μπορούν να ασφαλιστούν ως προς την εμπιστευτικότητα και την ακεραιότητα σε τρία διαφορετικά επίπεδα:
  1. Κάτω από το πρωτόκολλο HTTP μέσω SSL ή IPSEC
  2. Επεκτείνοντας το πρωτόκολλο HTTP (π.χ. secure HTTP)
  3. Πάνω από το πρωτόκολλο 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 είναι τα εξής:

Ενεργό περιεχόμενο με 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";
}
Σχετιζόμενα προβλήματα ασφάλειας είναι τα παρακάτω: Παρόμοια προβλήματα μπορούν να εμφανίσουν και τα 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:
...
Για να αποφεύγουμε τέτοια προβλήματα πρέπει:

Αυθεντικοποίηση του χρήστη

Η αυθεντικοποίηση του χρήστη γίνεται συχνά με τη χρήση της μεθόδου 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: Πολλά από τα στοιχεία μπορούν να αποκαλυφθούν και από ανάλυση της κίνησης κοντά στο μηχάνημα του χρήστη. Με τεχνικές όπως 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
Προβλήματα ασφάλειας:

Ασφάλεια στη Java

Η Java επιτρέπει τη μεταφορά εκτελέσιμου περιεχομένου και την εκτέλεσή του σε οποιαδήποτε αρχιτεκτονική και λειτουργικό σύστημα έχει υλοποιηθεί η ιδεατή μηχανή Java (Java virtual machine). Οι περισσότεροι εξυπηρετητές υποστηρίζουν την μεταφορά και εκτέλεση προγραμμάτων Java μέσα από τον ιστό με τη χρήση της ετικέτας της HTML applet. Τέτοια προγράμματα περιέχουν ανέμπιστο (untrusted) κώδικα. Για την προστασία του χρήστη και του μηχανήματος ο ανέμπιστος κώδικας ελέγχεται ως προς την ορθότητά του και εκτελείται σε ένα περιβάλλον περιορισμένων δυνατοτήτων, το σκάμμα (sandbox). Οι περιορισμοί προγραμμάτων που εκτελούνται στο σκάμμα εξαρτώνται από την πολιτική ασφάλειας που έχει οριστεί. Μια τυπική πολιτική ασφάλειας περιέχει τους παρακάτω περιορισμούς: Ο έλεγχος του κώδικα διασφαλίζει τις παρακάτω ιδιότητες: Στο JDK 1.1 υπάρχει η δυνατότητα φορτώματος μιας έμπιστης εφαρμογής από το δίκτυο αν αυτή έχει την κατάλληλη ψηφιακή υπογραφή. Τα προβλήματα ασφάλειας στην περίπτωση αυτή είναι παρόμοια με αυτά της τεχνολογίας ActiveX. Στην Java 2 υπάρχει δυνατότητα ορισμού διαφορετικής πολιτικής ασφάλειας ανάλογα με την υπογραφή μιας εφαρμογής.

Ορισμένα προβλήματα ασφάλειας που δημιουργούνται από τη χρήση της Java είναι τα εξής:

Ασφάλεια στη Javascript

Η γλώσσα Javascript δεν έχει καμιά σχέση με τη Java. Αποτελείται από απλές εντολές που περιέχονται μέσα στη σελίδα HTML και διερμηνεύονται από το φυλλομετρητή. Το κύριο πρόβλημα ασφάλειας που δημιουργεί η Javascript είναι η δημιουργία επιθέσεων άρνησης υπηρεσίας ή διαρροής προσωπικών δεδομένων, συχνά με την άθελη βοήθεια του μη έμπειρου χρήστη.

Οι παρακάτω είναι ορισμένες επιτυχημένες επιθέσεις που έχουν γίνει με βάση της Javascript:

Ασφάλεια και ActiveX

Τρόπος προστασίας

Η τεχνολογία ActiveX είναι εγγενώς ανασφαλής. Ο καλύτερος τρόπος προστασίας είναι η απενεργοποίηση της δυνατότητας εκτέλεσης ActiveX στο φυλλομετρητή.

Βιβλιογραφία

Έμπιστη Τρίτη Οντότητα

Ο ρόλος της ΕΤΟ

Μια Έμπιστη Τρίτη Οντότητα (Trusted Third Party) (ΕΤΟ (TTP)) αποτελεί την απαραίτητη υποδομή προκειμένου να διασφαλιστεί η αυθεντικότητα, ακεραιότητα και εμπιστευτικότητα των ηλεκτρονικών συναλλαγών που πραγματοποιούνται καθώς και οποιονδήποτε πληροφοριών διακινούνται μεταξύ των οντοτήτων που έχουν πιστοποιηθεί από την ΕΤΟ.

Οντότητες οι οποίες είναι δυνατόν να πιστοποιηθούν από μια ΕΤΟ είναι:

Ο σκοπός μιας ΕΤΟ είναι η υποστήριξη διενέργειας ασφαλών συναλλαγών, μέσω της πιστοποίησης των προαναφερθέντων οντοτήτων. Για την επίτευξη αυτού του σκοπού, η ΕΤΟ ενσωματώνει ειδικές λειτουργίες και υπηρεσίες (πχ. Κατάλογος LDAP) για τη διάθεση και εκμετάλλευση των πληροφοριών πιστοποίησης προς τις ενδιαφερόμενες οντότητες.

Το σχήμα απεικονίζει την υποδομή μιας ΕΤΟ. Ο τελικός χρήστης, μέσω ενός Πελάτη Ιστού (Web client), είναι σε θέση να επικοινωνήσει άμεσα με την Αρχή Πιστοποίησης (certificate authority) (ΑΠ (CA)) προκειμένου να κάνει αίτηση ή να παραλάβει ένα νέο πιστοποιητικό. Αυτό είναι σε θέση να αυθεντικοποιεί το χρήστη σε υπηρέτες Ασφαλούς Ιστού της ΕΤΟ ή άλλων οργανισμών.

Κάθε φορά που ο χρήστης προσπαθεί να επικοινωνήσει με υπηρέτες Ασφαλούς Ιστού προκειμένου να πραγματοποιήσει μια οποιαδήποτε συναλλαγή ή απλώς να λάβει ορισμένες πληροφορίες, το πιστοποιητικό του παρουσιάζεται στους υπηρέτες. Αυτοί είναι σε θέση να εξακριβώσουν την ορθότητα του πιστοποιητικού, να αναγνωρίσουν το χρήστη και να παραχωρήσουν στο χρήστη τα ανάλογα δικαιώματα επί των υπηρεσιών που προσφέρει ο υπηρέτης.

Η εξακρίβωση της ορθότητας του πιστοποιητικού του χρήστη πραγματοποιείται με τον έλεγχο της ψηφιακής υπογραφής που φέρει το πιστοποιητικό, η οποία ανήκει στην Αρχή Πιστοποίησης (CA).

Η παραχώρηση συγκεκριμένων δικαιωμάτων στο χρήστη από τον υπηρέτη Ασφαλούς Ιστού, επί των υπηρεσιών που προσφέρει ο τελευταίος, πραγματοποιείται ύστερα από έλεγχο της ομάδας στην οποία ανήκει ο χρήστης, μέσω των Υπηρεσιών Καταλόγου (Directory Services). Οι υπηρεσίες αυτές μπορούν να χρησιμοποιηθούν και από τον τελικό χρήστη, προκειμένου να εντοπίσει άλλους χρήστες που έχουν πιστοποιηθεί από τη συγκεκριμένη ΕΤΟ, και να επικοινωνήσει μαζί τους.

Λειτουργία της ΕΤΟ

Αρχιτεκτονική της ΕΤΟ

Βασικές υπηρεσίες

Αντιμετώπιση απειλών

Παρακολούθηση των καναλιών επικοινωνίας

Η επικοινωνία μεταξύ δύο οντοτήτων είναι κρυπτογραφημένη με τη χρήση ενός διαμοιραζόμενου κλειδιού που δημιουργείται με αλγόριθμους οι οποίοι παράγουν κλειδιά με ικανοποιητική τυχαιότητα. Το κλειδί αυτό είναι έγκυρο μόνο για μία περίοδο επικοινωνίας.

Εικασία/Υποκλοπή διαμοιραζόμενου κλειδιού

Η εικασία του διαμοιραζόμενου κλειδιού δεν είναι δυνατή διότι ο αλγόριθμος παραγωγής του είναι ένας κρυπτολογικά ασφαλής αλγόριθμος παραγωγής τυχαίων κλειδιών. Η υποκλοπή του διαμοιραζόμενου κλειδιού δεν είναι δυνατή γιατί αυτό μεταφέρεται από την μία οντότητα στην άλλη, όντας κρυπτογραφημένο με το ιδιωτικό κλειδί της αποστέλουσας οντότητας.

Τροποποίηση της πληροφορίας κατά την μετάδοσή της, χωρίς την αντίστοιχη άδεια

Οι οντότητες που επικοινωνούν χρησιμοποιούν ασφαλείς αλγορίθμους κατακερματισμού για την δημιουργία Κωδικών Αυθεντικοποίησης Μυνήματος (Message Authentication Codes).

"Μεταμφίεση" - Προβολή πλαστής ηλεκτρονικής διεύθυνσης

Το DNS δεν αποτελεί ασφαλές κριτήριο για τον έλεγχο της πηγής μετάδοσης της πληροφορίας. Συμπληρωματικά ως προς αυτό είναι δυνατόν να χρησιμοποιηθούν τα πιστοποιητικά, τα οποία αποτελούν ένα έμπιστο μέσο για τον έλεγχο της πηγής της μετάδοσης της πληροφορίας και για την αυθεντικοποίηση μίας οντότητας σε μία άλλη.

Υποκλοπή συνθηματικού

Συνθηματικά δεν μεταδίδονται ποτέ στο κανάλι επικοινωνίας. Η μόνη περίπτωση στην οποία χρησιμοποιείται συνθηματικό (το οποίο όμως δεν μεταδίδεται στο κανάλι επικοινωνίας) είναι όταν η οντότητα κρυπτογραφήσει το ίδιο το ιδιωτικό της κλειδί (το οποίο βρίσκεται μόνο στο τοπικό υπολογιστικό σύστημα) με την βοήθεια κάποιου αλγορίθμου ιδιωτικού κλειδιού.

Πρόσβαση χωρίς άδεια

Η χορήγηση άδειας πρόσβασης δίδεται σε μία οντότητα αφού αυθεντικοποιηθεί, με βάση το πιστοποιητικό που διαθέτει. Ο έλεγχος για την εγκυρότητα του πιστοποιητικού πραγματοποιείται με τη χρήση των Υπηρεσιών Καταλόγου της Αρχής Πιστοποίησης. Αφού αυθεντικοποιηθεί η οντότητα, της εκχωρούνται τα ανάλογα δικαιώματα, σύμφωνα με μια τοπική Λίστα Ελέγχου Πρόσβασης. Η ΛΕΠ είναι δυνατόν να αποθηκευθεί και στον Κατάλογο, προσφέροντας έτσι κατανεμημένο έλεγχο των χρηστών σε ένα διεσπαρμένο Πληροφοριακό Σύστημα.

Παραβίαση του ιδιωτικού κλειδιού

Μόλις ένα ιδιωτικό κλειδί παραβιασθεί, τα πιστοποιητικά που έχον εκδοθεί και τα οποία περιέχουν το κλειδί αυτό πρέπει να ανακληθούν. Η ανάκληση περιλαμβάνει τον χαρακτηρισμό τους ως "ανακληθέντα" στην περιοχή αποθήκευσης της Αρχής Πιστοποίησης και την διαγραφή τους από την Υπηρεσία Καταλόγου.

Υπηρέτης καταλόγου

Υπηρέτης πιστοποιητικών

Υπηρέτης ιστού

Λειτουργίες ΕΤΟ

Κατηγορίες πιστοποιητικών

Σύμφωνα με τη λειτουργικότητα

Τα πιστοποιητικά που εκδίδει μια ΕΤΟ μπορούν να λειτουργήσουν προκειμένου να διασφαλίσουν:
  1. σύναψη ασφαλούς επικοινωνίας και συναλλαγών στον Παγκόσμιο Ιστό
  2. ασφαλή ανταλλαγή ηλεκτρονικού ταχυδρομείου
  3. ασφαλή σύνδεση και αυθεντικοποίηση Εξυπηρετητών Ιστού

Σύμφωνα με τις διαδικασίες έκδοσης

Σύμφωνα με τις διαδικασίες έκδοσης, τα πιστοιποιητικά μπορούν να κατηγοριοποιούνται ως εξής:
Πιστοποιητικά κατηγορίας 1.
Η έκδοση αυτών πραγματοποιείται κατόπιν απλής αίτησης ενός χρήστη μέσω ηλεκτρονικού ταχυδρομείου. Δεν πραγματοποιείται έλεγχος για την επαλήθευση των προσωπικών στοιχείων του χρήστη και για αυτό το λόγο η ΕΤΟ δεν αναλαμβάνει καμία ευθύνη όσον αφορά στην πιστοποίηση της ταυτότητας του χρήστη.
Πιστοποιητικά κατηγορίας 2.
Η αίτηση για αυτά εξυπηρετείται μόνο κατόπιν ελέγχου των προσωπικών στοιχείων του χρήστη. Ο έλεγχος αυτός πραγματοποιείται παρουσία του χρήστη στο χώρο που υποδεικνύει η ΕΤΟ προκειμένου να πιστοποιηθεί η ταυτότητά του με βάση έγκυρα νομικά έγγραφα (π.χ. ταυτότητα).
Πιστοποιητικά κατηγορίας 3.
Τα πιστοποιητικά αυτά απευθύνονται κυρίως σε οργανισμούς, είτε πρόκειται για φυσικά πρόσωπα του οργανισμού είτε για Εξυπηρετητές του οργανισμού για τους οποίους έχει ζητηθεί πιστοποίηση. Η διαδικασία ελέγχου των στοιχείων του προσώπου προς πιστοποίηση είναι αυστηρή και περιλαμβάνει τη φυσική παρουσία ενός (νομικά αποδεδειγμένα) αντιπροσώπου του οργανισμού που αιτεί πιστοποίηση, προκειμένου να προσκομίσει προς εξακρίβωση τα νομικά έγγραφα που πιστοποιούν τα στοιχεία του οργανισμού, τα οποία και θα περιλαμβάνονται στο αιτηθέν πιστοποιητικό.

Εγγραφή οντότητας στον Κατάλογο

Κάθε οντότητα που επιθυμεί να πιστοποιηθεί πρέπει να επικοινωνήσει με την Αρχή Πιστοποίησης (Certification Authority) και να καταθέσει τα στοιχεία της.

Η αίτηση για πιστοποίηση μεταφέρεται στην Αρχή Εγγραφής (Registration Authoriy) η οποία πιστοποιεί το αληθές των στοιχείων της και ειδοποιεί την Αρχή Πιστοποίησης να προχωρήσει στην έκδοση του πιστοποιητικού. Αφού η οντότητα λάβει το πιστοποιητικό, αυτό αποθηκεύεται στην υπηρεσία Καταλόγου που διαθέτει η Αρχή Εγγραφής, μαζί με τα υπόλοιπα στοιχεία της οντότητας.

Εκδοση/Διάθεση πιστοποιητικών

Η ανάθεση κλειδιού σε μία οντότητα είναι η διαδικασία εκείνη μέσω της οποίας ένα ζεύγος δημόσιου/ιδιωτικού κλειδιού συσχετίζεται με μία και μόνο οντότητα. Ο έλεγχος για την μοναδικότητα του κλειδιού πραγματοποιείται με τη χρήση της βάσης δημόσιων κλειδιών, της Αρχής Πιστοποίησης. Η οντότητα φέρει την ευθύνη της δημιουργίας του ζεύγους κλειδιών που θα χρησιμοποιήσει.

Μετά την δημιουργία, το δημόσιο τμήμα του κλειδιού αποστέλλεται στην Αρχή Πιστοποίησης για να ενσωματωθεί σε πιστοποιητικό και έτσι να πιστοποιηθεί η εγκυρότητα αυτού και η συσχέτισή του με τα στοιχεία της οντότητας που υπάρχουν στο πιστοποιητικό. Το ιδιωτικό κλειδί δεν γνωστοποιείται στην Αρχή Πιστοποίησης ή σε οποιαδήποτε άλλη οντότητα, σε καμία περίπτωση.

Η παραπάνω διαδικασία μπορεί να μεταβληθεί και η παραγωγή των κλειδιών να γίνει από την Αρχή Πιστοποίησης. Στην περίπτωση αυτή η αρχή πιστοποίησης αναλαμβάνει συχνά και το ρόλο της διαφύλαξης των κλειδιών (key escrow) για νομικούς, πρακτικούς ή επιχειρηματικούς λόγους.

Τα πιστοποιητικά παράγονται από τις ΕΤΟ και αποθηκεύονται σε μια τοπική βάση δεδομένων. Επίσης, αποστέλλονται στον Εξυπηρετητή Καταλόγου προκειμένου να καταχωρηθούν στην εγγραφή της οντότητας την οποία πιστοποιούν.

Αποθήκευση και ανάκτηση πιστοποιητικών

Μόλις ένα πιστοποιητικό δημιουργηθεί, αποστέλλεται στον νόμιμο κάτοχό του. Η ανάκτηση των πιστοποιητικών, από την Α.Π. ή από τρίτους φορείς που επιθυμούν να ελέγξουν την εγκυρότητα ορισμένων πιστοποιητικών, είναι δυνατή μέσω του Εξυπηρετητή Καταλόγου.

Λίστα ανάκλησης πιστοποιητικών

Η λίστα ανάκλησης πιστοποιητικών (certificate revocation list) ΛΑΠ (CRL) περιέχει πιστοποιητικά τα οποία δεν ισχύουν αν και δεν έχουν λήξει. Στη λίστα περιέχονται πιστοποιητικά τα οποία έχουν ανακληθεί σύμφωνα με κάποια συγκεκριμένη διαδικασία της Αρχής Πιστοποίησης (π.χ. από τον κάτοχό τους ή από την Αρχή Πιστοποίησης).

Τυπικές λειτουργίες της ΛΑΠ είναι οι παρακάτω:

Δήλωση πρακτικών πιστοποίησης

Η Δήλωση Πρακτικών Πιστοποίησης (Certificate Practice Statement) (ΔΠΠ (CPS)) της ΕΤΟ αναφέρεται σε όλες εκείνες τις διαδικασίες που απαιτούνται για την ασφαλή και αποδοτική έκδοση και διαχείριση πιστοποιητικών που εκδίδονται για όλους τους χρήστες που επιθυμούν υψηλών προδιαγραφών εξασφάλιση των πληροφοριών τους, όταν αυτές μεταδίδονται μέσω δικτύου μετάδοσης δεδομένων.

Επίσης περιγράφει λεπτομερώς την διαδικασία πιστοποίησης ξεκινώντας από την δημιουργία και έναρξη λειτουργίας Αρχής Πιστοποιητικών, τις λειτουργίες που σχετίζονται με τη συντήρηση της αποθήκης εγγραφών της ΑΠ και καταλήγοντας στην υποβολή αίτησης απόκτησης πιστοποιητικού από τους συνδρομητές. Παράλληλα, συχνά περιγράφονται και οι διαδικασίες που απαιτούνται και εφαρμόζονται από την ΕΤΟ για τη διαχείριση και διατήρηση της υποδομής δημοσίου κλειδιού (public key infrastructure) για την υποστήριξη των υπηρεσιών δημόσιας πιστοποίησης.

Οι υπηρεσίες δημόσιας πιστοποίησης εμπερικλείουν την έκδοση, διαχείριση, χρήση, προσωρινή και μόνιμη ακύρωση και επανενεργοποίηση πιστοποιητικών. Η ΔΠΠ της ΕΤΟ είναι ο κεντρικός συντονιστής μιας σειράς από επί μέρους οντότητες που παρουσιάζονται στο παρακάτω σχήμα.

Οι επόμενες παράγραφοι περιγράφουν συνοπτικά τα ενδεικτικά στοιχεία του κάθε τμήματος της ΔΠΠ.

Σχέσεις με άλλες οντότητες και καταλληλότητα αποδοχής

Η λειτουργία 1.1 σχέσεις με άλλες οντότητες και καταλληλότητα αποδοχής αφορά στις σχέσεις με τις άλλες οντότητες και την καταλληλότητα αποδοχής. Στη λειτουργία αυτή περιγράφονται εξής:
  1. Οι τύποι των υποκείμενων Αρχών Πιστοποίησης που μπορούν να ενσωματωθούν στη ν υποδομή δημοσίου κλειδιού της ΕΤΟ καθώς και η σειρά τους στην ιεραρχική δομή της υποδομής.
  2. Οι τύποι των Αρχών Καταχώρησης που πιστοποιούνται από την ΕΤΟ καθώς και η σειρά τους στην ιεραρχική δομή της υποδομής δημοσίου κλειδιού της ΕΤΟ.
  3. Οι τύποι των οντοτήτων που πιστοποιούνται από την ΕΤΟ. Οι οντότητες αυτές αντιστοιχούν στους συνδρομητές ή χρήστες της ΕΤΟ.
  4. Εφαρμογές για τις οποίες είναι κατάλληλη η πολιτική πιστοποιητικών. Επίσης περιγράφονται τυχόν εφαρμογές σε συνδυασμό με τις οποίες δεν πρέπει να εφαρμόζεται η πολιτική πιστοποιητικών.
  5. Πρότυπα τα οποία ακολουθούνται για την λειτουργία της υποδομής, οι διεπαφές που χρησιμοποιούνται για την επικοινωνία χρήστη και υποδομής. Επίσης περιγράφονται τα πρότυπα που εμπεριέχονται στα δεδομένα που δημιουργούνται και διανέμονται μέσω της υποδομής (π.χ. πιστοποιητικά, Λίστες Ακυρωμένων Πιστοποιητικών, προσδιοριστές πολιτικών πιστοποιητικών κ.λ.π).

Μέθοδοι ταυτοποίησης και αυθεντικοποίησης

Η λειτουργία 1.2 μέθοδοι ταυτοποίησης και αυθεντικοποίησης περιγράφει τις διαδικασίες που απαιτούνται για την ακεραιότητα της αντιστοίχησης μεταξύ μιας οντότητας που χρησιμοποιεί το πιστοποιητικό και του ίδιου του πιστοποιητικού.

Διαχείριση κλειδιών

Η λειτουργία 1.3 διαχείριση κλειδιών παρουσιάζει τα μέτρα που λαμβάνονται από την ΕΤΟ για την προστασία των κλειδιών κρυπτογράφησης και άλλων κρίσιμων παραμέτρων ασφαλείας (πχ. η φύλαξη των συνθηματικών που χρησιμοποιούνται για την αυθεντικοποίηση των διαχειριστών της υποδομής με τις λειτουργικές μονάδες που περιέχονται στην υποδομή. Η ασφαλής διαχείριση κλειδιών είναι κριτικής σημασίας για την λειτουργία της ΕΤΟ και εξασφαλίζει ότι τα ιδιωτικά κλειδιά και οι κρίσιμες παράμετροι ασφάλειας προστατεύονται και χρησιμοποιούνται μόνο από εξουσιοδοτημένους χρήστες.

Τα δημόσια κλειδιά των οντοτήτων (ανθρώπων και οργανισμών) οι οποίοι πιστοποιούνται από την ΕΤΟ φυλάσσονται σε κατάλληλα διαμορφωμένη βάση δεδομένων, στους χώρους της ΕΤΟ. Τα κλειδιά αποθηκεύονται στην ενσωματωμένη μορφή τους, μέσα στα Χ.509 πιστοποιητικά.

Τα εκδοθέντα πιστοποιητικά φυλάσσονται επίσης στον Κατάλογο, ο οποίος είναι προσβάσιμος από το κοινό. Η πρόσβαση αυτή παρέχει τη δυνατότητα στις οντότητες που κατέχουν πιστοποιητικά να ελέγξουν την εγκυρότητα του πιστοποιητικού της οντότητας με την οποία συναλλάσσονται.

Συνήθως τα ιδιωτικά κλειδιά των πιστοποιούμεων οντοτήτων δεν γνωστοποιούνται στην ΕΤΟ. Το ζεύγος ιδιωτικού και δημόσιου κλειδιού παράγεται από τον εξοπλισμό Η/Υ της προς πιστοποίηση οντότητας, κατά την πρώτη επικοινωνία της προαναφερθείσας με την υπηρεσία αίτησης πιστοποιητικών της ΕΤΟ. Μετά την παραγωγή του ζεύγους κλειδιών, το δημόσιο κλειδί αποστέλλεται στην ΕΤΟ για να ενσωματωθεί στο αιτηθέν πιστοποιητικό.

Το ιδιωτικό κλειδί παραμένει μόνο στο μέσο δευτερεύουσας αποθήκευσης της οντότητας που πραγματοποίησε την αίτηση πιστοποίησης και δεν γνωστοποιείται ποτέ στην ΕΤΟ ή σε οποιαδήποτε άλλη οντότητα. Αποτελεί ευθύνη της οντότητας που αιτεί πιστοποίηση, η φύλαξη του ιδιωτικού κλειδιού και η διασφάλιση της τήρησης του απορρήτου του. Συνήθως, αν το ιδιωτικό κλειδί αποκαλυφθεί σε οποιαδήποτε άλλη οντότητα, αν απολεσθεί ή αν οι πράξεις του κατόχου του κλειδιού οδηγήσουν με οποιοδήποτε τρόπο στην παραβίαση του κλειδιού από τρίτους, η ΕΤΟ δεν φέρει καμία ευθύνη για τις συνέπειες στις συναλλαγές της πιστοποιηθείσας οντότητας με οποιαδήποτε άλλη οντότητα.

Πολιτική ασφάλειας της υποδομής δημόσιου κλειδιού της ΕΤΟ

Η λειτουργία 1.4 πολιτική ασφάλειας της υποδομής δημόσιου κλειδιού της ΕΤΟ περιγράφει τις διαδικασίες, νόμους και ρυθμίσεις που έχουν τεθεί σε λειτουργία για τη δημιουργία ενός ασφαλούς περιβάλλοντος μέσα στο οποίο λειτουργεί η ΕΤΟ. Παράλληλα περιγράφονται τυχόν πολιτικές ασφάλειας που θα πρέπει να εφαρμόζουν οι υποκείμενες ΑΠ και ΑΚ και οι οντότητες που χρησιμοποιούν τα πιστοποιητικά. Η λειτουργία αυτή είναι πολύ σημαντική να εφαρμόζεται από όλες τις οντότητες που συμμετέχουν στην υποδομή δημοσίου κλειδιού της ΕΤΟ, διότι απουσία ελέγχων ασφάλειας σε οποιαδήποτε οντότητα μπορεί να θέσει σε κίνδυνο όλη την υποδομή.

Πολιτκή ασφάλειας πιστοποιητικών

Η λειτουργία 1.5 πολιτκή ασφάλειας πιστοποιητικών περιγράφει όλους τους ελέγχους ασφάλειας που χρησιμοποιούνται από την ΕΤΟ, έτσι ώστε όλες οι λειτουργίες της ΕΤΟ να διεκπεραιώνονται με ασφαλή τρόπο. Οι λειτουργίες της ΕΤΟ περιλαμβάνουν τη δημιουργία κλειδιών, την αυθεντικοποίηση χρηστών, την καταχώρηση πιστοποιητικών, την ακύρωση πιστοποιητικών, τις διαδικασίες ελέγχου (audit) και αρχειοθέτησης (archive).

Πολιτική λειτουργιών

Η λειτουργία 1.6 Πολιτική λειτουργιών περιγράφει τη συχνότητα με την οποία διενεργούνται διάφοροι έλεγχοι που σχετίζονται με τη σωστή λειτουργία της ΕΤΟ όπως η έκδοση της Λίστας Ακυρωμένων Πιστοποιητικών, ο χρόνος διάρκειας του πιστοποιητικού της ίδιας της ΕΤΟ, τους περιοδικούς ελέγχους ασφάλειας που διενεργούνται για τον έλεγχο ασφάλειας της ΕΤΟ, τους υπεύθυνους για την κατάργηση ενός πιστοποιητικού και κάτω από ποιες προϋποθέσεις μπορεί να γίνει αυτό και άλλα επιπλέον στοιχεία.

Νομικές ρυθμίσεις και προβλέψεις

Η λειτουργία 1.7 νομικές ρυθμίσεις και προβλέψεις περιγράφει την πολιτική αξιοπιστίας και εγγύησης και της προϋποθέσεις ισχύος της εγγύησης. Επιπλέον περιγράφονται οι υποχρεώσεις όλων των οντοτήτων (της ΕΤΟ, άλλων Αρχών Πιστοποίησης, των ΑΚ και των οντοτήτων που χρησιμοποιούν τα πιστοποιητικά). Τέλος, περιγράφεται το θεσμικό πλαίσιο στο οποίο έχει ισχύ το έγγραφο καθώς και οι διαδικασίες επίλυσης τυχόν διαφορών μεταξύ των οντοτήτων που συμμετέχουν στη δημιουργία της υποδομής δημοσίου κλειδιού της ΕΤΟ.

Προφίλ πιστοποιητικών και ΛΑΠ

Η λειτουργία 1.8 προφίλ πιστοποιητικών και ΛΑΠ περιγράφει τις εκδόσεις των πιστοποιητικών και των ΛΑΠ που υποστηρίζονται από την υποδομή της ΕΤΟ. Στην διαδικασία αυτή περιγράφονται οι τιμές των προεκτάσεων των πιστοποιητικών.

Τα πιστοποιητικά που εκδίδονται από την ΕΤΟ ακολουθούν συχνά το πρότυπο Χ509.

Οι Λίστες Ανακληθέντων Πιστοποιητικών που εκδίδονται από την ΕΤΟ είναι συχνά διαθέσιμες τόσο διαμέσου του Καταλόγου όσο και μέσω της γραφικής διεπαφής Ιστού των υπηρεσιών της Αρχής Πιστοποίησης. Οι υπηρεσίες της Αρχής Πιστοποίησης προσφέρουν τις εξής δυνατότητες, σχετικά με την ΛΑΠ :

  1. Ελεγχο της εγκυρότητας ενός συγκεκριμένου πιστοποιητικού,
  2. Ενσωμάτωση της ΛΑΠ στον φυλλομετρητή του ιστού
  3. Απόκτηση της ΛΑΠ, σε δυαδική μορφή, για έλεγχο και επεξεργασία από μια οντότητα που διαθέτει τα ανάλογα μέσα,
  4. Προβολή της ΛΑΠ στην οθόνη του υπολογιστή.

Διαχείριση ΔΠΠ

Τέλος, η λειτουργία 1.9 διαχείριση ΔΠΠ περιγράφει την αρχή που είναι υπεύθυνη για την καταχώρηση, συντήρηση και εφαρμογή των πολιτικών που περιγράφονται στην ΔΠΠ.

Βιβλιογραφία