MoneroSwapper MoneroSwapper
คู่มือ

การเซ็นธุรกรรม Monero ออฟไลน์: คู่มือ Air-Gapped Cold Spending

MoneroSwapper Team · · · 3 min read · 58 views

การเซ็นธุรกรรมออฟไลน์คืออะไร?

การเซ็นธุรกรรมออฟไลน์เป็นเทคนิคความปลอดภัยที่เก็บ private spending keys ไว้บนอุปกรณ์ที่ไม่เคยเชื่อมต่ออินเทอร์เน็ต ในขณะที่ยังอนุญาตให้คุณส่งธุรกรรมได้ แนวคิดนั้นตรงไปตรงมา: คุณสร้างธุรกรรมบน watch-only wallet ที่เชื่อมต่ออินเทอร์เน็ต โอนข้อมูลธุรกรรมที่ไม่ได้เซ็นไปยังอุปกรณ์ air-gapped ที่ถือ private keys เซ็นที่นั่น จากนั้นโอนธุรกรรมที่เซ็นแล้วกลับไปยังอุปกรณ์ออนไลน์เพื่อประกาศไปยังเครือข่าย Monero

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

เมื่อใดคุณต้องการระดับความปลอดภัยนี้?

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

  • คุณถือ XMR จำนวนมาก ที่จะสูญเสียทางการเงินที่มีนัยสำคัญหากถูกขโมย
  • คุณทำงานในสภาพแวดล้อมที่มีภัยคุกคามสูง ที่การโจมตีแบบกำหนดเป้าหมายต่ออุปกรณ์ของคุณเป็นไปได้
  • คุณจัดการเงินสำหรับผู้อื่น และมีความรับผิดชอบในฐานะผู้ดูแลเพื่อรักษามาตรฐานความปลอดภัยสูงสุด
  • คุณต้องการ cold storage ที่ยังใช้จ่ายได้ โดยไม่ต้องนำเข้า seed phrase security เข้าสู่ hot wallet ทุกครั้ง

ข้อกำหนดการตั้งค่า

สถาปัตยกรรมสองอุปกรณ์

คุณต้องการอุปกรณ์แยกกันสองชิ้น อุปกรณ์แรกคือ อุปกรณ์ออนไลน์ ของคุณซึ่งรัน watch-only wallet ที่เชื่อมต่อกับเครือข่าย Monero อุปกรณ์นี้สามารถดูยอดคงเหลือและธุรกรรมขาเข้าของคุณได้แต่ไม่สามารถใช้จ่ายเงินได้เนื่องจากไม่มี private spend key อุปกรณ์ที่สองคือ อุปกรณ์ air-gapped ของคุณซึ่งถือ wallet เต็มรูปแบบพร้อมทั้ง view key และ spend key แต่ไม่มีการเชื่อมต่อเครือข่ายเลย

อุปกรณ์ air-gapped ควรเป็นคอมพิวเตอร์หรือแล็ปท็อปเฉพาะที่มีการถอด wireless card ออกทางกายภาพหรือปิดใช้งานที่ระดับ firmware แค่ปิด WiFi ใน software ไม่เพียงพอเพราะ malware สามารถเปิดใช้งานใหม่ได้ เพื่อความปลอดภัยสูงสุด ใช้อุปกรณ์ที่ไม่เคยเชื่อมต่ออินเทอร์เน็ตหรือมีการติดตั้งใหม่จากสื่อที่ตรวจสอบแล้ว

สื่อถ่ายโอนข้อมูล

เนื่องจากอุปกรณ์ air-gapped ไม่มีการเชื่อมต่อเครือข่าย คุณต้องการสื่อทางกายภาพเพื่อถ่ายโอนข้อมูลระหว่างอุปกรณ์ทั้งสอง ตัวเลือกที่พบบ่อยที่สุดสองแบบคือ:

  • USB flash drive: วิธีที่ง่ายที่สุด คุณคัดลอกไฟล์ไปยัง USB บนอุปกรณ์ออนไลน์ โอนทางกายภาพไปยังอุปกรณ์ air-gapped ประมวลผล จากนั้นโอนกลับ ความเสี่ยง: USB drive สามารถเป็นพาหะของ malware ได้ ใช้ drive ที่สะอาดและตรวจสอบล่วงหน้า
  • QR code: วิธีที่ปลอดภัยกว่าซึ่งหลีกเลี่ยงสื่อที่ใช้ร่วมกัน แสดง QR code บนจอภาพออนไลน์และสแกนด้วยกล้องของอุปกรณ์ air-gapped ข้อมูลส่งทางสายตาเท่านั้นโดยไม่มีการแลกเปลี่ยนสื่อทางกายภาพ

ขั้นตอนทีละขั้นตอน

ขั้นตอนที่ 1: ตั้งค่า Watch-Only Wallet

