ปลอดภัยไหมที่จะเก็บรหัสผ่าน (เข้ารหัส) ใน GitHub?


21

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

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

การส่งที่เก็บพาส git ปลอดภัยไปยังที่เก็บส่วนตัว GitHub หรือไม่ ถ้าไม่ลิงค์อ่อนแอคืออะไร?


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

พิจารณาเป็น repo ส่วนตัวฉันจะถือว่า (เช่นเดียวกับลูกค้าของ GitHub) ที่ไม่มีใครยกเว้น GitHub เองจะสามารถเข้าถึง repo ได้ แน่นอนว่าถ้าฉันไม่ได้ซื้อคืนวันหนึ่ง
Nicolas Mattia

1
นอกจากนี้จะไม่มีใครสามารถเข้าถึงคีย์ GPG ดังนั้นใครบางคนจะต้องทำลายการเข้ารหัส 4096 บิตซึ่งไม่น่าเป็นไปได้สำหรับการโจมตีแบบโหดร้ายแบบออฟไลน์
Nicolas Mattia

1
เว้นแต่พวกเขาจะเมาและรหัสผ่านรหัสส่วนตัวคือ Password1;) เพียงเพราะฉันนำมันขึ้นมาแล้ววันนี้ฉันยังคงคิด superfish โดยใช้ชื่อของ บริษัท มันเป็นรหัสผ่าน (โคโมโด) มันทำให้แตกง่ายขึ้น แต่ก็ยัง ความผิดพลาดที่โง่ทำให้รหัสผ่านง่ายต่อการถอดรหัส
dakre18

ระดับ @ dakre18 เริ่มจาก "ไม่น่าจะเกิดขึ้น" ถึง "การถอดรหัสตลก"
m3nda

คำตอบ:


13

คำตอบสั้น ๆ

มันตกลงที่จะใส่ gitub repo ผ่าน

คำตอบ verbose

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

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

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

อีกสองสิ่งที่ต้องพิจารณา

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

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


ฉันคิดว่าคุณกำลังทำสามจุดที่ดีจริงๆ: 1) คีย์การเข้ารหัสไม่ปรากฏบนเซิร์ฟเวอร์ 2) ให้ใครบางคนเห็นรหัสผ่านของฉันคือเหตุผลว่าทำไมมันถูกเข้ารหัสตั้งแต่แรก 3) นิ้วมือเงอะงะของฉันส่วนใหญ่ถูกนำออกจาก ห่วง แต่อย่างที่ @Jens พูดแล้วฉันต้องเชื่อใจซอฟต์แวร์นี้
Nicolas Mattia

1
Pass นั้นง่ายพอที่คุณจะไม่ไว้วางใจ Pass จริงๆคุณไว้วางใจ PGP ที่ถูกกล่าวว่าใช่คุณยังต้องไว้วางใจ PGP ความคิดของฉันคือทำไมใช้ PGP เพื่ออะไรเลยถ้าคุณไม่เชื่อว่ามันเข้ารหัสสิ่ง?
Tyler Abair

7

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

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

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

เคยโพสต์ข้อความรหัสผ่านส่วนตัวในหน้าต่างแชทโดยไม่ตั้งใจซึ่งโผล่ขึ้นมาไหม ฉันรู้จักกลุ่มคนที่รวมถึงตัวเองด้วย


3

นี่เป็นคำถามที่ดีเนื่องจากเป็นปัญหาในอดีตที่มีคนใส่รหัสผ่านส่วนตัวในที่เก็บสาธารณะ

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

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

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

แก้ไข: ฉันกำลังคิดถึงโปรแกรมในบางโพสต์ของฉันดังนั้นฉันจึงทำให้คุณตอบคำถามของคุณได้ดีขึ้น


0

หนึ่งในคุณสมบัติที่ยอดเยี่ยมของ Pass คือทุกสิ่งเก็บไว้ในโฟลเดอร์ที่มีลำดับชั้นที่ดีซึ่งเหมาะสำหรับการตั้งค่า repo git

ฉันคิดว่ามันไม่ปลอดภัย สำหรับบัญชีทั้งหมดของคุณ (โครงสร้างไดเรกทอรี) ไม่ได้เข้ารหัส รหัสผ่านเท่านั้นที่ได้รับการคุ้มครองโดย gpg

(ผ่านแม้ให้ความสามารถนั้น)

ถ้าใช้ความสามารถของ pass อาจจะปลอดภัยกว่า แต่คุณต้องสร้างร้านค้าของคุณใหม่โดยใช้ "pass git init"

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.