Jump to content


AES Encryption για Outlook 2003


Jaco

Recommended Posts

Συζητούσα με ένα φίλο για κρυπτογράφηση σε e-mails κτλ και μου είπε ότι υπήρχαν διάφορες λύσεις, οι οποίες άλλες ήταν ακριβές, άλλες ήταν έτσι και αλλιώς κτλ, μέχρι που καταλήγει ότι κάποιος γνωστός του χρέωσε σε μια εταιρία 5ψήφιο ποσό για να τους ενσωματώσει AES κρυπτογράφηση μέσα στο Outlook 2003… ε… νταξ… αυτό ήταν δεν ήθελα άλλο… ώρες-ώρες όταν ακούω τέτοια ποσά για γρήγορες δουλειές και άλλοι σκίζονται και δεν βγάζουν τόσα τον χρόνο, τότε μου γυρνάνε μπουλόνια…

Τέλος πάντων έκατσα και έφτιαξα το ΣΚ ένα plug-in για το Outlook 2003 το οποίο κάνει ακριβώς αυτήν την δουλειά… μπορείς να κρυπτογραφήσεις/ αποκρυπτογραφήσει με 128-bit και 256-bit AES encryption ένα e-mail μέσα από το Outlook… Αυτό γίνεται απλά με ένα dll plug-in και ένα dll με τον AES… και είναι free of charge…

Η αρχή λειτουργίας είναι πολύ απλή… φτιάχνεις μια λίστα με e-mail και κλειδιά, επιλέγεις από την λίστα σε ποιόν θα στείλεις μήνυμα, γράφεις το μήνυμα και το στέλνεις… πριν αποσταλεί το μήνυμα, ο κώδικας βρίσκει το κλειδί από τον αποστολέα και κρυπτογραφεί το μήνυμα… επειδή ο AES δεν είναι αλγόριθμος που επιστρέφει μόνο printable χαρακτήρες, αλλά και binary, το κείμενο μετατρέπεται σε Base64 ώστε να μεταφερθεί στο body του e-mail και τελικά η ανάστροφη διαδικασία οδηγεί στην αποκρυπτογράφηση…

Για το πρόγραμμα δεν θα δώσω κώδικα για δυο λόγους, πρώτων γιατί κάποιος μπορεί να τον χρησιμοποιήσει και για κακό σκοπό και δεύτερον ο AES που έχει στο JacoAES.dll θέλω να μείνει δικός μου για προσωπικούς λόγους… Ωστόσο μπορεί οποιοσδήποτε να το χρησιμοποιήσει για την ασφαλή επικοινωνία του… Θα μου πείτε τώρα και που ξέρουμε εμείς ρε μεγάλε ότι εσύ δεν έχεις κάνει κάτι “περίεργο”…? Δεν ξέρετε, παρά μόνο μπορώ να πω ότι δεν με ωοιάζουν τα mail του καθενός…

Για να δουλέψει το dll πρέπει να έχετε ΉΔΗ εγκαταστήσει τα παρακάτω…:

(1) .Net Framework 2

(2) Visual Studio Tools for Office SE Runtime

(3) Office 2003 Update: Redistributable Primary Interop Assemblies

Το αρχείο μπορείτε να το κατεβάσετε από ΕΔΩ και αποτελείται από τα εξής…:

1. JacoAES.dll, είναι ένα dll αρχείο σε C++ και κάνει export κάποιες function που υλοποιούν το encryption και το decryption, με διάφορες παραμέτρους… Αυτό το κάνουμε copy/paste στο “C:\Windows\System32”, αλλιώς το plug-in απλά δεν θα παίξει…

2. JacoAesSetup.exe, το οποίο περιέχει την εγκατάσταση του Add-In, που δεν είναι άλλο το AES.dll, το AES.dll.manifest και τα sign assembly και το CAS policy (SetSecurity.dll), τα οποία χρειάζονται για να τρέξει σωστά το add-in…

Αφού κάνουμε την εγκατάσταση των τριών πακέτων που χρειάζονται για να τρέχουν τα VSTO add-ins, τρέχουμε το JacoAesSetup.exe, το οποίο εγκαθίσταται στον φάκελο Program Files\JacoAES…

Ύστερα τρέχουμε το Outlook 2003… Αν δεν έχει εμφανιστεί ήδη ένα κουμπί στα toolbars που λέγεται “AES”, τότε κάνουμε το παρακάτω…:

Tools->Other->Advanced Options(General)->COM Add-Ins->Add και λογικά αν δεν δείξει το path “C:\Documents and Settings\Administrator\Application Data\Microsoft\AddIns”, πάμε σε αυτό και προσθέτουμε το AES.dll…

Στο σημείο αυτό μπορεί να βγάλει κάποιο σφάλμα γιατί γενικότερα το VSTO τον πίνει ακόμα στην 2η έκδοση, αλλά αν το δείξει στα available Add-Ins, τότε κανένα πρόβλημα… Λογικά, αφού πατήσετε OK σε όλα τα παράθυρα θα πρέπει να έχει βγει ένα καινούργιο button το οποίο λέει AES…

Διαφορετικά η διαδικασία φαίνεται στην παρακάτω εικόνα…:

