<?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>SQL Server (και άλλες databases)</title><link>https://www.dotnetzone.gr:443/cs/forums/28/ShowForum.aspx</link><description>Θέματα που αφορούν τον SQL Server (7.0, 2000, 2005) αλλά και Oracle, Access, DB2, MySQL, κλπ.</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Απ: SQL Server Encryption</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/62709.aspx</link><pubDate>Thu, 27 Jan 2011 02:47:11 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:62709</guid><dc:creator>spaceman</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/62709.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=62709</wfw:commentRss><description>&lt;P&gt;&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;BR&gt;Οπότε πιστευεις ότι με αυτό τον τρόπο δεν θα έχω πρόβλημα.&lt;BR&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;BR&gt;Αν καποιος "αποκτησει προσβαση" στην βαση ενω δεν θα επρεπε, τοτε υπαρχει προβλημα το οποιο δεν λυνεται με encryption.&lt;BR&gt;Σε γενικες γραμμες, το encryption ΔΕΝ αντικαθιστα τo security/access στην βαση. Το encryption "προσθετει" ενα επιπλεον layer ασφαλειας στα δεδομενα&lt;BR&gt;:&amp;nbsp; μονο οσοι εχουν αδεια προσβασης στα δεδομενα κ μονο οσοι εχουν την αδεια να χρησιμοποιησουν τα κλειδια για αποκρυπτογραφηση (additional layer) μπορουν να διαβασουν τα πραγματικα δεδομενα.&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;Ο ποιο "ασφαλης" τροπος για να κρυπτογραφησεις δεδομενα ειναι να χρησιμοποιησεις password για ενα κομματι της encryption hierarchy και αυτο το κομματι ΔΕΝ αποθηκευεται πουθενα.&lt;BR&gt;πχ. στο παραδειγμα του dotnetslackers,&amp;nbsp; αν αλλαξεις την default behavior του SQL, να μην αποθηκευει το database key στην master db, &lt;/P&gt;
&lt;P&gt;ALTER MASTER KEY DROP ENCRYPTION BY SERVICE MASTER KEY&lt;/P&gt;
&lt;P&gt;τοτε ο μονος τροπος για να "ανοιξεις" το database key ειναι με χρηση του password.&lt;BR&gt;Admins, dbowners, other users που εχουν προσβαση στα δεδομενα αλλα ΔΕΝ γνωριζουν το password για το database key, ΔΕΝ μπορουν να τα αποκρυπτογραφησουν (επισης δεν μπορουν να παρουν backup του database key, να το τροποποιησουν κτλ)&lt;/P&gt;
&lt;P&gt;Ωστοσο, αλλαζοντας την default behavior, θυσιαζεις την ευκολια χρησης out of the box, επειδη καθε φορα που χρειαζεται να αποκρυπτογραφηθουν δεδομενα πρεπει να "δοθει/προσδιοριστει" το password οποτε η "δυσκολια της υλοποιησης" μεταφερεται στον τροπο με τον οποιο παρεχεις το password.&lt;/P&gt;
&lt;P&gt;&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;BR&gt;&amp;nbsp;θέλω να μπορώ να κάνω search σε encrypted data με το like operator &lt;BR&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;BR&gt;Encryption και αναζητηση ειναι αντιφατικοι/αλληλοσυγκρουομενοι οροι. Για να μπορεσεις να κανεις αναζητηση μεσα στα δεδομενα θα πρεπει να τα αποκρυπτογραφησεις πρωτα (ολα)&amp;nbsp;.&lt;BR&gt;Για μεγαλο ογκο δεδομενων σε περιβαλλον υψηλης χρησης, αυτο ισως να ειναι πρακτικα απαγορευτικο.&lt;BR&gt;Υπαρχουν καποια trick που χρησιμοποιουν indexes σε hashed data (εφοσον χρησιμοποιειται encryption σε επιπεδο στηλης/κελιου) αλλα αυτα τα trick μπορουν να χρησιμοποιηθουν μονο για exact matches (οχι για LIKE %..%)&lt;/P&gt;
&lt;P&gt;&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;BR&gt;...να μη μπορεί μετά κανείς να μου πει γιατί δεν έβαλες encryption και γενικά ασφάλεια στην εφαρμογή&lt;BR&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;BR&gt;Σε καθε περιπτωση πρεπει να προσδιορισεις ποια δεδομενα (ιατρικοι φακελοι, ΑΦΜ etc) απαιτουν (βαση νομοθεσιας, απαιτηση πελατη, κοινης λογικης etc) επιπλεον προστασια και υπο/για ποιες συνθηκες (αν οι χρηστες εχουν προσβαση στα δεδομενα αλλα δεν θα πρεπει να μπορουν δουν καποια απο αυτα, αν η βαση βγει εκτος server etc).&lt;BR&gt;Το να εχεις encryption για να λες οτι εχεις encryption δεν ειναι λογος για να κρυπτογραφησεις τα δεδομενα.&lt;/P&gt;
&lt;P&gt;Τα παρακατω links παρεχουν πληροφοριες σχετικα με την κρυπτογραφηση στον SQL Server, διαφορετικους τροπους προσεγγισης υπο διαφορετικες συνθηκες και καποια trick για ταχυτερες αναζητησεις σε encrypted data (οχι ομως για ταχυτερες αναζητησεις LIKE %...% οι οποιες ειναι πρακτικα πολυ πολυ&amp;nbsp;δυσκολες (εως ακατορθωτες)&amp;nbsp;)&lt;/P&gt;
&lt;P&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/cc837966(v=sql.100).aspx"&gt;http://msdn.microsoft.com/en-us/library/cc837966(v=sql.100).aspx&lt;/A&gt;&lt;BR&gt;&lt;A href="http://blogs.msdn.com/b/raulga/archive/2006/03/11/549754.aspx"&gt;http://blogs.msdn.com/b/raulga/archive/2006/03/11/549754.aspx&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;--ΗΤΗ--&lt;/P&gt;</description></item><item><title>Απ: SQL Server Encryption</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/62691.aspx</link><pubDate>Wed, 26 Jan 2011 06:56:13 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:62691</guid><dc:creator>it048</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/62691.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=62691</wfw:commentRss><description>&lt;P&gt;Πολύ ενδιαφέρον όλο το παραπάνω, ευχαριστώ&lt;/P&gt;
&lt;P&gt;Οπότε πιστευεις ότι με αυτό τον τρόπο δεν θα έχω πρόβλημα. Εμένα με νοιάζει επειδή κάνω μία εφαρμογή με ιατρικά δεδομένα να μη μπορεί μετά κανείς να μου πει γιατί δεν έβαλες encryption και γενικά ασφάλεια στην εφαρμογή.&lt;/P&gt;
&lt;P&gt;Μπορώ βέβαια το&amp;nbsp;&amp;nbsp;encryption να το κάνω και στην εφαρμογή απλά επειδή θέλω να μπορώ να κάνω search σε encrypted data με το like operator στο επίπεδο εφαρμογής είναι δύσκολο&lt;/P&gt;</description></item><item><title>Απ: SQL Server Encryption</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/62579.aspx</link><pubDate>Sat, 22 Jan 2011 02:00:17 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:62579</guid><dc:creator>spaceman</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/62579.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=62579</wfw:commentRss><description>&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://www.dotnetzone.gr/cs/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;it048:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt; 
&lt;P&gt;Εγώ εννοω αν κάποιος κανει hack τον SQL Server και πάρει τη βάση αν θα μπορέσει να αποκρυπτογραφήσει τα data&lt;/P&gt;
&lt;P&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;/P&gt;
&lt;P&gt;Για να μπορεσει καποιος να αποκρυπτογραφησει τα δεδομενα, θα πρεπει να αποκτησει ολα τα απαραιτητα κλειδια.&lt;BR&gt;Στο παραδειγμα που ανεφερες: dotnetslackers.com ..., εκτελουνται διεργασιες που δεν αναφερονται ρητα :&lt;BR&gt;1. Δημιουργειται database master key το οποιο προστατευεται/encrypted by password.&amp;nbsp; ** Επισης το database master key γινεται παραλληλα encrypted by service master key (default behavior of sql) και αποθηκευται/copy στην master database (this behavior can be altered though) **&lt;BR&gt;2. Δημιουργειται certificate το οποιο προστατευεται/encrypted απο το database master key.&lt;BR&gt;3. Δημιουργειται symmetric key το οποιο προστατευεται/encrypted απo το certificate.&lt;/P&gt;
&lt;P&gt;Σε αυτην την hierarchy, αν θελεις να απο/κρυπτογραφησεις δεδομενα θα πρεπει να&amp;nbsp;ανοιξεις το symmetric key. Για να ανοιξεις το symmetric key θα πρεπει να χρησιμοποιησεις το certificate. Για να χρησιμοποιησεις το certificate θα πρεπει να ανοιξεις το database master key. Το&amp;nbsp;database master key το ανοιγεις με το password ή εφοσον η default συμπεριφορα ειναι σε ισχυ, ΔΕΝ χρειαζεται να το ανοιξεις καθολου επειδη ο server το ανοιγει απο την κοπια που εχει αποθηκευμενη στην master database {στο παραδειγμα στο dotnetslackers δεν υπαρχει πουθενα OPEN MASTER KEY ....}.&lt;BR&gt;Το βασικο σημειο , στο αναφερομενο παραδειγμα, ειναι το database master key. Στο συγκεκριμενο παραδειγμα, για να μπορεσει καποιος {που εχει "μπει" στην βαση}&amp;nbsp;&amp;nbsp;να αποκρυπτογραφησει τα δεδομενα θα πρεπει να μπορεσει να ανοιξει το database master key :&lt;BR&gt;1. Να βρει το password με το οποιο ειναι encrypted to database master key (σχετικα απιθανο): CREATE MASTER KEY ENCRYPTION BY PASSWORD = &lt;FONT style="BACKGROUND-COLOR:#ffff00;"&gt;'this is the password for encrypt the database master key'&lt;FONT style="BACKGROUND-COLOR:#ffffff;"&gt;&lt;BR&gt;ή&lt;BR&gt;2. Να&amp;nbsp;δημιουργησει&amp;nbsp;backup&amp;nbsp;του database master key&amp;nbsp;(σχετικα ευκολο, requires CONTROL permission on the database): BACKUP MASTER KEY TO FILE = 'path\temp\dbmasterkey' ENCRYPTION BY PASSWORD = 'I stole your database&amp;nbsp;master key' (ο κακοβουλος χρηστης εχει elevated permissions, ο sql server ανοιγει το database key απο την κοπια που ειναι αποθηκευμενη στην master, το database key αποθηκευεται στο backup)&lt;/FONT&gt;&lt;/FONT&gt;&lt;BR&gt;&lt;BR&gt;Ετσι, αν ο κακοβουλος χρηστης, παρει την βαση κ το backup του database key, τοτε εχει αποκτησει ολα τα κλειδια:&lt;BR&gt;database master key : αποθηκευμενο στο backup key file&lt;BR&gt;certificate: stored in the database&lt;BR&gt;symmetric key: stored in the database&lt;BR&gt;και μπορει να αποκρυπτογραφησει τα δεδομενα.&lt;/P&gt;
&lt;P&gt;--ΗΤΗ--&lt;/P&gt;</description></item><item><title>Απ: SQL Server Encryption</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/62550.aspx</link><pubDate>Fri, 21 Jan 2011 07:03:03 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:62550</guid><dc:creator>it048</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/62550.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=62550</wfw:commentRss><description>&lt;P&gt;Μιλάω για Hosted Περιβάλλον όπου φυσικά μόνο οι admins έχουν πρόσβαση. Εγώ εννοω αν κάποιος κανει hack τον SQL Server και πάρει τη βάση αν θα μπορέσει να αποκρυπτογραφήσει τα data&lt;/P&gt;</description></item><item><title>Απ: SQL Server Encryption</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/62549.aspx</link><pubDate>Fri, 21 Jan 2011 06:44:34 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:62549</guid><dc:creator>Antonios Chatzipavlis</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/62549.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=62549</wfw:commentRss><description>&lt;P&gt;Πρόσβαση στον SQL Server έχουν οι admins και μόνο αυτοί. Για να αποκτήσει κάποιος πρόσβαση θα πρέπει κάποιος να του την δώσει σωστά?&lt;/P&gt;&lt;P&gt;Και admin κάνουμε αυτόν ή αυτούς που εμπιστευόμαστε περισσότερο από τον ευατό μας. Εξάλλου δεν μπορεί κάποιος να είναι admin και να μην τον εμπιστευόμαστε σωστά?&lt;/P&gt;</description></item><item><title>Απ: SQL Server Encryption</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/62548.aspx</link><pubDate>Fri, 21 Jan 2011 05:37:32 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:62548</guid><dc:creator>it048</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/62548.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=62548</wfw:commentRss><description>&lt;P&gt;Όσον αφορά την ασφάλεια όμως αν κάποιος αποκτήσει πρόσβαση στον SQL Server έχοντας το symmetric key εκεί δε θα μπορέσει να κάνει decrypt τα δεδομένα&lt;/P&gt;</description></item><item><title>Απ: SQL Server Encryption</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/62547.aspx</link><pubDate>Fri, 21 Jan 2011 04:51:45 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:62547</guid><dc:creator>Antonios Chatzipavlis</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/62547.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=62547</wfw:commentRss><description>&lt;P&gt;Μια καλή τεχνική είναι για όλες τις CRUD λειτουργίες να φτιάξεις stored procedures η οποίες θα κάνουν το encryption στα δεδομένα σου και θα καλεις αυτές από την εφαρμογή σου. Όσο για το SELECT ένα view/function/stored proc που θα έκανε το decrypt θα ήταν αρκετό.&lt;/P&gt;</description></item><item><title>Απ: SQL Server Encryption</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/62546.aspx</link><pubDate>Fri, 21 Jan 2011 04:42:09 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:62546</guid><dc:creator>it048</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/62546.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=62546</wfw:commentRss><description>Μία βοήθεια για το πως θα γίνει αυτό?</description></item><item><title>Απ: SQL Server Encryption</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/62527.aspx</link><pubDate>Thu, 20 Jan 2011 16:37:07 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:62527</guid><dc:creator>Antonios Chatzipavlis</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/62527.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=62527</wfw:commentRss><description>&lt;P&gt;κ α ν ο ν ι κ ό τ α τ α &lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-11.gif" alt="Cool" /&gt;&lt;/P&gt;</description></item><item><title>SQL Server Encryption</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/62520.aspx</link><pubDate>Thu, 20 Jan 2011 07:04:56 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:62520</guid><dc:creator>it048</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/62520.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=62520</wfw:commentRss><description>Αυτό μπορώ να το χρησιμοποιήσω με Asp.net και να γίνεται το encryptio και decryption σε επίπεδο βάσης?&lt;BR&gt;&lt;BR&gt;&lt;A href="http://dotnetslackers.com/articles/sql/IntroductionToSQLServerEncryptionAndSymmetricKeyEncryptionTutorial.aspx"&gt;&lt;FONT color=#02469b&gt;http://dotnetslackers.com/articles/sql/IntroductionToSQLServerEncryptionAndSymmetricKeyEncryptionTutorial.aspx&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;&lt;BR&gt;</description></item></channel></rss>