บนอุปกรณ์ air-gapped ของคุณ สร้างหรือนำเข้า Monero wallet ของคุณโดยใช้ Monero CLI wallet หรือ Feather Wallet จากนั้นส่งออก view key เท่านั้น โดยใช้คำสั่ง:

monero-wallet-cli --wallet-file your_wallet
account

บนอุปกรณ="ออนไลน์ สร้าง watch-only wallet โดยใช้ primary address และ view key ที่ส่งออกจากอุปกรณ์ air-gapped Monero CLI จะสร้างไฟล์ wallet_name.keys ที่มีเฉพาะ view key watch-only wallet นี้สามารถเห็นธุรกรรมขาเข้าและยอดคงเหลือได้ แต่ไม่มีสิทธิ์ใช้จ่าย

ขั้นตอนที่ 2: Export Outputs จาก Watch-Only Wallet

ก่อนสร้างธุรกรรมที่ไม่ได้เซ็น watch-only wallet ต้องส่งออกข้อมูล output ปัจจุบัน:

export_outputs /path/to/outputs_file

คัดลอกไฟล์ outputs นี้ไปยัง USB drive หรือแปลงเป็น QR code และโอนไปยังอุปกรณ์ air-gapped บนอุปกรณ์ air-gapped นำเข้า outputs:

import_outputs /path/to/outputs_file

ขั้นตอนนี้จำเป็นเพื่อให้ wallet air-gapped รู้ว่า outputs ใดพร้อมใช้งาน

ขั้นตอนที่ 3: สร้าง Unsigned Transaction

บนอุปกรณ์ออนไลน์ สร้างธุรกรรมที่ไม่ได้เซ็นโดยใช้ watch-only wallet:

transfer unsigned /destination_address AMOUNT

เมื่อ wallet ถามว่าจะส่งออกธุรกรรมที่ไม่ได้เซ็นหรือไม่ ยืนยันและระบุ path ไฟล์ สิ่งนี้สร้างไฟล์ unsigned_monero_tx ที่มีรายละเอียดธุรกรรมครบถ้วนยกเว้นลายเซ็นการใช้จ่าย

ขั้นตอนที่ 4: เซ็นธุรกรรมบนอุปกรณ์ Air-Gapped

โอนไฟล์ unsigned transaction ไปยังอุปกรณ์ air-gapped บนอุปกรณ์ air-gapped ใช้คำสั่ง sign_transfer:

sign_transfer /path/to/unsigned_monero_tx

wallet จะตรวจสอบรายละเอียดธุรกรรมและขอการยืนยัน ตรวจสอบที่อยู่ปลายทาง จำนวน และค่าธรรมเนียมอย่างระมัดระวังก่อนยืนยัน เมื่อยืนยันแล้ว กระบวนการจะสร้างไฟล์ signed_monero_tx

ขั้นตอนที่ 5: ประกาศธุรกรรมที่เซ็นแล้ว

โอนไฟล์ signed transaction กลับไปยังอุปกรณ์ออนไลน์ บนอุปกรณ์ออนไลน์ใช้ submit_transfer:

submit_transfer /path/to/signed_monero_tx

watch-only wallet จะประกาศธุรกรรมไปยังเครือข่าย Monero และคุณจะได้รับ transaction ID ที่คุณสามารถตรวจสอบได้บน block explorer ของ Monero

การใช้ Feather Wallet สำหรับ Air-Gapped Signing

Feather Wallet เป็นทางเลือก GUI ที่ทำให้กระบวนการ air-gapped signing เป็นมิตรกับผู้ใช้มากขึ้น มีโหมด watch-only โดยเฉพาะและรองรับการถ่ายโอน QR code สำหรับข้อมูล unsigned transaction และ signed transaction

ข้อดีของ Feather Wallet สำหรับการใช้งาน air-gapped:

  • รองรับ QR code สำหรับการถ่ายโอนข้อมูลที่ปลอดภัย
  • อินเทอร์เฟซที่ชัดเจนสำหรับการตรวจสอบรายละเอียดธุรกรรมก่อนเซ็น
  • การยืนยันที่อยู่ที่มองเห็นชัดเพื่อป้องกัน clipboard hijacking
  • การสนับสนุน Tor สำหรับ watch-only device ออนไลน์

ข้อควรพิจารณาด้านความปลอดภัยขั้นสูง

การตรวจสอบ Ring Signature

เมื่อคุณสร้างธุรกรรม Monero กระบวนการเลือก decoy outputs สำหรับ ring signature เกิดขึ้นบนอุปกรณ์ที่สร้างธุรกรรม (อุปกรณ์ออนไลน์ใน watch-only workflow) สิ่งนี้มีนัยสำคัญเนื่องจาก ring signature ที่สร้างโดยซอฟต์แวร์ที่ถูกโจมตีอาจเลือก decoys ที่ทำให้สามารถเชื่อมโยง output จริงได้