z0jywzc0ywijlojokyyw.jpg

Οπότε λογικά θα δείτε αυτό το κουμπί…:

yjigtmjhtlnizvzfojya.jpg

Αν δεν το δείτε κλείστε το Outlook και πηγαίνετε στο φάκελο “C:\Documents and Settings\username\Local Settings\Application Data\Microsoft\Outlook” όπου username το login σας στα windows και μετονομάστε το “extend.dat” σε “extend.dat.bak” έτσι ώστε να γίνει refresh το αρχείο το οποίο κρατάει τα extension entries του registry για το Outlook…

Αν όλα πάνε καλά και δείτε το κουμπί “AES”, τότε πατήστε το και θα δείτε το παρακάτω παράθυρο…

hjznvzjdd1lcdogmqzzm.jpg

Αυτό σημαίνει ότι τρέχει για πρώτη φορά το AES add-In… οπότε πάει και δημιουργεί το αρχείο “C:\OutlookAes.conf” αυτό περιέχει πληροφορίες όπως η version και το location του αρχείου με τα encryption keys… Όταν πατήσουμε OK τότε το επόμενο παράθυρο θα εμφανιστεί…:

qjmm4tmazntmay2tzm3u.jpg

Αυτό σημαίνει ότι θα δημιουργήσει το αρχείο “C:\aesOutlookKeyFile.key”, το οποίο κρατάει τα contacts και τα κλειδιά… αυτός φυσικά δεν είναι ο πιο ενδεδειγμένος τρόπος, αλλά χάριν συντόμευσης τον επέλεξα σαν πιο γρήγορο… κατά την δημιουργία του αρχείου αυτού έχω προσθέσει ένα example key των 128-bit, το οποίο δεν έχει καμιά χρησιμότητα, αλλά υπάρχει σαν παράδειγμα μόνο…

Στην συνέχεια μπορείτε είτε να σβήσετε αυτό το κλειδί, είτε να αρχίσετε να δημιουργείτε καινούργια… Για κάθε σύνδεσμο που προσθέτετε επιλέγεται αν θα είναι 128 ή 256-bit και δίνετε και το κλειδί που θα αντιστοιχεί σε αυτόν… Για παράδειγμα αν θέλετε να προσθέσετε ένα καινούργιο σύνδεσμο, πατάτε το “Νέος σύνδεσμος” και εμφανίζεται το παρακάτω…:

nnnt2kdxclyntazmu0zw.jpg

Εδώ δίνεται το όνομα του συνδέσμου το οποίο ΠΡΕΠΕΙ να είναι το e-mail του παραλήπτη, π.χ. paradeigma@gmail.com και αφού επιλέξετε το μήκος του κλειδιού δίνετε και το ίδιο το κλειδί…

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

z3jmaadminlhzwxfztzf.jpg

Στην συνέχεια όταν θέλετε να στείλετε ένα κρυπτογραφημένο κείμενο πατάτε πάνω στον σύνδεσμο και κάνετε κλικ στο κουμπί “Αποστολή”… τότε ανοίγει ένα νέο παράθυρο και γράφεται το μήνυμα σας και το Subject… Προσοχή θέλει το format του e-mail να είναι μόνο HTML και όχι plain ή κάτι άλλο, γιατί για κάποιους λόγους που δεν έχουν τώρα σημασία δεν θα δουλέψει σωστά το encryption/decryption… Αυτά φαίνονται παρακάτω…

xwhzontujwdhklmzyjjy.jpg

Αφού πατήσετε send θα φύγει το μήνυμα και θα φτάσει κρυπτογραφημένο, κάπως έτσι…:

zz1thgbzjtiyo0wenoyl.jpg

Στην συνέχεια, κάνετε copy paste όλο το κείμενο μαζί με τα padding γράμματα ΑΑΑ… και από το Outlook διαλέγετε τον σύνδεσμο που θέλετε και πατάτε το κουμπί “Decrypt>”, τότε ανοίγει ένα μικρό textbox στο πλάι που κάνετε paste το κρυπτογραφημένο κείμενο… όπως φαίνεται παρακάτω…:

i5avw2ndcmyzzn3z1yog.jpg

Και… πατάτε “decrypt”, τότε ανοίγει ένα νέο παράθυρο με το κείμενο αποκρυπτογραφημένο και όπως βλέπετε και παρακάτω είναι το ίδιο με αυτό που στείλατε…:

aymqdqm5y2m4q2jtt1mn.jpg

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

αλλά τα προβλήματα να τα λύσουμε…

Ελπίζω να φανεί χρήσιμο σε κάποιους...

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

:)

Link to comment
Share on other sites

  • 2 weeks later...

Έκανα μια μικρή αναβάθμιση... εκεί που στα κρυπτογραφημένα e-mail δεν είχε CR,LF χαρακτήρες και τα έβγζε όλα στην σειρά με αποτέλεσμα να γίνεται δύσκολο στο copy /paste, τώρα έχει διορθωθεί και φαίνεται πιο όμορφο...

Το αρχείο βρίσκεται εδώ

Link to comment
Share on other sites

  • 6 years later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Δημιουργία...

Important Information

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