"Darf ich" means "am I allowed to" or "may I", while "kann ich" means "can I".
Same as in English, the expression "kann ich" is often also used when asking for permission, but the main difference between the two is, that "kann ich" means to have the ability to do something, while "darf ich" only means to have the permission to do it.
Another example would be:
Darf ich nach Hause gehen? --> May I go home?
Kann ich nach Hause gehen? --> Can I go home?
Of course they both ask for permission in the context, but literally you can also do it without having permission. So literally you can although you may not, so "du kannst, obwohl du nicht darfst". Usually they are used interchangably in such questions, same as "may" and "can".
"Kann ich" is generally more informal, and "darf ich" asks more directly for one's personal permission, so in your example "Darf ich dich küssen" sounds more appropriate to me.