ເກືອ, Nonces ແລະ IVs .. ມັນມີຄວາມແຕກຕ່າງແນວໃດ?

ເມື່ອເວົ້າເຖິງການຂູດຂໍ້ມູນເພື່ອໃຫ້ລະຫັດຜ່ານແລະຜູ້ໃຊ້ປອດໄພ, ມີສອງສາມເສັ້ນທາງທີ່ແຕກຕ່າງກັນ. ພວກເຂົາເຮັດຫຍັງແທ້? ສູດການຄິດໄລ່ທັງ ໝົດ ນີ້ມີວິທີການທີ່ແຕກຕ່າງກັນທີ່ໃຊ້ໃນການປ້ອງກັນການໂຈມຕີກ່ອນການຄິດໄລ່ເຊັ່ນ Rainbow Tables.

ເກືອ, ເອກະສານ, ແລະ IV ແມ່ນຄຸນຄ່າທັງ ໝົດ ທີ່ໃຊ້ໃນຄັ້ງດຽວທີ່ໃຊ້ໃນລະບົບ cryptography ທີ່ບໍ່ ຈຳ ເປັນຕ້ອງເປັນຄວາມລັບ, ແຕ່ມັນຍັງ ນຳ ໄປສູ່ຄວາມປອດໄພເພີ່ມອີກ. ມັນໄດ້ຖືກຄາດເດົາໂດຍທົ່ວໄປວ່າຄຸນຄ່າເຫລົ່ານີ້ສາມາດເບິ່ງເຫັນໄດ້ໂດຍຜູ້ໂຈມຕີ, ເຖິງແມ່ນວ່າບາງຄັ້ງມັນກໍ່ສາມາດເຊື່ອງພວກມັນໄດ້.

ເກືອ

ໂດຍທົ່ວໄປ, ເກືອຖືກ ນຳ ໃຊ້ໃນລະບົບທີ່ມີລະຫັດຜ່ານແລະມີການປະສົມປະສານກັບດ້ານ ໜ້າ ຂອງລະຫັດຜ່ານກ່ອນການປຸງແຕ່ງ. ດັ່ງນັ້ນ, ເວົ້າອີກຢ່າງ ໜຶ່ງ, ຖ້າວ່າບໍ່ມີເກືອ, ຜູ້ໂຈມຕີສາມາດສ້າງວັດຈະນານຸກົມຂອງລະຫັດຜ່ານທົ່ວໄປແລະພຽງແຕ່ຊອກຫາລະຫັດຜ່ານເດີມໂດຍເຄື່ອງກວດສອບ.

ການໃຊ້ເກືອ ໝາຍ ຄວາມວ່າຜູ້ໂຈມຕີຈະຕ້ອງຜະລິດພົດຈະນານຸກົມແຍກຕ່າງຫາກທັງ ໝົດ ສຳ ລັບທຸກໆມູນຄ່າເກືອທີ່ເປັນໄປໄດ້. ຖ້າເກືອໃຫຍ່ພໍ, ມັນເປັນສິ່ງ ຈຳ ເປັນທີ່ຈະເຮັດໃຫ້ການໂຈມຕີພົດຈະນານຸກົມບໍ່ຖືກຕ້ອງ.

ໝາກ ພິກໄທ

ໝາກ ພິກໄທມີບົດບາດປຽບທຽບກັບເກືອ, ແຕ່ວ່າໃນຂະນະທີ່ເກືອບໍ່ແມ່ນຄວາມລັບ (ພຽງແຕ່ເປັນເອກະລັກ) ແລະສາມາດເກັບໄດ້ຄຽງຄູ່ກັບຜົນຜະລິດທີ່ບໍ່ມີປະໂຫຍດ, ໝາກ ພິກໄທເປັນຄວາມລັບແລະບໍ່ຕ້ອງເກັບຮັກສາໄວ້ກັບຜົນຜະລິດ. ມັນຍັງປົກກະຕິແລ້ວມີພຽງແຕ່ໂຕອັກສອນ ໜຶ່ງ ທີ່ຖືກໃສ່ຢູ່ໃນຕອນທ້າຍຂອງລະຫັດຜ່ານ. ໂດຍປົກກະຕິແລ້ວ, hash ແລະເກືອແມ່ນເກັບຢູ່ໃນຖານຂໍ້ມູນ, ແຕ່ວ່າ ໝາກ ພິກໄທຕ້ອງຖືກເກັບໄວ້ແຍກຕ່າງຫາກ (ເຊັ່ນໃນເອກະສານການຕັ້ງຄ່າ) ເພື່ອປ້ອງກັນບໍ່ໃຫ້ມັນຖືກຈັບໂດຍຜູ້ໂຈມຕີໃນກໍລະນີມີການລະເມີດຖານຂໍ້ມູນ. ຫຼືຍົກເລີກງ່າຍໆຫຼັງຈາກໃຊ້ແລ້ວ. ໂດຍປົກກະຕິທ່ານຕ້ອງການທີ່ຈະປະຕິບັດທັງເກືອແລະ pepper ກັບເຮັກຕາຂອງທ່ານ.

