រំលងទៅមាតិកា
ត្រឡប់ទៅ Nymchat វិញ

មូលដ្ឋានចំណេះដឹង នៅក្រោមក្រណាត់

ការផ្ទៀងផ្ទាត់ការសាងសង់

ប្រភពបើកចំហអាចជួយបានតែក្នុងករណីដែលលេខកូដដែលអ្នកកំពុងដំណើរការគឺជាកូដដែលធ្លាប់មាន បោះពុម្ពផ្សាយ។ Nymchat ត្រូវបានបង្កើតឡើងយ៉ាងជាក់លាក់ ដូច្នេះអ្នកអាចពិនិត្យមើលដោយខ្លួនឯង ពីខាងក្នុង កម្មវិធី ឬពីស្ថានីយ។

សំណង់ដែលអាចបន្តពូជបាន។

ការបង្កើតកម្មវិធីបញ្ចេញ ក build-manifest.json មានប្រភព commit, a SHA-256 hash នៃរាល់ទ្រព្យសម្បត្តិ HTML, JavaScript និង CSS ដែលបានបម្រើ និងតែមួយ bundleHash លើសំណុំទ្រព្យសម្បត្តិទាំងមូលនោះ។

លទ្ធផលគឺអាស្រ័យតែលើខ្លឹមសារប្រភពប៉ុណ្ណោះ - សូម្បីតែពេលវេលាសាងសង់ដែលបានកត់ត្រាគឺជា ត្រាពេលវេលារបស់ commit ជាជាងពេលដែលការស្ថាបនាដំណើរការ — ដូច្នេះអ្នកណាក៏សង់ដូចគ្នាដែរ។ commit ទទួលបានឯកសារដូចគ្នាបែតង និងដូចគ្នា។ bundleHash.

បន្ទាប់មកសកម្មភាព GitHub បង្កើតឡើងវិញនូវរាល់ការប្រព្រឹត្តដោយឯករាជ្យ និងចុះហត្ថលេខាលើភស្តុតាង វិញ្ញាបនបត្រសម្រាប់ hash និង manifest ដូច្នេះមានកំណត់ត្រាដែលបានចុះហត្ថលេខាចង a bundleHash ទៅនឹងការប្តេជ្ញាចិត្តនៅក្នុងឃ្លាំង ដែលផលិតដោយអ្វីមួយក្រៅពី ការដាក់ពង្រាយ។

អ្វីដែលប្រអប់អំពីពិនិត្យ

អំពី នៅក្នុងបឋមកថាដំណើរការការត្រួតពិនិត្យផ្ទាល់នៅក្នុងកម្មវិធីរុករករបស់អ្នក។

ប្រអប់ Nymchat អំពី បង្ហាញកំណែ កសាងសុចរិតភាព និងធានាស្ថានភាព Canary ។
ប្រអប់អំពី៖ កំណែ ស្ថាបនា សុចរិតភាព ធានា Canary និងបន្ទាត់ផ្ទាល់ទៅកាន់អ្នកអភិវឌ្ឍន៍។

វាយកមកវិញនូវទ្រព្យសកម្មនីមួយៗដែលទំព័រពិតជាកំពុងដំណើរការ បំបែកវាជាមួយ Web Crypto API និង ប្រៀបធៀបទៅនឹងការបង្ហាញ។ បន្ទាប់មក - ហើយនេះគឺជាផ្នែកដែលសំខាន់ - វា។ គណនាឡើងវិញ bundleHash ពី hashes វា។ គ្រាន់តែគណនាមិនមែនមកពី អ្វីទាំងអស់ដែលបង្ហាញអះអាងអះអាង ហើយរកមើលនៅក្នុងលិខិតបញ្ជាក់ដែលបានចុះហត្ថលេខារបស់ឃ្លាំង តាមរយៈ GitHub API ។

