1. Cook pasta according to package directions, omitting salt and fat. Add asparagus during the last 2 minutes of cooking. Drain and rinse under cold water; drain.
2. Heat a large nonstick skillet over medium-high heat. Add olive oil to pan, and swirl to coat. Add prosciutto, and cook for 6 minutes or until crisp, stirring occasionally. Remove prosciutto from pan using a slotted spoon, leaving drippings in pan. Drain prosciutto on paper towels. Add the shallots to drippings in pan; cook over medium heat for 1 minute or until shallots are tender, stirring frequently.
3. Combine mayonnaise, lemon rind, tarragon, juice, pepper, and salt in a large bowl; stir well. Add pasta, asparagus, three-fourths prosciutto, shallots, tomato, and cheese; toss well to coat. Top servings evenly with remaining prosciutto.