<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://www.dotnetzone.gr:443/cs/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Web Services</title><link>https://www.dotnetzone.gr:443/cs/forums/21/ShowForum.aspx</link><description>Συζήτηση περί των web services και WSE, την υλοποίησή τους με το .NET Framework, καθώς και θέματα interoperability με άλλα συστήματα</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Re: Asymmetric encryption χωρίς certificates;</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/3113.aspx</link><pubDate>Sun, 26 Jun 2005 23:58:23 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:3113</guid><dc:creator>jsr</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/3113.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=21&amp;PostID=3113</wfw:commentRss><description>Κάποιο contact point μου με είχε ενημερώσει παλιότερα για το forum, αλλά όταν μπήκα ήταν ακόμα ανενεργό με λίγους χρήστες.&amp;nbsp; Τώρα βλέπω ότι έχει ζωντανέψει&lt;img src="/forums//emoticons/emotion-15.gif" alt="[8-|]" /&gt; ... &lt;br /&gt; &lt;br /&gt; Υ.Γ. Τα βήματα 3,4 επιδέχονται ακόμα καποιες μικρές βελτιώσεις, απλά είπα να μην&amp;nbsp; μπλέξω παρα πολύ την περιγραφή του αλγορίθμου.&lt;br /&gt;</description></item><item><title>Re: Asymmetric encryption χωρίς certificates;</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/3112.aspx</link><pubDate>Sun, 26 Jun 2005 23:13:27 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:3112</guid><dc:creator>Χρήστος Γεωργακόπουλος</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/3112.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=21&amp;PostID=3112</wfw:commentRss><description>&lt;img src="/forums//emoticons/emotion-21.gif" alt="Yes" /&gt;&lt;img src="/forums//emoticons/emotion-21.gif" alt="Yes" /&gt;&lt;img src="/forums//emoticons/emotion-21.gif" alt="Yes" /&gt; Πολύ καλό στα βήματα 3 και 4... δεν μου είχε περάσει απ' το μυαλό... Που ήσουνα εσύ κρυμμένος; Thanx anyway... και welcome στο forum.</description></item><item><title>Re: Asymmetric encryption χωρίς certificates;</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/3107.aspx</link><pubDate>Sun, 26 Jun 2005 22:00:04 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:3107</guid><dc:creator>jsr</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/3107.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=21&amp;PostID=3107</wfw:commentRss><description>Θα κάνω μερικά σχόλια για το συγκεκριμένο θέμα. Στη θεωρία το Asymmetric Εncryption αποτελεί την ιδανική μέθοδο για να διασφαλίσει κανείς την ασφάλεια και την ακεραιότητα των δεδομένων, στην πράξη όμως υπάρχουν διάφορες δυσκολίες, θέματα διαχείρισης και ασφαλούς αποθήκευσης των πιστοποιητικών, και το σημαντικότερο θέματα κόστους. Σκεφτείτε π.χ. έναν παροχέα να έπρεπε να μοιράσει στους πελάτες του πιστοποιημένα ψηφιακά πιστοποιητικά (και όχι "μούφα" πιστοποιητικά όπως κάνει π.χ. γνωστή μεγάλη Ελληνική τράπεζα) σε ασφαλές συσκευές αποθήκευσης (tokens). To κόστος ακόμα και σήμερα είναι δυστυχώς πολύ μεγάλο. Γι'αυτο το λόγο και δεν θα βρείτε commercially εφαρμογές PKI σε μεγάλη κλίμακα .&lt;br /&gt; &lt;br /&gt; Μία άλλη μεθοδολογία την οποία χρησιμοποιoύμε για την παροχή ασφαλών web services χωρίς τη ανάγκη Ψηφιακών Πιστοποιητικών και η οποία μπορεί να χρησιμοποιηθεί και από non windows clients είναι η παρακάτω:&lt;br /&gt; &lt;br /&gt; 1. Τα web services γίνονται install σε secure web server (SSL)&lt;br /&gt; &lt;br /&gt; 2.Στους ενδιαφερόμενους partners μοιράζονται UserName και Password με ασφαλή τρόπο&lt;br /&gt; &lt;br /&gt; 3.Οταν ένας partner καλεί για πρώτη φορά ένα web service καλεί τη&amp;nbsp; μέθοδο GetAuthorisationTicket(UserName) χωρίς να περάσει το password&lt;br /&gt; &lt;br /&gt; 4. O server λαμβάνει το request κάνει retrieve το password του χρήστη παράγει ένα τυχαίο AuthorisationTicket (BinaryData) το κάνει encrypt (AES) με το συμμετρικό κλειδί του χρήστη και το στέλνει στον χρήστη.&lt;br /&gt; &lt;br /&gt; 5. Ο χρήστης κανει decrypt to ticket . Τα ανταλασσομενα μηνύματα αποτελούνται από Header, Body και SecurityCRC: Από το Ηeader του μηνύματος παράγεται ένα string το οποίο γίνεται encyrpt (AES) με το AuthTicket και το οποίο στη συνέχεια γίνεται hashed με SHA512.&lt;br /&gt; &lt;br /&gt; 6. Ο server παραλαμβάνει το μήνυμα εκτελεί την αντίστοιχη διαδικασία και συγκρίνει τα hashes. Αν συμπίπτουν ολα ΟΚ, αλλιώς κάνει discard request.&lt;br /&gt; &lt;br /&gt;&amp;nbsp;Τα ticket έχουν συγκεκριμένο lifetime και γίνονται expire, ενώ στα μηνύματα μεταφέρεται η ημερομηνία/ώρα αποστολής και unique transaction ids για την αποφυγή replay attacks . Η συγκεκριμενη μεθοδολογία έχει το πλεονέκτημα ότι είναι άμεσα εφαρμόσιμη σε διαφορετικές&amp;nbsp; πλατφόρμες, αφού δυστυχώς ακόμα και σήμερα τα security πρωτόκολλα των web services δεν είναι ακόμα παγιωμένα.&lt;br /&gt; &lt;br /&gt; Σε all windows environments υπάρχoυν βέβαια έτοιμες λύσεις διαθέσιμες (βλ. WSE 2.0)&lt;br /&gt;</description></item><item><title>Re: Asymmetric encryption χωρίς certificates;</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/2041.aspx</link><pubDate>Wed, 18 May 2005 22:13:49 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:2041</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/2041.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=21&amp;PostID=2041</wfw:commentRss><description>&lt;p&gt;Τσκ, τσκ, τσκ. Το request ΕΙΝΑΙ κρυπτογραφημένο. Ο server στέλνει το public key του στον client και στέλνει ένα session key κρυπτογραφημένο με αυτό . Από εκεί και πέρα, ο client και ο server επικοινωνούν χρησιμοποιώντας το session key.&lt;/p&gt;</description></item><item><title>Re: Asymmetric encryption χωρίς certificates;</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/2036.aspx</link><pubDate>Wed, 18 May 2005 21:53:24 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:2036</guid><dc:creator>Χρήστος Γεωργακόπουλος</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/2036.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=21&amp;PostID=2036</wfw:commentRss><description>&lt;p&gt;&lt;font style="BACKGROUND-COLOR: #efefef"&gt;Τελικά είπα να πάω σε ssl...&lt;br /&gt;Το σκηνικό είναι το εξής:&lt;br /&gt;Βάζω ένα certificate στον IIS και ζητάω ecryption. Ο client πλέον σε κάθε request στα services βάζει μέσα username και password τα οποία δεν έχω φόβο να μην τα δει κανείς αφού πηγαινοέρχοναι encrypted; (τώρα που το γράφω σκέφτομαι... το response είναι encrypted. Το request όμως που έχει μέσα το password είναι encrypted; Ο client δεν έχει certificate...)&lt;br /&gt;Τεσπά, λύνεται και αυτό, οπότε, αν τα σκέφτομαι σωστά, γλυτώνω το expiration των tickets, plus, έχω και encryption στα δεδομένα μου...&lt;br /&gt;&lt;br /&gt;Μμμ, αν βάλω και ένα check για το IP του client νομίζω ότι έχω καλύψει πολλά θέματα...&lt;br /&gt;&lt;br /&gt;Πείτε μου pls, αν νομίζετε ότι είμαι κάπου λάθος...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;</description></item><item><title>Re: Asymmetric encryption χωρίς certificates;</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/1930.aspx</link><pubDate>Wed, 11 May 2005 19:01:18 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:1930</guid><dc:creator>Panagiotis Kefalidis</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/1930.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=21&amp;PostID=1930</wfw:commentRss><description>Χρησιμοποιείς δικό σου ρολόι εσωτερικά στην εφαρμογή, το οποίο το κάνεις synchronize με το ρολόι του server σε κάποιο απο τα πρώτα request, ώστε να είσαι σίγουρος ότι έχουν κοινό time/date &lt;img src="/forums//emoticons/emotion-15.gif" alt="[8-|]" /&gt;&lt;br /&gt; &lt;br /&gt; Giz.-&lt;br /&gt;</description></item><item><title>Re: Asymmetric encryption χωρίς certificates;</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/1922.aspx</link><pubDate>Tue, 10 May 2005 22:37:53 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:1922</guid><dc:creator>Χρήστος Γεωργακόπουλος</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/1922.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=21&amp;PostID=1922</wfw:commentRss><description>Ποιανού το ρολόι; Έχω clients που το ρολόι τους έχει ξεφύγει και δεν είναι μέσα στο domain μου για να μπορώ να επέμβω. Αν έχω client με 15 λεπτά διαφορά στο ρολόι τι γίνεται;</description></item><item><title>Re: Asymmetric encryption χωρίς certificates;</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/1920.aspx</link><pubDate>Tue, 10 May 2005 07:28:59 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:1920</guid><dc:creator>Panagiotis Kefalidis</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/1920.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=21&amp;PostID=1920</wfw:commentRss><description>Γεια και απο μένα.&lt;br /&gt; &lt;br /&gt; Καινούργιος εδώ και έκοβα λίγο βόλτες στα θέματα και είδα αυτό.&lt;br /&gt; &lt;br /&gt; Ενα καλό implementation θα ήτανε το εξής:&lt;br /&gt; Η δημιουργεία του κλειδιού για μετάδοση γίνεται σύμφωνα με το ρολόι(time &amp;amp; date) και ισχύει για Χ χρόνο (οχι σαν το expire που λέγατε παραπάνο).Σύμφωνα με την Mac Address την IP και την ώρα που έγινε το request βγάζεις το αντίστοιχο κλειδί.Ο client στέλνει αυτό ενώ ο server ξέρει πως να υπολογίσει και αυτός το κλειδί σύμφωνα με τα στοιχεία αυτά(MAC Address,IP,Time &amp;amp; Date).Το κλειδί το κάνεις να είναι valid για X secs.Έτσι δεν υπάρχει περίπτωση κάποιος να καταφέρει να κάνει intercept το connection σου.Ετσι και αλλοιώς και να σπάσει το κλειδί σου, το κλειδί θα είναι valid μόνο για την ημερομηνία, την ώρα και την ip που κατάφερε να το σπάσει.Κοινός θα του είναι άχρηστο! &lt;img src="/forums/emoticons/emotion-1.gif" alt="Smile" /&gt;&lt;br /&gt; &lt;br /&gt; Έχω φτιάξει έναν τέτοιο αλγόριθμο και τον χρησιμοποιώ στις εφαρμογές μου.Είναι εξαιρετικά εύκολος στην υλοποιήσή του, εάν πιάσεις την νοοτροπία του.Ελπίζω να ήτανε χρήσιμο το σχόλιό μου. &lt;img src="/forums/emoticons/emotion-1.gif" alt="Smile" /&gt;&lt;br /&gt; &lt;br /&gt; Ευχαριστώ,&lt;br /&gt; Panagiotis aka Gizm0@GRnet/#php&lt;br /&gt;</description></item><item><title>Re: Asymmetric encryption χωρίς certificates;</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/1769.aspx</link><pubDate>Thu, 28 Apr 2005 18:59:31 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:1769</guid><dc:creator>Χρήστος Γεωργακόπουλος</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/1769.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=21&amp;PostID=1769</wfw:commentRss><description>To TaskVision ήταν το πρώτο που είχα δεί όταν πρωτοβγήκε για αυτά τα θέματα. Η υπάρχουσα υλοποίηση βασίζεται πάνω σε αυτό. But:&lt;br /&gt;&lt;br /&gt;1. Tα passwords μεταδίδονται σε plain text στο αρχικό request (το έχω ξεπεράσει αυτό χρησιμοποιώντας symmetric, το οποίο όμως έχει hardcoded κλειδί μέσα στον client...)&lt;br /&gt;2. Σε κάθε request που γίνεται πρέπει να υπάρχει ειδικό handling για να πιάνει το null response που σημαίνει ότι έχει λήξει το authentication ticket.&lt;br /&gt;&lt;br /&gt;Για να λύσω το πρώτο το ψάχνω με asymmetric.&lt;br /&gt;&lt;br /&gt;Για το δεύτερο μία πρόχειρη λύση είναι να ελέγχω το validity του authentication ticket που έχει στα χέρια του ο client πριν από κάθε request με drowback ότι μου διπλασιάζει τον αριθμό των request το οποίο είναι καταστροφικό για το performance απομακρυσμένων clients. Μια άλλη λύση είναι να μου λέει ο server το timeout του και να μην ανανεώνω το ticket αν δεν έχει περάσει το timeout, με drawback να μένει ο client με το πουλί στο χέρι σε περίπτωση που ο server κάνει expire τα tickets πριν από την ώρα τους (πχ, γιατί έγινε restart το application).&lt;br /&gt;&lt;br /&gt;Για τα data θα παίξει ένα απλό symmetric με κλειδιά που θα ανταλλάσονται κωδικοποιημένα με asymmetric.&lt;br /&gt;&lt;br /&gt;Πάντως στο θέμα του προσδιορισμού των αναγκών έχεις δίκιο.... πρέπει να πέσουν μερικές συζητήσεις...</description></item><item><title>Re: Asymmetric encryption χωρίς certificates;</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/1765.aspx</link><pubDate>Thu, 28 Apr 2005 18:24:33 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:1765</guid><dc:creator>patrick</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/1765.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=21&amp;PostID=1765</wfw:commentRss><description>&lt;BLOCKQUOTE&gt;&lt;table width="85%"&gt;&lt;tr&gt;&lt;td class="txt4"&gt;&lt;img src="/forums/Themes/default/images/icon-quote.gif"&gt;&amp;nbsp;&lt;strong&gt;cgeo wrote:&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="quoteTable"&gt;&lt;table width="100%"&gt;&lt;tr&gt;&lt;td width="100%" valign="top" class="txt4"&gt;&lt;font style="BACKGROUND-COLOR: #efefef"&gt;(Πι ες: ο administrator ας βάλει το FTB να αφήνει html editing (αν αφήνει και ο community server) γιατί τα κουμπάκια πάνω κάνουν τα δικά τους)&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/BLOCKQUOTE&gt;&lt;br /&gt;&lt;br /&gt;Χμμ - ενδιαφέρον!&amp;nbsp; Εμένα μου βγάζει HTML editing, και στον IE και στον Firefox, και δεν βλέπω πουθενά να έχει setting που να το απαγορεύει στους κανονικούς χρήστες.&amp;nbsp; Θα το ψάξω περισσότερο και θα σας πω...</description></item><item><title>Re: Asymmetric encryption χωρίς certificates;</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/1763.aspx</link><pubDate>Thu, 28 Apr 2005 16:57:47 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:1763</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/1763.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=21&amp;PostID=1763</wfw:commentRss><description>Ή να χρησιμοποιήσεις τα certificates και τα Certificate Services, που δημιουργήθηκαν ακριβώς για να αποφύγεις όλο αυτό τον μπελά! &lt;img src="/forums//emoticons/emotion-2.gif" alt="Big Smile" /&gt;</description></item><item><title>Re: Asymmetric encryption χωρίς certificates;</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/1762.aspx</link><pubDate>Thu, 28 Apr 2005 16:21:51 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:1762</guid><dc:creator>KelMan</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/1762.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=21&amp;PostID=1762</wfw:commentRss><description>&lt;p&gt;&lt;span style="FONT-SIZE: 9.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Ρίξε μια ματιά στο παράδειγμα του &lt;a target="_blank" title="http://www.windowsforms.net/TaskVision/SourceViewer.aspx?tabindex=7&amp;amp;tabid=44" href="http://www.windowsforms.net/TaskVision/SourceViewer.aspx?tabindex=7&amp;amp;tabid=44"&gt;&lt;u&gt;&lt;font color="#800080"&gt;TaskVision&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&amp;nbsp;και συγκεκριμένα στο &lt;a target="_blank" title="http://www.windowsforms.net/TaskVision/SourceViewer.aspx?tabIndex=7&amp;amp;tabId=44&amp;amp;path=Blank.src&amp;amp;file=WebServiceSecurity&amp;amp;rows=1" href="http://www.windowsforms.net/TaskVision/SourceViewer.aspx?tabIndex=7&amp;amp;tabId=44&amp;amp;path=Blank.src&amp;amp;file=WebServiceSecurity&amp;amp;rows=1"&gt;&lt;u&gt;&lt;font color="#800080"&gt;Web Service Security&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;. Υλοποιεί την τεχνική&amp;nbsp;των tickets που γίνονται expire. Συγκεκριμένα, επειδή η λύση βασίζεται σε web services, κάθε χρήστης μόλις γίνει authenticated αποκτά ένα ticket το οποίο το περνάει μαζί με τις απαραίτητες παραμέτρους σε κάθε κλήση web method. Το ticket γίνεται expire βάσει κάποιου policy οπότε στην περίπτωση που ξαναγίνει κλήση του WS με ληγμένο ticket, ξαναγίνεται silent authenticate ο χρήσης με τα credencials που ήδη έχει και παράγεται νέο ticket. Δηλαδή το username/password ταξιδεύει μόνο μία φορά πάνω στο δίκτυο (οπότε μπορείς να το προστατέψεις με HTTPS/IPsec αν ανησυχείς τόσο πολύ για sniffers) και κατόπιν με το συγκεκριμένο set username/password δημιουργούνται tockens τα οποία δεν χρειάζονται προστασία γιατί έτσι κι αλλιώς γίνονται πολύ γρήγορα expire.&lt;br /&gt;&lt;br /&gt;Δεν ξέρω πως ακριβώς υλοποιείς την client/server αρχιτεκτονική στο project σου, αλλά μπορείς να πάρεις αρκετές ιδέες από το παραπάνω παράδειγμα.&lt;br /&gt;&lt;br /&gt;Γενικά πάντως (και sorry αν με πιάνει το δασκαλίστικο αλλά ενδεχομένως να ενδιαφέρει και άλλους το post), θα πρέπει να προσδιορίσεις ποια είναι τα αποδεκτά risks σε ότι αφορά το security. &lt;br /&gt;Πχ χρειάζεσαι να κάνεις encrypt το password ώστε να το αποθηκεύσεις σε κάποια DB?&amp;nbsp;&amp;nbsp;Αν ναι, θα&amp;nbsp;μπορεί να το δει (έστω και encrypted) ο DBA, οπότε θα πρέπει να βρεις το δικό σου secured store. Αν&amp;nbsp;ο DBA δει το encrypted password υπάρχει περίπτωση να κάνει&amp;nbsp;κρυπτανάλυση&amp;nbsp;για&amp;nbsp;να το δει σε plain text; Γιατί τότε θα πρέπει να υλοποιήσεις assymetric encryption με salt. Υπάρχει περίπτωση να κλέψει το username/password κάποιος πάνω από το καλώδιο? Αν όχι, τότε το HTTPS/IPsec είναι υπερβολικό. Αν υπάρχει περίπτωση τότε με τα ίδια τα data που θα ταξιδεύουν πάνω στο δίκτυο τί γίνεται; Μήπως θα μπορούσε κάποιος να τα κλέψει κι αυτά;&lt;br /&gt;&lt;br /&gt;Αν επιχειρήσεις να κάνεις την εφαρμογή σου 99% bullet proof θα πρέπει να επενδύσεις αρκετά resources (χρόνο, χρήμα, κλπ) ενώ αν προσδιορίσεις τι ακριβώς και από ποιόν θέλεις να προστατέψεις μπορείς να κάνεις συγκεκριμένα πράγματα για να είσαι ήσυχος.&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"&gt;&lt;o:p&gt;&lt;font face="Times New Roman" size="3"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt;</description></item><item><title>Re: Asymmetric encryption χωρίς certificates;</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/1761.aspx</link><pubDate>Thu, 28 Apr 2005 16:15:42 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:1761</guid><dc:creator>Χρήστος Γεωργακόπουλος</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/1761.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=21&amp;PostID=1761</wfw:commentRss><description>&lt;p&gt;&lt;font style="BACKGROUND-COLOR: #efefef"&gt;Ιδέα !&lt;br /&gt;Ο Client να ρίχνει μέσα στο username token και το IP του, ή αν είναι πίσω από proxy, το IP του proxy. Ο server όταν ανοίγει το πακέτο μπορεί να συγκρίνει το IP που έχει μέσα στο πακέτο με το IP από το οποίο προήλθε το request.&lt;br /&gt;&lt;br /&gt;Μένει η περίπτωση του IP spoofing, το οποίο μάλλον είναι πολύ extreme για να το καλύψω.&lt;br /&gt;&lt;br /&gt;Ο client όμως μπορεί να βρεί το IP που χρησιμοποιεί ο proxy εξωτερικά; δύσκολα πράγματα... μου χαλάει τη δουλιά ο proxy....&lt;/font&gt;&lt;/p&gt;</description></item><item><title>Re: Asymmetric encryption χωρίς certificates;</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/1759.aspx</link><pubDate>Thu, 28 Apr 2005 07:11:50 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:1759</guid><dc:creator>Χρήστος Γεωργακόπουλος</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/1759.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=21&amp;PostID=1759</wfw:commentRss><description>&lt;p&gt;&lt;font style="BACKGROUND-COLOR: #efefef"&gt;&lt;strong&gt;Το σκεπτικό είναι το εξής:&lt;br /&gt;&lt;/strong&gt;1. Ο χρήστης δίνει username και password στον client&lt;br /&gt;2. O client αν δεν έχει το&amp;nbsp;ήδη, ζητάει από τον server να του στείλει το δημόσιο κλειδί του&lt;br /&gt;3. Σε κάθε request που γίνεται, αποστέλλονται το username και το password κωδικοποιημένα με το δημόσιο κλειδί του server.&lt;br /&gt;4. Ο server αποκρυπτογραφεί το username και το password με το ιδιωτικό κλειδί του, τα ελέγχει ότι είναι valid και τότε απαντάει στο request.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Έτσι πετυχαίνω τα εξής:&lt;/strong&gt;&lt;br /&gt;1. Δεν ταξιδεύουν τα passwords ελεύθερα μέσα στο καλώδιο.&lt;br /&gt;2. Δεν έχω hardcoded κλειδιά (πχ για symmetric δουλιές) μέσα στον client (ο client μοιράζεται ελεύθερα στο internet και το reflector είναι πολύ γνωστό...)&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Προβλήματα που παραμένουν:&lt;/strong&gt;&lt;br /&gt;Σαφώς και μπορεί κάποιος να τσιμπίσει το encrypted token από το καλώδιο και να μου το στέλνει σε δικά του requests προσποιούμενος ότι είναι κανονικός πελάτης.&lt;br /&gt;Μία λύση που έχω δεί σε παρόμοια προβλήματα είναι να μπαίνει expiration στα κλειδιά, το οποίο ναι μεν δυσκολεύει τα πράγματα για τον κακό, αλλά με βάζει σε άλλους μπελάδες.&lt;br /&gt;&lt;br /&gt;Καμιά ιδέα; υπάρχει κάτι που έχω πιάσει στραβά;&lt;br /&gt;&lt;br /&gt;(Πι ες: ο administrator ας βάλει το FTB να αφήνει html editing (αν αφήνει και ο community server) γιατί τα κουμπάκια πάνω κάνουν τα δικά τους)&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;</description></item><item><title>Re: Asymmetric encryption χωρίς certificates;</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/1757.aspx</link><pubDate>Thu, 28 Apr 2005 05:43:01 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:1757</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/1757.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=21&amp;PostID=1757</wfw:commentRss><description>Το οποίο σημαίνει ότι έχεις κάνει ήδη trust τον άλλο? &lt;img src="/forums//emoticons/emotion-4.gif" alt="Stick out tongue" /&gt;&lt;br /&gt;&lt;br /&gt;Η κρυπτογράφηση δεν είναι κάτι που γίνεται έτσι εύκολα. Πρέπει να καταλάβεις τις βασικές έννοιες αλλιώς η υλοποίησή σου θα είναι επισφαλής κι ας έχεις χρησιμοποιήσει AES για την κρυπτογράφηση. &lt;br /&gt;&lt;br /&gt;Το .NET περιέχει την κλάση RSACryptoServiceProvider για ασύμμετρη κρυπτογράφηση. Δεν χρειάζεται certificates, της δίνεις το public key σε κάποια μορφή και μετά καλείς την μέθοδο &lt;a target="_blank" title="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemSecurityCryptographyRSACryptoServiceProviderClassEncryptTopic.asp" href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemSecurityCryptographyRSACryptoServiceProviderClassEncryptTopic.asp"&gt;Encrypt &lt;/a&gt;για να πάρεις το κρυπτογραφημένο μύνημα. Το help της μεθόδου περιέχει και sample για τη χρήση της. Δες επίσης και &lt;a target="_blank" title="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemSecurityCryptographyRSACryptoServiceProviderClassEncryptTopic.asp" href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemSecurityCryptographyRSACryptoServiceProviderClassEncryptTopic.asp"&gt;το κεφάλαιο για την κρυπτογράφιση&lt;/a&gt; στο MSDN. Δες επίσης και το άρθρο &lt;a target="_blank" title="http://www.devx.com/security/Article/17455/0/page/1" href="http://www.devx.com/security/Article/17455/0/page/1"&gt;RSA in VB.Net&lt;/a&gt;&amp;nbsp;στο DevX για μια περιγραφή της διαδικασίας και άλλο ένα sample. Στο google θα πρέπει να ψάξεις για την RSACryptoServiceProvider.Encrypt.&lt;br /&gt;&lt;br /&gt;Τέλος, μην βιαστείς να χρησιμοποιήσεις το απλούστερο sample που θα βρεις, ή αρχικά κλειδιά ή message block με απλές τιμές (π.χ. όλα τα bytes 0).</description></item></channel></rss>