នោះហើយជាអ្វីដែលបញ្ឈប់ការដាក់ពង្រាយពីការបញ្ជាក់សម្រាប់ខ្លួនវា៖ ការបម្រើឯកសារដែលបានកែប្រែរួមគ្នាជាមួយ ការបង្ហាញការផ្គូផ្គងនៅតែបរាជ័យ ពីព្រោះ hash ដែលបានគណនាឡើងវិញមិនមានការបញ្ជាក់ទេ។

ស្ថានភាពមធ្យោបាយ
ពិនិត្យ កម្មវិធីផ្លូវការដែលបានផ្ទៀងផ្ទាត់ (n/n)រាល់ការផ្គូផ្គងទ្រព្យសកម្ម បណ្តុំដែលបានគណនាឡើងវិញត្រូវបានបញ្ជាក់ដោយឃ្លាំង និង ទំព័រនេះត្រូវបានបម្រើពីដែនផ្លូវការ។
⚠ សាងសង់ដែលបានផ្ទៀងផ្ទាត់ · មិនមែនជាកម្មវិធីផ្លូវការទេ។លេខកូដគឺពិតប្រាកដ និងត្រូវបានបញ្ជាក់ ប៉ុន្តែនេះគឺជាកញ្ចក់នៅលើដែនមួយផ្សេងទៀត។ កញ្ចក់មិនអាចលុបការព្រមាននេះចេញដោយមិនបរាជ័យក្នុងការផ្ទៀងផ្ទាត់បានទេ។
✗ មិនត្រូវគ្នា។ទ្រព្យ​សកម្ម​មិន​ហាន​ទៅ​នឹង​អ្វី​ដែល​បង្ហាញ​ប្រាប់។
✗ សំណង់មិនផ្លូវការលេខសម្គាល់បណ្តុំដែលបានគណនាឡើងវិញមិនមានការបញ្ជាក់ពីឃ្លាំងទេ - ការបង្ហាញដែលបង្កើតដោយខ្លួនឯង។
⚠ មិនអាចទាក់ទងបាន។មិនអាចទាក់ទង GitHub API បានទេ ដូច្នេះការបញ្ជាក់មិនអាចត្រូវបានពិនិត្យតាមមធ្យោបាយណាមួយឡើយ។

ផ្ទៀងផ្ទាត់វាដោយខ្លួនឯង។

បង្កើត​ការ​ប្រព្រឹត្ត​ឡើង​វិញ​អំពី​ឈ្មោះ​ប្រអប់ ហើយ​ប្រៀបធៀប៖

git clone https://github.com/Spl0itable/NYM
cd NYM
git checkout <commit shown in the About dialog>
npm ci
npm run build   # prints "Build hash: <bundleHash>"

សញ្ញាដែលបានបោះពុម្ពគួរតែផ្គូផ្គងទាំងពីរនៅក្នុងប្រអប់អំពី និងមួយនៅក្នុង commit នោះ។ សេចក្តីសង្ខេបនៃដំណើរការសាងសង់។ អ្នកក៏អាចពិនិត្យមើលហត្ថលេខាដោយផ្ទាល់ជាមួយ GitHub CLI៖

gh attestation verify dist/build-manifest.json --repo Spl0itable/NYM

កម្មវិធី Android និង iOS

ការត្រួតពិនិត្យខាងលើគឺជាការពិនិត្យកម្មវិធីលើបណ្តាញ ហើយហេតុផលគឺមានតម្លៃបញ្ជាក់ឱ្យច្បាស់៖ កម្មវិធីដើម មិនអាចធ្វើដូចគ្នាចំពោះខ្លួនវាបានទេ។ អ្វី​ដែល​ដំណើរការ​នៅ​លើ​ទូរសព្ទ​របស់​អ្នក​គឺ​ត្រូវ​បាន​ចងក្រង​លេខ​កូដ​ម៉ាស៊ីន មិនមែន​លេខ​កូដ​ទេ។ ប្រភពនៅក្នុងឃ្លាំង ហើយគ្មានអ្វីដែលកម្មវិធីអាចគណនាបាននៅលើឧបករណ៍ដែលទាក់ទងនឹង ផ្សេងទៀត។

