Thursday, July 25, 2019

Appendix 8

Note:- Since Google blog does not support mathematical symbols support (or maybe I could not find any method for that, so I am pasting all the appendices in the form of Pictures. They were originally written in MS Word.

First, we consider PAKE Protocols that are proven secure in the implicit authentication model. Our enhancement is essentially the transformation by Bellare, Rogaway, and Pointcheval [BPR00] that adds mutual authentication to a PAKE protocol.





Appendix 7

Note:- Since Google blog does not support mathematical symbols support (or maybe I could not find any method for that, so I am pasting all the appendices in the form of Pictures. They were originally written in MS Word.











Appendix 6


Note:- Since Google blog does not support mathematical symbols support (or maybe I could not find any method for that, so I am pasting all the appendices in the form of Pictures. They were originally written in MS Word.
---------------------------------------------------------------------------------------------------------------------



Appendix 5

Note:- Since Google blog does not support mathematical symbols support (or maybe I could not find any method for that, so I am pasting all the appendices in the form of Pictures. They were originally written in MS Word.
------------------------------------------------------------------------------------------------------------------------------
Theorem 3.1

PAKE security in non-corruption model implies forward security in the weak corruption model (proof of the theorem provided in section 3.6)

Result Privacy. Let us assume that 2 honest users are having a communication where password for both of them is the same, in that scenario, a perpetrator who was observing the communication should not come to know about the fact that both users were using the same session key and hence the same password. In other words, we can say that if somehow, the perpetrator gets to know that both users are not sharing the same session key, he knows passwords are also different and vice versa.
Sadly, this idea of Result Privacy did not get much attention before due to the authentication problem for 2 reasons. First, it is quite evident to share the same password while interacting. Secondly, 2 users who regularly had successful communication in the past are more likely to interact successfully in the future. So, the chances of being recognized by an attacker are more. On the other hand, the idea of matching result privacy is a vital security property of our problem. Also, unlike traditional PAKE applications, the interaction between 2 users having matching wishes is also assumed to be anonymous. So, in our problem communication between 2 such users cannot be learned by the attacker. Therefore, result privacy is a very important property for a PAKE protocol in case where protocol us used as a foundation for privacy amplified matchmaking.







Appendix 4

Note:- Since Google blog does not support mathematical symbols support (or maybe I could not find any method for that, so I am pasting all the appendices in the form of Pictures. They were originally written in MS Word.


Appendix 3

Note:- Since Google blog does not support mathematical symbols support (or maybe I could not find any method for that, so I am pasting all the appendices in the form of Pictures. They were originally written in MS Word.


Appendix 2

Note:- Since Google blog does not support mathematical symbols support (or maybe I could not find any method for that, so I am pasting all the appendices in the form of Pictures. They were originally written in MS Word.


Appendix 1

Note:- Since Google blog does not support mathematical symbols support (or maybe I could not find any method for that, so I am pasting all the appendices in the form of Pictures. They were originally written in MS Word.


Monday, July 22, 2019

Introduction -1.2


Whenever something is introduced, it is always given a formal definition which can define precisely what it aims to achieve, what are the goals and a formal overview of everything it is trying to solve. In cryptography, every protocol ought to have a formal definition which has its own benefits while using in the actual scenarios.
Formal definitions are good in their own way. They help define precisely what the protocol aims to achieve, what are the goals, a brief overview of how it fares when compared to other protocols, also gives information about the fact; which all protocols should be used to attain a required/expected iota of security. They, in fact, serve as the building blocks to a big system. They, most of the times are successful in giving us the complex mathematical proofs of security of a protocol so that the engineers working on that big system feel more confident in developing it.
As stated above, we have talked enough about the benefits of having a formal definition with us while developing a big system, but we should also take into account, where does the formal definitions lag?
First thing first, it cannot be guaranteed that the formal definition of a protocol will render into reality/actual world too as it can be a very complex exercise.
Any mismatch between the formal and real-world definition can result to unexpected attacks on protocols and maybe some privacy issues too. We will try to show how frail are formal definitions w.r.t. PAKE.

PAKE
 In order to set up mutual authentication, there needs to be some kind of information that must be shared as it will be impossible to interact. The simple thing to imagine can be an easy to remember password. PAKE allows authentication based on password key exchange.
Example- A user U is trying to login into his email account by entering his password, at this point; both the server and browser interact via a PAKE protocol to set up a session key based on what password the user has input but also ensuring that his password is not revealed anyhow. In a way, both server and browser prove that they have used the same key to authenticate the user and in case the PAKE protocol gets failed, the browser immediately alerts the user stating that the password which he has entered does not match with the one on the server.
This protocol is designed to facilitate 2 parties with mutual authentication that agree on a shared key with the help of public-key cryptography.
Password-based systems are easy to use and deploy as no real cryptographic infrastructure is required. However, the problem with them is lack of absolute security and further decimated by horrible (easy to remember) choice of passwords by users.
In recent times, PAKE protocols have been standardized by IEEE[IEE05] and because of that more and more systems have started using it, even web applications for that matter [ABC06].
Let us now discuss what things we take into consideration while defining PAKE protocols.
The formal definition of PAKE assumes that a perpetrator can attack and break any kind of protocol using full force, it takes into all permutations and combinations that attacker can use. The attacker can, for example, use a brute force dictionary attack where he keeps on guessing the passwords unless it matches with the actual password.
If we assume N as the pool or bucket of passwords and to be on a very simpler side of the story, let us say he chooses the passwords randomly in a uniform fashion. And if a perpetrator attempts a maximum of Q logins for any Q, then the possibility of perpetrator breaking into the system is at the max Q/N and we can assume our PAKE to be secure in such a case

Issue with existing formal definitions
As we already discussed about the contradictions between formal and real-world definitions of the protocols, PAKE is no different. Going by the formal definition, it is not well equipped/ready to give the expected iota of security that is required in real world scenarios.
Formal definitions take the concept of assumptions and probabilities into account which means the perpetrators can break the protocol after trying up to a stage when they are able to breach the system. On the other hand, real-world scenarios would like to have full control over the security no matter how many times it is being attacked. Each attempt should be unsuccessful.
In Ideal situation, a user's account should get blocked/locked once he tries a certain number of Q* failed log-in attempts. To achieve security Є one would set Q* = Є.N & deny every login request once Q * unsuccessful tries are attempted on someone’s account.
But our opinion differs in this regard. We say that the things explained above do not succeed each time especially on large scale systems and networks such as Web.
So, to summarise this case, the formal definitions are theoretical rather than practical. They just advise what kind of security we should have when a perpetrator tries to attack the system multiple times, but they never tell us how that security ought to be achieved.

1.2.1 Our Benefactions

Overview of our attacks.

 In chapter 4, we will try to rationalize the claims that we made in the last section. We will take 2 different attacks that basically allows a perpetrator to go beyond Q* tries even if an account is locked after Q* number of unsuccessful tries.
 Let us kick off the things with Time delay out attack. It is applicable to any PAKE protocol where server authenticates first. This is a very clever minded attack where the attacker will go on guessing the passwords but at the same time, he will ensure that user does nor get to know that the system is being attacked. The system will keep on running normally while being attacked. The attacker does so by aborting the protocol before sending the final message. Now, the point to stress here is that, even if the sessions which have been timed out are taken as unsuccessful attempts of login at the end but the catch here is the long delay before the failure. This delay allows the attacker to go beyond testing Q* passwords.
So, in a nutshell, the client should authenticate first and not the server. Those should be preferred over the server first PAKE protocols.
The second attack to discuss here is Synchronization-delay attack. This is applicable to both types of authentication (where client/server authenticates first). This type of attack assumes that, in the actual scenario, Implementation of PAKE protocol will be divided/distributed among multiple servers. Since it is distributed among multiple servers, all the accounts and password information must be available to all the servers so that the information is available every time and on an immediate basis. Due to this factor, there will be a marginal delay from the moment Q*th unsuccessful login attempt happens and as described above, this data is sent across to all server copies. Now, again this delay can be exploited to exceed the number of Q* logins.
Though, the latter attack has done a minimalistic impact looking at the history, but we will still discuss these attacks for below reasons.
Firstly, formal definitions generally capture precise bounds instead of approximations.
Secondly, formal definitions become inconsistent with practical use if the attacks are unaccounted. Last but not least, synchronization delay attacks can be used in big systems to the point of non-compliance with published password standards (chapter4).
Multi-domain attacks can be used to increase the effects of the 2 attacks we stated above. In Multi-domain attacks, the user has accounts with various distinct domains and uses the same password in all accounts. The maximum number of queries that can be used by the perpetrator is nQ (for n domains).
So, to summarise the benefactions, we will provide the analytical and experimental proofs to describe these attacks in chapter 4.
We will also issue a new definition of security as we have already discussed that there is a gap between formal and real-world definition. We will then analyze these attacks according to the new definition and will provide privacy enhancements. Last but not the least, we depict how will we apply these enhancements [ABC+06].

Introduction- 1.1




1.1   The New privacy enhanced matchmaking protocol

Baldwin and Gramlich brought out the idea of online matchmaking in 1985[BG85]. Take, for example, the concept of arrange marriages. In arrange marriages, both parties have knowledge of each other’s identities, but they do not reveal anything to each other unless their wishes match with each other. To explain a little further, both the girl and boy wants to marry someone having certain characteristics/wishes (skills, financial stability, social status, well-being, location, qualification, etc.). A meeting is then set up where they both talk to each other, spend time together without telling each other at this point, that each of their wish matches with each other. If their wishes match with each other, then it is a match and then they can reveal the information to each other.
There can be some other examples of matchmaking protocols like job hires and dating services.
The main reason behind bringing the idea of online matchmaking was to support the anonymity of users, matches and last but the not least, if the wish of both the parties matches, then both the users will be notified.
But this idea required a middleman who has the knowledge of identities of both the users and their wishes, now it is up to the middleman not to expose their information.
Upon further research, it was found that this idea of Baldwin and Gramlich is vulnerable to a simple message replacement attack [ZN01] which can expose the identities of both parties and their wishes too.
Later in the Late 1980s, another researcher Meadows brought another matchmaking protocol that does not require a middleman [Mea86] beyond the very first step. But again, the problem found in this approach was that it could provide privacy to credentials but does not provide the anonymity to both parties.
The most recent one was given by Zhang and Needham [ZN01]. Their protocol had some amount of anonymity/privacy. It achieved so by not allowing both the parties to communicate directly. This protocol requires an untrusted online matchmaker that will work/behave as an open discussion forum/broadcast board thereby removing anyone to one communication among users. Any user can go and match his wishes against some other’s user wishes by simply downloading any pair of ciphertexts. If the wish matches, he gets the session key for communicating to that person further.
While this protocol solves the problem of privacy and anonymity, but it did not have any framework to notify both the users in case their wishes match. Adding this functionality would then require the middleman service to be used.
There are some other problems also in this protocol: -
1.      The identity of the person posting wishes on the broadcast forum can be compromised by launching a dictionary attack by the attacker.
2.      The attacker can take any set of wishes, hash them to generate the key and then decrypt the pair of ciphertexts
3.      In simple words, the attacker can perform an exhaustive search (brute force) of all possible wishes to find a matching wish and the identity of the users posting it.
4.      Secondly, Let us assume for a moment that wishes posted by users have very low predictability, even then it is enough for an attacker to break the privacy of a wish that has been posted on the broadcast forum and as a result, and it also creates a vulnerable situation to compromise all the previous protocols that contain that particular wish.

1.1.1   Our Benefactions
We aim to supplement the objectives of matchmaking protocols with some new security objectives which are basic and important to matchmaking. So, to summarise all the new objectives, here are they: -

- The authenticity of users and wish matches
- Privacy of users' identities and of their wishes
= anonymity of users and privacy of wish matches
= privacy resistance to off-line dictionary attacks
= forward privacy of users' identities and their wishes

When 2 users authenticate, there needs to be a trust between them so that they can be assured that no one is impersonating them which leads to a factor called authenticity. As we have already discussed, wishes vary from each class of user to other classes. Wish privacy is desired or else it will lead to a breach of privacy of both the parties. Practically, the wish space is limited and easy to predict. It leads to attacks on the wish space. So, the protocol should have resistance to these attacks.
Last but not least, forward privacy is pretty significant. If there is an outbreak in the privacy of the currently running protocol, it should not spread to the older runs of the protocol. We will, therefore, present an amplified privacy matchmaking protocol that will oppose/face any perpetrator that tries to attack the security objectives explained above. The improved and enhanced protocol will be very simple and implemented by taking into account the PAKE protocol. [BPR00, CHK05, GL03, GL01, KOY01, MPS00, NV04].

Appendix 8

Note:- Since Google blog does not support mathematical symbols support (or maybe I could not find any method for that, so I am pasting all ...