• No results found

Skicka mail utan webbhotell

För att kunna skicka mail till användaren när en bild har detekterats användes klassen SmtpClient. SmtpClient kopplar upp sig till gmail med systemets konto och skickar mail mekaniskt med bilden bifogad till användarens mailadress[26].

public static void SendMail(string name, byte[] bytes) {

var sender = DBEntity.GetSender(); if (sender != string.Empty)

{

MailMessage mail = new MailMessage();

SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com"); mail.From = new MailAddress("spicio.safety.system@gmail.com"); mail.To.Add("clients_email");

mail.Subject = "Spicio har detekterat en bild"; mail.Body = "Bilden från detektionen";

var attachment = new Attachment(new MemoryStream(bytes), name + ".jpg"); mail.Attachments.Add(attachment);

SmtpServer.Port = 587;

SmtpServer.Credentials = new System.Net.NetworkCredential(" spicio.safety.system@gmail.com", "safety.system");

SmtpServer.EnableSsl = true; SmtpServer.Send(mail); }

}

Bild 46 - Kod till att skicka mail via SmtpClient

Sida 37 av 42

7 Säkerhet

Ett av kundens och mitt krav var att systemet måste vara så säkert det kan vara. En kedja är inte starkare en sin svagaste länk, där av behöver alla delarna av systemet kollas på sina svagheter och styrkor. Säkerhetsaspekten är komplicerad, det kommer varje dag nya rön om vad som är säkert och hur man ska skriva för att minimera intrången. Dock finns det väldigt mycket fakta och påstående om säkerhet, så det hade kunnat fylla ett helt eget examensarbete. Det är inte alltid lätt, näst intill omöjligt att göra ett system som är säkert för alla som vill göra intrång. Detta projekt har inte sitt huvudfokus på vad säkerheten i ett system innebär och hur systemet reagerar på intrång, men säkerhet har varit en aspekt som alltid har funnits i tankarna vid alla steg genom projektets gång. 7.1 Algoritmen

För att webbklienten ska kunna starta upp och stänga ner algoritmen är den inbakad i

filewatcher[17]. Det är alltså en exe-fil som webbklienten ska starta upp och stänga av. Detta har både sina för och nackdelar, nackdelen är att det krävs flera exe filer för flera kameror och dess strömmar, men mer om detta i diskussionen. Fördelarna är att det inte går att påverka systemet för det är inbakat i en exe-fil och att det är enkelt och går snabbt att köra en exe-fil och inte blanda in windows services. [18]

7.2 Webbklienten

Då bilderna är beviset vid en rättegång måste de säkras. Vem som helst ska inte kunna logga in och ändra, se eller ta bort dem från webbklienten. För att se innehållet på sidan måste man logga in, inloggningen sker med krypterade lösenord sparade i databasen. Krypteringen sker utav asp.nets inbyggda crypto-klasser [19]. Kunden vill ha ensamt inloggning till sidan, så kunden är den enda som har ett konto. Man skulle kunna snabbt och enkelt kunna utveckla detta med asp.net:s funktion ”Roller”, att arje a ä dare får e roll o h till de rolle ed restriktio er ad rolle kan göra och se på sidan. Det kan finnas säkerhetsrisker i mailöverföringen som görs med SMTP, och det bör undersökas.

7.3 Kopplingen

Det är många olika moment som ligger under kopplingen. Men det känns bara som två moment behöver redovisas varför de har valt och vad de har för säkerhetsaspekt.

7.3.1 Filewatcher

FileSystemwatcher är en klass som är .net-baserad och används i filewatcher programmet som kör algoritmen. Då det är ett lokalt program som hämtar data från värd-datorn och lämnar i till

databasen utför den ingen säkerhetsrisk. Detta program är inbakat i en exe-fil som körs separat.

7.3.2 Entityframwork

Används för att smidigt hämta datan från databasen till webbklienten och mappa in den i

model/class mallen. Alltså utgör inte heller den en säkerhetsrisk då den endast mappar upp datan och lägger den i mallen.

7.4 Livestreamen

Då man vill kunna komma åt livestreamens data från olika datorer(inte bara ett visst ip) och orter är det inte begränsat vilken IP-adress som kan komma åt strömmen. Utan alla ka ”hitta” strö e o de önskar, men detta går att ordna genom att själv välja vilka adresser som kan komma åt strömmen, se [20]. Då jag inte vet vilka IP-adresser kunden kommer att använda sig utav(mobilt, wifi, bredband

Sida 38 av 42 finns väldigt många möjligheter) är denna ström öppen. Det går inte att hitta om man inte letar efter den, då detta alternativ fortfarande är bättre än att använda sig utav ovanstående Ustream m.m. då strömmen ligger publicerad och öppet på deras förstasida.

7.5 Databasen

För att skydda databasen krävs det användarnamn och lösenord för att komma in i databasens innehåll. Det används även linq kommando i webbklinten då den kopplar upp sig mot datan och hämtar/lämnar information. Linq sägs vara säkrare än sql-frågor, då den inte drabbas av sql- injektioner [21].

Sida 39 av 42

8 Diskussion

Systemet i sin helhet uppfyller kundens krav och fungerar så som kunden önskemål var. Det finns några ostabila nackdelar eller delar som inte är utvecklade och som inte är påbörjade att formulera. Några problem med dagens system är:

 Kameran fungerar inte nattetid, alltså är inte alla väderförhållande inräknade. Men detta beror på kameras kvalitet, om det funnits pengar till projektet hade en natt-kamera inskaffats.

 Det blir väldigt osmidigt med flera strömmar för varje kamera, och att behöva inkludera ett nytt tredjepartsprogram till varje kamera som kopplas in. Detta ger en osäkerhet och ett naivt sätt, då systemet måste lita blint på att de tredjepartsprogram fungerar som det är tänkt. Det smidigaste hade varit att utveckla ett eget program som klonar kamerornas strömmar, då kan man designa programmet så det passar systemet.

 Systemet med databas är inte för tillfället upplagt live, vilket ger ett problem med minnet på värddatorn. Det beror helt på vilket tempo de detekterade bilderna detekteras, men det tar inte lång tid innan minnet är fullt. Det är inte helt enligt säkerhetsramarna att bilderna ligger på datorn som befinner sig i huset som blir eventuellt blir utsatt för brott. Det är också ohållbart i längden då värddatorns minne snabbt kommer att vara fullt om systemet detekterar många bilder och databasen ligger lokalt kvar på datorn.

 En aspekt som jag inte formulerat är om byggnaden drabbas av strömavbrott. Webbklienten måste startas om, windows encoder som sköter livestreamen och även värddatorn måste startas upp igen om batterireserven har gått upp.

Men utöver det är systemet stabilt och kraven för systemets funktion och säkerhet är uppfyllt. Systemet detekterar och webbklienten sköter kopplingen till databasen. MVC är mycket smidigt att jobba med och databaskopplingen funkar väldigt bra.

Det system som finns idag är utseendemässigt enkelt men är ändå ett komplicerat system att utveckla, som är skräddarsytt till kundens krav, lättanvänt, robust och snyggt. Systemets algoritm är kärnan i projektet och i slutversionen var systemet helt kravenligt.

Related documents