• Nenhum resultado encontrado

[PENDING] Έλεγχος πρόσβασης σε υπηρεσίες δικτύου. Έκφραση πολιτικών ελέγχου πρόσβασης με χρήση XML που θα μπορούσαν να ενσωματωθούν σε ένα XML fire

N/A
N/A
Protected

Academic year: 2024

Share "Έλεγχος πρόσβασης σε υπηρεσίες δικτύου. Έκφραση πολιτικών ελέγχου πρόσβασης με χρήση XML που θα μπορούσαν να ενσωματωθούν σε ένα XML fire"

Copied!
69
0
0

Texto

(1)

ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΚΑΒΑΛΑΣ

ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΠΛΗΡΟΦΟΡΙΩΝ

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ

ΕΠΙΒΛΕΠΩΝ ΚΑΘΗΓΗΤΗΣ κ. ΣΤΟΥΠΑ ΚΩΝΣΤΑΝΤΙΝΑ

ΣΠΟΥΔΑΣΤΗΣ

ΜΗΤΣΟΥ ΑΛΕΞΑΝΔΡΟΣ Α.Μ.: 298

«Έλεγχος πρόσβασης σε υπηρεσίες δικτύου. Έκφραση

πολιτικών ελέγχου πρόσβασης με χρήση XML που θα

μπορούσαν να ενσωματωθούν σε ένα XML firewall.»

(2)
(3)

Πίνακας περιεχομένων

1

Εισαγωγή………5

2

Δικτυακές Υπηρεσίες ( Web Services ) ………8

2.1 Εισαγωγή ……….…..8

2.2 Τι είναι οι Δικτυακές Υπηρεσίες ;………..…8

2.2.1 Αρχιτεκτονική του μοντέλου των Υπηρεσιών Διαδυκτίου ……….10

2.2.2 Περιγραφή των οντοτήτων μοντέλου ……….…….11

2.2.3 Διαδικασίες Web services ………...…11

2.3 XML & τα πρωτόκολλα επικοινωνίας «SOAP -WSDL - UDDI » στις Δικτυακές Επικοινωνίες ………..…12

2.3.1 XML ( Extensible Markup Language ) ………...……12

2.3.1.1 Τα δομικά στοιχεία της XML ………..13

