KB2733626-คำแนะนำสำหรับการใช้ SQL Server ๒๐๑๒ในโหมดที่เข้ากันได้กับ FIPS 140-2

นำไปใช้กับ: SQL Server 2012Microsoft Windows Server 2003Windows XP

บทนำ


บทความนี้อธิบายถึงคำแนะนำ FIPS 140-2 และวิธีการใช้ Microsoft SQL Server ๒๐๑๒ในโหมดที่เข้ากันได้กับ FIPS 140-2หมายเหตุ
  • ข้อกำหนด "FIPS 140-2 สอดคล้องกัน," "FIPS 140-2 การปฏิบัติตาม" และ "โหมดที่เข้ากันได้กับ FIPS 140-2-" จะถูกกำหนดไว้ที่นี่สำหรับการใช้งานและความคมชัด ข้อกำหนดเหล่านี้ไม่ได้รับการยอมรับหรือกำหนดเงื่อนไขของรัฐบาล รัฐบาลสหรัฐอเมริกาและแคนาดารู้จักการตรวจสอบความถูกต้องของโมดูลการเข้ารหัสลับกับมาตรฐานเช่น FIPS 140-2 และไม่ได้ใช้โมดูลการเข้ารหัสลับในลักษณะที่ระบุหรือ conformant ในบทความนี้เราใช้ "FIPS 140-2-สอดคล้องกัน" "FIPS 140-2 การปฏิบัติตาม" และ "โหมดที่เข้ากันได้กับ FIPS 140-2" ในความรู้สึกว่า SQL Server ๒๐๑๒ใช้เฉพาะอินสแตนซ์ของอัลกอริธึมที่ได้รับการตรวจสอบความถูกต้องของอัลกอริทึมและฟังก์ชันการทำงานแบบแฮชในอินสแตนซ์ทั้งหมดที่เข้ารหัสลับหรือส่ง140-2 ออกข้อมูล นอกจากนี้ซึ่งหมายความว่า SQL Server ๒๐๑๒จะจัดการคีย์ในลักษณะที่ปลอดภัยเนื่องจากจำเป็นต้องมีโมดูลการเข้ารหัสลับของ FIPS 140-2 ที่ได้รับการตรวจสอบ กระบวนการการจัดการที่สำคัญยังมีทั้งการสร้างคีย์และที่เก็บคีย์
  • เราใช้ "ได้รับการรับรอง" ที่นี่เพื่อให้มีการตรวจสอบความถูกต้องของอินสแตนซ์ของอัลกอริทึม FIPS 140-2 หรือระบบปฏิบัติการที่มีอินสแตนซ์ของอัลกอริธึมที่ได้รับการตรวจสอบ FIPS 140-2 ของอัลกอริทึม

ข้อมูลเพิ่มเติม


FIPS คืออะไร

การประมวลผลข้อมูลของรัฐบาลกลาง (FIPS) เป็นมาตรฐานที่ได้รับการพัฒนาโดยหน่วยงานราชการสองตัวต่อไปนี้:
  • สถาบันการศึกษาระดับมาตรฐานและเทคโนโลยี (NIST) ในประเทศสหรัฐอเมริกา 
  • การจัดตั้งการรักษาความปลอดภัยการสื่อสาร (CSE) ในแคนาดา 
มาตรฐาน FIPS จะแนะนำหรือบังคับใช้ในระบบการดำเนินการของรัฐบาลกลางในสหรัฐอเมริกาและแคนาดา

FIPS 140-2 คืออะไร

FIPS 140-2 เป็นคำสั่งที่มีชื่อว่า "ข้อกำหนดด้านความปลอดภัยสำหรับโมดูลที่เข้ารหัสลับ" จะระบุอัลกอริทึมการเข้ารหัสลับที่สามารถใช้ได้และวิธีการสร้างและจัดการคีย์การเข้ารหัสลับ ฮาร์ดแวร์ซอฟต์แวร์และกระบวนการบางอย่างอาจเป็น FIPS 140-2 ได้รับการรับรองและฮาร์ดแวร์ซอฟต์แวร์และกระบวนการบางอย่างอาจเป็น FIPS 140-2 ที่สอดคล้องกัน

