Score:1

เหตุใด PasswordRecipient ของ CMS จึงใช้ KEK

ธง cn

เมื่อใช้งาน openssl cms - เข้ารหัส -pwri_passwordเป็นไปตามกระบวนการที่อธิบายไว้ใน อาร์เอฟซี3211ซึ่งส่งผ่านรหัสผ่านที่ผู้ใช้ระบุไปยัง KDF แต่แทนที่จะใช้เอาต์พุตของ KDF นั้นเพื่อเข้ารหัสเนื้อหา กลับใช้คีย์นั้นเป็น KEK เพื่อเข้ารหัสคีย์เข้ารหัสเนื้อหาจริง (CEK) ซึ่งก็คือ แล้วรวมไว้ข้างเนื้อหา:

ลำดับ (2 องค์ประกอบ)
  ตัวระบุวัตถุ 1.2.840.113549.1.7.3 ซองข้อมูล (PKCS #7)
  [0] (1 องค์ประกอบ)
    ลำดับ (3 องค์ประกอบ)
      จำนวนเต็ม 3
      SET (1 องค์ประกอบ)
        [3] (4 องค์ประกอบ)
          จำนวนเต็ม 0
          [0] (2 องค์ประกอบ)
            ตัวระบุวัตถุ 1.2.840.113549.1.5.12 pkcs5PBKDF2 (PKCS #5 v2.0)
            ลำดับ (2 องค์ประกอบ)
              OCTET STRING (8 ไบต์) D81093AEE45462EE
              จำนวนเต็ม 2048
          ลำดับ (2 องค์ประกอบ)
            ตัวระบุวัตถุ 1.2.840.113549.1.9.16.3.9 pwriKEK (อัลกอริทึม S/MIME)
            ลำดับ (2 องค์ประกอบ)
              ตัวระบุวัตถุ 1.2.840.113549.3.7 des-EDE3-CBC (อัลกอริทึมการเข้ารหัส RSADSI)
              OCTET STRING (8 ไบต์) BB96EE7A71BA5792
          OCTET STRING (32 ไบต์) 569E1E845BA33D24D4243ED28B265B0974C486B813E6B9582B014D7E53DD01B9
      ลำดับ (3 องค์ประกอบ)
        ข้อมูลระบุวัตถุ 1.2.840.113549.1.7.1 (PKCS #7)
        ลำดับ (2 องค์ประกอบ)
          ตัวระบุวัตถุ 1.2.840.113549.3.7 des-EDE3-CBC (อัลกอริทึมการเข้ารหัส RSADSI)
          OCTET STRING (8 ไบต์) 05AD3B1BDCB767CC
        [0] (16 ไบต์) 7FA32912ECCCD7C421D4F122FD1ED172

สถานะข้อกำหนด (เน้นเพิ่ม):

§1.2.1 เหตุผล

การห่อคีย์ด้วยรหัสผ่าน เป็น กระบวนการสองขั้นตอน ขั้นแรกซึ่งรหัสผ่านที่ผู้ใช้ระบุจะถูกแปลงเป็น KEK หากจำเป็น และขั้นตอนที่สองซึ่ง KEK ใช้เพื่อเข้ารหัส CEK

แต่ฉันไม่ชัดเจน ทำไม การเข้ารหัส CMS โดยใช้รหัสผ่านทำได้ผ่านกระบวนการสองขั้นตอนนี้ มันป้องกันช่องโหว่ในอนาคตที่จะถูกค้นพบใน KDF หรือไม่?

KDF มีการใช้งานแบบใช้เกลืออยู่แล้ว ตารางสายรุ้งâ แล้วอะไรคือข้อได้เปรียบที่อยู่เบื้องหลังโมเดล CEK ที่ได้มาจากรหัสผ่านพร้อมชุดเข้ารหัสที่เข้ารหัส-CEK นี้ เกิน เพียงแค่ใช้เอาต์พุตของ KDF โดยตรงเป็น CEK?

Maarten Bodewes avatar
in flag
เหตุผลหลักที่ฉันสามารถ *คิด* ได้คือการเข้ารหัสคีย์การเข้ารหัสข้อมูล **หลายครั้ง** เช่น เมื่อใช้รหัสผ่านและอีกครั้งด้วยรหัสสาธารณะ โปรดทราบว่า CMS ยังอนุญาตหลายลายเซ็น
JamesTheAwesomeDude avatar
cn flag
ฉันเห็น: เพื่ออนุญาตให้ผู้รับที่ไม่สมมาตรโดยเฉพาะ _and also_ ให้ "การเข้าถึงด้วยรหัสผ่าน"? ดูเหมือนจะเป็นไปได้ เนื่องจาก `recipientInfos` เป็น `SET`
SAI Peregrinus avatar
si flag
นอกจากนี้ยังอนุญาตให้เปลี่ยนรหัสผ่านโดยไม่ต้องเข้ารหัสเนื้อหาซ้ำ เฉพาะ CEK เท่านั้นที่ได้รับการเข้ารหัสใหม่ ซึ่งสามารถไบได้เร็วขึ้นมาก
JamesTheAwesomeDude avatar
cn flag
การคาดเดาเหล่านี้ยอดเยี่ยม แม้ว่าตอนนี้ฉันได้ส่งอีเมลถึงผู้เขียน RFC เพื่อถามถึงข้อเท็จจริงทางประวัติศาสตร์ของเหตุผลที่นี่
Score:1

CMS เป็นไปตามการออกแบบมาตรฐาน

CMS อนุญาตให้เข้ารหัสข้อความสำหรับผู้รับหลายคน เดอะ การเข้ารหัสเนื้อหา ใช้คีย์ที่สร้างขึ้นแบบสุ่ม CEK วัตถุ CMS ประกอบด้วย เข้ารหัสคีย์ หยดสำหรับผู้รับแต่ละคน แต่ละ Blob EncryptedKey มี CEK ที่เข้ารหัสด้วยวิธีการที่อาจแตกต่างกันสำหรับผู้รับแต่ละคน

กลไกสองระดับนี้เป็นมาตรฐานในการเข้ารหัสข้อความที่มีผู้รับหลายคนมีคีย์เข้ารหัสเนื้อหาเดียว (CEK): หากเนื้อหาถูกเข้ารหัสแยกกันสำหรับผู้รับแต่ละคน สิ่งนี้จะทำให้ขนาดของข้อความทวีคูณและงานที่ทำเพื่อเข้ารหัสตามจำนวนผู้รับ ผู้รับทุกคนจะต้องได้รับ CEK ด้วยวิธีใดวิธีหนึ่ง แต่โดยทั่วไปแล้ว ผู้รับที่แตกต่างกันจะมีชุดความลับที่กำหนดไว้ล่วงหน้าต่างกัน (เช่น พวกเขารู้รหัสผ่านต่างกัน หรือมีคีย์ส่วนตัวต่างกัน) ดังนั้นข้อความที่มี เอ็น ผู้รับประกอบด้วย เอ็น blobs ซึ่งผู้รับแต่ละคนสามารถอ่านได้

นอกจากนี้ กลไกสองระดับนี้ยังเป็นมาตรฐานเมื่อใดก็ตามที่เกี่ยวข้องกับรหัสผ่าน แม้ว่าจะมีผู้ใช้คนเดียวที่ควรจะถอดรหัสข้อมูลก็ตาม ผู้ใช้มักต้องการเปลี่ยนรหัสผ่าน หาก CEK มาจากรหัสผ่าน การเปลี่ยนรหัสผ่านจะต้องมีการเข้ารหัสข้อมูลอีกครั้ง ดังนั้นแทนที่จะใช้รหัสผ่านเพื่อเข้ารหัส CEK เท่านั้น

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา