”Suojattu suunnittelulla” on menetelmä tietokoneohjelmien tai -järjestelmien luomiseen, joissa kaikki ohjelmiston osa -alueet on kehitetty luontaisesti tavalla, joka tekee haitallisesta käyttäjästä vaikeaksi tai mahdottomaksi vahingoittaa tai hyökätä järjestelmään. Monissa tapauksissa ohjelmisto, joka on suunniteltu turvalliseksi, suunnitellaan suunnittelusta alkaen pienimpien elementtitoimintojen turva -aukkojen sulkemiseksi ja luotettavien, klassisten tekniikoiden käyttämiseksi koodausvaiheessa sen varmistamiseksi, ettei lopputuotteeseen tule virheitä. Jotkut tärkeimmistä alueista, joihin tietoturvallinen suunnittelu keskittyy, ovat käyttäjän tai asiakkaan syöttö, suojattu viestintä ja perusvalidointi sen varmistamiseksi, että tietyt hyökkäystyypit tehdään mahdottomaksi. Vaikka mikään tietokonesovellus ei ole immuuni kaikilta haitallisilta hyökkäyksiltä, tietoturvallisella järjestelmällä on selvä etu verrattuna järjestelmiin, jotka käyttävät ulkoisia suojakirjastoja tai luottavat ympäröivän ympäristön, kuten käyttöjärjestelmän, turvallisuuteen, koska Ohjelmisto on tehty hyväksikäytön estämiseksi ja estämiseksi.
Yksi kaikkien tietokoneohjelmien haavoittuvimmista alueista, koska se on arvaamaton, on käyttäjän syöttö. Syöttö, jota ei ole vahvistettu, sitä käytetään ilman virheentarkistusta tai se hyväksytään sokeasti mistä tahansa lähteestä, voi käyttää järjestelmän sisäistä toimintaa itseään vastaan paljastaakseen arkaluonteisia tietoja tai aiheuttaakseen järjestelmän kaatumisen. Kun sovellus on luonteeltaan suojattu, käyttäjän syötteet yleensä vahvistetaan jollakin tavalla, tarkistetaan haitallisten sekvenssien varalta tai jopa muunnetaan turvalliseen muotoon, jotta niitä voidaan käsitellä huolehtimatta odottamattomasta käyttäytymisestä, joka voi johtua joidenkin merkkiyhdistelmien oletuskäsittelystä.
Käyttäjän syöttämisestä tulee monimutkaisempaa suojatussa suunnittelujärjestelmässä, kun ohjelmisto on palvelin, joka hyväksyy syötteen asiakkaalta verkon kautta. Jotkut hyökkääjät voivat siepata kelvollisia viestejä asiakkaalta palvelimelle tai väärentää asiakkaan kokonaan, joten yleensä käytetään muita menetelmiä kuin oma salaus, koska viestejä sieppaava hyökkääjä voi helposti rikkoa salauksen. Tehokkaampia tietoturvatapoja ohjelman suunnittelussa ovat asiakkaan lähettämien tietojen rajoittaminen ja palvelimen tai moduulin kyvyn rajoittaminen siihen, mitä se voi tai ei voi tehdä itse.
Yhdistämällä ohjelmistomodulaarisuus vähäisten etuoikeuksien periaatteeseen järjestelmällisesti suojattu järjestelmä voi estää hyökkääjiä vaarantamasta järjestelmän kokonaan delegoimalla tehtäviä moduulien välillä, joilla ei välttämättä ole kykyä suorittaa yksittäistä tuhoavaa toimintaa yksin. Tällä tavalla voidaan ottaa käyttöön suojatoimia ja vikasietosäiliöitä, joiden avulla järjestelmä voi toipua turvallisesti tunkeutumisesta. Tätä konseptia on vaikea sisällyttää sovellukseen, joka ei käytä rakenteeltaan suojattuja periaatteita, koska se edellyttää, että ohjelman koko arkkitehtuuri on suunnattu turvallisuuden tavoitteeseen.