ወደ OpenSSH codebase
የተጠቃሚውን መኖር ከሚያረጋግጡ መሳሪያዎች ጋር ለመገናኘት አዲስ አይነት ቁልፎች ወደ OpenSSH" ታክለዋል[ኢሜል የተጠበቀ]”(“ecdsa-sk”)፣ እሱም ECDSA (Elliptic Curve Digital Signature Algorithm) ዲጂታል ፊርማ አልጎሪዝም ከNIST P-256 ሞላላ ከርቭ እና SHA-256 ሃሽ ጋር ይጠቀማል። ከቶከኖች ጋር የመግባቢያ ሂደቶች በመካከለኛው ቤተ-መጽሐፍት ውስጥ ይቀመጣሉ፣ እሱም በተመሳሳይ መልኩ ከቤተ-መጻሕፍት ጋር ለPKCS#11 ድጋፍ የሚጫነው እና በቤተ መፃህፍቱ ላይ መጠቅለያ ነው።
U2Fን ለማንቃት የኮድ ቤዝ አዲስ ቁራጭ መጠቀም ይችላሉ።
Libfido2 OpenBSD፣ Linux፣ MacOS እና Windows ን ይደግፋል።
ቁልፍን ለማረጋገጥ እና ለማመንጨት የSSH_SK_PROVIDER አካባቢን ተለዋዋጭ ማቀናበር ያስፈልግዎታል፣ ይህም ወደ libsk-libfido2.so (SSH_SK_PROVIDER=/path/to/libsk-libfido2.so መላክ) ወይም ቤተ-መጽሐፍቱን በSecurityKeyProvider በኩል ይግለጹ። ማቀናበር እና በመቀጠል "ssh-keygen -t ecdsa-sk" ን ያሂዱ ወይም ቁልፎቹ አስቀድመው ከተፈጠሩ እና ከተዋቀሩ "ssh" በመጠቀም ከአገልጋዩ ጋር ይገናኙ. ssh-keygenን ስታሄድ የተፈጠረው የቁልፍ ጥምር በ"~/.ssh/id_ecdsa_sk" ውስጥ ይቀመጣል እና ከሌሎች ቁልፎች ጋር በተመሳሳይ መልኩ ጥቅም ላይ ሊውል ይችላል።
የህዝብ ቁልፉ (id_ecdsa_sk.pub) በተፈቀደው_keys ፋይል ውስጥ ወደ አገልጋዩ መቅዳት አለበት። በአገልጋዩ በኩል ዲጂታል ፊርማ ብቻ ነው የተረጋገጠው እና ከቶከኖች ጋር ያለው መስተጋብር በደንበኛው በኩል ይከናወናል (በአገልጋዩ ላይ libsk-libfido2 ን መጫን አያስፈልግዎትም ፣ ግን አገልጋዩ የ “ecdsa-sk” ቁልፍ አይነት መደገፍ አለበት) . የመነጨው የግል ቁልፍ (id_ecdsa_sk) በመሰረቱ ቁልፍ መያዣ ነው፣ ይህም እውነተኛ ቁልፍ በU2F ማስመሰያ ጎን ላይ ከተከማቸ ሚስጥራዊ ቅደም ተከተል ጋር በማጣመር ብቻ ነው።
የ id_ecdsa_sk ቁልፉ በአጥቂው እጅ ውስጥ ከወደቀ፣ ማረጋገጫውን ለማለፍ የሃርድዌር ቶከንንም ማግኘት ይኖርበታል፣ ያለዚህ በ id_ecdsa_sk ፋይል ውስጥ የተቀመጠው የግል ቁልፍ ከንቱ ነው። በተጨማሪም ፣ በነባሪ ፣ ማንኛውንም ክዋኔዎች ከቁልፎች ጋር ሲያከናውን (በትውልድ እና በማረጋገጥ ጊዜ) የተጠቃሚውን አካላዊ መገኘት የአካባቢ ማረጋገጫ ያስፈልጋል ፣ ለምሳሌ ፣ በቶክ ላይ ያለውን ዳሳሽ መንካት ይጠበቅበታል ፣ ይህ ደግሞ አስቸጋሪ ያደርገዋል ። የተገናኘ ማስመሰያ ባላቸው ስርዓቶች ላይ የርቀት ጥቃቶችን ያካሂዱ። እንደ ሌላ የመከላከያ መስመር፣ ቁልፍ ፋይሉን ለመድረስ ssh-keygen በሚጀምርበት ወቅት የይለፍ ቃል ሊገለጽ ይችላል።
የ U2F ቁልፉን በ "ssh-add ~/.ssh/id_ecdsa_sk" በኩል ወደ ssh-agent ሊታከል ይችላል፣ነገር ግን ssh-agent በ"ecdsa-sk" ቁልፎች ድጋፍ መገንባት አለበት፣ libsk-libfido2 ንብርብር መገኘት አለበት እና ተወካዩ በሲስተሙ ላይ መሮጥ አለበት፣ ምልክቱ የተገናኘበት።
የOpenSSH ecdsa ቁልፎች ቅርጸት ተጨማሪ መስኮች ባሉበት ለECDSA ዲጂታል ፊርማዎች ከ U2F ቅርጸት ስለሚለይ አዲስ የቁልፍ ዓይነት “ecdsa-sk” ታክሏል።
ምንጭ: opennet.ru