- Page 1 and 2: IMM, DTU, Projekt nummer: 19 1. Apr
- Page 3 and 4: Indholdsfortegnelse 1 Indledning...
- Page 5 and 6: 6.8.2 Blacklistserver..............
- Page 7 and 8: 10.1.4.e ErrorDialog...............
- Page 9: Abstract Up until now spam email ha
- Page 13 and 14: 2 Spammail I det følgende vil før
- Page 15: enkelte virksomhed. Ifølge Ferris
- Page 18 and 19: er dog, at ønskede uopfordrede ema
- Page 20 and 21: test bliver tildelt en score afhæn
- Page 22 and 23: Et af problemerne med denne type sy
- Page 24 and 25: En modifikation i mailsystemet, der
- Page 26 and 27: 3.4 Challenge/Response Der findes e
- Page 28 and 29: mængden af) spam. I denne sammenh
- Page 31 and 32: 4 Kryptografi Dette afsnit vil give
- Page 33 and 34: modtage en nøgle via en sikker kom
- Page 35 and 36: Efter kryptering af billedet med su
- Page 37 and 38: Algoritme Matematisk problem RSA (R
- Page 39 and 40: 5 Analyse 5.1 Udviklingsmodel Nu er
- Page 41 and 42: adresse. Misbrugeren kan så undlad
- Page 43 and 44: uvæsentligt er, at betaling kan fo
- Page 45 and 46: Det antages her, at hver bruger i s
- Page 47 and 48: er dog her, at hvis det er afsender
- Page 49 and 50: 5.5 Kravspecifikation Betalingsløs
- Page 51 and 52: 5.6 Trusler Et af kravene i kravspe
- Page 53: Modifikation En angriber modificere
- Page 56 and 57: Figur 8 Oversigt over kommunikation
- Page 58 and 59: som gyldigt, uden at kontakte en ce
- Page 60 and 61:
ved at lade notifikationsmailen ind
- Page 62 and 63:
Denne signatur sikrer, at modtager
- Page 64 and 65:
Angriberen vil nemlig aldrig kunne
- Page 66 and 67:
lacklisten. Herefter følger et afs
- Page 68 and 69:
entydig måde, f.eks. ved at indsen
- Page 70 and 71:
sikre at stjålne mønter ikke kan
- Page 72 and 73:
6.6.2 Use Case 1b: Start program Sc
- Page 74 and 75:
6.6.8 Use Case 6: Indkasser SpamCas
- Page 76 and 77:
6.6.13 Use Case 11: Luk program Udg
- Page 78 and 79:
skal være muligt at misbruge dette
- Page 80 and 81:
Fordelen ved at strukturere servern
- Page 82 and 83:
6.8.3 Verifikationsserver Blacklist
- Page 84 and 85:
Figur 19 Login-procedure for penges
- Page 86 and 87:
dette dog håndteres præcist, som
- Page 88 and 89:
- RS_certificate Registreringsserve
- Page 90 and 91:
egistreret i systemet. I trin 8 og
- Page 92 and 93:
understøtter heller ikke ny mail -
- Page 94 and 95:
på alle forbindelser samtidig. Vi
- Page 96 and 97:
Figur 24 Klientapplikationens inter
- Page 98 and 99:
6.9.3.a Registrering (Use Case 1) P
- Page 100 and 101:
Figur 27 - Diagrammet viser hvad de
- Page 102 and 103:
Ovenstående fremgangsmåde sikrer,
- Page 104 and 105:
6.9.3.e Indkasser SpamCash (Use Cas
- Page 106 and 107:
Figur 33 Diagrammet viser hvordan i
- Page 108 and 109:
Man in the middle At en angriber op
- Page 110 and 111:
108
- Page 112 and 113:
NetworkPackets Samtlige netværkspa
- Page 114 and 115:
at kunne udstede certifikater, kan
- Page 116 and 117:
7.3 Udspecificering af implementeri
- Page 118 and 119:
opgave at benytte kryptografi i pro
- Page 120 and 121:
- MainFrame Hovedvinduet med fanebl
- Page 122 and 123:
7.3.9 Blinde signaturer I SpamCash-
- Page 124 and 125:
7.3.10 Filer I programmet benyttes
- Page 126 and 127:
o Case 4: Klientprogrammet udfører
- Page 128 and 129:
- Åbne pengeskabsfil. Brugeren få
- Page 130 and 131:
- Send email via SMTP. Brugeren sen
- Page 132 and 133:
- DepositRequestPacket(Coin[]) og o
- Page 134 and 135:
BLS Blacklistserver Blacklistserver
- Page 136 and 137:
8.1.3 Test af sikkerhed Selv om en
- Page 138 and 139:
tid, det tager for notifikationsmai
- Page 140 and 141:
Antalkøb fortjeneste Antalmails An
- Page 142 and 143:
50 % for at en kopist er blackliste
- Page 144 and 145:
Ud fra ovenstående kan det konklud
- Page 146 and 147:
Testen gennemføres ved at lade to
- Page 148 and 149:
Vi ser nu på resten af serverne i
- Page 150 and 151:
tredje problem er, at brugerne kan
- Page 152 and 153:
150
- Page 154 and 155:
A.1 Program-CD På den medfølgende
- Page 156 and 157:
A.6.1 OpenSSL Installation I SpamCa
- Page 158 and 159:
156
- Page 160 and 161:
B.1 SpamCash systemet Når der send
- Page 162 and 163:
Figur 41 Hvordan en mailproxy indg
- Page 164 and 165:
Figur 44 Adgangsdialogboks der vise
- Page 166 and 167:
B.6 Hovedvinduet De øvrige knapper
- Page 168 and 169:
B.6.3 Indsæt e-mønter Ønskes det
- Page 170 and 171:
Figur 54 Spam withdraw -fanebladet
- Page 172 and 173:
Figur 56 Whitelistfanebladet i hove
- Page 174 and 175:
[24] Sender ID [25] Captcha project
- Page 176 and 177:
Appendiks D Diagrammer I dette appe
- Page 178 and 179:
Client 176
- Page 180 and 181:
GUI (fortsat) 178
- Page 182 and 183:
Proxy 180
- Page 184 and 185:
Currency 182
- Page 186 and 187:
Servers BLS 184
- Page 188 and 189:
RS VS 186
- Page 190 and 191:
Utilities (fortsat) 188
- Page 192 and 193:
SafeHandler (1): Safe stored succes
- Page 194 and 195:
192
- Page 196 and 197:
end end prev = i+1; function y = de
- Page 198 and 199:
10.1.5 MailHandler ................
- Page 200 and 201:
198
- Page 202 and 203:
private static Certificate certific
- Page 204 and 205:
} { } Debugger.debug(getClass(), 1,
- Page 206 and 207:
try { currencyExchangeClient.logonT
- Page 208 and 209:
} { } Debugger.debug(getClass(), 1,
- Page 210 and 211:
} } //Are all the mails retrieved y
- Page 212 and 213:
msg.setSubject(Config.name + " test
- Page 214 and 215:
Verify certificates... BLScert.veri
- Page 216 and 217:
} public static Coin createCoin(lon
- Page 218 and 219:
for(int j = 0; j < coins[0].length;
- Page 220 and 221:
} public void add(InternetAddress a
- Page 222 and 223:
} if(!updateField(text).equals(""))
- Page 224 and 225:
*/ serverInformationPanel = new For
- Page 226 and 227:
public class Definitions extends Me
- Page 228 and 229:
"FileChooser.ancestorInputMap", jav
- Page 230 and 231:
"MenuItem.borderPainted", true //"M
- Page 232 and 233:
"ScrollBar.background", backgroundC
- Page 234 and 235:
"textHighlight", new ColorUIResourc
- Page 236 and 237:
public String getName() { } //Debug
- Page 238 and 239:
className = getClass(); ActionListe
- Page 240 and 241:
} } //center(); super.setTitle("Err
- Page 242 and 243:
{ } this.buttonHeight = buttonHeigh
- Page 244 and 245:
} 10.1.4.h MainFrame package SpamCa
- Page 246 and 247:
} } add(Box.createHorizontalGlue())
- Page 248 and 249:
} } } public void tryToOpenSafe(int
- Page 250 and 251:
private int jobID; private String C
- Page 252 and 253:
{ //Update the path in the textfiel
- Page 254 and 255:
} } progress = new JProgressBar();
- Page 256 and 257:
{"_normal", "_pressed", "_point"};
- Page 258 and 259:
} } } control.shutdown(); 10.1.4.l
- Page 260 and 261:
frame.showMessage(mails.length+" co
- Page 262 and 263:
} } setLayout(new BoxLayout(this, B
- Page 264 and 265:
} { } if(amountPanel.getText().leng
- Page 266 and 267:
{ private Control control; public I
- Page 268 and 269:
* should be deleted. */ public bool
- Page 270 and 271:
eturn createRecipientHash(serialNum
- Page 272 and 273:
10.1.6 Proxy 10.1.6.a AbstractBloki
- Page 274 and 275:
protected String clientRead() throw
- Page 276 and 277:
try { key.channel(); SocketChannel
- Page 278 and 279:
10.1.6.c IMAPProxy package SpamCash
- Page 280 and 281:
!= -1) messages[j]); for(int j = 0;
- Page 282 and 283:
} protected void handleConnect(Sock
- Page 284 and 285:
} } return 0; protected void handle
- Page 286 and 287:
private static final String MESSAGE
- Page 288 and 289:
while(index
- Page 290 and 291:
} } } else if(command.equals(COMMAN
- Page 292 and 293:
} { } || getMessage(messageNumber).
- Page 294 and 295:
} if(messageNumber > numMessages ||
- Page 296 and 297:
private String parseArgument(String
- Page 298 and 299:
import SpamCash.Utilities.Debugger;
- Page 300 and 301:
*/ private CoinReceivers coinReceiv
- Page 302 and 303:
} } return value; protected boolean
- Page 304 and 305:
} } } public int compareTo(Object o
- Page 306 and 307:
Debugger.debug(getClass(), 3, "Pend
- Page 308 and 309:
Debugger.debug(getClass(), 3, "Savi
- Page 310 and 311:
} { error = "The safe could not be
- Page 312 and 313:
import SpamCash.Utilities.Cryptotoo
- Page 314 and 315:
this.transferExpirationTime = a.tra
- Page 316 and 317:
*/ public boolean verifyCES(Certifi
- Page 318 and 319:
System.out.println("Coin:"+ new Dat
- Page 320 and 321:
} 10.2.4 Transactionlist package Sp
- Page 322 and 323:
System.out.println("signature: "+si
- Page 324 and 325:
((TransactionlistElement) list.elem
- Page 326 and 327:
import java.security.cert.Certifica
- Page 328 and 329:
public class CryptoPacket extends N
- Page 330 and 331:
} } public String toString() { Stri
- Page 332 and 333:
} public String toString() { return
- Page 334 and 335:
} } return("nonce: "+nonce); 332
- Page 336 and 337:
} } 10.4.2 CommunicationThread pack
- Page 338 and 339:
{ //Performance variables private f
- Page 340 and 341:
new."); } catch(Exception e) { //De
- Page 342 and 343:
lists."); } } } //If we have reache
- Page 344 and 345:
} protected void addAccount(BankAcc
- Page 346 and 347:
public void withdrawNoteUpFront(dou
- Page 348 and 349:
} } } } { } return; 10.4.5.d CESCon
- Page 350 and 351:
Debugger.setApplicationName("Curren
- Page 352 and 353:
} public synchronized StatusPacket
- Page 354 and 355:
{ } amount += cp.coins[c][r].getVal
- Page 356 and 357:
Vector accounts; public PendingAcco
- Page 358 and 359:
} //pendingAccounts.aprove(pack.act
- Page 360 and 361:
CESPublicKey = (RSAPublicKey) FileH
- Page 362 and 363:
} certRequestFile.delete(); Debugge
- Page 364 and 365:
eturn new StatusPacket(false, "An e
- Page 366 and 367:
public class Base64 { /* ******** P
- Page 368 and 369:
); * @param b4 A reusable byte arra
- Page 370 and 371:
64os = new Base64.OutputStream( bao
- Page 372 and 373:
catch( java.io.IOException e ) { e.
- Page 374 and 375:
| ( ( DECODABET[ source[ srcOffset
- Page 376 and 377:
} // end try catch( java.io.IOExcep
- Page 378 and 379:
* * @since 2.1 */ public static byt
- Page 380 and 381:
* DONT_BREAK_LINES: don't break lin
- Page 382 and 383:
else { // When JDK1.4 is more accep
- Page 384 and 385:
if( position >= bufferLength ) // E
- Page 386 and 387:
10.5.2 Config package SpamCash.Util
- Page 388 and 389:
10.5.3 Cryptotools /* BouncyCastle
- Page 390 and 391:
public static BlindFingerprint blin
- Page 392 and 393:
RSABlindingFactor bf = createBlindi
- Page 394 and 395:
} } return sb.toString().getBytes()
- Page 396 and 397:
public static byte[] decryptRSA(byt
- Page 398 and 399:
} Debugger.debug(Cryptotools.class,
- Page 400 and 401:
{ FileInputStream iFile = new FileI
- Page 402 and 403:
10.5.4 Debugger package SpamCash.Ut
- Page 404 and 405:
} } } } if(print) print(out); priva
- Page 406 and 407:
Ensure all the bytes have been read
- Page 408 and 409:
10.5.6 MailInformation package Spam
- Page 410 and 411:
writeMimeFile(msg, "data/testMessag
- Page 412 and 413:
} //Save changes newmessage.setCont
- Page 414 and 415:
} return newmessage; private static
- Page 416 and 417:
e); e); e); } } Session session = S
- Page 418 and 419:
Tells wether this connection is est
- Page 420 and 421:
Debugger.debug(getClass(), 3, "Clos
- Page 422 and 423:
private static void massMail(MimeMe
- Page 424:
This document was created with Win2