เป็นไปได้หรือไม่ที่จะสร้างใบรับรอง SSL ที่ไม่เข้ารหัส?


0

ฉันพยายามพัฒนาเครื่องมือทดสอบเพื่อตรวจสอบโปรโตคอลที่ใช้ SOAP ซึ่งให้บริการผ่าน HTTPS

ปัญหาของฉันคือว่าถ้าฉันมีปัญหาใด ๆ ในโพรโทคอลฉันไม่สามารถใช้ wireshark เพื่อดีบักได้เนื่องจากปริมาณการใช้ข้อมูลถูกเข้ารหัส

เป็นไปได้หรือไม่ที่จะสร้างด้วย openssl ใบรับรองที่มี nihil cyper?


มีโปรแกรมวิเคราะห์โปรโตคอลที่ทำหน้าที่เป็นผู้รับมอบฉันทะ ช่วยให้คุณดูปริมาณการใช้ HTTPS ที่ไม่ได้เข้ารหัส สองคือ Fiddler และ Burp Suite ฉันเคยใช้ Fiddler มาก่อนและใช้งานได้ดี แยก Chrome และ Firefox รองรับตัวแปรสภาพแวดล้อม SSLKEYLOGFILE ซึ่งจะเขียนคีย์เซสชัน SSL ไปยังไฟล์ซึ่ง Wireshark สามารถใช้งานได้ ฉันเดาว่าเบราว์เซอร์ไม่ใช่จุดสิ้นสุดไคลเอ็นต์ของโปรโตคอล SOAP ของคุณดังนั้นคุณจึงไม่สามารถใช้สิ่งนี้ได้โดยตรง อย่างไรก็ตามคุณสามารถใช้การสนับสนุนเดียวกันในจุดสิ้นสุดของคุณ (ถ้าคุณสามารถสร้างจุดสิ้นสุด)
ẘpẘ

คำตอบ:


3

ตัวเลือก TLS ciphersuite (ซึ่งอาจใช้การเข้ารหัสแบบ NULL) ไม่ขึ้นกับใบรับรองที่ใช้นั่นคือใช้ใบรับรองปกติกับหนึ่งใน "WITH_NULL" ciphersuites:

https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml#tls-parameters-4

อีกทางเลือกหนึ่งคือการกำหนดค่า wireshark เพื่อถอดรหัสทราฟฟิก (ต้องใช้ wireshark เพื่อเข้าถึงไพรเวตคีย์):

https://wiki.wireshark.org/SSL#Wireshark


Decrpytion in wireshark จะทำงานได้ก็ต่อเมื่อคุณปิดการใช้งาน ciphersuites ทั้งหมดที่ใช้การแลกเปลี่ยนคีย์ Diffie-Hellman
เสื่อ

0

ใช่และไม่.

ใช่:ใบรับรอง X.509 เกือบทุกครั้งจะมีส่วนขยายkeyUsageหรือExtendedKeyUsageซึ่งจะกำหนดวิธีการใช้ใบรับรอง หากคุณยกเลิกค่าdataEnciphermentและkeyEnciphermentณ จุดนี้และตั้งค่าเป็นอย่างอื่น (เช่นdigitalSignature ) แอปพลิเคชันทุกตัวที่ปฏิบัติตามมาตรฐานจะต้องไม่ใช้คีย์ของใบรับรองเพื่อเข้ารหัส

ไม่:ใบรับรอง X.509 ทุกใบมีพับลิกคีย์ซึ่งสามารถใช้ในทางทฤษฎีเพื่อเข้ารหัสข้อมูลไม่ว่ามาตรฐานจะสั่งให้คุณทำอะไร

บรรทัดด้านล่าง: คุณไม่สามารถห้ามใครบางคนทางเทคนิคทำการเข้ารหัสด้วยคีย์ในใบรับรอง X.509 ภาพที่ดีที่สุดของคุณคือการตั้งค่าการใช้คีย์เป็นค่าที่เหมาะสมและใช้คีย์ ECC แทนการใช้คีย์ RSA เนื่องจากการเข้ารหัส ECC เป็นสิ่งที่ไม่ได้ทำบ่อยนัก


ดังที่คำตอบอื่นชี้ให้เห็นว่า RSA ไม่ได้ใช้สำหรับการเข้ารหัสใน SSL ใช้ RSA แทนสำหรับการตรวจสอบสิทธิ์ใน SSL แทน ดังนั้นคุณสมบัติใบรับรองไม่ได้มีบทบาทในอัลกอริทึมการเข้ารหัสที่ใช้ในเซสชัน SSL
ẘpẘ

@ Χpẘไม่จำเป็น มีชุดรหัสซึ่งใช้คีย์ RSA ของเซิร์ฟเวอร์สำหรับการแลกเปลี่ยนคีย์ที่เข้ารหัส (แทน DH)
เสื่อ

แต่นั่นก็ยังไม่ได้ใช้ RSA เพื่อเข้ารหัสเพย์โหลดซึ่งเป็นสิ่งที่ OP กำลังขอ
Χpẘ

เขาคือ? นั่นไม่ใช่วิธีที่ฉันอ่านคำถาม แต่มันไม่ได้ระบุชัดเจนมาก
เสื่อ

วิธีที่ฉันอ่านคือเขาต้องการดูทราฟฟิกที่ถอดรหัสผ่าน Wireshark (คำตอบอื่น ๆ ดูเหมือนจะมีการตีความเดียวกันกับที่ฉันทำ) ฉันคิดว่า OP เข้าใจผิดในบทบาทที่ใบรับรองเล่นในการสร้างเซสชัน SSL - ดังนั้นคำถามของเขาเกี่ยวกับคุณสมบัติใบรับรอง BTW เป็นที่น่าสนใจที่จะรู้ว่า RSA สามารถใช้สำหรับการแลกเปลี่ยนที่สำคัญ
--pẘ
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.