सुरक्षा के सामान्य सिद्धांतों, (अखंडता, प्रमाणीकरण, प्राधिकरण) को समझें और फिर कुछ किताबें पढ़ें कि कैसे लोग सहस्राब्दी के लिए सुरक्षा के इन स्तंभों को तोड़ रहे हैं और आप लगभग आधे रास्ते में होंगे।
फिर डिजाइन और परीक्षण रणनीतियों पर कुछ अच्छी किताबें पढ़ें और आप सीखेंगे कि आपकी वास्तुकला में परीक्षण क्षमता कैसे बनाई जाए।
अब हम उस बिंदु पर पहुँचते हैं जब मैं सुरक्षा के बारे में सोचता हूँ। मैं इस बारे में सोच रहा हूं कि मैं डेटा स्रोत को कैसे मान्य कर सकता हूं, क्या इससे कोई फर्क नहीं पड़ता कि डेटा के साथ छेड़छाड़ की गई है, डेटा स्रोत कौन है, मैं कैसे सुनिश्चित हूं? यह कैसे बदल सकता है आदि ...
यह डिजाइन को प्रभावित करता है। कॉन्फ़िगर की गई फ़ाइलों में मुख्य अनुभाग एन्क्रिप्ट किए जा सकते हैं, या विशेष फ़ील्ड संबंधित हस्ताक्षर फ़ील्ड के साथ स्पष्ट पाठ में हो सकते हैं। इंटरनेट का सामना करने वाली सेवाओं के साथ चीजें अधिक जटिल हो जाती हैं क्योंकि आपको वहां अधिक शत्रुता की उम्मीद करनी चाहिए।
फिर परीक्षण में, आप यह सब कैसे परीक्षण करते हैं। आपकी अधिकतम डेटा प्रविष्टियां क्या हैं, यदि आप सॉफ़्टवेयर को उन सीमाओं से परे धक्का देते हैं, तो यह कैसे संभालता है? यह क्या भरोसा करता है? आप उस विश्वास को कैसे नकली बना सकते हैं?