ប្រព័ន្ធប្រតិបត្តិការ Android អាចធ្វើអ្វីដែលល្អបំផុតបន្ទាប់។ បានដំឡើង .apk គឺជាឯកសារដែលកម្មវិធីអាចអានបាន។ និង hash និង hash នៃរាល់ការចេញផ្សាយដែលបានបោះពុម្ពផ្សាយជាសាធារណៈរួចហើយ៖ បោះពុម្ភផ្សាយទៅកាន់ Zapstore ចុះហត្ថលេខាលើព្រឹត្តិការណ៍ Nostr ដែលមាន SHA-256 របស់ APK និង SHA-256 នៃវិញ្ញាបនបត្រចុះហត្ថលេខារបស់វា។ ដូច្នេះ ប្រព័ន្ធប្រតិបត្តិការ Android អំពី ប្រអប់​បំបែក APK ដែល​វា​កំពុង​ដំណើរការ​ពី​ការ​ទៅ​យក​អ្នក​ដែល​បាន​ចុះហត្ថលេខា ព្រឹត្តិការណ៍ រក្សាទុកតែអ្វីដែលចុះហត្ថលេខាដោយគន្លឹះរបស់អ្នកអភិវឌ្ឍន៍ ហើយប្រៀបធៀប។ វាបង្ហាញពីរ hashes ផងដែរ ដូច្នេះអ្នកអាចធ្វើការត្រួតពិនិត្យឧបករណ៍ម្តងទៀត៖ ទាញយក APK ដែលបានបោះពុម្ពផ្សាយ រួចដំណើរការ sha256sum នៅលើវា ហើយមើលព្រឹត្តិការណ៍ដូចគ្នាដោយខ្លួនឯង។

កម្មវិធីដែលបានដំឡើងពី Google Play មិនអាចត្រូវបានពិនិត្យតាមវិធីនេះទេ។Google re-signs every upload with its own key and builds a separate APK for each device, so what lands on your phone is not the file the developer produced and its hash matches nothing that could be published. កម្មវិធីនេះយល់ដឹងអំពីការដំឡើង Play និងបាននិយាយថាដូច្នេះប្រសើរជាងការប្រកាសបញ្ហា។ ដើម្បីត្រួតពិនិត្យការដំឡើងដោយខ្លួនឯង, បានដំឡើង APK បានបង្ហាញដោយផ្ទាល់។

iOS មិន​អាច​ពិនិត្យ​បាន​ទាំង​អស់។ Apple អ៊ិនគ្រីប និងចុះហត្ថលេខាឡើងវិញរាល់ការទាញយក ជាលក្ខណៈបុគ្គល ដូច្នេះ hash ដែលត្រូវបានគណនានៅលើ iPhone របស់អ្នកគឺមានតែមួយគត់សម្រាប់ iPhone របស់អ្នក ហើយមិនត្រូវគ្នានឹងអ្វីទាំងអស់។ បោះពុម្ពនៅគ្រប់ទីកន្លែង។ ប្រអប់ អំពី និយាយ ត្រង់ នេះ ជាជាង បង្ហាញ ការធានា ឡើងវិញ ស្ថានភាពដែលមិនមានន័យអ្វីទាំងអស់។ ប្រសិនបើអ្នកចង់បាន Nymchat អ្នកអាចផ្ទៀងផ្ទាត់នៅលើផ្នែករឹងរបស់ Apple សូមប្រើគេហទំព័រ កម្មវិធី ដែលពិនិត្យមើលរាល់ឯកសារដែលវាកំពុងដំណើរការ។

អ្វី​ដែល​គ្មាន​ការ​បញ្ជាក់​នេះ។

