Score:1

วิธีปฏิบัติที่ดีที่สุดในการสร้างคีย์การติดตั้งแบบเก่า

ธง ps
vsz

แนวทางปฏิบัติที่ดีที่สุดในปัจจุบันทั้งหมดเกี่ยวกับการสร้างและการใช้คีย์เข้ารหัสที่ฉันพบ อ้างถึงการสร้างข้อมูลที่เข้ารหัสจากข้อมูลดิบ อย่างไรก็ตาม มี (หรืออย่างน้อยก็เมื่อสองสามทศวรรษที่แล้ว) แนวปฏิบัติที่ไม่ได้ใช้คีย์เพื่อถอดรหัสหรือรับรองความถูกต้องใดๆ แต่จะใช้เฉพาะในเครื่องเป็นหลักฐานแสดงความเป็นเจ้าของ (สัปดาห์มาก)

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

ทุกคนสามารถคัดลอกคีย์จากเจ้าของที่ถูกต้องและติดตั้งซอฟต์แวร์โดยไม่ได้รับอนุญาต ไม่มีอะไรป้องกันการปฏิบัตินี้ แต่คีย์ดังกล่าวยังคงใช้อยู่เพราะไม่ใช่ทุกคนที่ทำ ดังนั้นอย่างน้อยฐานผู้ใช้บางส่วนจึงป้องกันการละเมิดลิขสิทธิ์ได้ .

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

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

kelalaka avatar
in flag
แฮ็กเกอร์จะหาทางเลี่ยงผ่านการป้องกันคีย์ของคุณเสมอ ตราบใดที่แอปพลิเคชันของคุณยังใช้งานได้ ดูในอุตสาหกรรมเกม
ps flag
vsz
@kelalaka : แน่นอนพวกเขาทำ ฉันไม่เคยบอกว่าไม่มี แต่ถ้าฐานผู้ใช้ 100% พึ่งพาแฮ็กเกอร์ ก็จะมีคนมากมายที่ใช้งานได้ เพียงเพราะหัวขโมยที่มีแรงจูงใจเพียงพอสามารถเปิดประตูได้ ก็ไม่ได้หมายความว่าเราไม่ควรล็อกประตูเลย
Score:2
ธง my

อย่างไรก็ตาม มีแนวทางที่ทันสมัยและดีกว่าสำหรับการสร้าง "คีย์การติดตั้งแบบออฟไลน์" หรือไม่

มีสองแนวทางที่ชัดเจน:

  • หนึ่งคือการใช้รหัสยืนยันข้อความ (MAC); นี่คืออัลกอริธึมการเข้ารหัสที่ใช้สตริงและคีย์ลับ และสร้าง 'แท็ก' แนวคิดก็คือ หากไม่รู้รหัสลับ ก็ยากที่จะสร้างคู่สตริง/แท็กอื่นที่ตรวจสอบได้

ดังนั้น สิ่งที่คุณต้องทำในฐานะผู้ผลิตคือเลือกรหัสลับแบบสุ่ม (ซึ่งคุณจะใส่ลงในผลิตภัณฑ์ของคุณ) หากต้องการสร้าง 'รหัสผลิตภัณฑ์' (ฉลากที่ติดอยู่กับผลิตภัณฑ์) คุณต้องใช้หมายเลขลำดับ รันผ่าน MAC เพื่อสร้างแท็ก และทำให้หมายเลขลำดับและแท็กเป็นรหัสผลิตภัณฑ์

จากนั้น เมื่อติดตั้งผลิตภัณฑ์แล้ว ผู้ใช้ป้อนรหัสผลิตภัณฑ์ ซอฟต์แวร์จะแยกหมายเลขลำดับและแท็กออก จากนั้นรันหมายเลขลำดับผ่าน MAC (โดยใช้รหัสลับที่ผู้ผลิตใส่ไว้) และเปรียบเทียบแท็กที่คำนวณกับแท็กที่อยู่ในรหัสผลิตภัณฑ์ - หากตรงกัน คุณจะดำเนินการติดตั้งต่อไป

ข้อดีคือวิธีนี้ทำได้ง่ายและควบคุมความยาวของรหัสผลิตภัณฑ์ได้ง่าย (ด้วย MAC ที่ดี เช่น HMAC แท็ก 20 บิตจะทำให้ความน่าจะเป็นของการคาดเดาแบบสุ่มน้อยกว่าหนึ่งในล้านต่อการเดาหนึ่งครั้ง - ถ้า ยังไม่ต่ำพอ เลือกแท็กที่ยาวกว่านี้)

ข้อเสียของสิ่งนี้คือหากแฮ็กเกอร์ที่ดีแยกผลิตภัณฑ์ของคุณออกจากกัน พวกเขาสามารถแยกรหัสลับ จากนั้นสร้างรหัสผลิตภัณฑ์ของตนเองตามต้องการ มีความพยายามในการออกแบบการใช้งานที่ทนต่อสิ่งนี้ ("การเข้ารหัสแบบกล่องขาว"); เหล่านั้นพบว่าน่าผิดหวัง อย่างไรก็ตาม หากความพยายามที่เกี่ยวข้องในส่วนของผู้โจมตีมีมากกว่าความพยายามเพียงแค่แจกจ่ายรหัสผลิตภัณฑ์ที่เป็นที่รู้จักดี ก็อาจยอมรับได้

  • อีกวิธีหนึ่งคือใช้อัลกอริธึมลายเซ็นคีย์สาธารณะ (พร้อมลายเซ็นสั้น)

แนวคิดนี้คล้ายกัน ยกเว้นว่าผู้ผลิตจะสร้างคู่คีย์สาธารณะ/คีย์ส่วนตัว และใส่คีย์สาธารณะลงในอุปกรณ์

ผู้ผลิตใช้รหัสส่วนตัวเพื่อสร้าง 'รหัสผลิตภัณฑ์'; ในการติดตั้ง ซอฟต์แวร์จะใช้สำเนาของรหัสสาธารณะเพื่อตรวจสอบความถูกต้องของรหัสผลิตภัณฑ์

ข้อดีคือเราไม่ต้องกังวลอีกต่อไปว่าแฮ็กเกอร์จะสร้างคีย์ผลิตภัณฑ์ใหม่ได้ ในการทำเช่นนั้น เขาต้องใช้คีย์ส่วนตัวซึ่งไม่ได้อยู่ในอุปกรณ์

ข้อเสียคือความยาวของแท็ก - แม้แต่อัลกอริทึมที่มีลายเซ็นสั้นที่สุด (ซึ่งฉันเชื่อว่าเป็น BLS) ก็ยังมีลายเซ็นที่ยาวพอสมควร (เช่น 256 บิตสำหรับการรักษาความปลอดภัย 100 บิต) และไม่เหมือนกับกรณีของ MAC คือไม่สามารถตัดทอนได้

มีบริษัทหลายแห่งที่ใช้ลายเซ็นสำหรับรหัสผลิตภัณฑ์ของพวกเขา - ฉันคาดว่าพวกเขาจะเป็นส่วนน้อย

โพสต์คำตอบ

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