2012-08-20 14 views
13

एक वैज्ञानिक के रूप में मैं अपने गिट भंडार में कुछ जांचने के कुछ आधिकारिक रिकॉर्ड रखना चाहता हूं। यह बाद में पेटेंट विवादों के उदाहरण के दौरान पहले किसने आविष्कार किया था, के दावों का समर्थन करने के लिए। केंद्रीय सर्वर सेगिट: क्या टैग की हस्ताक्षर तिथि नकली करना संभव है?

git tag -s -m "`date`" 2012-08-20 

और धक्का टैग:

फिलहाल मैं समय-समय पर तो जैसे मेरी भंडार पर एक टैग जोड़ना

git push --tags 

एक टैग ऊपर खींच से पता चलता जिस तारीख पर मैंने अपनी कुंजी के साथ हस्ताक्षर किए:

git tag -v 2012-08-20 
object 2d6f6035270e8e44c035431e99be8da3fccee095 
type commit 
tag 2012-08-20 
tagger My Full Name <[email protected]> 1345466433 +0200 

Mon Aug 20 14:40:33 CEST 2012 
gpg: Signature made Mon Aug 20 14:40:37 2012 CEST using RSA key ID somekey 
gpg: Good signature from "My Full Name <[email protected]>" 
gpg:     aka "My Full Name <personal-email>" 

मेरा प्रश्न यह है कि ये तिथियां कितनी सुरक्षित हैं? क्या यह बाद में उनके साथ छेड़छाड़ संभव है?

संपादित करें: लेकिन आगे स्पष्टीकरण के लिए, मैं साबित करने में सक्षम होना चाहता हूं कि यह बहुत ही असंभव होगा कि मैंने बाद में टैग के साथ छेड़छाड़ की।

+0

माइक्रोसॉफ्ट एथेंटिकोड हस्ताक्षर के साथ निष्पादन योग्य कोड पर हस्ताक्षर करने हैं, तो आप एक "समय मुद्रांकन" सेवा है, जो समय है कि हस्ताक्षर मुहर लगी किया गया था की पुष्टि करता है का उपयोग कर सकते हैं, जब तक आप समय-मुद्रांकन सेवा प्रदाता पर भरोसा करते हैं। मैं एक समय स्टाम्प के साथ कुछ हस्ताक्षर करने के लिए विशेष रूप से अगर यह कानूनी रूप से धारण होगा किसी अन्य तरीके से के बारे में पता नहीं है, लेकिन आप उस शब्द को खोजने हो सकता है। –

उत्तर

14

क्या गिट गारंटी है: यदि तिथि (या शेष टैग, या उससे जुड़े कार्यों आदि) को बदल दिया जाता है, तो टैग का SHA1 बदल जाएगा।

हालांकि, यह उपयोगी बनाने के लिए, आपको किसी भी तरह साबित करना चाहिए कि मूल SHA1 टैग क्या था, और आपके पास पहले से ही आविष्कार की दावा की गई तारीख पर था।

अन्यथा, धोखाधड़ी से दावा करने के लिए कि आपने जनवरी 1 9 80 में कुछ खोजा था, आप केवल अपने कंप्यूटर की तारीख को 1 9 80 में रिवाइंड कर सकते हैं और आवश्यक कामों, टैग्स और सभी गिट के साथ भंडार बना सकते हैं, क्योंकि यह केवल विश्वास नहीं कर सकता सिस्टम घड़ी इसे बताती है।

तो अगर आप साबित होता है कि आप का आविष्कार किया चाहते/अतीत में कुछ पहले लिखा था कुछ तारीख को, Git (अकेले) आप मदद नहीं कर सकता, और न ही कर सकते हैं अकेले हस्ताक्षर करने के किसी भी रूप। आपको क्या चाहिए Trusted timestamping। कई अलग-अलग योजनाएं हैं, लेकिन सभी को एक या अधिक तृतीय पक्षों की आवश्यकता होती है जो अनिवार्य रूप से टाइमस्टैम्प की शुद्धता के लिए प्रतिबद्ध हैं।

+0

+1। भरोसेमंद टाइमस्टैम्प के लिए दिलचस्प लिंक। – VonC

2

क्या आप चाहते हैं एक प्रमाणित टाइमस्टैम्प के रूप में इस हाल धागा How can I use RFC3161 (trusted) timestamps to prove the age of commits in my Git repository?

यह एक प्रमाणित, प्रासंगिक टिप के लिए प्रतिबद्ध के SHA1 रिकॉर्डिंग की सत्यापित तरीका प्रतीत होता है में रयान जे द्वारा वर्णित है।

2

आप http://www.proofofexistence.com/ जैसी सेवा का उपयोग करके बिटकॉइन ब्लॉकचेन में अपने गिट प्रतिबद्ध sha1 को एम्बेड कर सकते हैं।

संबंधित मुद्दे