เพื่อลดความเสี่ยงนี้ ให้ตรวจสอบว่า watch-only wallet ออนไลน์รัน Monero software เวอร์ชันที่ตรวจสอบแล้วจากแหล่งที่เป็นทางการและตรวจสอบว่า checksum ตรงกันก่อนติดตั้ง

การป้องกัน Clipboard Hijacking

Clipboard hijacking malware แทนที่ที่อยู่สกุลเงินดิจิทัลที่คุณคัดลอกด้วยที่อยู่ของผู้โจมตี เมื่อทำงานกับ unsigned transactions เสมอตรวจสอบที่อยู่ปลายทางที่แสดงบน watch-only wallet ตรงกับที่อยู่ที่คุณตั้งใจจะส่งอย่างแน่นอน ตรวจสอบอักขระหลายตัวจากทั้งต้นและท้ายของที่อยู่

การจัดการ USB Drive อย่างปลอดภัย

หากคุณใช้ USB drive สำหรับถ่ายโอนข้อมูล:

  • ใช้ USB drive เฉพาะสำหรับ workflow นี้เท่านั้น
  • ฟอร์แมต drive ก่อนและหลังการถ่ายโอนแต่ละครั้ง
  • พิจารณาใช้ read-only USB adapter บน air-gapped device เพื่อป้องกันการเขียน
  • ตรวจสอบไฟล์ด้วย checksum ก่อนประมวลผลบนอุปกรณ์ air-gapped

การผสานรวมกับ MoneroSwapper

ผู้ใช้ที่ใช้ air-gapped wallet สำหรับการถือครองระยะยาวยังสามารถใช้ MoneroSwapper สำหรับการสวอปที่ต้องการ workflow ในกรณีนี้คือ:

  1. สร้างธุรกรรมบน watch-only wallet โดยส่ง XMR ไปยังที่อยู่ MoneroSwapper ที่สร้างสำหรับการสวอปของคุณ
  2. ทำตามขั้นตอน air-gapped signing เพื่อเซ็นและประกาศธุรกรรม
  3. MoneroSwapper ประมวลผลการสวอปหลังจากยืนยันธุรกรรม XMR ของคุณ
  4. สกุลเงินปลายทางส่งไปยังที่อยู่ที่คุณระบุ

วิธีนี้ให้ความปลอดภัยสูงสุดสำหรับการส่ง Monero แม้ว่าจะเพิ่มเวลาในการดำเนินการเนื่องจากขั้นตอน signing ด้วยตนเอง

ข้อผิดพลาดที่พบบ่อยและการแก้ไข

ข้อผิดพลาด "Outputs Not Imported"

ถ้าอุปกรณ์ air-gapped แสดงข้อผิดพลาดว่าต้องการ outputs ที่นำเข้าก่อน ให้ทำตามขั้นตอน export_outputs และ import_outputs อีกครั้ง สิ่งนี้เกิดขึ้นเมื่อ wallet air-gapped ไม่ได้รับการอัปเดตเกี่ยวกับ outputs ที่พร้อมใช้งานล่าสุด

ปัญหา Stale Outputs

Outputs ที่เลือกสำหรับธุรกรรมจะถูก "ล็อก" ชั่วคราวหลังการสวอป หากธุรกรรมล้มเหลวหรือถูกยกเลิก outputs อาจยังคงแสดงว่าถูกใช้แล้วบน watch-only wallet รอให้ mempool ล้างหรือรีเฟรชข้อมูล blockchain

ปัญหา Version Mismatch

ตรวจสอบให้แน่ใจว่าทั้งอุปกรณ์ออนไลน์และ air-gapped รัน Monero software เวอร์ชันเดียวกัน รูปแบบที่เข้ากันไม่ได้ระหว่างเวอร์ชันอาจทำให้ไฟล์ signed transaction ไม่สามารถนำเข้าได้

ข้อพิจารณาสำหรับผู้ใช้ไทย

ในบริบทของประเทศไทย การรักษาความปลอดภัยของสินทรัพย์ดิจิทัลมีความสำคัญมากขึ้นเรื่อยๆ เนื่องจากการเพิ่มขึ้นของมูลค่าสินทรัพย์ดิจิทัล ก.ล.ต. และ ธปท. ยังไม่มีกฎระเบียบเฉพาะที่ห้ามการใช้ cold wallet หรือ air-gapped signing อย่างไรก็ตาม ผู้ใช้ควรทราบว่าการรักษาความปลอดภัยส่วนตัวที่แข็งแกร่งคือความรับผิดชอบส่วนตัวที่ไม่ขึ้นกับการกำกับดูแล

