🎧 Listen to this article: English
🌍 Read this in your language: हिंदी · தமிழ் · తెలుగు · ಕನ್ನಡ · മലയാളം · ଓଡ଼ିଆ · 日本語 · 中文
ସଫ୍ଟୱେୟାର୍ ବିକାଶ ଦୁନିଆରେ, ଏପରି ସମୟ ଆସେ ଯେତେବେଳେ ଆପଣଙ୍କୁ ନିଜ ସୋର୍ସ କୋଡ୍ ସେୟାର୍ ନକରି ଏକ ସଫ୍ଟୱେୟାର୍ ଉଦ୍ଦିଷ୍ଟ ଭାବରେ କାର୍ଯ୍ୟ କରୁଛି ବୋଲି ପ୍ରମାଣ କରିବାକୁ ପଡ଼ିଥାଏ। ଏହି ପ୍ରବନ୍ଧଟି ଏକ ପଦ୍ଧତି ବିଷୟରେ ଆଲୋଚନା କରେ ଯାହା ସୋର୍ସ କୋଡ୍କୁ ଗୋପନୀୟ ରଖି ସଫ୍ଟୱେୟାର୍ ଗୁଣଧର୍ମଗୁଡ଼ିକ ପ୍ରଦର୍ଶନ କରିବାକୁ ଅନୁମତି ଦିଏ।
ଆହ୍ୱାନକୁ ବୁଝିବା
ସଫ୍ଟୱେୟାର୍ ସହିତ କାମ କରିବା ସମୟରେ, ବିଶେଷ କରି ମାଲିକାନା ଉପାଦାନ କିମ୍ବା ସମ୍ବେଦନଶୀଳ ତଥ୍ୟ ଥିବା ପ୍ରୋଜେକ୍ଟଗୁଡ଼ିକରେ, ସୋର୍ସ କୋଡ୍ ସେୟାର୍ କରିବା ବିପଜ୍ଜନକ ହୋଇପାରେ। ସାଧାରଣ ବିକଳ୍ପଗୁଡ଼ିକ ଏତେ ଆକର୍ଷଣୀୟ ନୁହେଁ। ଆପଣଙ୍କୁ ସମ୍ପୂର୍ଣ୍ଣ ଇମ୍ପ୍ଲିମେଣ୍ଟେସନ୍ ସେୟାର୍ କରିବାକୁ ପଡ଼ିପାରେ, ଯାହା ଆପଣଙ୍କ ବୌଦ୍ଧିକ ସମ୍ପତ୍ତିକୁ ପ୍ରକାଶ କରିପାରେ। ବିକଳ୍ପ ଭାବରେ, ଆପଣଙ୍କୁ ଏପରି ଏକ ରିପୋର୍ଟ ଉପରେ ବିଶ୍ୱାସ କରିବାକୁ ପଡ଼ିପାରେ ଯାହା ଦାବି କରେ ଯେ ସଫ୍ଟୱେୟାର୍ ଯାଞ୍ଚ କରାଯାଇଛି, କିନ୍ତୁ ସେଥିରେ ପ୍ରାୟତଃ ସ୍ୱଚ୍ଛତାର ଅଭାବ ଥାଏ।
SJV ଏବଂ SJP ର ପରିଚୟ
ଏହି ଆହ୍ୱାନଗୁଡ଼ିକର ସମାଧାନ ପାଇଁ, ଦୁଇଟି ପ୍ରମୁଖ ଧାରଣା: SJV ଏବଂ SJP ବ୍ୟବହାର କରି ଏକ ନୂତନ ଦୃଷ୍ଟିକୋଣ ଅନୁସନ୍ଧାନ କରାଯାଉଛି।
- SJV (Software Verification Contract): ଏହା ଏକ ଦଲିଲ ଯାହା ସଫ୍ଟୱେୟାର୍ ପ୍ରଦର୍ଶନ କରିବାକୁ ଥିବା ଗୁଣଧର୍ମଗୁଡ଼ିକୁ ବର୍ଣ୍ଣନା କରେ। ସଫ୍ଟୱେୟାର୍ କିପରି ନିର୍ମିତ ହୋଇଛି ତାହା ପ୍ରକାଶ ନକରି କ’ଣ ପ୍ରମାଣ କରିବା ଆବଶ୍ୟକ ତାହା ଏହା ନିର୍ଦ୍ଦିଷ୍ଟ କରେ।
- SJP (Software Justified Proof): ଏହା ଯାଞ୍ଚ ପ୍ରକ୍ରିୟା ସମୟରେ ପ୍ରସ୍ତୁତ କରାଯାଇଥିବା ପ୍ରମାଣ। SJP ଦର୍ଶାଏ ଯେ ସଫ୍ଟୱେୟାର୍ SJV ରେ ନିର୍ଦ୍ଧାରିତ ଗୁଣଧର୍ମଗୁଡ଼ିକୁ ପୂରଣ କରୁଛି।
ମୂଳ ଧାରଣା ହେଉଛି ସଫ୍ଟୱେୟାର୍ର ଇମ୍ପ୍ଲିମେଣ୍ଟେସନ୍କୁ ଚୁକ୍ତିନାମା ଏବଂ ପ୍ରମାଣଠାରୁ ପୃଥକ କରିବା। ଏହାର ଅର୍ଥ ହେଉଛି ସୋର୍ସ କୋଡ୍ ଡେଭଲପର୍ଙ୍କ ପାଖରେ ରହେ, ଯେତେବେଳେ କି SJV ଏବଂ SJP କୁ ଗ୍ରହଣକାରୀଙ୍କ ସହିତ ସେୟାର୍ କରାଯାଇପାରିବ।
ଏହା କିପରି କାମ କରେ
ଏହି ପ୍ରକ୍ରିୟା କିପରି କାର୍ଯ୍ୟ କରେ ତାହାର ଏକ ସରଳୀକୃତ ବିବରଣୀ ଏଠାରେ ଦିଆଗଲା:
ପଦକ୍ଷେପ ୧: SJV ପରିଭାଷିତ କରନ୍ତୁ
ଡେଭଲପର୍ ଏକ SJV ପ୍ରସ୍ତୁତ କରନ୍ତି ଯାହା ସଫ୍ଟୱେୟାର୍ର ପ୍ରତ୍ୟାଶିତ ଗୁଣଧର୍ମଗୁଡ଼ିକୁ ବର୍ଣ୍ଣନା କରେ। ଉଦାହରଣ ସ୍ୱରୂପ, ଏହା ଉଲ୍ଲେଖ କରିପାରେ ଯେ ଏକ ନିର୍ଦ୍ଦିଷ୍ଟ ମାନ କେବେବି ଏକ ନିର୍ଦ୍ଧାରିତ ସର୍ବାଧିକ ସୀମା ଅତିକ୍ରମ କରିବା ଉଚିତ୍ ନୁହେଁ।
ପଦକ୍ଷେପ ୨: SJP ପ୍ରସ୍ତୁତ କରନ୍ତୁ
SJV ବିପକ୍ଷରେ ସଫ୍ଟୱେୟାର୍ ଯାଞ୍ଚ କରିବା ପରେ, ଡେଭଲପର୍ ଏକ SJP ପ୍ରସ୍ତୁତ କରନ୍ତି। ଏହି ଆର୍ଟିଫ୍ୟାକ୍ଟରେ ଯାଞ୍ଚ ପ୍ରମାଣ ଅନ୍ତର୍ଭୁକ୍ତ ଥାଏ, ଯେପରିକି:
- ଏକ ଭେରିଫିକେସନ୍ ମ୍ୟାନିଫେଷ୍ଟ
- ଇନପୁଟ୍ ଏବଂ କନଫିଗରେସନ୍ ସମ୍ବନ୍ଧୀୟ ସୂଚନା
- ଯାଞ୍ଚ ଫଳାଫଳ
- ଗାଣିତିକ ବାଧ୍ୟତାଗୁଡ଼ିକ
- ଇଣ୍ଟିଗ୍ରିଟି ଡାଟା
- ଏକ ମ୍ୟାନିଫେଷ୍ଟ ସିଗ୍ନେଚର୍
ପଦକ୍ଷେପ ୩: SJV ଏବଂ SJP ସେୟାର୍ କରନ୍ତୁ
ଡେଭଲପର୍ ଗ୍ରହଣକାରୀଙ୍କ ସହିତ SJV ଏବଂ SJP ସେୟାର୍ କରନ୍ତି। ଗ୍ରହଣକାରୀ ତା’ପରେ ଦାବି କରାଯାଇଥିବା ଗୁଣଧର୍ମଗୁଡ଼ିକୁ ବୁଝିବା ପାଇଁ SJV ନିରୀକ୍ଷଣ କରିପାରିବେ ଏବଂ SJP ର ଇଣ୍ଟିଗ୍ରିଟି ଯାଞ୍ଚ କରିପାରିବେ।
ପଦକ୍ଷେପ ୪: ଦାବିଗୁଡ଼ିକ ଯାଞ୍ଚ କରନ୍ତୁ
Z3 ଭଳି ଟୁଲ୍ସ ବ୍ୟବହାର କରି, ଗ୍ରହଣକାରୀ SJP ରେ ସଂରକ୍ଷିତ ଗାଣିତିକ ବାଧ୍ୟତାଗୁଡ଼ିକୁ ପୁନର୍ବାର ଚଳାଇ (ରିପ୍ଲେ କରି) ପାରିବେ। ଏହା ସେମାନଙ୍କୁ ସୋର୍ସ କୋଡ୍ ଆକ୍ସେସ୍ କରିବାର ଆବଶ୍ୟକତା ବିନା SJV ରେ କରାଯାଇଥିବା ଦାବିଗୁଡ଼ିକ ସତ୍ୟ କି ନୁହେଁ ତାହା ଯାଞ୍ଚ କରିବାକୁ ଅନୁମତି ଦିଏ।
ଟ୍ରଷ୍ଟ ବାଉଣ୍ଡାରୀ
ଏହି ପ୍ରକ୍ରିୟାରେ ଏକ ଗୁରୁତ୍ୱପୂର୍ଣ୍ଣ ଧାରଣା ହେଉଛି ଟ୍ରଷ୍ଟ ବାଉଣ୍ଡାରୀ. ଏହା ଏପରି ଏକ ରେଖା ଯାହା ଏକ ସିଷ୍ଟମରେ ବିଭିନ୍ନ ସ୍ତରର ବିଶ୍ୱାସ ଥିବା କ୍ଷେତ୍ରଗୁଡ଼ିକୁ ପୃଥକ କରେ। ଉଦାହରଣ ସ୍ୱରୂପ, ଡେଭଲପର୍ ନିଜ କୋଡ୍ ଉପରେ ବିଶ୍ୱାସ କରନ୍ତି କିନ୍ତୁ ସୋର୍ସ କୋଡ୍ ସହିତ ଗ୍ରହଣକାରୀଙ୍କୁ ବିଶ୍ୱାସ ନକରିପାରନ୍ତି। ଟ୍ରଷ୍ଟ ବାଉଣ୍ଡାରୀ ସ୍ପଷ୍ଟ କରିବାରେ ସାହାଯ୍ୟ କରେ ଯେ କ’ଣ ସ୍ୱାଧୀନ ଭାବରେ ଯାଞ୍ଚ କରାଯାଇପାରିବ ଏବଂ କେଉଁଥିପାଇଁ ବିଶ୍ୱାସ ଆବଶ୍ୟକ।
ବିଚାର କରିବାକୁ ଦୁଇଟି ପ୍ରମୁଖ ବିବୃତି ଅଛି:
- ବିବୃତି A: ଗାଣିତିକ ବାଧ୍ୟତାଗୁଡ଼ିକ ବୈଧ ଅଟେ।
- ବିବୃତି B: ଏହି ବାଧ୍ୟତାଗୁଡ଼ିକ ଡେଭଲପର୍ଙ୍କ ଦ୍ୱାରା ଦାବି କରାଯାଇଥିବା ନିର୍ଦ୍ଦିଷ୍ଟ ବ୍ୟକ୍ତିଗତ (ପ୍ରାଇଭେଟ୍) ଇମ୍ପ୍ଲିମେଣ୍ଟେସନ୍ରୁ ପ୍ରସ୍ତୁତ କରାଯାଇଥିଲା।
SJP ବିବୃତି A ପ୍ରତିଷ୍ଠା କରିବାରେ ସାହାଯ୍ୟ କରିପାରିବ, କିନ୍ତୁ ଏହା ସୋର୍ସ କୋଡ୍ ବିନା ବିବୃତି B ନିଶ୍ଚିତ କରେ ନାହିଁ।
ସୀମାବଦ୍ଧତା ଏବଂ ବିଚାର୍ଯ୍ୟ ବିଷୟଗୁଡ଼ିକ
ଯଦିଓ ଏହି ପଦ୍ଧତି ସୋର୍ସ କୋଡ୍ ସେୟାର୍ ନକରି ସଫ୍ଟୱେୟାର୍ ଗୁଣଧର୍ମଗୁଡ଼ିକ ଯାଞ୍ଚ କରିବାର ଏକ ଉପାୟ ପ୍ରଦାନ କରେ, ତଥାପି ଏହାର କିଛି ସୀମାବଦ୍ଧତା ରହିଛି। ଗ୍ରହଣକାରୀ ନିଶ୍ଚିତ କରିବା ଉଚିତ୍ ଯେ SJV ରେ ବର୍ଣ୍ଣିତ ଗୁଣଧର୍ମଗୁଡ଼ିକ ପ୍ରକୃତରେ ସେମାନଙ୍କ ଆବଶ୍ୟକତା ଅନୁଯାୟୀ ଅଟେ। ଏକ ସଫଳ ଯାଞ୍ଚ କେବଳ ନିଶ୍ଚିତ କରେ ଯେ ନିର୍ଦ୍ଧାରିତ ଗୁଣଧର୍ମଗୁଡ଼ିକ ମଡେଲ୍ କରାଯାଇଥିବା ପରିସର ମଧ୍ୟରେ ଠିକ୍ ରହିଛି; ଏହା ସଫ୍ଟୱେୟାର୍ ବଗ୍-ମୁକ୍ତ ବୋଲି ଗ୍ୟାରେଣ୍ଟି ଦିଏ ନାହିଁ।
ଉତ୍ପତ୍ତିର ପ୍ରମାଣ (ପ୍ରୁଫ୍ ଅଫ୍ ପ୍ରୋଭେନାନ୍ସ)କୁ ସୁଦୃଢ଼ କରିବା ପାଇଁ, ଅତିରିକ୍ତ ବ୍ୟବସ୍ଥା ଗ୍ରହଣ କରାଯାଇପାରିବ, ଯେପରିକି:
- ଜଣେ ସ୍ୱାଧୀନ ଅଡିଟର୍ଙ୍କ ଦ୍ୱାରା ସୋର୍ସ କୋଡ୍ ଯାଞ୍ଚ କରାଇବା।
- ଏକ ନିୟନ୍ତ୍ରିତ ପରିବେଶରେ SJP ପ୍ରସ୍ତୁତ କରିବା।
- କେବଳ ବିଶ୍ୱସ୍ତ ତୃତୀୟ ପକ୍ଷକୁ ସୋର୍ସ କୋଡ୍ ପ୍ରକାଶ କରିବା।
ଉପସଂହାର
SJV ଏବଂ SJP ବ୍ୟବହାର କରିବାର ଦୃଷ୍ଟିକୋଣ ସମ୍ବେଦନଶୀଳ ସୋର୍ସ କୋଡ୍ ସେୟାର୍ କରିବାର ଆବଶ୍ୟକତା ବିନା ସଫ୍ଟୱେୟାର୍ ଗୁଣଧର୍ମଗୁଡ଼ିକୁ ଯାଞ୍ଚ କରିବା ପାଇଁ ଏକ ଅଧିକ ସୁରକ୍ଷିତ ଉପାୟ ପ୍ରଦାନ କରେ। ଆଜିର ସଫ୍ଟୱେୟାର୍ ଦୁନିଆରେ, ଯେଉଁଠାରେ ବିଶ୍ୱାସ ଏବଂ ସୁରକ୍ଷା ସର୍ବୋପରି, ଏହି ପଦ୍ଧତି ବିଶେଷ ଭାବରେ ପ୍ରାସଙ୍ଗିକ।
ସୁବିଧାଗୁଡ଼ିକ
- ସୋର୍ସ କୋଡ୍ ପ୍ରକାଶ ନକରି ଯାଞ୍ଚ କରିବାକୁ ସକ୍ଷମ କରେ।
- ଦାବି, ପ୍ରମାଣ ଏବଂ ଇମ୍ପ୍ଲିମେଣ୍ଟେସନ୍ର ସ୍ପଷ୍ଟ ପୃଥକୀକରଣକୁ ଅନୁମତି ଦିଏ।
- ଏକ ସଂରଚିତ ପ୍ରମାଣ ପ୍ରଦାନ କରେ ଯାହା ସ୍ୱାଧୀନ ଭାବରେ ଯାଞ୍ଚ କରାଯାଇପାରିବ।
ଅସୁବିଧାଗୁଡ଼ିକ
- ସଫ୍ଟୱେୟାର୍ ବଗ୍-ମୁକ୍ତ ବୋଲି ଗ୍ୟାରେଣ୍ଟି ଦିଏ ନାହିଁ।
- ଗ୍ରହଣକାରୀ SJV କୁ ବୁଝିବା ଏବଂ ତାହା ଉପରେ ବିଶ୍ୱାସ କରିବା ଉପରେ ନିର୍ଭର କରେ।
- ଉତ୍ପତ୍ତିର ପ୍ରମାଣ ପାଇଁ ଅତିରିକ୍ତ ବ୍ୟବସ୍ଥା ଆବଶ୍ୟକ କରେ।
ସତର୍କତା
ଏହି ପ୍ରବନ୍ଧଟି ଶିକ୍ଷଣୀୟ ଅଟେ ଏବଂ ସମାନ ସମାଧାନ କାର୍ଯ୍ୟକାରୀ କରିବା ସମୟରେ କୌଣସି ପ୍ଲେସହୋଲ୍ଡର ମୂଲ୍ୟକୁ ପ୍ରକୃତ ଡାଟା ସହିତ ପ୍ରତିସ୍ଥାପିତ କରାଯିବା ଆବଶ୍ୟକ। ପାଠକମାନେ ନିର୍ଭର କରିବା ପୂର୍ବରୁ ମୂଳ ଉତ୍ସ ସହିତ ଦାବିଗୁଡ଼ିକୁ ଯାଞ୍ଚ କରିବା ଉଚିତ।
ବାରମ୍ବାର ପଚରାଯାଉଥିବା ପ୍ରଶ୍ନଗୁଡ଼ିକ
- SJV କ’ଣ? — SJV ର ଅର୍ଥ ହେଉଛି Software Verification Contract, ଯାହା ଏକ ସଫ୍ଟୱେୟାର୍ ମଡ୍ୟୁଲ୍ ପ୍ରଦର୍ଶନ କରିବାକୁ ଥିବା ଗୁଣଧର୍ମଗୁଡ଼ିକୁ ବର୍ଣ୍ଣନା କରେ।
- SJP କ’ଣ? — SJP ର ଅର୍ଥ ହେଉଛି Software Justified Proof, ଏକ ଆର୍ଟିଫ୍ୟାକ୍ଟ ଯେଉଁଥିରେ ଏକ ସଫ୍ଟୱେୟାର୍ ମଡ୍ୟୁଲ୍ ତାର ନିର୍ଦ୍ଦିଷ୍ଟ ଗୁଣଧର୍ମଗୁଡ଼ିକୁ ପୂରଣ କରୁଛି ବୋଲି ପ୍ରମାଣ ଥାଏ।
- SJV ଏବଂ SJP କୁ ପୃଥକ କରିବା କାହିଁକି ଗୁରୁତ୍ୱପୂର୍ଣ୍ଣ? — ଏହା ସୋର୍ସ କୋଡ୍ ପ୍ରକାଶ ନକରି ସଫ୍ଟୱେୟାର୍ ଗୁଣଧର୍ମ ଯାଞ୍ଚ କରିବାକୁ ଅନୁମତି ଦିଏ, ଯାହା ସୁରକ୍ଷା ଏବଂ ବିଶ୍ୱାସକୁ ବୃଦ୍ଧି କରେ।
- ସୋର୍ସ କୋଡ୍ ବିନା ଯାଞ୍ଚ କିପରି କରାଯାଇପାରିବ? — SJP ରେ ସଂରକ୍ଷିତ ଗାଣିତିକ ବାଧ୍ୟତାଗୁଡ଼ିକୁ ପୁନର୍ବାର ଚଳାଇବା (ରିପ୍ଲେ କରିବା) ପାଇଁ Z3 ଭଳି ଟୁଲ୍ସ ବ୍ୟବହାର କରି।
- ଟ୍ରଷ୍ଟ ବାଉଣ୍ଡାରୀ କ’ଣ? — ଟ୍ରଷ୍ଟ ବାଉଣ୍ଡାରୀ ହେଉଛି ଏକ କାଳ୍ପନିକ ସୀମାରେଖା ଯାହା ଏକ ସିଷ୍ଟମ ମଧ୍ୟରେ ବିଭିନ୍ନ ବିଶ୍ୱାସ ସ୍ତରର କ୍ଷେତ୍ରଗୁଡ଼ିକୁ ପୃଥକ କରେ।
- SJP ସଫ୍ଟୱେୟାର୍ର ସଠିକତା ନିଶ୍ଚିତ କରିପାରିବ କି? — ନା, SJP ନିର୍ଦ୍ଦିଷ୍ଟ ଗୁଣଧର୍ମଗୁଡ଼ିକୁ ଯାଞ୍ଚ କରେ କିନ୍ତୁ ସଫ୍ଟୱେୟାର୍ ବଗ୍-ମୁକ୍ତ ବୋଲି ଗ୍ୟାରେଣ୍ଟି ଦିଏ ନାହିଁ।
ଟ୍ୟାଗ୍ଗୁଡ଼ିକ
#software #verification #trust-boundary
Docker Security Checklist
Lock down your containers from build to runtime — 29 practical controls covering images, runtime flags, secrets, and the daemon. Enter your email — you'll get the PDF instantly, plus new posts on Docker, Linux & security.
Free. No spam — unsubscribe in one click.


Responses
Sign in to leave a response.