ความแตกต่างระหว่างการเข้ากันได้กับ FIPS 140-2 เป็นไปตามมาตรฐาน FIPS 140-2 หรือไม่

คุณสามารถกำหนดค่า SQL Server ๒๐๑๒และทำงานในลักษณะที่สอดคล้องกับ FIPS 140-2 เมื่อต้องการกำหนดค่า SQL Server ๒๐๑๒ในลักษณะนี้ SQL Server ๒๐๑๒ต้องทำงานบนระบบปฏิบัติการที่เป็น FIPS 140-2 ได้รับการรับรองหรือบนระบบปฏิบัติการที่มีโมดูลที่เข้ารหัสลับที่ได้รับการรับรอง ความแตกต่างระหว่างการปฏิบัติตามข้อบังคับและการรับรองไม่ละเอียด อัลกอริทึมสามารถได้รับการรับรอง ไม่เพียงพอที่จะใช้อัลกอริทึมจากรายการที่ได้รับการอนุมัติใน FIPS 140-2 คุณจำเป็นต้องใช้อินสแตนซ์ของอัลกอริทึมดังกล่าวที่ได้รับการรับรอง การรับรองต้องใช้การทดสอบและการตรวจสอบโดยห้องปฏิบัติการประเมินที่ได้รับการรับรองจากรัฐบาล Windows Server ๒๐๐๓, Windows XP และ Windows Server ๒๐๐๘มีอัลกอริทึมที่ได้รับอนุญาตและอินสแตนซ์ของระบบปฏิบัติการเหล่านี้แต่ละระบบจะได้รับการทดสอบการทดสอบและการรับรองจากรัฐบาล

ผลิตภัณฑ์แอปพลิเคชันใดบ้างที่สามารถเข้ากันได้กับ FIPS 140-2

แอปพลิเคชันทั้งหมดที่ทำการเข้ารหัสลับหรือการแฮชและทำงานบน Windows เวอร์ชันที่ได้รับการรับรองสามารถเข้ากันได้โดยใช้เฉพาะอินสแตนซ์ที่ได้รับการรับรองของอัลกอริทึมที่ได้รับการอนุมัติและการปฏิบัติตามข้อกำหนดที่สำคัญและการจัดการที่สำคัญโดยใช้ฟังก์ชัน Windows สำหรับการสร้างคีย์และการจัดการคีย์ โปรดทราบว่าพื้นที่ในแอปพลิเคชันที่เข้ากันได้กับ FIPS อาจมีการเปิดใช้งานอัลกอริทึมหรือกระบวนการ noncompliant ตัวอย่างเช่นกระบวนการภายในที่อยู่ภายในระบบและข้อมูลภายนอกบางอย่างที่จะถูกเข้ารหัสลับจากอินสแตนซ์อัลกอริทึมที่ได้รับการรับรองจะได้รับอนุญาต

เป็น SQL Server ๒๐๑๒ที่สอดคล้องกับ FIPS 140-2 เสมอหรือไม่

ไม่ใช่ SQL Server ๒๐๑๒สามารถเข้ากันได้กับ FIPS 140-2 เนื่องจากสามารถกำหนดค่าและเรียกใช้ได้ด้วยวิธีการที่จะใช้เฉพาะอินสแตนซ์อัลกอริทึมที่ได้รับการรับรอง FIPS 140-2 ที่เรียกว่าโดยใช้ CryptoAPI สำหรับการเข้ารหัสลับหรือโดยการทำให้การทำเครื่องหมายในอินสแตนซ์ทั้งหมดที่จำเป็นต้องมีการปฏิบัติตามข้อบังคับ FIPS 140-2