การใช้ air-gapped signing ไม่ได้ทำให้ธุรกรรมมีลักษณะพิเศษใดๆ บน blockchain ของ Monero เนื่องจากธุรกรรมที่สมบูรณ์ดูเหมือนกันทุกประการ ไม่ว่าจะเซ็นออนไลน์หรือออฟไลน์

การเลือกสื่อสำรองข้อมูลที่เหมาะสม

การเลือกสื่อสำหรับถ่ายโอนข้อมูลระหว่างอุปกรณ์ออนไลน์และ air-gapped ขึ้นอยู่กับระดับความปลอดภัยที่คุณต้องการ:

USB Drive: ง่ายแต่มีความเสี่ยง

USB drive เป็นตัวเลือกที่ง่ายที่สุดในการใช้งาน แต่มีพื้นผิวการโจมตีที่สำคัญ มี malware หลายประเภทที่แพร่กระจายผ่าน USB เช่น BadUSB ซึ่งเขียนโปรแกรมใหม่ให้ firmware ของ USB drive ทำงานเป็นอุปกรณ์ HID (เช่น keyboard) แทนที่จะเป็น storage device เพื่อลดความเสี่ยง:

  • ใช้ USB drive ที่ซื้อใหม่เฉพาะสำหรับ workflow นี้เท่านั้น
  • ฟอร์แมตก่อนและหลังการใช้งานทุกครั้ง
  • อย่าใช้ drive นี้กับคอมพิวเตอร์เครื่องอื่นเลย
  • พิจารณาใช้ write blocker hardware เมื่ออ่านจาก air-gapped device

QR Code: ปลอดภัยกว่าด้วยข้อจำกัดด้านขนาด

QR code ถ่ายโอนข้อมูลทางสายตาโดยไม่ต้องสัมผัสสื่อทางกายภาพ Monero CLI รองรับการส่งออก outputs และ unsigned transactions เป็น QR code ข้อเสียคือ QR code มีความจุข้อมูลจำกัด (สูงสุดประมาณ 3 kB) ซึ่งอาจเป็นปัญหาสำหรับธุรกรรมขนาดใหญ่ที่มีหลาย outputs Feather Wallet แก้ปัญหานี้ด้วยการแบ่ง QR code เป็นหลายส่วน (animated QR)

การรักษาความปลอดภัยของ Seed Phrase บน Air-Gapped Device

อุปกรณ์ air-gapped ของคุณเก็บ full wallet รวมถึง private spend key อย่างไรก็ตาม seed phrase ที่สร้างจาก wallet มีความสำคัญมากกว่าอุปกรณ์เอง เพราะ seed phrase ช่วยให้กู้คืน wallet ได้หากอุปกรณ์ชำรุดหรือสูญหาย

แนวทางที่แนะนำสำหรับการจัดเก็บ seed phrase:

  • Steel backup: เขียน seed phrase บนแผ่น stainless steel เพื่อทนไฟและน้ำ
  • หลายสำเนา: เก็บสำเนาในสถานที่แยกต่างหากทางกายภาพอย่างน้อย 2 แห่ง
  • ไม่มีรูปถ่าย: อย่าถ่ายรูป seed phrase ด้วยกล้องที่เชื่อมต่อ cloud
  • ไม่มีการจัดเก็บดิจิทัล: อย่าพิมพ์ seed phrase บนคอมพิวเตอร์ที่เชื่อมต่ออินเทอร์เน็ต

การตรวจสอบความถูกต้องของ Monero Software

ก่อนติดตั้ง Monero CLI หรือ Feather Wallet บน air-gapped device เสมอตรวจสอบลายเซ็น GPG ของซอฟต์แวร์ Monero Project เผยแพร่ signed checksums สำหรับทุก release ขั้นตอน:

  1. ดาวน์โหลดไฟล์ binary และไฟล์ hashes.txt จากเว็บไซต์ทางการ
  2. ดาวน์โหลด GPG signature file
  3. นำเข้า public key ของ Monero Core Team
  4. ตรวจสอบลายเซ็น GPG บน hashes.txt
  5. ตรวจสอบ SHA256 hash ของ binary ตรงกับค่าใน hashes.txt

การข้ามขั้นตอนการตรวจสอบนี้หมายความว่าคุณอาจติดตั้ง software ที่ถูกแก้ไข ซึ่งสามารถเปิดเผย keys ของคุณได้แม้บน air-gapped device

สรุป

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

แชร์บทความนี้

บทความที่เกี่ยวข้อง

พร้อมที่จะแลกเปลี่ยนหรือยัง?

แลกเปลี่ยน Monero แบบไม่ระบุตัวตน

ไม่ต้อง KYC • ไม่ต้องสมัคร • แลกเปลี่ยนทันที

แลกเปลี่ยนเดี๋ยวนี้