Σύμπτωμα
Ας υποθέσουμε ότι έχετε Microsoft SQL Server 2012, 2014 ή 2016 εκτελείται σε ένα διακομιστή που έχει ομοσπονδιακή Standard επεξεργασίας πληροφοριών (FIPS) ενεργοποιημένη. Σε αυτήν την περίπτωση, όταν εκτελείτε ή επικυρώνετε ένα πακέτο υπηρεσιών ενοποίησης Microsoft SQL Server (SSIS) που περιέχει ένα στοιχείο δέσμης ενεργειών ροής δεδομένων, λαμβάνετε το ακόλουθο μήνυμα λάθους:
Σημείωση
System.InvalidOperationException: Αυτή η υλοποίηση δεν αποτελεί μέρος των επικυρωμένων αλγόριθμων κρυπτογράφησης FIPS πλατφόρμας των Windows. στο System.Security.Cryptography.MD5 CryptoserviceProvider.. CTOR()
Σημείωση Αυτό το ζήτημα παρουσιάζεται όταν το ακόλουθο δευτερεύον κλειδί μητρώου έχει οριστεί σε 1:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\fipsalgorithmpolicy
Αιτία
Αυτό το ζήτημα παρουσιάζεται επειδή SSIS χρησιμοποιεί τον αλγόριθμο MD5. Ο αλγόριθμος MD5 δεν είναι συμβατός με το FIPS.
Επίλυση
Πληροφορίες Service Pack
SQL Server 2016
Για να διορθώσετε αυτό το πρόβλημα στο SQL Server 2016, αποκτήστε το Service Pack 1 για SQL Server 2016.
Πληροφορίες σχετικά με τις ενημερώσεις για το SQL Server 2016
Κάθε νέα έκδοση για το SQL Server 2016 περιέχει όλες τις επείγουσες επιδιορθώσεις και όλες τις επιδιορθώσεις ασφαλείας που περιλαμβάνονταν στην προηγούμενη δομή. Συνιστάται να εγκαταστήσετε την τελευταία έκδοση για το SQL Server 2016 .
SQL Server 2014Για να διορθώσετε αυτό το πρόβλημα στο SQL Server 2014, αποκτήστε το Service Pack 2 για SQL Server 2014.
Πληροφορίες σχετικά με τις ενημερώσεις για το SQL Server 2014
Κάθε νέα ενημερωμένη έκδοση για SQL Server περιέχει όλες τις επείγουσες επιδιορθώσεις και όλες τις ενημερώσεις κώδικα ασφαλείας που περιλαμβάνονταν στην προηγούμενη ενημερωμένη έκδοση. Συνιστάται να εγκαταστήσετε την τελευταία έκδοση για το SQL Server 2014 .
SQL Server 2012Για να διορθώσετε αυτό το πρόβλημα στο SQL Server 2012, αποκτήστε το Service Pack 3 για SQL Server 2012.
Πληροφορίες σχετικά με τις ενημερώσεις για το SQL Server 2012
Κάθε νέα ενημερωμένη έκδοση για SQL Server περιέχει όλες τις επείγουσες επιδιορθώσεις και όλες τις ενημερώσεις κώδικα ασφαλείας που περιλαμβάνονταν στην προηγούμενη ενημερωμένη έκδοση. Συνιστάται να εγκαταστήσετε το πιο πρόσφατο Service Pack για το SQL Server 2012.
Λύση
Για να επιλύσετε αυτό το πρόβλημα, δοκιμάστε μία από τις ακόλουθες μεθόδους:
Απενεργοποιήστε την πολιτική FIPS στο διακομιστή. Για να το κάνετε αυτό, ανατρέξτε στην ενότητα "Για να ρυθμίσετε τις παραμέτρους πολιτικής FIPS" στην ακόλουθη τοποθεσία Web του TechNet:
Πρόσθετα αντίμετρα συστήματος ΣημειώσειςΠρέπει να επανεκκινήσετε την εφαρμογή για να τεθεί σε ισχύ η νέα ρύθμιση.
Αυτή η ρύθμιση επηρεάζει την ακόλουθη τιμή μητρώου στο Windows Server:
HKLM\System\CurrentControlSet\Control\Lsa\FIPSAlgorithmPolicy\EnabledΑυτή η τιμή μητρώου αντιπροσωπεύει την τρέχουσα ρύθμιση FIPS. Εάν αυτή η ρύθμιση είναι ενεργοποιημένη, η τιμή είναι 1. Αν αυτή η ρύθμιση είναι απενεργοποιημένη, η τιμή είναι 0.
Χρησιμοποιήστε άλλες λύσεις Microsoft .NET αντί για το στοιχείο δέσμης ενεργειών.
Σημείωση Ο αλγόριθμος MD5 είναι κωδικοποιημένος μέσα στο στοιχείο δέσμης ενεργειών ροής δεδομένων. Επομένως, δεν μπορείτε να αλλάξετε αυτό το στοιχείο δέσμης ενεργειών.
Περισσότερες πληροφορίες
Οι υπηρεσίες ενοποίησης SQL Server χρησιμοποιούν διάφορους αλγόριθμους κρυπτογράφησης των Windows που δεν συμμορφώνονται με το FIPS 140-2, οι οποίοι είναι απαιτήσεις ασφαλείας για μονάδες κρυπτογράφησης. Για παράδειγμα, το SSIS 2012 χρησιμοποιεί MD5. Αυτό δεν συμμορφώνεται με το FIPS 140-2, για τον υπολογισμό τιμών κατακερματισμού που δεν χρησιμοποιούνται για λόγους ασφάλειας. Το FIPS 140-2 ορίζει τα πρότυπα ασφαλείας που χρησιμοποιούν οι κυβερνήσεις της Ηνωμένες Πολιτείες και του Καναδά για την επικύρωση των επιπέδων ασφαλείας για προϊόντα που υλοποιούν κρυπτογραφία.
Κατάσταση
Η Microsoft έχει επιβεβαιώσει ότι πρόκειται για ένα ζήτημα που αφορά τα προϊόντα της Microsoft που παρατίθενται στην ενότητα "Ισχύει για".