Nonce (ຈຳ ນວນທີ່ຖືກ ນຳ ໃຊ້ຄັ້ງດຽວ) ແມ່ນຂໍ້ມູນສ່ວນ ໜ້ອຍ ທີ່ເຂົ້າມາໃນລະບົບໂປແກຼມ cryptographic ແລະ algorithms, ລວມທັງລະຫັດການກວດສອບຂໍ້ຄວາມແລະຫລາຍຮູບແບບການເຂົ້າລະຫັດ. ຄຸນຄ່າດັ່ງກ່າວຄວນຖືກ ນຳ ໃຊ້ຄັ້ງດຽວເທົ່ານັ້ນທີ່ມີລະຫັດສະກຸນເງິນສະເພາະ. ໃນຄວາມເປັນຈິງ, ການ ນຳ ໃຊ້ຄືນ ໃໝ່ ໂດຍທົ່ວໄປແມ່ນບໍ່ຖືກຫ້າມ, ແຕ່ວ່າການ ນຳ ໃຊ້ຄືນ ໃໝ່ ຕ້ອງມີຄວາມເປັນໄປໄດ້ຕໍ່າ.

nonces ສືບຕໍ່ມີຂໍ້ໄດ້ປຽບບໍ່ຫຼາຍປານໃດກ່ຽວກັບ nonces ແບບສຸ່ມ:

  • ທ່ານສາມາດຮັບປະກັນໄດ້ຢ່າງງ່າຍດາຍວ່າສິ່ງທີ່ບໍ່ໄດ້ເຮັດຊ້ ຳ ອີກ. ເຖິງຢ່າງໃດກໍ່ຕາມຂໍໃຫ້ສັງເກດວ່າຖ້າພື້ນທີ່ nonce ທີ່ເປັນໄປໄດ້ມີຂະ ໜາດ ໃຫຍ່, ນີ້ບໍ່ແມ່ນຄວາມກັງວົນແທ້ໆ.
  • ພິທີການຫຼາຍຢ່າງສົ່ງ ຈຳ ນວນ ລຳ ດັບທີ່ເປັນເອກະລັກ ສຳ ລັບແຕ່ລະແພັກເກັດ, ສະນັ້ນຄົນເຮົາສາມາດປະຫຍັດພື້ນທີ່ໃນຂໍ້ຄວາມທີ່ສົ່ງຕໍ່.
  • ການສັ່ງເຄື່ອງທີ່ບໍ່ເປັນໄປຕາມ ລຳ ດັບສາມາດ ນຳ ໃຊ້ເພື່ອປ້ອງກັນການໂຈມຕີແບບຊ້ ຳ, ແຕ່ຖ້າທ່ານກວດສອບຕົວຈິງເພື່ອຮັບປະກັນວ່າ nonce ແມ່ນເພີ່ມຂື້ນເລື້ອຍໆ. ນັ້ນແມ່ນ, ຖ້າແຕ່ລະຂ່າວສານມີ nonce ທີ່ຕິດກັບມັນ, ທ່ານສາມາດບອກໄດ້ວ່າຂ່າວສານນັ້ນຖືກຈັດໃສ່ໃນລະບຽບທີ່ຖືກຕ້ອງ, ໂດຍການເບິ່ງ nonce ແລະໃຫ້ແນ່ໃຈວ່າຄຸນຄ່າຂອງມັນເພີ່ມຂື້ນເລື້ອຍໆ.