ការត្រួតពិនិត្យកម្មវិធីដំណើរការដោយខ្លួនវាមិនអាចបង្ហាញថាកម្មវិធីនោះមានភាពស្មោះត្រង់ទេ អ្នកណាកែប្រែវា។ ក៏អាចដកមូលប្បទានប័ត្រចេញបានដែរ។ អ្វី​ដែល​វា​បញ្ជាក់​គឺ​ជា​ករណី​ធម្មតា៖ ថា​អ្នក​ចម្លង បានដំឡើងគឺជាច្បាប់ចម្លងដែលត្រូវបានបោះពុម្ព។ វាមានតម្លៃព្រោះតម្លៃរបស់វា។ ការប្រៀបធៀបគឺជាសាធារណៈ ដូច្នេះអ្នកផ្សេងក្រៅពីអ្នកអាចពិនិត្យមើលពួកវា ហើយមិនយល់ស្រប។

Canary ធានា

ការធានា Canary គឺជាសេចក្តីថ្លែងការណ៍មួយដែលត្រូវបានចេញផ្សាយនៅលើកាលវិភាគថេរដែលអ្នកអភិវឌ្ឍន៍មាន ទេ។ បានទទួលបញ្ជាពីរដ្ឋាភិបាលសម្ងាត់ ដែលពួកគេត្រូវបានហាមឃាត់មិនឱ្យបញ្ចេញ — ក លិខិតសន្តិសុខជាតិ បទបញ្ជារបស់ FISA ។ អ្នកអភិវឌ្ឍន៍អាចត្រូវបានបង្ខំឱ្យនៅស្ងៀមអំពី បញ្ជាបែបនេះ ប៉ុន្តែមិនអាចបង្ខំឱ្យកុហកបានទេ ដូច្នេះ Canary នឹងជាប់គាំង ឬបាត់ទៅវិញ ខ្លួនវាជាសញ្ញា។

វារស់នៅក្នុង canary.json នៅឫសនៃឃ្លាំង ហើយត្រូវបានទៅយកដោយផ្ទាល់ ពី GitHub ដូច្នេះប្រវត្តិរបស់វាអាចសវនកម្មបានដោយឯករាជ្យនូវអ្វីដែលគេហទំព័រដែលបានដាក់ពង្រាយនិយាយ។ ប្រអប់អំពីពណ៌-កូដវា៖

ពណ៌មធ្យោបាយ
បៃតង - ច្បាស់ទាំងអស់។ហត្ថលេខា បច្ចុប្បន្ន និងហត្ថលេខាត្រូវគ្នានឹងគន្លឹះរបស់អ្នកអភិវឌ្ឍន៍។ មិនបានទទួលការបញ្ជាទិញសម្ងាត់ទេ។
លឿង - ហួសកាលកំណត់ ឬមិនច្បាស់លាស់វាមិនត្រូវបានធ្វើឱ្យស្រស់តាមកាលបរិច្ឆេទដែលបានបញ្ជាក់ ឬរបស់វា។ allClear ទង់ជាតិមិនពិត។ ការបញ្ជាទិញស្ងាត់មិនអាចបដិសេធបានទេ។
ក្រហម - ហត្ថលេខាមិនត្រឹមត្រូវ ឬបាត់ហត្ថលេខាមិនត្រូវគ្នានឹងកូនសោរបស់អ្នកអភិវឌ្ឍន៍ ឬឯកសារត្រូវបានដកចេញទាំងស្រុង។ ចាត់​ទុក​នេះ​ជា​ការ​ព្រមាន​ធ្ងន់ធ្ងរ។

យុថ្កានៃភាពស្រស់

Canary ដែលបានចុះហត្ថលេខាបង្កប់នូវកម្ពស់ប្លុក Bitcoin ចុងក្រោយបង្អស់ និងសញ្ញាសញ្ញានៅពេលចុះហត្ថលេខា។ hash នោះមិនអាចត្រូវបានគេដឹងមុនពេលប្លុកមានដែលបង្ហាញថា Canary គឺ បានចុះហត្ថលេខា បន្ទាប់ពី ចំណុចជាក់លាក់មួយនៅក្នុងពេលវេលាជាជាងការចុះហត្ថលេខាជាមុនក្នុងចំនួនច្រើនខែមុន។ ប្រអប់អំពីភ្ជាប់យុថ្កាទៅនឹងកម្មវិធីរុករកប្លុក ដូច្នេះអ្នកអាចពិនិត្យមើលវាបាន។