• Special Report, Sysadmin 11.10.2015

    หลังจากห่างหายไปนาน Blog วันนี้กลับมาในเนื้อหาของ Technical อีกแล้ว เพราะ ผมเห็นว่าหลายคนเริ่มเจอ Warning แล้ว โดนเฉพาะ คนที่ใช้ Browser เจ้าตลาดอย่าง Chrome จะชัดเจนกว่าเจออื่น ซึ่งผมในฐานะผู้ดูแลเรื่องนี้ให้ลูกค้าหลายรายก็ได้รับการแจ้งมาจาก Certificate Authority (CAs) ที่เป็น Partner เรื่องนี้เหมือนกัน นั่นก็คือ เรื่องของการหมดอายุของ SSL SHA-1 Certificate ซึ่งภาษาทางการเค้าเรียกว่า SHA-1 Sunset หรือ Deprecation of SHA-1 นั้นเอง

    อะไรคือ SSL Certificate

    ไม่พูดครับ Smile with tongue out เพราะ เคยพูดมาแล้วใน Blog เก่า (บางส่วนอาจจะต้อง Rewrite ไว้ แก้ไขเสร็จแล้วค่อยมา Re-port และ Edit link ให้อีกทีนะครับ)

    SSL อยากได้ต้องทำอย่างไร (ตอนที่ 1)

    SSL อยากได้ต้องทำอย่างไร (ตอนที่ 2)

    SSL อยากได้ต้องทำอย่างไร (ตอนที่ 3)

     

    อะไร คือ SHA Signature

    SHA หรือ Secure Hash Algorithm มันเป็นลักษณะกระบวนการเข้ารหัสแบบหนึ่งของลายเซ็นดิจิตอล (Digital Signature) พัฒนาโดย NSA (United States National Security Agency) ซึ่งถูกบรรจุอยู่ใน United States NIST (National Institute of Standards and Technology) เพื่อให้มาตรฐานกลางของ US. (แปลว่า Browser มาตรฐานจะต้องรองรับมัน) ซึ่งปัจจุบัน SHA ได้พัฒนาไปถึง SHA-3 แล้ว (เริ่มจาก SHA-0) และ มาตรฐานปัจจุบันจะอยู่ที่ SHA-2 Family (SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224, SHA-512/256) ซึ่งที่คนใช้เยอะที่สุดก็คือ SHA-256 นั้นเอง ส่วน SHA-1 ก็มีอายุมากกว่า 10 ปีแล้ว (เริ่มใช้ตั้งแต่ปี 1995) ก็ควรจะได้เวลาของมันแล้วที่จะพักผ่อนแล้วครับ

    image

    Signature Hash Algorithm แบบ SHA1

    image
    Signature Hash Algorithm แบบ SHA2 (Google)

     

    SHA Digital Signature มีความสำคัญอย่างไร

    ซึ่งตามที่บอกแล้วว่า SHA นั้นเป็นมาตรฐานกลางที่ทาง US ใช้ อยู่ดังนั้นการสร้าง SSL Certificate สำหรับ Secure Website หรือ HTTPS ไม่ว่าจะ Self-Signed Certificate หรือ CA Signed Certificate ส่วนใหญ่ของ Operating System (ที่เกิดมาจากที่ US) ก็จะรองรับ SHA Digital Signature เนี้ยแหละ เป็นมาตรฐานการเข้ารหัสสากล

    แต่จริงๆ แล้ว Signature Hash Algorithm ยังมีพวก mdc2, ripemd160, md2, md4, md5, dss1 – message digests แต่เหมือนจะไม่เป็นที่นิยมเท่าไหร่ครับ ซึ่งนั่นหมายความว่า Digital Signature ส่วนใหญ่ในโลกนั้นมีการใช้ SHA เป็น Digital Signature นั้นเอง

     

    SHA-1 Digital Signature หมดอายุเมื่อไหร่ และ มีผลกระทบอย่างไร

    จริงๆ แล้วก็ด้วยเหตุผลที่ SHA1 นั้นมีการใช้งานเป็นมาตรฐานมานานแล้ว และ สำคัญคือเริ่มมีการที่มีข่าวว่ามีคนที่สามารถถอดรหัสของ SHA1 ได้ด้วย ทำให้เริ่มการคิดเรื่องของ SHA-1 Deprecation Policy หรือ SHA-1 Sunset นั้นเอง ซึ่งผู้ก็ต้องมาจากกลุ่มบริษัทที่เป็นผู้ได้รับผลกระทบโดยตรง นั้นก็คือ กลุ่มของ CA/Browser Forum นั้นเอง ซึ่ง CA/Browser Forum ก็คือ การรวมตัวของผู้ให้บริการ CA และ Browser เพื่อกำหนดมาตรฐานกลางที่ Browser ทุกเจ้าจะต้องปฏิบัติตามนั้นเอง

    ซึ่งแน่นอนว่า งานนี้ได้รับการโหวตอย่างท่วมท้นจาก CA และ Browser ชั้นนำ เช่น Actalis, ANF, Buypass, Certinomis, Chunghwa Telecom, Comodo, DigiCert, Disig, Entrust, GlobalSign, GoDaddy, Google, Izenpe, Kamu Sertifikasyon Merkezi, Logius PKIoverheid, Microsoft, Mozilla, Opentrust, Opera, QuoVadis, SSC, StartCom, Symantec, Trend Micro, TURKTRUST, TWCA, and WoSign (มี SECOM Trust Systems ที่โหวต No แต่ไม่ได้ระบุเหตุผล) และ ตั้งแต่วันที่ October 16, 2014 ซึ่งทำให้ผู้ให้บริการด้าน CA และ Browser จะต้องปฏิบัติตาม เพราะ ได้ถูกบรรจุไว้ใน Baseline แล้ว

    ซึ่งจะบังคับให้ทาง CA เริ่มยุติการออก Certificate ที่ใช้ Signature Algorithm แบบ SHA-1 ทั้งหมดภายในปี 2015 (ตอนนี้ Brand ชั้นนำเริ่ม Transition แล้ว เช่น Symantec Website Security Group (Symantec, Thawte, Geotrust)

    ส่วน Broswer นั้นจะรองรับ SSL Certificate ที่ใช้ Signature Algorithm แบบ SHA-1 ไปจนถึงปี 1 January 2017 เท่านั้น แต่ไม่ได้บังคับว่าจะมีวิธีการอย่างไร เช่น Warning First (เช่น Google Chrome) หรือจะ Cutover ไปเลยก็ได้เมื่อถึงเวลา

    image

    การเปิด HTTPS ที่เป็น SHA-1 ผ่าน Google Chrome

     

    ส่วนที่ไม่ได้เกี่ยวข้องกับทาง CA/Broswer เช่น กลุ่ม Code-Signing Certificate ซึ่งเป็น Digital Signature ที่บอกว่า Application นั้น ได้รับการยืนยันว่าถูกต้อง และ ปลอดภัยจากทางผู้ผลิตนั้นเอง (เหมือนเป็นการใส่ Seal นั้นเอง) ก็มีทาง Microsoft ที่ออกมาว่าจะรองรับการออก Code-Signing Certificate แบบ SHA-1 ถึงวันที่ 1 มกราคม ปีหน้าเท่านั้น  และ จะอนุญาตให้ใช้ถึง 14 มกราคม 2020 (หมดเวลา Extended Support ของ Windows 2008 นั้นเอง)

    refer: http://blogs.technet.com/b/pki/archive/2010/09/30/sha2-and-windows.aspx

     

    เนื้อหาโดยสรุปของ SHA-1 Validity Period

    • ตั้งแต่วันที่ 1 มกราคม 2558 (1 January 2015) ผู้ที่เป็น CAs (Certificate Authority) ห้ามออก Digital Certificate ใหม่แบบใช้กระบวนการเข้ารหัสแบบ SHA-1 ที่มีวันหมดอายุเกินวันที่ 1 มกราคม 2560 (1 January 2017)
    • Application Software Providers จะต้องปรับปรุงโปรแกรมเพื่อยกเลิกกระบวนการเข้ารหัสแบบ SHA-1 ภายในโปรแกรมของตัวเอง และ แจ้งให้ผู้ที่ใข้งานรู้ถึงความเสี่ยงด้วย
    • ตั้งแต่วันที่ 1 มกราคม 2559 (1 January 2016) ผู้ที่เป็น CAs (Certificate Authority) ห้ามออก Digital Certificate ใหม่ (ซึ่งรวมถึงการ Renew ด้วย) ที่ใช้กระบวนการเข้ารหัสแบบ SHA-1
    • CAs จะใช้ OCSP (Online Certificate Status Protocol) Algorithm Agility แบบ SHA1 ต่อไปได้จนถึง 1 January 2017 (OCSP มีไว้สำหรับการตรวจสอบสถานะของ Certificate)
    • SHA-1 Validity Period ยังไม่ครอบคลุมถึง Root CA Certificate และ Cross CA Certificate
    • SHA-2 certificates จะต้องไม่ผูกกับ SHA-1 Subordinate CA Certificate

     

    เนื้อหามีแค่นี้ครับ ใครอยากอ่าน Ver. Eng เชิญอ่านต่อที่หัวข้อ 9.4.2 SHA‐1 Validity Period ของ Baseline Requirement

     

    ใครได้รับผลกระทบบ้าง และ แก้ไขอย่างไร

    ผู้ที่กระทบชัดเจน คือ ผู้ที่ให้บริการ Website และ Web Service ต่างๆ ครับ จะเริ่มถูกเตือนจากทาง CAs ให้ทำการปรับเปลี่ยน (Transition) กันถ้วนหน้า (ผมก็เริ่มทยอยเปลี่ยนให้ลูกค้าในมืออยู่อย่างลับๆ 555+) ซึ่งใครมีเวลาก็สามารถแจ้งทาง CA เพื่อขอให้ออกใบใหม่ได้ทันที เราเรียกว่าการ Reissue นั้นเอง ซึ่งไม่มีค่าใช้จ่ายอยู่แล้วครับ (ซึ่งตอนนี้มีทางเลือกว่าจะใช้ Root Certificate แบบ SHA-1 หรือ SHA-2 อีกด้วย ซึ่งตอนนี้ยังแนะนำให้ใช้กับ Root Certificate แบบ SHA-1 ไปก่อนจะดีกว่าครับ เพราะ น่าจะถึงปี 2020 ถึงจะยกเลิก)

    และ อีกหนึ่งผู้ที่เดือนร้อนระดับ High Impact ก็คือ คนที่ยังใช้ Webserver ที่เป็น Version เก่ามาก (ส่วนใหญ่ End of Life ไปแล้ว แต่ยังอดทนอยู่) เช่น Windows 2003 หรือ Apache version เก่า เป็นต้น ซึ่งคราวนี้คุณหนีไม่ได้แล้วนะ ก็ต้องรีบ Upgrade Platform ของคุณโดยด่วนเลยครับผม
    (สำหรับ Windows 2003 SP2 ขึ้นไปยังมี Patch ให้เอาไป Apply นะครับ นั่นคือ KB 938397 และมีเพิ่ม KB 968730 สำหรับผู้ที่มีการใช้ PKI ภายในองค์กร)

    ส่วนผู้ใช้งาน Browser บอกเลยครับ ไม่ค่อยจะมีทางออกให้เท่าไหร่ เพราะ ต้องเป็นงานของผู้ให้บริการเท่านั้น แต่ถ้า Website ที่ไม่ใช่ Public Website เช่น ในองค์การคุณอาจจะต้องวัดดวงกับ Browser ที่ Update น้อยๆ อย่าง Internet Explorer ต้องคอย Screen Windows Update ดูละกันว่าเค้าส่ง Upgrade ให้ไม่รองรับ SHA-2 เมื่อไหร่

     

    สรุป

    สำหรับการหมดอายุของ SHA-1 นั้นอาจจะไม่ถือเป็นเรื่องเร่งด่วนสำหรับหลายคนนะ เพราะ ยังไงปีนี้ ถ้าใครจะซื้อหรือต่ออายุ SSL Certificate ยังไงก็ต้องโดนบังคับแน่นอนครับ แต่ก็เตือนก่อนล่วงหน้า เพื่อจะได้มีเวลาเตรียมตัวกันล่วงหน้า 1 ปี ชิลล์ๆ กัน แต่ก็ช่วงนี้เราก็จะเห็นบาง App เริ่มเตือน (เช่น Chrome) หรือ บาง App เริ่มลด Features เหมือนเจอ Website ที่ใช้ SSL- SHA-1 และ สำหรับใครที่มี API ก็จะเริ่มพบปัญหาการเชื่อมต่อกันบ้าง เช่น เท่าที่ทราบ Payment Gateway หลายเจ้ากำลังเริ่ม Transition บางทีการที่เราไป upgrade ก่อนก็อาจจะเจอปัญหาไม่รองรับ API ก็เป็นได้ ลองคุยกับปลายทางก่อนจะทำการติดตั้ง SSL – SHA2 นะครับ

    เพราะ มันเป็น One-Way Trip ไปแล้วกลับไม่ได้นะเออ Smile

    Smile

    Comments

    comments

    Posted by yuttanah @ 8:00 am

    Tags: , , ,

  • Leave a Reply

    Your email address will not be published. Required fields are marked *

    Time limit is exhausted. Please reload CAPTCHA.