คุณสามารถกำหนดค่า SQL Server ๒๐๑๒ให้เป็น FIPS 140-2 ได้อย่างไร

  • ความต้องการของระบบปฏิบัติการ: คุณต้องติดตั้ง SQL Server ๒๐๑๒บนเซิร์ฟเวอร์ที่ยึดตามระบบปฏิบัติการใดระบบหนึ่งต่อไปนี้:
    • Windows Server 2003
    • Windows XP
    • Windows Server 2008
  • ความต้องการในการดูแลระบบของ Windows: ต้องตั้งค่าโหมด FIPS ก่อนที่ SQL Server ๒๐๑๒จะเริ่มต้น SQL Server อ่านการตั้งค่าเมื่อเริ่มต้น เมื่อต้องการตั้งค่าโหมด FIPS ให้ทำตามขั้นตอนต่อไปนี้:
    1. เข้าสู่ระบบ Windows เป็นผู้ดูแลระบบ Windows
    2. คลิก เริ่ม
    3. คลิกแผงควบคุม
    4. คลิกเครื่องมือการดูแลระบบ
    5. คลิกนโยบายความปลอดภัยภายในเครื่อง หน้าต่าง การตั้งค่าความปลอดภัยภายในเครื่อง จะปรากฏขึ้น
    6. ในบานหน้าต่างนำทางให้คลิกนโยบายภายในเครื่องแล้วคลิกตัวเลือกความปลอดภัย
    7. ในบานหน้าต่างด้านขวาให้ดับเบิลคลิกที่การเข้ารหัสลับระบบ: ใช้อัลกอริทึมที่เข้ากันได้กับ FIPS สำหรับการเข้ารหัสลับการทำซ้ำและการลงชื่อเข้าใช้
    8. ในกล่องโต้ตอบที่ปรากฏขึ้นให้คลิกเปิดใช้งานแล้วคลิกนำไปใช้
    9. คลิก ตกลง
    10. ปิดหน้าต่างการตั้งค่าการรักษาความปลอดภัยภายในเครื่อง
  • ความต้องการของผู้ดูแลเซิร์ฟเวอร์ SQL
    • เมื่อบริการ SQL Server ตรวจพบว่าโหมด FIPS ถูกเปิดใช้งานเมื่อเริ่มต้นระบบ SQL Server จะบันทึกข้อความต่อไปนี้ในบันทึกข้อผิดพลาด SQL Server:
      การขนส่งนายหน้าบริการกำลังทำงานในโหมดการปฏิบัติตามกฎระเบียบ FIPS
      นอกจากนี้คุณอาจพบข้อความต่อไปนี้ที่บันทึกไว้ในแฟ้มบันทึกเหตุการณ์ของ Windows:
      คุณสามารถตรวจสอบว่าเซิร์ฟเวอร์กำลังทำงานในโหมด FIPS ด้วยการค้นหาข้อความเหล่านี้
    • สำหรับการรักษาความปลอดภัยของกล่องโต้ตอบ (ระหว่างบริการ) การเข้ารหัสจะใช้อินสแตนซ์ของ AES ที่ได้รับการรับรอง FIPS ถ้าเปิดใช้งานโหมด FIPS ถ้าโหมด FIPS ถูกปิดใช้งานการเข้ารหัสจะใช้แบบ RC4 
    • เมื่อคุณกำหนดค่าจุดสิ้นสุดของนายหน้าบริการในโหมด FIPS ผู้ดูแลระบบต้องระบุ "AES" สำหรับนายหน้าบริการ ถ้าจุดสิ้นสุดถูกกำหนดค่าให้เป็นแบบ RC4 SQL Server จะสร้างข้อผิดพลาด เลเยอร์การขนส่งจะไม่เริ่มทำงาน