ເຖິງຢ່າງໃດກໍ່ຕາມ, ການສຸ່ມແບບໃນແບບ nonce ຊ່ວຍປ້ອງກັນການໂຈມຕີຕ່າງໆທີ່ແບ່ງແຍກການເຮັດວຽກໃນທົ່ວລະຫັດທີ່ຫຼາກຫຼາຍໃນລະບົບດຽວກັນ. ໂດຍທົ່ວໄປທ່ານຕ້ອງການທີ່ຈະມີທັງສ່ວນທີ່ສຸ່ມແລະສ່ວນທີ່ເປັນ ລຳ ດັບ.

ຂັ້ນຕອນທີ 1: ລູກຄ້າເລີ່ມຕົ້ນກອງປະຊຸມກວດສອບຄວາມຖືກຕ້ອງຂອງ SCRAM

ຂັ້ນຕອນທີ 2: ເຄື່ອງແມ່ຂ່າຍອອກຂໍ້ທ້າທາຍ

ຂັ້ນຕອນທີ 3: ລູກຄ້າຕອບກັບຫຼັກຖານຢັ້ງຢືນ

vector ການເລີ່ມຕົ້ນ

ຕົວແປ IV ຫຼືເລີ່ມຕົ້ນແມ່ນການປ້ອນຂໍ້ມູນຂະ ໜາດ ຄົງທີ່.

IV ແລະ nonce ແມ່ນໃຊ້ກັນເລື້ອຍໆ. ເຖິງຢ່າງໃດກໍ່ຕາມ, IV ແມ່ນ nonce ທີ່ມີຄວາມຕ້ອງການເພີ່ມເຕີມ: ມັນຕ້ອງຖືກເລືອກໃນແບບທີ່ບໍ່ສາມາດຄາດເດົາໄດ້. ສິ່ງນີ້ຈະ ກຳ ຈັດສິ່ງທີ່ບໍ່ແມ່ນ ລຳ ດັບທັງ ໝົດ, IV ຕ້ອງເປັນແບບສຸ່ມ.

BCRYPT

ເຖິງຢ່າງໃດກໍ່ຕາມພວກເຮົາບໍ່ສາມາດລືມກ່ຽວກັບຂອງຂວັນທີ່ ໜ້າ ຫວາດສຽວ Ruby on Rails ໄດ້ສະ ໜອງ ໃຫ້ພວກເຮົາເພື່ອຄວາມປອດໄພທາງໄຊເບີ. bcrypt () ແມ່ນລະບົບວິທີການທີ່ທັນສະ ໄໝ ແລະປອດໄພທີ່ຖືກອອກແບບໂດຍໂຄງການ OpenBSD ສຳ ລັບການລະຫັດລັບ. ແກ້ວປະເສີດຂອງ bcrypt Ruby ໃຫ້ເຄື່ອງຫຸ້ມຫໍ່ທີ່ງ່າຍດາຍ ສຳ ລັບການຈັດການກັບລະຫັດລັບຢ່າງປອດໄພ. ໂດຍປົກກະຕິລະຫັດຜ່ານຈະຜ່ານລະບົບ algorithm bcrypt ແລະຫຼັງຈາກນັ້ນຖືກ“ ເກືອ” ສຳ ລັບຄວາມປອດໄພອີກຊັ້ນ ໜຶ່ງ.

ໂດຍພື້ນຖານແລ້ວທີ່ຈະສະຫຼຸບ, ເກືອແລະ IV ຄວນຈະເປັນແບບສຸ່ມ, ແລະ nonces ມັກຈະເປັນ ລຳ ດັບ, ອາດຈະມີເກືອແບບສຸ່ມເປັນສ່ວນປະກອບ, ຖ້າມີຫ້ອງ. ດ້ວຍສິ່ງທີ່ບໍ່ແມ່ນ ລຳ ດັບ, ທ່ານ ຈຳ ເປັນຕ້ອງຮັບປະກັນວ່າທ່ານບໍ່ ຈຳ ເປັນຕ້ອງຈັບຄູ່ {key, nonce}. ເວັ້ນເສຍແຕ່ວ່າທ່ານມີປັນຍາຂອງ bcrypt, ມັນເປັນການດີທີ່ຈະເບິ່ງໃນການ ນຳ ໃຊ້ສູດການຄິດໄລ່ຫຼາຍໆຂໍ້ເພື່ອປົກປ້ອງຂໍ້ມູນ.