2.3.1.2 DTD ( Document Type Definition, Ορισμός Τύπου Εγγράφου ………..14

2.3.2 Service - Oriented Protocol ( SOAP ) ……….15

2.3.3 Web Service Destription Language - WSDL ………..17

2.3.4 UDDI ( Universal Description and Integration ) ……….…19

2.4 Πως λειτουργούν όλα μαζί ; ………20

2.5 Πλεονεκτήματα της αρχιτεκτονικής ………21

2.6 Σύνοψη ………22

(4)

3

XML Τοίχος Προστασίας ( XML firewalls) ………..……….…23

3.1 Εισαγωγή ……….……….…23

3.2 Υπηρεσίες Δικτύου ( web services ) και Τοίχος Προστασίας (firewall )……….24

3.3 XML Firewalls ………...………..25

3.3.1 Λειτουργία και χαρακτηριστικά των XML firewalls ………...26

3.3.2 Εμπορικά firewalls vs Rescarch ……….………..29

3.3.2.1 Eμπορικά XML firewalls ……….29

3.3.2.2 Ερευνητικά XML firewalls ………..32

3.4 Σύνοψη ……….33

4

Έλεγχος πρόσβασης ( Access Control ) και Μοντέλα ……….………..34

4.1 Εισαγωγή ……….……….34

4.1.1 Υποκείμενα ( Subject ), Αντικείμενα ( Object ),και Πολιτικές ………...……….34

4.2 Μοντέλα Ελέγχου Πρόσβασης ……….…...35

4.2.1 Παραδοσιακά μοντέλα ελέγχου πρόσβασης ………...35

4.2.1.1 Υποχρεωτικός ή κατά απαίτηση έλεγχος πρόσβασης ( Mandatory Access Control ) MAC ……….35

4.2.1.2 Προαιρετικός ή κατά διάκριση έλεγχος πρόσβασης ( Mandatory Access Control ) DAC ………..………...36

4.2.2 Μοντέρνα μοντέλα ελέγχου πρόσβασης ……….……….…36

4.2.2.1 Έλεγχος πρόσβασης βασισμένος σε ρόλους ( Role - Based Access Control ) - RBAC ……….………....37

4.2.2.2 Originator Control - ORCON ………...……….38

4.2.2.3 Έλεγχος πρόσβασης βασισμένος σε διεργασίες Task - bssed Access Control TBAC ………..…….39

4.2.2.4 Owner - Retained Access Control - ORAC ……….………….39

4.2.2.5 Έλεγχος πρόσβασης βασισμένος σε ομάδες TeaM - based acced control ( TMAC ) ………...40

4.2.2.6 Έλεγχος πρόσβασης βασισμένος στο περιεχόμενο - Content Dependent Access Control ( CDAC ) ………...………40

4.2.2.7 Context Based Access Control ( CBAC ) ……….40

4.2.2.8 Έλεγχος πρόσβασης βασισμένος στην χρήση Usage access Control ( UCON ) ……..40

4.2.2.9 Identity Based Access Control ( IBAC ) ………...41

4.2.3 Μοντέλα πρόσβασης στις Υπηρεσίες Δικτύου ……….41

4.2.3.1 Έλεγχος πρόσβασης βασισμένος στην Ικανότητα - Capability based access control ..42

4.2.3.2 Αλυσίδες εμπιστοσύνης - Chains of trust ………...42

4.2.3.3 Attribute Based Access Control ( ABAC ) ………...42

(5)

4.3 Ψηφιακά διαπιστευτήρια - Έλεγχος πρόσβασης βασισμένος στα διαπιστευτήρια……43

4.3.1 Χαρακτηριστικά Πιστοποίησης. Attribute Certificates ………44

4.3.2 X.509ν3 Πιστοποιητικό ή Πιστοποιητικό Δημοσίου κλειδιού ……….44

4.3.3 Πιστοποιητικά SPKI Certificates ( SPKI Certificates ) ………44

4.3.4 Έξυπνα πιστοποιητικά - Smart Certificates ………..44

5

Χρήση του Credential based access control μοντέλου και έκφραση πολιτικών

ελέγχου πρόσβασης για αντικείμενα και υποκείμενα του ΤΕΙ ΚΑΒΑΛΑΣ……….45 - 54

ΒΙΒΛΙΟΓΡΑΦΙΑ………...…56 - 67

(6)

Πρόλογος

Οι XML Υπηρεσίες Δικτύου(XML Web Services) ως μια καινοτομία έχουν φέρει επανάσταση την τελευταία δεκαετία στον τομέα της τεχνολογίας πληροφοριών. Μέσω της χρήσης των πρωτοκόλλων XML, SOAP, WSDL και UDDI, οι εφαρμογές μπορούν να επικοινωνήσουν πολύ πιο εύκολα αναμεταξύ τους πάνω στα πρωτόκολλα του διαδικτύου γρηγορότερα και οικονομικότερα.

Οι XML Υπηρεσίες Δικτύου υιοθετήθηκαν πολύ γρήγορα από μεγάλους κατασκευαστές όπως η Oracle,η Sun,η IBM και Microsoft.

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

Στα βασικά μέτρα ασφάλειας που είναι γνωστά σήμερα και αφορούν κυρίως ρυθμίσεις σε Routers,Servers,Firewalls κλπ έρχεται σήμερα να προστεθεί η ανάγκη λήψης αντίστοιχων μέτρων για την προστασία των συνεχώς αναπτυσσόμενων εφαρμογών και υπηρεσιών XML.

Σε αυτό ακριβώς το σημείο εστιάζεται και η παρούσα πτυχιακή εργασία με σκοπό την αποτύπωση και παρουσίαση των βασικών μέτρων ασφάλειας και συγκεκριμένα στον έλεγχο πρόσβασης (access control) σε υπηρεσίες XML.

Ακολούθως εκφράζονται πολιτικές ελέγχου πρόσβασης με την χρήση της οι οποίες θα μπορούσαν να ενσωματωθούν σε ένα XML firewall.

(7)

1. Εισαγωγή

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

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

Στην αρχιτεκτονική τον υπηρεσιών δικτύου υπάρχουν τρεις παράγοντες που παίζουν καθοριστικό ρόλο στην λειτουργία τους : ο service provider, service broker, and service client.

Οι Service providers δημιουργούν και αναπτύσσουν την υπηρεσία δικτύου. Με την σειρά τους οι Service brokers καταχωρούν και κατηγοριοποιούν την την δημοσιευμένη υπηρεσία.

Τέλος οι Service clients χρησιμοποιούν τις broker services για να ανακαλύψουν και χρησιμοποιήσουν την υπηρεσία.

Η εξασφάλιση της λειτουργίας των υπηρεσιών δικτύου πραγματοποιείται από ένα μηχανισμό. Ο μηχανισμός αυτός αποτελείται από δυο στοιχεία. Το πρώτο στοιχείο του μηχανισμού είναι το Σημείο Απόφασης Πολιτικών PDP (Policy Decision Point) και το άλλο είναι Το Σημείο Εφαρμογής Πολιτικών PEP(Policy Enforcement Point).

Το PDP είναι ένας Server πολιτικών (Policy Server)και επιτρέπει σε πολλές και διάφορες εφαρμογές σε συνεργασία με σημεία εφαρμογής πολιτικών PEP να εφαρμόζουν κοινή πολιτική.

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

Το PEP είναι το σημείο όπου πραγματοποιείται ο έλεγχος πρόσβασης και ελέγχει τα αιτήματα ανάμεσα στους πελάτες και στους παροχείς υπηρεσιών. Το PEP στις υπηρεσίες δικτύου

(8)

είναι ένα XML firewall και μπορεί να μην είναι ένα μόνο σημείο αλλά να είναι κατανεμημένο σε πολλά σημεία στο δίκτυο. Στο διάγραμμα χχχχ φαίνεται η αλληλεπίδραση των δύο σημείων.

Τα XML firewalls εξειδικεύονται στην επεξεργασία μεγάλου όγκου XML δεδομένων. Τα firewalls αυτά εκτελούν υπηρεσίες ασφάλειας όπως επικύρωση, έλεγχος πρόσβασης και έλεγχος.(authentication,access control, auditing)

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

Η επικύρωση αποδεικνύει την ταυτότητα του ενός μέρους στο άλλο. Πιο συγκεκριμένα αποδεικνύει την ταυτότητα ενός χρήστη σε κάποιο σύστημα τυπικά με την έννοια του κωδικού πρόσβασης.

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

Πελάτης

αίτημα πρόσβασης

ΑΠΟΘΗΚΗ ΠΟΛΙΤΙΚΩΝ

PEP

XML FIREWALL

PDP

POLICY SERVER

Αποστολή τελικής απόφασης

αίτημα πολιτικής αίτημα πρόσβασης

Αποστολή τελικής απόφασης

1

3 2

4 5

6

(9)

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

Η πρόσβαση σε κάποιο πόρο ενός συστήματος απαιτεί από τους χρήστες να έχουν κάποιες άδειες πρόσβασης. Έτσι εμφανίζεται η ανάγκη για εξουσιοδότηση και για πιστοποίηση.

Στην διεθνή βιβλιογραφία έχουν προταθεί πολλές μέθοδοι και μηχανισμοί πιστοποίησης και εξουσιοδότησης.

Ένας μηχανισμός πιστοποίησης επιτρέπει την πιστοποίηση ότι μια οντότητα είναι στην πραγματικότητα αυτό που ισχυρίζεται ότι είναι. Ένας μηχανισμός πιστοποίησης είναι και τα διαπιστευτήρια (Credentials).

Διαπιστευτήριο καλείται η πληροφορία που χρησιμοποιείται μαζί με το διακριτικό της όνομα. Οι μορφές που μπορεί να πάρει ένα διαπιστευτήριο είναι οι εξής:

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

Ο κρυπτογραφημένος κωδικός πρόσβασης ο οποίος είναι αποτέλεσμα μιας συνάρτησης το οποίο αποτέλεσμα το χρησιμοποιεί ο μηχανισμός πιστοποίησης σαν κωδικό πρόσβασης.

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

Τέλος για την απομακρυσμένη πιστοποίηση υπάρχουν και τα ψηφιακά διαπιστευτήρια (digital credentials)τα οποία αναλύονται στο τέταρτο κεφάλαιο .

(10)

2.Δικτυακές Υπηρεσίες (Web Services)

2.1 Εισαγωγή

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

Παρ’ όλ’ αυτά όμως η χρήση του διαδικτύου παραμένει στατική και βασανιστική. Για παράδειγμα αν κάποιος επιθυμεί να αγοράσει ένα προϊόν από το διαδίκτυο θα πρέπει να ψάξει σε πολλούς διαφορετικούς ιστοχώρους και στις περισσότερες περιπτώσεις θα πρέπει να συγκρίνει μια μια τις τιμές και τα έξοδα αποστολής πριν το παραγγείλει από τον τελικό προμηθευτή.

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

Τον ρόλο αυτό τις δυναμικής παρουσίασης πληροφοριών έχουν αναλάβει οι Δικτυακές Υπηρεσίες οι οποίες επιτρέπουν μια συστηματική αλληλεπίδραση εφαρμογής-εφαρμογής (application-to-application) στο διαδύκτιο.

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

Κάτι δηλαδή σαν ένα είδος υπεραυτοματοποίηση.

2.2 Τι είναι οι Δικτυακές Υπηρεσίες;

Κοινά αποδεκτός ορισμός για τις Δικτυακές Υπηρεσίες δεν έχει επικρατήσει ακόμα, αν και έχουν προταθεί πολλοί. Μερικοί από αυτούς είναι οι εξής:

(11)

IMB GROUP : «Web services είναι μια νέα γενιά εφαρμογών web. Είναι αυτό-περιγραφικές, ανεξάρτητες, αρθρωτές εφαρμογές που μπορούν να δημοσιευτούν, να εντοπιστούν και να κληθούν από το web.Οι υπηρεσίες δικτύου εκτελούν συναρτήσεις, που μπορεί να είναι οτιδήποτε, από ένα απλό αίτημα έως μια περίπλοκη επιχειρησιακή διαδικασία. Μόλις μια υπηρεσία δικτύου αναπτυχθεί, άλλες εφαρμογές (και άλλες υπηρεσίες δικτύου) μπορούν να αναζητήσουν και να την καλέσουν.»

The Stencil Group: «Οι Δικτυακές Υπηρεσίες είναι επαναχρησιμοποιήσιμες μονάδες λογισμικού με χαλαρή σύζευξη, οι οποίες συγκεντρώνουν ξεχωριστή λειτουργικότητα, είναι κατανεμημένες και επιτρέπουν την πρόσβαση σε προγράμματα που χρησιμοποιούν πρότυπα των πρωτοκόλλων του Διαδικτύου. Οι Δικτυακές Υπηρεσίες αντιπροσωπεύουν ένα μοντέλο στο οποίο οι ιδιαίτεροι στόχοι των διεργασιών μιας ηλεκτρονικής επιχείρησης επιτυγχάνονται κατανέμονται μέσα από ένα αξιόπιστο δίκτυο.»

World Wide Web Consortium : «Δικτυακή Υπηρεσία ονομάζεται μια εφαρμογή λογισμικού, που αναγνωρίζεται από ένα μοναδικό ενιαίο προσδιοριστικό πόρου URI (Uniform Resource Identifier). Το περιβάλλον διεπαφής (interface) και τα ¨σημεία πρόσδεσης¨ (bindings) πρέπει να είναι καλά ορισμένα, να περιγραφούν και να ανακαλυφθούν ως δεδομένα XML. Μια Δικτυακή Υπηρεσία υποστηρίζει απ’ ευθείας δοσοληψίες με άλλους πράκτορες με ανταλλαγή μηνυμάτων βασισμένων σε XML μέσω πρωτοκόλλων του διαδικτύου.»

Γενικότερα για τις Δικτυακές Υπηρεσίες μπορεί να ειπωθεί ότι έχουν ένα τυποποιημένο τρόπο αλληλεπίδρασης μεταξύ διαφορετικών εφαρμογών λογισμικού ανεξάρτητα από την πλατφόρμα και το πλαίσιο εργασίας και επιπλέον δεν απαιτούν καμία αλλαγή στον μηχανισμό του συστήματος. Αυτό το επιτυγχάνουν διότι χρησιμοποιούν ανοικτά πρότυπα και ευρέως διαδεδομένα πρωτόκολλα, όπως XML (eXtensible Markup Language), SOAP (Simple Object Access Protocol), WSDL (Web Services Description Language), HTTP (HyperText Transfer Protocol), SMTP (Simple Mail Transport Protocol) ή FTP (File Transfer Protocol).

(12)

2.2.1 Αρχιτεκτονική του μοντέλου των Υπηρεσιών Διαδικτύου.

Η χρήση της τεχνολογίας των web services οδηγεί στην υιοθέτηση της λεγόμενης service- oriented αρχιτεκτονικής. Οι βασικοί ρόλοι και λειτουργίες στην αρχιτεκτονική αυτή παρουσιάζονται στο Σχήμα Χ.

H αρχιτεκτονική αυτή υποδεικνύει μια σχέση εξυπηρετητή-πελάτη (server-client) ανάμεσα στον Ο παροχέας υπηρεσιών (service provider), o οποίος παίζει το ρόλο του server και τον ζητώντα την υπηρεσία (service-requestor), ο οποίος που παίζει το ρόλο του client. O service-provider είναι αυτός που παρέχει την υπηρεσία δεχόμενος μηνύματα κλήσεις από τους requestors. Είναι επίσης υπεύθυνος για τη δημιουργία της περιγραφής της υπηρεσίας (service description) και τη δημοσίευσή της σε κάποιο κατάλογο-οδηγό υπηρεσιών (Universal Description, Discovery and Integration- UDDI). Ο service requestor αναζητά την υπηρεσία και την περιγραφή της σε κάποιο κατάλογο υπηρεσιών (service broker) και στη συνέχεια καλεί κατάλληλα την επιθυμητή υπηρεσία. Ο κατάλογος υπηρεσιών φέρνει ουσιαστικά τις δύο πλευρές, client και server σε επαφή.

`

Σχήμα χ:Aρχιτεκτονική Service-oriented

(13)

2.2.2. Περιγραφή των οντοτήτων του μοντέλου

Ο παροχέας υπηρεσιών (service provider): Είναι ο δημιουργός της Υπηρεσίας Δικτύου.

Δημοσιεύει (publish) το περιεχόμενό της και δίνει πρόσβαση στο περιεχόμενο του στον μεσίτη υπηρεσιών (sercice Broker).

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

 Ο κατάλογος υπηρεσιών (service broker):Είναι γνωστός και ως μεσίτης υπηρεσιών. Είναι υπεύθυνος για την δημιουργία της διεπαφής (interface) της υπηρεσίας δικτύου και διαθέτει τις πληροφορίες σε οποιοδήποτε πιθανό πελάτη (service requestor).

Υπάρχουν δύο κατηγορίες brokers. οι δημόσιοι brokers οι οποίοι είναι διαθέσιμοι παντού σε όλο internet και οι Ιδιωτικοί brokers οι οποίοι είναι προσβάσιμοι μόνο σε περιορισμένο κοινό όπως για παράδειγμα, σε χρήστες ενός εκτεταμένου intranet μιας επιχείρησης

 Ο Πελάτης υπηρεσιών (service requestor): Εντοπίζει τις καταχωρήσεις στο μητρώο του broker χρησιμοποιώντας διάφορες διαδικασίες εντοπισμού(find) και έπειτα δεσμεύεται (bind) στον παροχέα και καλεί την υπηρεσία.

2.2.3. Διαδικασίες Web services

Από τα παραπάνω διαπιστώνεται ότι στο τυπικό μοντέλο αρχιτεκτονικής λαμβάνουν μέρος τρεις διεργασίες. Οι διαδικασίες είναι οι εξής:

Δημοσίευση /Μη δημοσίευση (publish/unpublish)

Η Δημοσίευση και η Μη Δημοσίευση σχετίζεται με την εκχώρηση υπηρεσιών στο μητρώο του καταλόγου υπηρεσιών (publish) ή την αφαίρεση των καταχωρίσεων (unpublishing).

Δηλαδή ο service provider επικοινωνεί με τον service broker για να δημοσιεύσει η να μη δημοσιεύσει μια υπηρεσία.

Εντοπισμός(Find)

Η λειτουργία του Εντοπισμού εκτελείται ανάμεσα στους service requestors και στους service brokers ταυτόχρονα. Οι service requestors περιγράφουν τον τύπο της υπηρεσίας που

(14)

αναζητούν ενώ οι service brokers παραδίδουν τα αποτελέσματα που ταιριάζουν καλύτερα στο αίτημα.

Δέσμευση ή σύνδεση (Bind)

Η διεργασία της Δέσμευσης εκτελείται ανάμεσα στον service requestor και στον service provider. Τα δύο αυτά μέρη διαπραγματεύονται κατάλληλα ώστε ο requestor να αποκτήσει πρόσβαση και να καλέσει τις υπηρεσίες του provider.

Στη συνέχεια γίνεται μια εισαγωγή στις σχετικές με τα web services τεχνολογίες XML, SOAP, WSDL, UDDI και εξηγείται ο ρόλος τους στην υλοποίηση του παραπάνω περιγραφέντος σεναρίου

2.3 XML & τα πρωτόκολλα επικοινωνίας «SOAP-WSDL-UDDI» στις Δικτυακές Επικοινωνίες.

2.3.1. XML (eXtensible Markup Language)

Η XML (eXtensible Markup Language) αναπτύχθηκε από το W3C’s XML Working Group το 1996 και συνδυάζει την ισχύ και την επεκτασιμότητα της SGML (Standard Generalized Markup Language), από την οποία προέρχεται. Είναι μια μεταφερτή, ευρέως υποστηριζόμενη και ανοικτή τεχνολογία.

Σχεδιάστηκε για να ικανοποιήσει πολλές ανάγκες δίνοντας στα έγγραφα ένα μεγαλύτερο επίπεδο προσαρμοστικότητας στο στυλ και τη δομή από αυτό που υπήρχε παλαιότερα στην HTML. Είναι μια γλώσσα σήμανσης (markup), όπως και η HTML όμως η κύρια διαφορά είναι ότι η XML σχεδιάστηκε για να περιγράφει δεδομένα, ενώ η HTML επικεντρώνεται στην απεικόνιση των δεδομένων.

H XML βασίζεται στην έννοια του εγγράφου (document) το οποίο αποτελείται από ένα σύνολο αντικειμένων(elements). Κάθε αντικείμενο μπορεί να περιέχει ένα ή και περισσότερα λογικά στοιχεία, τα οποία µε τη σειρά τους είναι δυνατόν να έχουν κάποιες ιδιότητες ή χαρακτηριστικά τα οποία να περιγράφουν τον τρόπο µε τον οποίο θα συμβάλουν στην επεξεργασία. Η XML προσφέρει το συντακτικό βάσει του οποίου θα περιγραφούν οι σχέσεις και οι δεσμοί μεταξύ των αντικειμένων, των στοιχείων και των χαρακτηριστικών, των συστατικών δηλαδή ενός εγγράφου της XML

(15)

Για την περιγραφή των δεδομένων, η XML χρησιμοποιεί ένα DTD (Document Type Definition) ή ένα XML Schema. Ο σκοπός ενός DTD είναι να ορίσει τη νόμιμη δομή ενός XML document, παρέχοντας μια λίστα από επιτρεπόμενα αντικείμενα.

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

Γενικότερα η XML επιτρέπει στους χρήστες:

• τη συνένωση πολλαπλών αρχείων για τη δηµιουργία σύνθετων εγγράφων

• να αναγνωρίσουν που πρέπει να εισάγουν τις επεξηγήσεις στα έγγραφα κειμένου αλλά και το format που θα πρέπει να χρησιμοποιηθεί για την κωδικοποίηση κάθε επεξήγησης

• να παράσχουν στα υποστηριζόμενα προγράμματα (document validators και browsers) ενημέρωση για τον επεξεργαστικό έλεγχο να προσθέσουν συντακτικά σχόλια σε αρχεία.

2.3.1.1 Τα δομικά στοιχεία της XML

Η XML διαφέρει από τις άλλες markup γλώσσες στο γεγονός ότι δεν υποδεικνύει πού γίνεται μια αλλαγή σε εμφάνιση ή πότε ένα καινούριο στοιχείο ξεκινάει, αλλά αναλαμβάνει να αναγνωρίσει τα όρια του κάθε κομματιού του εγγράφου, είτε πρόκειται για ένα καινούριο κεφάλαιο είτε για παραπομπή σε άλλη δημοσίευση. Προκειμένου λοιπόν να επιτρέψει στον υπολογιστή τον έλεγχο της δομής ενός εγγράφου ο κάθε χρήστης πρέπει να παρέχει έναν ορισμό που θα δηλώνει όλες τις επιτρεπτές οντότητες και ιδιότητες καθώς και τις σχέσεις που θα υπάρχουν µεταξύ τους.

(16)

Παράδειγμα XML: Ένα απλό σημείωμα

Όλα τα στοιχεία της XML πρέπει να έχουν ένα closing tag

Οι ετικέτες της XML είναι case sensitive

Όλα τα στοιχεία της XML πρέπει να περικλείονται σωστά

Όλα τα έγγραφα πρέπει να περιλαμβάνουν μια κεντρική ετικέτα

Οι τιμές των ιδιοτήτων πρέπει πάντα να μπαίνουν σε εισαγωγικά

2.3.1.2 DTD (Document Type Definition, Ορισμός Τύπου Εγγράφου)

Το DTD περιέχει τις απαραίτητες πληροφορίες για την εγγραφή και επεξεργασία του εγγράφου και είναι το θεμέλιο των ‘έγκυρων’ (valid) XML εγγράφων και ορίζει τον τύπου τους.

Το DTD περιέχει μικρό συντακτικό και μπορεί να κατανοηθεί εύκολα. Το συντακτικό έχει πολλά στοιχεία τα οποία αθροίζονται σε δυο απαραίτητες δοµές, οι οποίες είναι το στοιχείο (element) και το χαρακτηριστικό (attribute). Χρησιμοποιούνται για να περιγράψουν το περιεχόμενο. Η χρήση τους σε ένα έγγραφο πρέπει να ορίζεται σε ένα DTD για να εξασφαλίζεται ότι τα έγγραφα είναι έγκυρα (valid). Το στοιχείο αφετηρίας (root element) είναι το πιο σημαντικό και περιέχει όλα τα αλλά στοιχεία. Η διαδικασία ορισμού των χαρακτηριστικών (attribute) δεν είναι τόσο κυκλική, απλώς απαιτεί τον ορισμό των χαρακτηριστικών για κάθε στοιχείο (element) που χρησιμοποιεί χαρακτηριστικά.

Μορφή στοιχείων (elements): <!ELEMENT NAMECONTENT>.

Μορφή χαρακτηριστικά (attributes): <!ATTLIST ELEMENTNAME NAME CDATA #IMPLIED>.

(17)

2.3.2. Service-Oriented Access Protocol (SOAP)

Μια από τις σημαντικότερες προκλήσεις για την τη διαλειτουργικότητα ανάμεσα σε διαφορετικές γλώσσες προγραμματισμού και σε ετερογενείς πλατφόρμες είναι η έλλειψη ενός ενιαίου πρωτοκόλλου επικοινωνίας. Το SOAP κατάφερε να επικρατήσει ως το κυρίαρχο και στάνταρ πρωτόκολλο για την διαλειτουργικότητα ανάμεσα σε πολλαπλών ειδών πλατφόρμες και γλώσσες. Η επιτυχία του πρωτοκόλλου αυτού οφείλεται στο ότι είναι βασισμένο στην γλώσσα XML και δεν είναι συνδεδεμένη με καμία άλλη γλώσσα

Αρχικά SOAP σήμαινε Simple Object Access Protocol, αλλά ο όρος αυτός ανεπίσημα επαναπροσδιορίσθηκε σαν Service-Oriented Access Protocol γιατί δεν είναι απλό (simple) και σίγουρα δεν είναι αντικειμενοστραφής (object).

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

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

Συγκεκριμένα,

Το πρωτόκολλο SOAΡ καθορίζει τα ακόλουθα:

• Μια μορφή μηνύματος για μονόδρομη επικοινωνία, περιγράφοντας πώς η πληροφορία μπορεί να ενσωματωθεί σε ένα XML-έγγραφο.

• Μια σειρά συμβάσεων για την χρησιμοποίηση μηνυμάτων SOAP για την υλοποίηση του προτύπου αλληλεπίδρασης RPC (Remote Procedure Call - κλήση απομακρυσμένης διαδικασίας ) , καθορίζοντας τον τρόπο που οι clients μπορούν να καλέσουν μια απομακρυσμένη διαδικασία στέλνοντας ένα μήνυμα SOAP και τον τρόπο που οι Υπηρεσίες μπορούν να απαντήσουν στέλνοντας ένα άλλο μήνυμα SOAP.

• Ένα σύνολο κανόνων που πρέπει να ακολουθείται από κάθε οντότητα που επεξεργάζεται ένα μήνυμα SOAP, καθορίζοντας συγκεκριμένα τα XML elements που μια

(18)

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

• Μια περιγραφή του τρόπου με τον οποίο ένα μήνυμα SOAP μεταφέρεται πάνω από πρωτόκολλα όπως το HTTP και το SMTP

Το SOAP ανταλλάσσει την πληροφορία χρησιμοποιώντας μηνύματα. Τα μηνύματα αυτά χρησιμοποιούνται ως «φάκελος» στον οποίο η εφαρμογή εσωκλείει την απαραίτητη προς αποστολή πληροφορία.

Η δομή ενός μηνύματος SOAP φαίνεται στο ακόλουθο σχήμα

Ο Φάκελος (Εnvelope) είναι υποχρεωτικός, και ουσιαστικά μαρκάρει την αρχή και το τέλος του μηνύματος. Περιέχει πληροφορίες για το περιεχόμενο του μηνύματος και πως να γίνει η επεξεργασία του και ποιον αφορά.

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

`

:

Soap Μήνυμα

(19)

που αφορά θέματα ταυτοποίησης (authentication) και εξουσιοδότησης (authorization), χειρισμού δοσοληψιών. Ένα SOAP μήνυμα μπορεί να έχει περισσότερες από μια επικεφαλίδες.

Το Σώμα (Βody) περιλαμβάνει την πληροφορία που αποτελεί τον πυρήνα του μηνύματος, γραμμένη σε XML.

2.3.3 Web Service Description Language-WSDL

Η WSDL είναι ένα πρότυπο, είναι μια γλώσσα, βασισμένη στην XML η οποία αναπτύχθηκε από την Microsoft και την IBM για να περιγράφει υπηρεσίες που παρέχονται στο δίκτυο και τους τρόπους για να έχει κάποιος πρόσβαση σε αυτές.

Η περιγραφή των web services γίνεται με τα έγγραφα WSDL, τα οποία είναι έγγραφα XML με προκαθορισμένα στοιχεία, που συμμορφώνονται με το wsdl schema. Στα έγγραφα αυτά περιέχεται η απαραίτητη πληροφορία για την κλήση ενός web service.

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

Η WSDL περιγράφει τις Δικτυακές Υπηρεσίες σε δυο μέρη : το«αφηρημένο», που καθορίζει τη διεπαφή (interface) της υπηρεσίας και είναι ανεξάρτητο από πλατφόρμα και γλώσσα, και το «σταθερό», το οποίο παρέχει τις λεπτομέρειες για την πρόσβαση στις υπηρεσίες.

Μια γενική δομής ενός εγγράφου WSDL παρουσιάζεται στο παρακάτω σχήμα.

Το «Σταθερό» μέρος εγγράφου WSDL περιέχει τα εξής στοιχεία (elements)

(20)

Types: Ορίζει τους τύπους δεδομένων που χρησιμοποιεί το Δικτυακή Υπηρεσία.

Για μέγιστη συμβατότητα μεταξύ διαφορετικών πλατφόρμων, το WSDL κείμενο χρησιμοποιεί το XML Schema για να ορίσει τους τύπους δεδομένων.

Message: Περιγράφει τους τύπους δεδομένων που χρησιμοποιεί μια operation.

Κάθε μήνυμα αποτελείται από ένα ή περισσότερα κομμάτια. Τα κομμάτια αυτά μπορούν να συγκριθούν με τις παραμέτρους μιας συνάρτησης σε μια παραδοσιακή προγραμματιστική γλώσσα.

Οperation: Ορίζει κάθε λειτουργία ( operation ) που εκθέτει η διεπαφή ( interface ).

Για κάθε λειτουργία η αντίστοιχη SOAP ενέργεια πρέπει να οριστεί. Πρέπει επίσης να οριστεί και ο τρόπος που θα κωδικοποιηθεί η είσοδος ( input ) και η έξοδος ( output ).

Interfaces: Είναι το πιο σημαντικό στοιχείο ενός WSDL κειμένου.

Περιγράφει μια Δικτυακή Υπηρεσία, τις λειτουργίες ( operations ) που μπορούν να εκτελεστούν, καθώς και τα μηνύματα που ανταλλάσσονται.

Μπορεί να συγκριθεί με μια βιβλιοθήκη συναρτήσεων ή ένα module ή μια κλάση στις απλές προγραμματιστικές γλώσσες.

Το «Αφηρημένο» μέρος εγγράφου WSDL περιέχει τα εξής στοιχεία (elements):

Βinding: Ορίζει τη μορφή ( format) του μηνύματος και πληροφορίες για τα πρωτόκολλα σε κάθε Interface..

Service: Συγκεντρώνει ένα σύνολο endpoints(σημεία τερματισμού) σε ένα μοναδικό όνομα Endpoint: Είναι το σημείο τερματισμού και προσδιορίζεται από μια διεύθυνση

Το WSDL συνήθως λόγω της πολυπλοκότητάς του παράγεται συνήθως από προγραμματιστικά εργαλεία παρά από προγραμματιστές.

(21)

2.3.4 UDDI (Universal Description, Definition and Integration)

Το UDDI αποτελεί ένα πρωτόκολλο καταχώρησης για Δικτυακές Υπηρεσίες. Ικανοποιεί δύο στόχους αναφορικά με την ανακάλυψη υπηρεσιών:

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

Δεύτερον, δίνει τη δυνατότητα για δυναμική «δέσμευση» (binding), δηλαδή επιτρέπει στα προγράμματα πελάτες να ρωτάνε τον κατάλογο υπηρεσιών (broker) και να αποκτάνε εκείνη τη στιγμή αναφορές σε υπηρεσίες που τους ενδιαφέρουν.

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

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

Συγκεκριμένα υπάρχουν:

Οι Λευκές Σελίδες (white pages) στις οποίες οι πελάτες UDDI μπορούν να βρουν τις Δικτυακές υπηρεσίες που προσφέρονται από μια συγκεκριμένη επιχείρηση.

Οι Κίτρινες Σελίδες (Yellow pages) όπου είναι δυνατή η αναζήτηση υπηρεσιών ανάλογα με την κατηγορία στην οποία ανήκουν, σύμφωνα με κάποιο σχήμα ταξινόμησης.

Οι Πράσινες Σελίδες (Green pages) περιγράφουν τον τρόπο που μπορεί μια Δικτυακή Υπηρεσία να καλέσει ένα πρόγραμμα πελάτη.

(22)

2.4 Πως λειτουργούν όλα μαζι;

Αρχικά οι Προμηθευτές Υπηρεσιών (providers) δημιουργούν μια Δικτυακή Υπηρεσία.

Καθορίζουν μια διεπαφή (interface) για να μπορεί να κληθεί και δημιουργούν μια περιγραφή της προσφερόμενης υπηρεσίας σε αρχεία WSDL.

Στη συνέχεια, οι Προμηθευτές γνωστοποιούν την υπηρεσία τους (publish) στον κόσμο εκδίδοντας την περιγραφή της υπηρεσίας στον κατάλογο υπηρεσιών, το UDDI. Οι πληροφορίες που περιέχονται στην περιγραφή της υπηρεσίας χρησιμοποιούνται από τον κατάλογο υπηρεσιών για να κατατάξει την υπηρεσία σε κάποια κατηγορία και να την αναζητήσει όταν φτάσουν οι αιτήσεις από τους Πελάτες Υπηρεσιών (requestors).

Όταν ένας Πελάτης προσπαθεί να βρει μια υπηρεσία, θα απευθύνεται στον Κατάλογο Υπηρεσιών, ο οποίος απαντάει με μια περιγραφή υπηρεσίας σε WSDL, που υποδεικνύει πού βρίσκεται η Δικτυακή Υπηρεσία και πώς να την καλέσει.

Τέλος, ο Πελάτης Υπηρεσιών (requestor) επικοινωνεί με τον προμηθευτή της υπηρεσίας μέσω μηνυμάτων που ακολουθούν το πρωτόκολλο SOAP.

(23)

2.5. Πλεονεκτήματα της αρχιτεκτονικής

Το γεγονός ότι οι Δικτυακές υπηρεσίες γίνονται ολοένα και πιο δημοφιλείς στον Παγκόσμιο Ιστό οφείλεται στην πληθώρα των πλεονεκτημάτων που εμφανίζουν μερικά από τα οποία αναφέρονται παρακάτω.

Διαλειτουργικότητα.

Ένα web service παρέχει ανεξαρτησία τόσο από λειτουργικό σύστημα όσο και από το hardware. Οποιοδήποτε πρόγραμμα που συμβαδίζει με αυτή τη τεχνολογία μπορεί πολύ εύκολα να προσπελάσει μία τέτοια υπηρεσία.

Ενσωμάτωση.

Σε ένα υπάρχον λογισμικό σύστημα που λειτουργεί μέσα στο Internet η δημιουργία ενός web service δεν απαιτεί αλλαγές στον μηχανισμό του συστήματος.

Διαθεσιμότητα και δημοσίευση.

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

Επέκταση.

Ένα έτοιμο web service είναι δυνατό να ανανεωθεί με εύκολο τρόπο παρέχοντας έτσι επιπρόσθετες υπηρεσίες στους χρήστες του.

Μικρό κόστος δημιουργίας και χρήσης.

Εφόσον σε ένα λογισμικό σύστημα υπάρχει ήδη κάποια διαδικασία που χρειάζεται να επεκταθεί σε on-line υπηρεσία, η δημιουργία του web service κοστίζει ελάχιστα. Επίσης το κόστος ενσωμάτωσης ενός web service σε κάποιο website ή σε δικτυακή εφαρμογή είναι πάρα πολύ μικρό. Ακόμα και στις περιπτώσεις που η χρήση κάποιου web service γίνεται με ενοικίαση σίγουρα το συνολικό κόστος της χρήσης είναι αρκετά πιο μικρό από το κόστος δημιουργίας της υπηρεσίας αυτής.

Χρήση λογισμικών συστημάτων.

Όλα τα λογισμικά συστήματα και ειδικότερα τα websites που χρησιμοποιούν έτοιμες υπηρεσίες γίνονται πιο λειτουργικά και πιο φιλικά αφού παρέχουν περισσότερες υπηρεσίες στους χρήστες

(24)

2.6 Σύνοψη

Ο όρος Web Services καθορίζει ένα σύνολο από ‘ελαφριά’ πρωτόκολλα (SOAP, WSDL, and UDDI) και προδιαγραφές το οποίο διευκολύνει στην ολοκλήρωση.

Με την βοήθεια της XML, το SOAP γίνεται ένα ευέλικτο πρωτόκολλο για την ανταλλαγή δεδομένων, καλεί απομακρυσμένες εφαρμογές, και διαχειρίζεται λάθη και εξαιρέσεις. Παρέχει μια πλατφόρμα, σε ουδέτερη γλώσσα, για την λήψη των εισερχόμενων κλήσεων-αιτημάτων (HTTP,FTP και SMTP) και την αποστολή απάντησης στον πελάτη.

Το WSDL παρέχει στους providers τη δυνατότητα να διαφημίσουν την υπηρεσία που υποστηρίζουν.

Το UDDI περιέχει ένα σύνολο προδιαγραφών τις οποίες οφείλουν οι εταιρείες να ακολουθούν όταν καταχωρούν τις υπηρεσίες τους.

Τέλος θα πρέπει να σημειωθεί ότι οι Δικτυακές Υπηρεσίες σε καμία περίπτωση δεν θα αντικαταστήσουν τις υπάρχουσες τεχνολογίες όπως servers εφαρμογών, EDI, EAI, αντίθετα θα πρέπει να συνυπάρχουν με αυτές.

(25)

3. XML Τοίχος Προστασίας(XML firewall)

3.1 Εισαγωγή

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

Όμως όσο υπολογίσιμα κι αν είναι τα πλεονεκτήματα της πρόσβασης στο δίκτυο άλλοι τόσοι είναι και οι κίνδυνοι. Όταν μια επιχείρηση συνδέει το προσωπικό της δίκτυο στο δίκτυο δεν προσφέρει μόνο στους υπαλλήλους της πρόσβαση σε πληροφορίες και Υπηρεσίες Δικτύου αλλά και σε εξωτερικούς χρήστες ένα μέσο να προσεγγίσουν τις ιδιωτικές πληροφορίες της επιχείρησης.

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

Η απάντηση στον κίνδυνο αυτό είναι η τεχνολογία των Firewalls. Ένα σύστημα firewall καλείται να λειτουργήσει ως ένας μηχανισμός “περιμετρικής άμυνας”, ο οποίος δρα συμπληρωματικά µε τους υπόλοιπους μηχανισμούς ασφάλειας. Σκοπός του είναι ο έλεγχος και η καταγραφή όλων των προσπαθειών προσπέλασης οι οποίες κατευθύνονται προς τις προστατευμένες δικτυακές υπηρεσίες, µε το να επιτρέπει, να απαγορεύει ή να ανακατευθύνει τη ροή των δεδομένων µέσω των μηχανισμών του. Τα firewalls αποτελούν αναμφισβήτητα ένα πανίσχυρο εργαλείο υλοποίησης σημαντικού μέρους της πολιτικής ασφάλειας που χρειάζονται οι πόροι που εκτίθενται στο .διαδίκτυο.

Τα Firewalls υπάγονται σε τρεις κατηγορίες:

Τα φίλτρα πακέτων (packet filters), λειτουργούν στο επίπεδο δικτύου του μοντέλου OSI ή στο IP επίπεδο του μοντέλου TCP/IP. Είναι συνήθως μέρος ενός δρομολογητή. Κάθε πακέτο συγκρίνεται µε ένα σύνολο κριτηρίων προτού να διαβιβαστεί.

Οι πύλες επιπέδου κυκλώματος (circuit level gateways), λειτουργούν στο επίπεδο συνόδου (session layer) του προτύπου OSI, ή το επίπεδο TCP του TCP/ IP. Καθορίζουν εάν μια ζητούμενη σύνοδος είναι νόμιμη.

(26)

Οι πύλες επιπέδου εφαρμογής (Application level Gateway), αποκαλούμενες επίσης proxies, είναι παρόμοιες µε τις circuit-level gateways εκτός από το ότι είναι για κάποια συγκεκριμένη εφαρμογή. Μπορούν να φιλτράρουν τα πακέτα στο επίπεδο εφαρμογής του προτύπου OSI. Τα εισερχόμενα ή εξερχόμενα πακέτα δεν μπορούν να έχουν πρόσβαση στις υπηρεσίες για τις οποίες δεν υπάρχει κανένα proxy.

3.2 Υπηρεσίες Δικτύου (web services) και Τοίχος Ποστασίας(firewall)

Τα παραδοσιακά δικτυακά firewalls ασχολούνται με την διαχείριση των πακέτων πληροφοριών. Ο σκοπός τους είναι να προστατέψουν την περίμετρο ενός δικτύου από τυχόν κακόβουλα πακέτα. .Προστατεύουν το δίκτυο ελέγχοντας την εισερχόμενη προς αυτό κίνηση μπλοκάροντας την με διάφορες μεθόδους. Κάποια μπλοκάρουν όλες τις πύλες (ports) εκτός από την πύλη 80(http), την πύλη 443(HTTPS) και την πύλη 25(mail). Άλλα απαγορεύουν την κίνηση σε ορισμένες IP διευθύνσεις

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

Τα παραδοσιακά firewalls δεν συμμερίζονται να μπορούν να εξασφαλίσουν με αποτελεσματικότητα τις νέες απειλές. Η χρήση των Δικτυακών Υπηρεσιών πάνω στο HTTP δυσκολεύει τα παραδοσιακά firewalls να μπλοκάρουν την κακόβουλη κίνηση των Υπηρεσιών Δικτύου.

(27)

Θέματα ασφάλειας –Security

Στις δικτυακές Υπηρεσίες κατά τη μεταφορά των απαιτούμενων από την εφαρμογή πληροφοριών προκύπτουν κάποια ζητήματα ασφάλειας. Οι βασικές απαιτήσεις ασφαλείας είναι οι ακόλουθες. [GSB+02] :

Έλεγχος Πρόσβασης (Access control): εγγυάται την ακεραιότητα (integrity) των δεδομένων και την εμπιστευτικότητά τους(confidentiality):

Εμπιστευτικότητα (confidentiality): η οποία εγγυάται την προστασία από υποκλοπή.

Ακεραιότητα (integrity) εγγυάται ότι ένα μήνυμα δεν τροποποιήθηκε τυχαία ή σκόπιμα κατά τη μεταφορά.

Πιστοποίηση (authentication) εγγυάται την πρόσβαση σε μια εφαρμογή μόνο σε χρήστες που μπορούν να παρουσιάσουν κατάλληλη απόδειξη ταυτότητας (proof of identity).

Εξουσιοδότηση (authorization):είναι μια διαδικασία που καθορίζει αν μια ταυτότητα (identity) έχει δικαίωμα πρόσβασης σε δεδομένα της εφαρμογής.

Μη-άρνηση (non-repudiation), η οποία εγγυάται ότι ο αποστολέας ενός μηνύματος δεν μπορεί να αρνηθεί ότι το έστειλε.

3.3 XML FIREWALLS

Τα XML δεδομένα μπορούν να περάσουν μέσω των πυλών 80 και 443, πύλες που τα κοινά σε επίπεδο εφαρμογής firewalls τις θεωρούν ασφαλείς. Έτσι τα συμβατικά firewalls δεν έχουν την δυνατότητα να αναλύσουν και να επικυρώσουν τα XML δεδομένα.

Επιπλέον μερικά XML δεδομένα που λαμβάνονται από εξωτερικά δίκτυα είναι μορφής SOAP και περικλείονται σε ένα SOAP φάκελο που μπορεί να περιλαμβάνει επικίνδυνα εκτελέσιμα μηνύματα. Οι χάκερς είναι δυνατόν να εισάγουν SQL και Windows εκτελέσιμο κώδικα μέσα σε ένα XML πακέτο. Ακόμη μια επίθεση DoS (denial of service) μπορεί να υπερφορτώσει τον server με μεγάλο αριθμό αιτημάτων σε XML με αποτέλεσμα να καταρρεύσει.(LaMonica 7).

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

(28)

Εκτός από την ονομασία τους αυτή που έχει κυριαρχήσει στην διεθνή βιβλιογραφία, συνηθίζεται να αναφέρονται και ως XML Proxies και SOAP Gateways .

3.3.1 Λειτουργία και χαρακτηριστικά των XML Firewalls

Η έννοια των XML firewalls είναι πολύ πρόσφατη. Ο αριθμός των προϊόντων που κυκλοφορούν στην αγορά είναι πολύ περιορισμένος. Τα περισσότερα από τα προϊόντα αυτά χαρακτηρίζονται από ένα σύνολο κοινών λειτουργιών.

Μία από τις βασικότερες λειτουργίες τους είναι ο αυστηρός έλεγχος του XML περιεχομένου, λειτουργία γνωστή και ως σε βάθος έλεγχος πακέτου (Deep Packet Inspection- DPI), η οποία επιτρέπει τον έλεγχο των XML δεδομένων που εμπεριέχονται σε αιτήσεις SOAP.

Τα XML firewalls φιλτράρουν κυρίως την πύλη 80(HTTP) και 443(HTTPS) από όπου περνούν τα μηνύματα SOAP. Ελέγχουν τις κεφαλίδες (headers) των μηνυμάτων και τις XML ετικέτες (tags).

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

Παράλληλα ένα XML firewall μπορεί να ελέγξει το σώμα του μηνύματος και να αντλήσει πληροφορίες από τις ετικέτες. Από τις ετικέτες μπορεί να ‘κρίνει’ αν το μήνυμα είναι εγκεκριμένο ή αν προέρχεται από εγκεκριμένο αποστολέα και ανάλογα να το απορρίψει, να το εγκρίνει ή να το αποθηκεύσει για περαιτέρω έλεγχο.

Μία ακόμη λειτουργία τους είναι ο έλεγχος πρόσβασης είτε για ολόκληρη την υπηρεσία είτε για συγκεκριμένες διεργασίες. Ακόμη μερικά Firewalls δέχονται WSDL αρχεία ή Schemas για την εξασφάλιση της εγκυρότητας των SOAP φακέλων.

Ακόμη παρέχουν εξουσιοδότηση μέσω των usernames και passwords και μέσω του SSL, των πιστοποιητικών X.509 και μέσω της χρήσης της γλώσσας XACML (OASIS XML Access Control Markup Language).

Έπειτα, τα XML firewalls υποστηρίζουν την κωδικοποίήση και αποκωδικοποίηση των δεδομένων ενός SOAP μηνύματος με σκοπό να εξασφαλίσουν την εμπιστευτικότητα του. Ακόμη

(29)

Υψηλό επίπεδο (XML, HTML..) Πρωτόκολλα μεταφοράς

(HTTP, SMTP,FTP..) TCP

IP

XML firewall

Παραδοσιακά firewall

αποτρέπουν από εισβολές XML (XML intrusion prevention) και προστατεύουν από buffer overflows και denial of service επιθέσεις.

Πέρα όμως από τα παραπάνω τα XML firewalls έχουν και άλλες μεθόδους προστασίας..

Μπορούν να καταλάβουν μετα-δεδομένα (metadata) για τον ζητώντα την υπηρεσία (service requestor) καθώς και να συλλέξουν πληροφορίες για τον πελάτη όπως για τον ρόλο που έχει ο ίδιος στο συγκεκριμένο αίτημα.

Ποιο συγκεκριμένα τα XML firewalls μπορούν να χρησιμοποιηθούν για την εξασφάλιση των βασικών απαιτήσεων ασφάλειας :

Εμπιστευτικότητα (Confidentiality). Για την διατήρηση της εμπιστευτικότητας στις Υπηρεσίες Δικτύου ο καλύτερος τρόπος είναι η κρυπτογράφηση της πληροφορίας και η αποστολή της μέσω του πρωτόκολλου SSL (Secure Socet Layer). Τα XML firewalls μπορούν να χειριστούν τις διεργασίες κωδικοποίησης και αποκωδικοποίησης του SSL.

(30)

Ακεραιότητα (Integrity). Από την στιγμή που τα XML Firewalls έχουν την δυνατότητα να χειριστούν διαδικασίες κωδικοποίησης και αποκωδικοποίησης μπορούν να εξασφαλίζουν και την ακεραιότητα του μηνύματος.

Πιστοποίηση (Authentication)Η πιστοποίηση στις Υπηρεσίες Δικτύου είναι η διαδικασία κατά την οποία ο Πελάτης και o Παροχέας της Υπηρεσίας Δικτύου πρέπει να επιβεβαιώσουν την ταυτότητά τους ο ένας στον άλλο. Αυτή η διαδικασία γίνεται με την χρήση των Ψηφιακών Πιστοποιητικών (Digital Certificates). Τα XML firewalls μπορούν να χειριστούν τέτοιου είδους διαδικασία.

Εξουσιοδότηση (Authorization). Αφού έχει γίνει η πιστοποίηση της ταυτότητας των οντοτήτων πρέπει να καθοριστεί το τι ενέργειες είναι εξουσιοδοτημένες να προβούν.

Τα XML Firewalls έχοντας την δυνατότητα να ελέγξουν το περιεχόμενο των μηνυμάτων των Υπηρεσιών Δικτύου και να πιστοποιήσουν τον συγγραφέα το

Referências

Documentos relacionados