Click here to Skip to main content
15,917,808 members
Home / Discussions / C#
   

C#

 
AnswerRe: What is the alternative to memcpy in C#? Pin
Peace ON10-May-10 4:41
Peace ON10-May-10 4:41 
AnswerRe: What is the alternative to memcpy in C#? Pin
Abdulaziz M Zaben10-May-10 4:56
Abdulaziz M Zaben10-May-10 4:56 
QuestionHow to work on Mobile Banking(SMS Banking)? Pin
CoderForEver10-May-10 2:40
CoderForEver10-May-10 2:40 
AnswerRe: How to work on Mobile Banking(SMS Banking)? Pin
Michel Godfroid10-May-10 3:59
Michel Godfroid10-May-10 3:59 
AnswerRe: How to work on Mobile Banking(SMS Banking)? Pin
CoderForEver10-May-10 4:18
CoderForEver10-May-10 4:18 
GeneralRe: How to work on Mobile Banking(SMS Banking)? Pin
Michel Godfroid10-May-10 5:10
Michel Godfroid10-May-10 5:10 
GeneralRe: How to work on Mobile Banking(SMS Banking)? Pin
CoderForEver10-May-10 7:24
CoderForEver10-May-10 7:24 
GeneralRe: How to work on Mobile Banking(SMS Banking)? Pin
Michel Godfroid10-May-10 11:15
Michel Godfroid10-May-10 11:15 
CoderForEver wrote:
by concurrency you faked the operator


Probably because their central server had some bugs Poke tongue | ;-P

CoderForEver wrote:
If not the amount will be transfered back to the parent's account


Be carefull with those things. Once you enter the wonderful world of online banking, local regulations may apply. I'm not sure if banks in your country can (or will) reverse a transaction which has not been opposed by the initiating party. There may be rules regarding the the validity and expiry date of the transaction, and since you will be introducing a new form of payment, you will be exploring uncharted legal territory. Now since this a senior project, this will not matter much (you'll be building a prototype) but if you pursue this project further later, you should get legal advice.

Regarding encryption and signing, you stand no chance of having your project adopted (by the banks) if you don't have at least 2-factor authentication. (something you own - something you know)http://searchsecurity.techtarget.com/sDefinition/0,,sid14_gci992919,00.html[^]

What banks use in my country for GSM payments is as follows: The bank assigns you a personal certificate, which is stored on the SIM card chip (this requires cooperation of the mobile operators, who distribute the SIM cards, and must allow the certificate to be stored there) this certificate (on the chip) is the something you own.
They also assign you a pin code, or you use the standard GSM pin-code, which unlocks the personal certificate
on your card. this is the something you know. (the personal certificate won't be regurgitated by the card if you don't type the right pincode). Once you have the personal certificate, you can use this certificate's keys to encrypt and/or sign any messages between the bank and the payer (in this case the parents).

Of course, for a senior project, you won't be able to use all this (building you own SIM-cards and re-programming them might be a bit out of scope). But you should at least be able to to simulate the process (maybe not on a mobile phone, but on a PC), in order to demonstrate that you thought about the problem.

On the receiving side, it's a bit more complicated (or a bit more simple, depending on how you look at it). Since the student does not have the something you own (he does not need to have a bank account with a banking card, or an account with a sim card private key), normal banking rules will apply: He will have to justify his identity (with whatever means are legal in your country: ID-card, passport, drivers license, ...), and present the transaction id to the collecting bank, together with his credentials. The transaction-id does not need to be encrypted, because it will allow the bank clerk to look up the right credentials from the central transaction server, and refuse payment if the physical credentials presented look iffy or do not correspond to the stored credentials.

This is the main difference between the parents transaction, and the students transaction: the parents do an electronic transaction, from the safety of their home or workplace, and use electronic means for justifying their identity. They need 2 factor authentication. The student still has to walk up to the bank counter, and justify ownership of the transaction, by PHYSICAL means. He does not need encryption or electronic signing, because his presence and ownership of the transaction code, plus his legal id is proof enough (and encryption and signing keys these days are so complicated and long that no one can remember them).

That's why I advised you not to use encryption on the message that is passed between the parents and the students: It either would be too easily cracked, or too long, or both.

Now, since this is a senior year project, it's obvious that you will not be able to implement all that. But I think the purpose of a senior project is to demonstrate that you can find solutions which are well-designed, and cater for all eventualities. If you cannot implement encryption algorithms, or mobile phone communications with access to the sim card, so be it. Use mock-ups, implement all your stuff on PC's, but demonstrate that you though about it, and that you've considered all the implications of your system. Have arguments ready when your teachers ask you why you didn't implement a new authentication and signing algorithm. I've given you plenty, and to be honest, I suspect that you could not invent one, your teachers could not invent one, and I'm sure that I couldn't invent one (and I've written online banking software since 1978, notably for the first country-wide ATM networks in Belgium).

Good luck!Thumbs Up | :thumbsup:
GeneralRe: How to work on Mobile Banking(SMS Banking)? Pin
CoderForEver20-May-10 7:38
CoderForEver20-May-10 7:38 
QuestionDataGridView and Deleting Rows Pin
Member 368144310-May-10 2:09
Member 368144310-May-10 2:09 
AnswerRe: DataGridView and Deleting Rows Pin
Heinzzy10-May-10 2:25
Heinzzy10-May-10 2:25 
AnswerRe: DataGridView and Deleting Rows Pin
Luc Pattyn10-May-10 2:32
sitebuilderLuc Pattyn10-May-10 2:32 
Questionsort by Pin
tanzeel8510-May-10 2:02
tanzeel8510-May-10 2:02 
AnswerRe: sort by Pin
Henry Minute10-May-10 5:27
Henry Minute10-May-10 5:27 
GeneralRe: sort by Pin
tanzeel8513-May-10 1:11
tanzeel8513-May-10 1:11 
AnswerRe: sort by Pin
Peace ON10-May-10 20:12
Peace ON10-May-10 20:12 
Questionreturn type error "not all code paths return a value" Pin
wjbjnr10-May-10 0:42
wjbjnr10-May-10 0:42 
AnswerRe: return type error "not all code paths return a value" Pin
nagendrathecoder10-May-10 0:53
nagendrathecoder10-May-10 0:53 
AnswerRe: return type error "not all code paths return a value" [modified] Pin
Pete O'Hanlon10-May-10 0:57
mvePete O'Hanlon10-May-10 0:57 
QuestionRe: return type error "not all code paths return a value" Pin
wjbjnr10-May-10 4:31
wjbjnr10-May-10 4:31 
AnswerRe: return type error "not all code paths return a value" Pin
Alan N10-May-10 5:38
Alan N10-May-10 5:38 
AnswerRe: return type error "not all code paths return a value" Pin
Som Shekhar10-May-10 1:02
Som Shekhar10-May-10 1:02 
QuestionRe: return type error "not all code paths return a value" Pin
wjbjnr10-May-10 5:25
wjbjnr10-May-10 5:25 
AnswerRe: return type error "not all code paths return a value" Pin
Som Shekhar10-May-10 5:35
Som Shekhar10-May-10 5:35 
GeneralRe: return type error "not all code paths return a value" Pin
wjbjnr10-May-10 6:15
wjbjnr10-May-10 6:15 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.