ผู้พัฒนาโครงการ OpenBSD เพิ่งประกาศเปิดตัวแพ็คเกจรุ่นพกพา "ฟรี SSL 3.8.0"เวอร์ชันที่มีการเปลี่ยนแปลงและปรับปรุงหลายอย่างที่เน้นความเสถียรและความเข้ากันได้
สำหรับผู้ที่ไม่รู้จัก LibreSSL คุณควรทราบสิ่งนี้ เป็นการใช้งานโอเพ่นซอร์ส ของโปรโตคอล TLS กำลังพัฒนาทางแยกของ OpenSSL มีจุดประสงค์เพื่อให้มีความปลอดภัยในระดับที่สูงขึ้น LibreSSL ได้รับการพัฒนาในขั้นต้นเพื่อแทนที่ OpenSSL บน OpenBSD และถูกย้ายไปยังแพลตฟอร์มอื่นเมื่อไลบรารีเวอร์ชันที่ถูกตัดออกมีความเสถียร
โครงการ LibreSSL มุ่งเน้นไปที่การสนับสนุนคุณภาพสูงสำหรับโปรโตคอล SSL/TLS โดยการลบคุณลักษณะที่ไม่จำเป็นออก เพิ่มคุณลักษณะด้านความปลอดภัยเพิ่มเติม และการล้างข้อมูลและการทำงานซ้ำที่สำคัญของโค้ดเบส
คุณสมบัติใหม่หลักของ LibreSSL 3.8.0
LibreSSL เวอร์ชัน 3.8.0 ถือว่าเป็นรุ่นทดลอง ซึ่งพัฒนาฟังก์ชันที่จะรวมอยู่ใน OpenBSD 7.4 ในเวลาเดียวกัน LibreSSL 3.6.3 และ 3.7.3 เวอร์ชันเสถียรได้ถูกสร้างขึ้น ซึ่งมีการแก้ไขข้อบกพร่องต่างๆ
ใน LibreSSL 3.8.0 เวอร์ชันใหม่นี้มีการเน้นย้ำว่า ปรับปรุงความเข้ากันได้ของ endian.h กับมาโคร hto* และ *toh นอกจากจะเพิ่ม รองรับ SHA-2 และ SHA-3 ตัดทอนและกระบวนการล้างโค้ด SHA ภายในและการทำงานซ้ำได้เริ่มขึ้นแล้ว
การเปลี่ยนแปลงที่น่าสังเกตอีกอย่างหนึ่งคือฟังก์ชันภายในที่เขียนใหม่ BN_exp() และ BN_copy() รวมทั้งแทนที่การใช้ฟังก์ชัน BN_mod_sqrt()
นอกจากนี้ ยังเน้นย้ำว่า เพิ่มคำแนะนำแล้ว แอสเซมเบลอร์สำหรับสถาปัตยกรรม AMD64 ใช้คำสั่ง endbr64 (ยุติสาขาทางอ้อม).
นอกจากนี้ยังตั้งข้อสังเกตว่ามันถูกเพิ่ม การแก้ไขสำหรับการเปลี่ยนแปลงที่คิดไม่ดีใน OpenSSL 3 ที่หยุดการรองรับการแยกสิทธิ์ใน libtls นอกจากนี้ รหัส BoringSSL ยังได้รับการพอร์ตเพื่อตรวจสอบกฎที่กำหนดไว้ใน RFC 5280 และการแปล libcrypto ยังคงใช้อินเทอร์เฟซ CBB (bytebuilder) และ CBS (bytestring)
ในทางกลับกัน มีการเน้นย้ำว่ามีการนำเข้าและใช้รหัสการตรวจสอบนโยบาย BoringSSL RFC 5280
เพื่อแทนที่รหัสเวลาเลขชี้กำลังแบบเก่า นอกเหนือจากการลบการสนับสนุนสำหรับ GF2m:BIGNUM เนื่องจากไม่รองรับส่วนขยายไบนารี การลบสัญลักษณ์สาธารณะส่วนใหญ่ที่เลิกใช้แล้วใน OpenSSL 0.9.8
จากการเปลี่ยนแปลงอื่น ๆ ที่โดดเด่นกว่ารุ่นใหม่นี้:
- นำ API สาธารณะ X9.31 ออก (ยังมี RSA_X931_PADDING)
- ลบโหมดการขโมยไซเฟอร์เท็กซ์
- ยกเลิกการรองรับ SXNET และ NETSCAPE_CERT_SEQUENCE รวมถึง
คำสั่ง openssl(1) nseq. - การสนับสนุนใบรับรองพร็อกซีที่ลดลง (RFC 3820)
- POLICY_TREE และโครงสร้างและ API ที่เกี่ยวข้องถูกลบออกแล้ว
- แก้ไขข้อผิดพลาดในการตรวจสอบ i2d_ECDSA_SIG() ใน ossl_ecdsa_sign()
- แก้ไขการตรวจหาการดำเนินการเพิ่มเติม (XOP) บนฮาร์ดแวร์ AMD
- แก้ไขการจัดการข้อผิดพลาดใน tls_check_common_name()
- เพิ่มตัวชี้ที่ขาดหายไปใน SSL_free()
- แก้ไข X509err() และ X509V3err() และเวอร์ชันภายใน
- ปรับปรุงการครอบคลุมการทดสอบอย่างมีนัยสำคัญของ BN_mod_sqrt() และ GCD
- เช่นเดียวกับทุกครั้ง ความครอบคลุมการทดสอบใหม่จะถูกเพิ่มเข้ามาเมื่อจุดบกพร่องและระบบย่อยได้รับการแก้ไข
พวกเขาทำความสะอาด
สุดท้ายนี้ หากคุณสนใจที่จะทราบข้อมูลเพิ่มเติม สามารถปรึกษารายละเอียดได้ ในลิงค์ต่อไปนี้.
จะติดตั้ง LibreSSL เวอร์ชันใหม่ได้อย่างไร
สำหรับผู้ที่สนใจจะติดตั้งเวอร์ชันใหม่นี้ควรทราบว่าขณะนี้ยังมาไม่ถึงลีนุกซ์ส่วนใหญ่ ดังนั้นการติดตั้งที่มีอยู่ในปัจจุบันคือ รวบรวมแพ็คเกจด้วยตัวคุณเอง
แต่ไม่ต้องกังวล LibreSSL build มันง่ายมากและคุณต้องเปิดเทอร์มินัลเท่านั้น และเรียกใช้คำสั่งต่อไปนี้ (คุณต้องมีการอ้างอิงต่อไปนี้ automake, autoconf, git, libtool, perl และ git)
สิ่งแรกคือการรับซอร์สโค้ด ซึ่งคุณสามารถทำได้ด้วยคำสั่งนี้:
โคลนคอมไพล์ https://github.com/libressl/portable.git
เมื่อเสร็จแล้ว ตอนนี้เรากำลังเตรียมวิธีการคอมไพล์ สำหรับสิ่งนี้ เราเข้าไปในโฟลเดอร์ที่มีซอร์สโค้ดของ LibreSSL และเราจะพิมพ์:
ซีดีแบบพกพา ./autogen.sh ./dist.sh
เมื่อเสร็จแล้ว เราจะดำเนินการคอมไพล์ด้วย:
./configure ทำการตรวจสอบ ทำการติดตั้ง
หรือถ้าคุณต้องการทำกับ CMake:
mkdir build cd build cmake .. ทำการทดสอบ