SQL Server ๒๐๑๒ดำเนินการในโหมดที่เข้ากันได้กับ FIPS 140-2 อย่างไร

  • ด้วยโหมด FIPS ใน Windows เปิดอยู่ในพื้นที่ทั้งหมดที่ผู้ใช้ไม่มีตัวเลือกว่าจะเข้ารหัสลับ/แฮชและวิธีที่จะทำให้ SQL Server ๒๐๑๒จะดำเนินการตามข้อกำหนดของ FIPS 140-2 (SQL Server ๒๐๑๒จะใช้ CryptoAPI ใน Windows และจะใช้เฉพาะอินสแตนซ์ที่ได้รับการรับรองของอัลกอริทึมเท่านั้น)
  • ด้วยโหมด FIPS ใน Windows เปิดอยู่ในพื้นที่ทั้งหมดที่ผู้ใช้มีตัวเลือกว่าจะใช้การเข้ารหัสลับ SQL Server ๒๐๑๒จะเปิดใช้งานการเข้ารหัสลับที่เข้ากันได้กับ FIPS 140-2 เท่านั้นหรือจะไม่เปิดใช้งานการเข้ารหัสลับใดๆ
  • ข้อมูลที่สำคัญสำหรับนักพัฒนาซอฟต์แวร์ในพื้นที่ทั้งหมดที่นักพัฒนาหรือผู้ใช้เขียนโค้ดของตนเองสำหรับการเข้ารหัสลับหรือการแฮชพวกเขาจะต้องได้รับคำแนะนำให้ใช้เฉพาะ CryptoAPI (และดังนั้นจึงมีเฉพาะอินสแตนซ์ที่ได้รับการรับรอง) และระบุเฉพาะอัลกอริทึมที่ได้รับอนุญาตโดย FIPS 140-2 โดยเฉพาะอย่างยิ่งพวกเขาจะต้องระบุเพียงหนึ่ง DES (ไม่มีการใช้งาน) หรือ AES สำหรับการเข้ารหัสลับและเฉพาะ SHA-1 สำหรับการแฮช

ผลกระทบของการเรียกใช้ SQL Server ๒๐๑๒ในโหมดที่เข้ากันได้กับ FIPS 140-2 คืออะไร

  • การใช้การเข้ารหัสลับที่เข้มงวดอาจมีผลต่อประสิทธิภาพการทำงานของกระบวนการเหล่านั้นที่มีการเข้ารหัสลับที่เข้มงวดน้อยลงเมื่อกระบวนการไม่ดำเนินการเป็น FIPS 140-2 สอดคล้องกัน
  • การเลือกการเข้ารหัสลับสำหรับ SSIS (UseEncryption = True) จะสร้างข้อความแสดงข้อผิดพลาดที่ระบุว่าการเข้ารหัสลับที่พร้อมใช้งานไม่เข้ากันกับการปฏิบัติตามมาตรฐาน FIPS และไม่ได้รับอนุญาต ในคำอื่นๆไม่มีการเข้ารหัสลับของกระบวนการข้อความ
  • การใช้การเข้ารหัสลับร่วมกับ DTS รุ่นเก่าไม่สอดคล้องกับ FIPS 140-2 โปรดทราบว่าสำหรับ DTS โหมด FIPS ใน Windows จะไม่ได้รับการตรวจสอบ ดังนั้นจึงเป็นความรับผิดชอบของผู้ใช้ในการเลือกไม่มีการเข้ารหัสลับเพื่อให้สอดคล้องกัน
  • เนื่องจากการเข้ารหัสลับของ SQL Server ๒๐๑๒และกระบวนการทำงานแบบแฮชได้รับการเข้ากันได้กับ FIPS 140-2 แล้วการดำเนินการตามข้อกำหนดแบบเต็ม (ที่มีโหมด FIPS ใน Windows จะเปิดใช้งาน) จะมีผลกระทบน้อยหรือไม่มีผลต่อการใช้งานหรือประสิทธิภาพการทำงานของผลิตภัณฑ์

ฉันจะเรียนรู้เพิ่มเติมเกี่ยวกับ FIPS 140-2 ได้ที่ไหน

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ FIPS 140-2 standard และวิธีการดาวน์โหลดให้ไปที่เว็บไซต์ NIST ดังต่อไปนี้:Microsoft มีข้อมูลที่ติดต่อของบริษัทอื่นเพื่อช่วยให้คุณค้นหาการสนับสนุนทางเทคนิค ข้อมูลที่ติดต่อนี้อาจมีการเปลี่ยนแปลงโดยไม่มีการแจ้งให้ทราบ Microsoft ไม่รับประกันความถูกต้องของข้อมูลที่ติดต่อของบริษัทอื่นนี้