If she smiles and tries to start a conversation with you, then you are in! In fact, for a shy girl, she has done more than most women have the guts to do.
She's gone as far as she can go- it's up to you to carry the ball over the goal line. Besides, one of the few advantages of being a guy is that you don't need to care about whether or not she wants you to ask her out. If you ask her out and she doesn't like it, let her sue you!
But seriously, she's giving you every green light she can give- just go for it.
Just ask for her digits and go from there. If she ever gives you doubts, you're only doubting yourself. Be confident and believe that she likes you, no matter what.
Negative emotions will only kill your chances of getting with her. Stay optimistic, even if she's giving you some bad vibes. Shy girls DO take a lot of work to break out of their shell. But once you do get her comfortable enough, she'll be expressing her emotions easier and the happiness will come easily.
Don't give up. However, go for other girls as well. If she doesn't get over her shyness or insecurities at some point, you may want to cut loose of her and move on.